异步回调
入款与出款的异步通知结构基本一致,但 sts 的取值含义不同:入款通常只通知成功结果,出款可能通知成功或失败。
通知参数
| 字段名 | 变量名 | 类型 | 描述 |
|---|---|---|---|
| 商户号 | mcode | string | 商户号 |
| 平台订单号 | sn | string | 平台订单号 |
| 商户订单号 | tno | string | 商户订单号 |
| 订单金额 | amt | string | 订单金额 |
| 订单状态 | sts | string | 入款仅成功通知,状态为 DS_SUCCESS出款可能为 WS_SUCCESS 或 WS_FAIL |
| 创建时间 | ctm | string | 订单创建时间 |
| 附加参数 | extra | string | 原样透传的附加数据 |
| 通知地址 | ntf_url | string | 通知地址 |
| 扩展信息 | extend | string | 出款失败原因等,收款的付款人信息等--如果有则是json字符串 |
| 签名 | sign | string | 回调签名 |
extend 扩展信息 说明
- 出款失败的情况下,如果有原因则会是一段字符串原因
- 如果是KYC收款情况。会返回付款人信息对应json字符串如下
"extend": "{\"acct\":\"test\",\"bank\":\"BANK\",\"number\":\"account12345\",\"remark\":\"Remark\"}",对应json格式如下
{
"acct": "test",
"number": "account12345",
"bank": "BANK",
"remark": "Remark"
}签名
回调同样使用 签名 中的 HMAC-SHA256 + JCS (RFC 8785) 算法: 收到回调数据后,先移除 JSON 中的 sign 字段,对剩余字段做 JCS 规范化 → HMAC-SHA256(key=secretKey, msg=signingBytes) → Base64,与收到的 sign 对比即可。
返回
验签通过后,按 HTTP 200 返回文本 success。
示例:
Content-Type: text/plain; charset=utf-8
success重试及失败判定
- 没有成功返回 HTTP 状态码
200,且返回内容是success。 - 推送时间超时是3000ms(3秒) 未能得到回应。
以上情况会触发重试机制,最多重试3次。
如果您的回调响应逻辑在3次重试后仍失败,可以联系客服为您再次回调. 但如果您的响应逻辑始终无法响应success,则无论如何都不会讲订单推送状态变更为“成功”.