Webhook异步通知#
当订单状态发生变化时(如支付成功、支付失败等),平台会主动调用订单回调接口通知商户。
签名验证#
Webhook通知必须验证签名,确保通知真实性。验证原理:与请求签名验证相同,使用平台App Secret对原始报文进行签名,生成sign与回调请求头中sign进行比较校验。由于回调可能会添加字段,建议把json转为Map,然后使用map中的数据做签名验证,避免直接json转换class对象,然后使用对象做签名
Webhook请求头#
| Header名称 | 说明 | 示例 |
|---|
X-App-Id | 商户应用编码 | app_platform_123 |
X-Ts | Unix时间戳(毫秒,13位数字) | 1699132800000 |
X-Nonce | 随机字符串(防重放) | abcd1234efgh |
X-Sign | HMAC-SHA256签名值(Base64编码) | a1b2c3d4e5f6... |
重试机制#
| 重试次数 | 延迟时间 | 说明 |
|---|
| 1 | 立即 | 首次发送 |
| 2 | 5秒 | 第1次重试 |
| 3 | 30秒 | 第2次重试 |
| 4 | 2分钟 | 第3次重试 |
| 5 | 10分钟 | 第4次重试 |
| 6 | 1小时 | 第5次重试 |
| 7 | 6小时 | 第6次重试 |
| 8 | 16小时 | 第7次重试 |
商户应该保证Webhook接口的幂等性(通过 event_id)
返回参数说明#
回调接收成功。
商户应返回 HTTP 200 状态码,响应体返回如下字符串。回调接收处理失败。
商户应返回 HTTP 200 状态码,响应体返回如下字符串。