跳转到主要内容
Webhook 会将您账户的事件推送到您自己的 HTTPS 回调地址,并附带加密签名。

创建订阅

  • event_type:下表中的事件之一,或使用 * 订阅全部事件。
  • callback_url必须为 HTTPS;localhost 和私有 IP 会被拒绝——本地开发请使用 HTTPS 隧道
  • secret:至少 16 个字符;用于对每次投递签名。加密存储,无法再次获取。
订阅接收的是您账户的事件。您可以随时列出当前有效的订阅:

事件

各事件的载荷

payout_status_changedcrypto_withdrawal_status_changed 中,status 可以为 completedfailed(若为 failed,在您收到该事件时扣款已完成退还)。

投递格式

每次投递都是一个 JSON POST,带有以下请求头:

验证签名

HMAC 必须基于原始请求体(收到的字节原样)计算,而不是重新序列化后的 JSON。请拒绝过旧的时间戳(超过 5 分钟),以防止重放攻击。

重试与幂等性

  • 您的端点必须在超时前返回 2xx;否则将触发重试。
  • 最多 5 次尝试,采用递增退避:
  • 使用 X-Webhook-Event-ID 去重:同一事件可能送达多次(至少一次投递语义)。
  • 如果 5 次尝试全部失败,该事件不会再次发送——请通过资源的 GET 接口恢复状态(这也是任何流程都不应只依赖 webhook 的原因)。

最佳实践

  • 立即返回 200,在后台异步处理。
  • 记录 X-Webhook-Delivery-ID 以便追溯。
  • 关键状态不要只依赖 webhook:您随时可以通过 API 查询对象(GET /v1/payouts/{id} 等)。
最后修改于 2026年7月13日