Webhooks 概述
了解 Payloco Webhook 的工作原理,包括订阅、投递与重试、签名验证,以及在哪里设置或管理事件。 Webhooks 使 Payloco 能在你的 Payloco 账户发生事件时,向你的应用发送即时、实时的推送通知。理解 Webhook 的工作方式有助于你设计可靠的集成 。Webhook 如何工作
你通过注册通知 URL 并选择要接收的事件来创建 webhook 订阅。当这些事件中的某个在你的账户中发生时,Payloco 会向你的 URL 发送带 JSON 有效负载的 HTTP POST 请求。你的端点必须返回 200 状态码和以下报文体,以便 Payloco 确认投递成功:id,因此你可以安全地处理重试并避免重复处理同一事件。有关创建订阅和配置端点的说明,请参阅 监听 webhook 事件。
你也可以在 Payloco Web 应用中查看并重新触发 webhook 事件,检查投递状态(成功、排队或失败),并在停机后或调试时重新投递事件。
投递与可靠性
Payloco 将除返回 200 状态码且报文体code 为 00000000 以外的任何响应,或超时,视为投递失败并进行重试。重试采用指数退避策略,直到你的端点返回 200 为止。
- 重复事件。 你的端点可能会多次收到同一个事件。通过跟踪负载中的事件
id实现幂等处理;同一事件在重试期间其id不会变化。 - 事件顺序。 Payloco 不保证事件按生成顺序投递。不要依赖投递顺序;如果需要排序,请使用负载中的
notifyTime字段。
安全与验证
Payloco 对每个 webhook 请求进行签名,以便你可以验证该请求确实来自 Payloco 且未被篡改。签名使用请求时间戳和请求体计算 HMAC;你需要将计算出的值与请求头中的签名进行比较。每个订阅在 Payloco Web 应用中都有自己的 secret key。在解析或处理负载之前验证签名是关键的安全步骤。有关逐步说明和代码示例,请参阅 检查 webhook 签名。 你的 webhook 端点应使用 HTTPS,并且服务器必须允许来自 Payloco webhook IP 地址的流量。生产环境和沙箱环境的 IP 列表请参阅 监听 webhook 事件。另请参阅
要设置或管理 webhook,你可以:- 通过 监听 webhook 事件 创建订阅、正确响应并验证签名。
- 通过 查看并重新触发 webhook 事件 在 Web 应用中检查事件并重新投递。