根据状态值更新支付状态(支付成功的单据把对应信息更新到每刻)

接口 /paymenttransaction/update POST JSON

说明

多人收款条件下支持流水号分批次传入,单据的状态依据其流水的状态决定,具体如下:

1、所有流水的状态均为“支付成功”,单据状态:“已支付”

2、所有流水的状态均为“已导出”,单据状态:“已导出”

3、存在“导出失败”的流水,单据状态为:“导出失败”

4、存在“支付失败”的流水,单据状态为:“支付失败”

5、同时存在“导出失败”和“支付失败”,单据状态为“导出失败”

6、只存在“已导出”和“支付成功”的流水,单据状态为:“已导出”

7、存在“导出中”且不存在“导出失败”和“支付失败”的流水,单据状态为:“导出中”

状态转换的限制

“已导出”不能标记为“导出失败”

“已支付”不能标记为其他任何状态

参数

参数 类型 必须 默认值 描述
sequence long Y 支付记录流水号
status string Y 状态可选值:CBS_EXPORTED(已导出), PAY_SUCCESS(支付成功), PAY_FAIL(支付失败), CBS_EXPORT_FAILED(导出失败)
paidDate long N 支付时间,到毫秒的时间戳(在将状态更新为支付成功时必填)
payerBankAccount string N 支付账号,需要传已经在每刻维护的支付账号(在将状态更新为支付成功时必填)
errorMsg string N 错误信息(在将状态更新为支付失败或导出失败时必填)
paymentSystemNumber string N 支付系统单号
employeeId string N 员工工号

返回参数

该接口采用单条失败的处理方式,即整批数据中,如果只有其中的几条因为各种原因失败,那么只有那几条数据不会被保存;其它的数据仍然会被正常处理;错误数据的流水号(sequence)会被放在errorData里面;只要有数据存在错误返回的code为NACK,整批数据完全没有问题才会返回ACK

errorData为结构题, 包含出错的支付记录流水号(sequence), 以及与之对应的出错信息; 类似 {"1": "部门不存在"}; 具体参见失败实例;

为保持向后兼容, data也会包含有和errorData相同的记录,但后续可能会改变;

示例

请求数据

{
    "timestamp": 123456,
    "data": [{
        "sequence": 0,
        "paidDate": 1510107016000,
        "payerBankAccount": "519351151351251351",
        "status":"PAY_SUCCESS"
    }]
}

返回数据

返回数据(成功)

{
    "code": "ACK",
    "message": "",
}

返回数据(失败)

{
    "code": "NACK",
    "message": null,
    "data": {
        "0": "支付记录流水号(0)不存在"
    },
    "args": null,
    "linkDetail": false,
    "errorData": {
        "0": "支付记录流水号(0)不存在"
    },
    "warningData": null,
    "requestErrorData": [
        {
            "sequence": 0,
            "payerBankAccount": "755915677010711",
            "paidDate": 1510107016000,
            "status": "CBS_EXPORT_FAILED",
            "errorMsg": null,
            "paymentSystemNumber": null,
            "employeeId": null,
            "formCode": null
        }
    ],
    "nonBizError": false
}

results matching ""

    No results matching ""