用 HMAC 与 Webhook 把 USDT 收银台接到业务系统
说明 CHINAUSDT 下单签名、防重放与支付结果 Webhook 的对接要点,适合技术负责人做接入清单。
把业务系统接到 CHINAUSDT,核心只有两件事:你怎么可信地下单,以及我们怎么可信地通知你「已支付」。
下单:HMAC 签名串
收银台 API(如 POST /checkout/v1/orders)要求请求头携带:
X-ZLPay-KeyX-ZLPay-TimestampX-ZLPay-NonceX-ZLPay-Signature
待签串顺序固定为五行:
METHOD
PATH
TIMESTAMP
NONCE
SHA256_HEX(RAW_BODY)
签名使用项目密钥对上述字符串做 HMAC-SHA256,再转十六进制。注意:必须对原始 body 字节哈希,不要先反序列化再重序列化。
时间窗与 nonce 用于防重放;可选 X-ZLPay-Idempotency-Key 保证同一业务意图只建一单。
回执:Webhook
订单链上确认并结算后,CHINAUSDT 会向你配置的 webhook_url 推送事件(如 order.paid)。请:
- 用 webhook 密钥校验
X-ZLPay-Signature(常见形式为对timestamp.body做 HMAC); - 按
out_trade_no幂等履约——已开通则勿重复延期; - 返回 HTTP 2xx,否则会按退避策略重试。
业务字段(用户 ID、套餐、天数等)放在下单时的 notify_ref,Webhook 原样带回,支付系统本身不理解会员语义。
建议验收
- 沙箱或小额主网:下单 → 付款 → 收到 Webhook → 业务侧只履约一次
- 故意重放同一回调:状态不变
- 签名缺 nonce / 改 body:应被拒
更完整的密钥与通道配置,登录 用户控制台 的 API 页查看。