WithholdingBackDisc: post: tags: - 代扣管理 summary: 代扣回盘 description: | 银行代扣回盘接口,接收银行返回的代扣结果。 ## 业务说明 - 接收银行处理代扣送盘后的结果反馈 - 包含每笔代扣的成功或失败信息 - 根据回盘结果更新账单和交易状态 - 支持XML和JSON两种数据格式 - 自动处理代扣成功和失败的业务逻辑 ## 业务规则 - 回盘数据必须与送盘数据对应 - 成功的代扣自动更新账单状态为已缴费 - 失败的代扣保持原账单状态 - 生成相应的交易记录和状态 ## 调用频率限制 - 单个批次只能回盘一次 - 支持银行异步回盘处理 operationId: withholdingBackDisc 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: - BatchNo - TotalCount - SuccessCount - FailCount - ResultList properties: BatchNo: type: string description: 原送盘批次号 example: "BATCH20240101001" maxLength: 50 TotalCount: type: integer description: 总笔数 example: 2 minimum: 1 SuccessCount: type: integer description: 成功笔数 example: 1 minimum: 0 FailCount: type: integer description: 失败笔数 example: 1 minimum: 0 ResultList: type: array description: 代扣结果列表 items: type: object required: - BillKey - CompanyId - AgreementNo - PayAmount - ResultCode - ResultMessage properties: BillKey: type: string description: 客户编号 example: "123456" CompanyId: type: string description: 机构编码 example: "654321" AgreementNo: type: string description: 协议号 example: "AGR001" PayAmount: type: number format: decimal description: 代扣金额 example: 150.00 ResultCode: type: string description: 代扣结果码 enum: ["SUCCESS", "FAIL"] example: "SUCCESS" ResultMessage: type: string description: 代扣结果信息 example: "代扣成功" FailReason: type: string description: 失败原因(结果为FAIL时必填) example: "余额不足" example: | 1.0.1 00001 BackDisc 20240101 123456789017 BATCH20240101001 2 1 1 123456 654321 AGR001 150.00 SUCCESS 代扣成功 123457 654321 AGR002 150.00 FAIL 代扣失败 余额不足 application/json: schema: allOf: - $ref: '../components/schemas.yaml#/components/schemas/BaseRequest' - type: object required: - BatchNo - TotalCount - SuccessCount - FailCount - ResultList properties: BatchNo: type: string description: 原送盘批次号 example: "BATCH20240101001" TotalCount: type: integer description: 总笔数 example: 2 SuccessCount: type: integer description: 成功笔数 example: 1 FailCount: type: integer description: 失败笔数 example: 1 ResultList: type: array description: 代扣结果列表 items: type: object properties: BillKey: type: string description: 客户编号 example: "123456" CompanyId: type: string description: 机构编码 example: "654321" AgreementNo: type: string description: 协议号 example: "AGR001" PayAmount: type: number format: decimal description: 代扣金额 example: 150.00 ResultCode: type: string description: 代扣结果码 example: "SUCCESS" ResultMessage: type: string description: 代扣结果信息 example: "代扣成功" FailReason: type: string description: 失败原因 example: "余额不足" example: Version: "1.0.1" InstId: "00001" TranCode: "BackDisc" TranDate: "20240101" TranSeq: "123456789017" BatchNo: "BATCH20240101001" TotalCount: 2 SuccessCount: 1 FailCount: 1 ResultList: - BillKey: "123456" CompanyId: "654321" AgreementNo: "AGR001" PayAmount: 150.00 ResultCode: "SUCCESS" ResultMessage: "代扣成功" - BillKey: "123457" CompanyId: "654321" AgreementNo: "AGR002" PayAmount: 150.00 ResultCode: "FAIL" ResultMessage: "代扣失败" FailReason: "余额不足" 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: BatchNo: type: string description: 批次号 example: "BATCH20240101001" ProcessedCount: type: integer description: 已处理笔数 example: 2 UpdatedBills: type: integer description: 更新账单数 example: 1 CreatedTransactions: type: integer description: 创建交易数 example: 2 example: | 1.0.1 00001 BackDiscRes 20240101 123456789017 AAAAAAA 回盘处理成功 BATCH20240101001 2 1 2 application/json: schema: allOf: - $ref: '../components/schemas.yaml#/components/schemas/BaseResponse' - type: object properties: Data: type: object properties: BatchNo: type: string description: 批次号 example: "BATCH20240101001" ProcessedCount: type: integer description: 已处理笔数 example: 2 UpdatedBills: type: integer description: 更新账单数 example: 1 CreatedTransactions: type: integer description: 创建交易数 example: 2 example: Version: "1.0.1" InstId: "00001" TranCode: "BackDiscRes" TranDate: "20240101" TranSeq: "123456789017" RespCode: "AAAAAAA" RespMessage: "回盘处理成功" Data: BatchNo: "BATCH20240101001" ProcessedCount: 2 UpdatedBills: 1 CreatedTransactions: 2 '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: []