PayInvalid:
post:
tags:
- 账单管理
summary: 账单红冲
description: |
对已缴费的账单进行红冲(撤销)操作。
## 业务说明
- 支持对已缴费账单进行红冲操作
- 红冲后账单状态恢复为未缴费
- 生成红冲交易记录
- 支持XML和JSON两种数据格式
## 业务规则
- 只能对已缴费的账单进行红冲
- 红冲金额必须与原缴费金额一致
- 同一笔缴费记录只能红冲一次
- 红冲成功后生成负数交易记录
## 调用频率限制
- 单个交易流水号每分钟最多红冲1次
- 单个机构每分钟最多红冲100次
operationId: invalidPayment
parameters:
- $ref: '../components/parameters.yaml#/components/parameters/ContentTypeHeader'
- $ref: '../components/parameters.yaml#/components/parameters/EncryptTypeHeader'
- $ref: '../components/parameters.yaml#/components/parameters/EncryptModeHeader'
- $ref: '../components/parameters.yaml#/components/parameters/DataTypeHeader'
requestBody:
required: true
description: 账单红冲请求数据
content:
application/xml:
schema:
allOf:
- $ref: '../components/schemas.yaml#/components/schemas/BaseRequest'
- type: object
required:
- OriginalTranSeq
- BillKey
- CompanyId
properties:
OriginalTranSeq:
type: string
description: 原交易流水号
example: "TXN123456789012"
maxLength: 40
BillKey:
type: string
description: 客户编号
example: "123456"
maxLength: 35
CompanyId:
type: string
description: 机构编码
example: "654321"
maxLength: 30
example: |
1.0.1
00001
PayInvalid
20240101
123456789013
TXN123456789012
123456
654321
application/json:
schema:
allOf:
- $ref: '../components/schemas.yaml#/components/schemas/BaseRequest'
- type: object
required:
- OriginalTranSeq
- BillKey
- CompanyId
properties:
OriginalTranSeq:
type: string
description: 原交易流水号
example: "TXN123456789012"
BillKey:
type: string
description: 客户编号
example: "123456"
CompanyId:
type: string
description: 机构编码
example: "654321"
example:
Version: "1.0.1"
InstId: "00001"
TranCode: "PayInvalid"
TranDate: "20240101"
TranSeq: "123456789013"
OriginalTranSeq: "TXN123456789012"
BillKey: "123456"
CompanyId: "654321"
responses:
'200':
description: 红冲成功
headers:
Content-Type:
$ref: '../components/headers.yaml#/components/headers/ContentType'
X-Response-Time:
$ref: '../components/headers.yaml#/components/headers/ResponseTime'
X-Request-Id:
$ref: '../components/headers.yaml#/components/headers/RequestId'
content:
application/xml:
schema:
allOf:
- $ref: '../components/schemas.yaml#/components/schemas/BaseResponse'
- type: object
properties:
Data:
type: object
properties:
Transaction:
$ref: '../components/schemas.yaml#/components/schemas/Transaction'
example: |
1.0.1
00001
PayInvalidRes
20240101
123456789013
AAAAAAA
红冲成功
REV123456789013
123456
654321
PayInvalid
-150.00
2024-01-01T12:00:00.000Z
1
AAAAAAA
成功
application/json:
schema:
allOf:
- $ref: '../components/schemas.yaml#/components/schemas/BaseResponse'
- type: object
properties:
Data:
type: object
properties:
Transaction:
$ref: '../components/schemas.yaml#/components/schemas/Transaction'
example:
Version: "1.0.1"
InstId: "00001"
TranCode: "PayInvalidRes"
TranDate: "20240101"
TranSeq: "123456789013"
RespCode: "AAAAAAA"
RespMessage: "红冲成功"
Data:
Transaction:
TranSeq: "REV123456789013"
BillKey: "123456"
CompanyId: "654321"
TranCode: "PayInvalid"
PayAmount: -150.00
PayDate: "2024-01-01T12:00:00.000Z"
TranStatus: 1
RespCode: "AAAAAAA"
RespMessage: "成功"
'400':
$ref: '../components/responses.yaml#/components/responses/BusinessError'
'500':
$ref: '../components/responses.yaml#/components/responses/SystemError'
'401':
$ref: '../components/responses.yaml#/components/responses/SecurityError'
'408':
$ref: '../components/responses.yaml#/components/responses/NetworkError'
security:
- ApiKeyAuth: []
- EncryptedData: []