代收异步通知(商户提供)
WARNING
本接口由商户提供,当代付成功或者失败时,平台请求该接口 接收到服务器点对点通讯时,请响应httpcode=200(HTTP 响应状态码) ,否则会重复5次发送点对点通知. ⚠️⚠️注意:用户支付有可能会只支付部分金额,需校对“实际支付金额”⚠️⚠️该接口的响应时间请务必在3s内响应,如超3s响应,系统将当做回调失败处理!
最佳实践(必看)
- 对于支付成功的判定,先判定status和orderStatus状态,再判定实际支付金额是否等于订单金额,即status==200&&orderStatus="SUCCESS"&&amount=="订单金额"
- 对于部分支付的判定:status==200&&orderStatus="PART_SUC"。对于这种情况我们一般定义实际支付金额与订单金额不一致,请商户根据自身业务逻辑处理
- 对于退款的判定:status==200&&orderStatus="REFUND"。这种情况一般是出现在用户投诉以及银行风控退回,请商户做好相关记录并根据自身业务逻辑进行处理(收到此回调状态之前会先收到回调成功)
- 若是商户业务逻辑上处理失败,请将响应的HTTP状态码改为400或者500(非200)
- 平台可能会多次发送相同状态的回调,请商户做好相关兼容处理,如商户自身业务已经处理完成,请务必返回响应HTTP状态码200
- 请务必校验回调IP➕验证签名
- 请务必尽量保证接口的响应时间
测试环境回调IP
13.214.67.82
接口
POST /ds_callback_url
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
status | integer | 是 | 状态 — 200成功 |
msg | string | 是 | 信息 |
memberId | string | 是 | 商户id |
mchOrderNo | string | 是 | 商户订单号 |
platOrderNo | string | 是 | 平台订单号 |
orderStatus | string enum | 是 | 订单状态 — PENDING, SUCCESS, FAILED, REFUND, PART_SUC |
amount | number | 是 | 实际支付金额 |
fee | number | 是 | 手续费 |
sign | string | 是 | 验签 |
timeEnd | integer | 是 | 完结时间 — 秒级时间戳 |
trxId | string | 否 | E2e — 交易流水 |
payerName | string | 否 | 姓名 — 付款人姓名 |
taxNumber | string | 是 | Cpf/Cnpj — 付款人税号 |
请求示例
json
{
"status": 200,
"memberId": "16001",
"mchOrderNo": "20220721144249483",
"platOrderNo": "3KITxA1dEXhZ2IRXvwck",
"orderStatus": "SUCCESS",
"amount": 10000,
"fee": 100,
"msg": "success",
"timeEnd": 1658387041,
"trxId": "E00360305202006230714a597afa17c8",
"payerName": "name",
"taxNumber": "60712036351",
"sign": "VJ0pQTRvHI7Tlc8TVodYOlDZzyxcDIJumD5pit+/eFcGYInT9ynePuyGXAqnoqrxeEvNbtN++DYd5J2oG16CIQU8qX9XFMj4o+DNPuUzNdaF06HhlkUxwPTTeSWCDOuw2XPtMRY0u8T/KA2PbzrX2lr4I6siICZaDHeocjO9PI0="
}