Skip to main content
如果你的 Webhook 端点未返回 2xx 状态码,启润支付将自动重试投递。

重试计划

启润支付最多重试 7 次 7 次重试失败后,Webhook 将被标记为失败,不再继续重试。

什么算作失败

以下情况 Webhook 投递被视为失败:
  • 你的端点返回非 2xx HTTP 状态码(如 400500
  • 你的端点在 30 秒内未响应
  • 无法连接到你的服务器(DNS 错误、连接被拒绝、超时)
2xx 响应(如 200201204)即被视为投递成功,不论响应体内容如何。

处理重试

由于 Webhook 可能被重试,你的端点应该是幂等的 — 多次处理同一事件应产生相同的结果。

使用事件 ID 去重

每个 Webhook 事件都有唯一的 id 字段。存储已处理的事件 ID 并跳过重复事件:
在生产环境中,将已处理的事件 ID 存储在数据库(如 Redis 或你的主数据库)中,而不是内存中。

快速返回 200

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

监控 Webhook 投递

排查投递问题时,请将 Kyren Webhook 事件与你自己的服务端日志对照。请记录:
  • 你配置的 Webhook URL
  • 事件类型和订单号
  • 你的服务端收到请求的时间
  • 你的服务端返回的响应码或错误
如果需要 Kyren 协助检查投递尝试,请带上这些信息联系支持。

故障排除