跳转到主要内容

Webhooks 概述

了解 Payloco Webhook 的工作原理,包括订阅、投递与重试、签名验证,以及在哪里设置或管理事件。 Webhooks 使 Payloco 能在你的 Payloco 账户发生事件时,向你的应用发送即时、实时的推送通知。理解 Webhook 的工作方式有助于你设计可靠的集成 。

Webhook 如何工作

你通过注册通知 URL 并选择要接收的事件来创建 webhook 订阅。当这些事件中的某个在你的账户中发生时,Payloco 会向你的 URL 发送带 JSON 有效负载的 HTTP POST 请求。你的端点必须返回 200 状态码和以下报文体,以便 Payloco 确认投递成功:
{
  "code": "00000000",
  "message": "成功"
}
每个事件都有稳定的 id,因此你可以安全地处理重试并避免重复处理同一事件。有关创建订阅和配置端点的说明,请参阅 监听 webhook 事件 你也可以在 Payloco Web 应用中查看并重新触发 webhook 事件,检查投递状态(成功、排队或失败),并在停机后或调试时重新投递事件。

投递与可靠性

Payloco 将除返回 200 状态码且报文体 code00000000 以外的任何响应,或超时,视为投递失败并进行重试。重试采用指数退避策略,直到你的端点返回 200 为止。
  • 重复事件。 你的端点可能会多次收到同一个事件。通过跟踪负载中的事件 id 实现幂等处理;同一事件在重试期间其 id 不会变化。
  • 事件顺序。 Payloco 不保证事件按生成顺序投递。不要依赖投递顺序;如果需要排序,请使用负载中的 notifyTime 字段。

安全与验证

Payloco 对每个 webhook 请求进行签名,以便你可以验证该请求确实来自 Payloco 且未被篡改。签名使用请求时间戳和请求体计算 HMAC;你需要将计算出的值与请求头中的签名进行比较。每个订阅在 Payloco Web 应用中都有自己的 secret key。在解析或处理负载之前验证签名是关键的安全步骤。有关逐步说明和代码示例,请参阅 检查 webhook 签名 你的 webhook 端点应使用 HTTPS,并且服务器必须允许来自 Payloco webhook IP 地址的流量。生产环境和沙箱环境的 IP 列表请参阅 监听 webhook 事件

另请参阅

要设置或管理 webhook,你可以: