跳到主要内容

回调认证

  • 当订单成功后 平台会按照下单时的 notify_url 来通知商户支付结果 当且仅当商户返回HTTP 状态码 200 时认为商户接收成功 请求时间超过5s响应或返回非200表示未接受成功。

  • 商户需要根据签名规则来判断是否为平台的调用

请商户做好重复通知判断,避免补发通知造成的风险

未接收成功会以间隔 15s 30s 60s 300s 600s 1800s 3600s 7200s 14400s 共通知10次 十次后如果没有通知成功则会停止通知

商户需要根据签名规则来判断是否为平台的调用 签名的具体算法如下

Signature = HEX(SHA256('${http_body}.${apikey}'))

如果您收到回调请求如下(正常情况中回调不应包含JSON中的换行和空格,以下仅为展示,请以具体的返回为准)

{
"notify_type": "refund_success",
"data": {
"uid": 39172931,
"refund_id": "C34368224017070000",
"merchant_refund_id": "P2164521756312637123",
"order_amount": "105.00",
"create_time": "2023-08-23T18:25:43.511Z",
"refund_time": "2023-08-23T18:28:16.511Z"
}
}

且您的key是 6d0e8fa7b10c40c3a48c0c2be41cb178

Signature = HEX(SHA256('{"notify_type":"refund_success","data":{"uid":39172931,"refund_id":"C34368224017070000","merchant_refund_id":"P2164521756312637123","order_amount":"105.00","create_time":"2023-08-23T18:25:43.511Z","refund_time":"2023-08-23T18:28:16.511Z"}}.6d0e8fa7b10c40c3a48c0c2be41cb178'))
Signature = 3ce5a54d8a76590179f0f4192a6c0efddf20e118966b6276b1bfbbc0b33f362a

其中uid和refund_id均为回调中data的结果,apikey为注册时商户的开发者秘钥 签名的结果将会在回调HTTP头部中返回 名称为Signature 商户可以通过获取回调HTTP Header中的Signature与自己计算做比对 如果相等则签名认证成功