签名与验签
本节说明商户请求与平台回调共用的签名规则。
请求 Headers
| Header | 必填 | 说明 |
|---|---|---|
X-Merchant-Id | 是 | 商户主键 ID |
X-Timestamp | 是 | Unix 时间戳(毫秒) |
X-Nonce | 是 | 32 位随机字符串 |
X-Sign | 是 | HMAC-SHA256 签名(Base64) |
HTTP Header 名称不区分大小写。
签名算法
签名串固定顺序(| 分隔):
timestamp|nonce|rawBody签名计算:
signature = Base64(HMAC_SHA256(SignData, merchant_secret))示例密钥(测试):sk_test_9f3b8a2d7c1e4f6a8b0c2d4e6f8a1b3c
rawBody 为实际发送的原始 JSON 字符串,不可二次格式化或重排字段。
防重放要求
- 时间戳有效期:5 分钟
- Nonce 在 5 分钟内不可重复