Skip to content

代收回调

method: POST

content-type: application/json

接口参数

属性类型必填/签名描述示例
Timestamplong当前时间戳
精度:秒(UTC)
1613719331
AccessKeystring商户 AccessKey
商户后台获取
dTBTLXi...
OrderNostring商户订单号
商户系统生成的唯一单号
PR20230620...
Amountstring支付金额
单位:元。支持 100, 100.1, 100.01
100.01
Statusint只处理状态为4,其余不要处理!4
Extstring条件签名扩展字段
可选。若非空字符串,则参与签名
test_data
Payerstring条件签名付款人姓名
可选。若非空字符串,则参与签名
张三
Signstring不参与签名串
通过 加密算法 计算得出
9d8f8bd5...
json
{
    "AccessKey": "BlVnlKWzllSGLm47BkWahzRq",
    "Timestamp": 1655997847,
    "Amount": "500",
    "Sign": "390bb71db215cd0f53e297768599f72f",
    "OrderNo": "39a49dfd9aad48d8b24637b072400e38",
    "Status": 4,
    "Ext": "ext"
}

回调重试机制

次数间隔时间备注
第 1 次立即发送首次通知
第 2 之后以5s,10s,20s,40s,80s,120s,120s...的频率推送持续推送2小时后不再推送,直到收到 ok 或达上限

💡 建议

建议商户在处理回调逻辑前,先判断单号 OrderNo 是否已经处理过(成功或失败),若已处理则直接回复 ok,避免重复入账。

回调签名逻辑

重要:动态签名规则

后期可能增加回调参数。请对接人员按照以下逻辑处理签名:

  • 参数有值:必须参与签名计算。
  • 参数为空(null 或 ""):不参与签名计算。

示例(以新增参数 NewExt 为例):

场景参数值是否参与签名
场景 ANewExt: "123"
场景 BNewExt: ""

关于支付金额的特别说明

实际支付金额说明

1、对接系统请务必注意:返回的金额为【实际支付金额】,不一定等于【用户提交金额】。
2、请确保您的回调接口具备幂等性,处理前先检查单号 OrderNo 是否已入账。

响应要求

商户后端接收到异步回调并处理完成后,必须返回 ok 两个字符(不带引号)。

  • 若返回非 ok 字符串,平台将进行 5 次 尝试重发回调。
  • 请商户务必做好接口的 幂等性设计防重保证
  • 金额差异场景: 例如用户下单提交金额为 1000 元,但最终实际支付了 100 元。我方在回调和查询接口中将统一返回实际支付金额 100

  • 业务处理建议

    1. 不支持补单/差额的系统:若发现实际支付金额与提交金额不符,请直接忽略该订单,不进行逻辑处理。
    2. 支持补单/差额的系统:请直接按我方返回的 实际支付金额 进行业务入账或处理。