跳转到主要内容
Webhook 允许启润支付在你的账户中发生事件时(如支付成功或结款完成)向你的服务器发送实时通知。

工作原理

  1. 事件发生(如客户完成付款)
  2. 启润支付向你配置的 Webhook URL 发送 HTTP POST 请求
  3. 请求中包含用于验证的签名
  4. 你的服务器处理事件并返回 200 响应

配置 Webhook

商户控制台中设置你的 Webhook 端点:
  1. 前往 控制台 > 开发者 > Webhook 设置
  2. 输入你的 Webhook URL(如 https://yoursite.com/webhooks/kyren
  3. 复制你的 Webhook 密钥 — 用于验证签名
你的 Webhook URL 必须:
  • 使用 HTTPS(生产环境必须)
  • 可公开访问
  • 在 30 秒内返回 2xx 响应

Webhook 载荷

每个 Webhook 请求包含以下请求头:
请求头描述
Content-Typeapplication/json
X-Kyren-SignatureHMAC-SHA256 签名,用于验证
X-Kyren-Timestamp发送 Webhook 时的 Unix 时间戳
请求体是一个 JSON 对象:
{
  "id": "evt_abc123",
  "type": "order.paid",
  "created_at": "2026-01-15T10:35:00Z",
  "data": {
    "order_id": "order_def456",
    "product_id": "prod_abc123",
    "customer_email": "customer@example.com",
    "amount": 9.99,
    "currency": "USD",
    "net_amount": 9.29,
    "paid_at": "2026-01-15T10:35:00Z"
  }
}

最佳实践

验证签名

始终验证 X-Kyren-Signature 请求头以确保 Webhook 的真实性。参见 Webhook 签名验证

快速返回 200

收到 Webhook 后立即返回 200 响应。如果处理需要较长时间,请异步处理。

处理重复事件

使用事件 id 进行去重。由于重试机制,你的端点可能会收到同一事件多次。

使用消息队列

在生产环境中,考虑将 Webhook 事件推送到消息队列(如 RabbitMQ、SQS)以实现可靠处理。

下一步