Webhook:当 HTTP 状态码以四 (4xx) 或五 (5xx) 开头时该怎么办

400-499 或 500-599 范围内的 HTTP 状态码来自您的服务器,表示您的系统已收到请求,但无法处理该请求。请尝试以下操作:

  1. 在管理平台中,查看来自您的服务器的响应以获取更多信息:响应中可能没有任何其他信息;这取决于您的服务器配置方式以及您的代码设计的是如何应对错误

  2. 检查您的服务器日志是否指示错误或警告:这些错误应该会指出错误响应的原因(可能是您的 Webhook 处理代码或服务器上的配置存在问题)

  3. 确认收到的事件具有您的代码能够处理的 API 版本API 版本定义事件中包含的对象的结构;传入事件和您的处理代码之间的 API 版本不匹配可能会导致意外错误

下面详细介绍导致 4xx 和 5xx 状态码的一些常见错误及其解决方法。

错误:找不到与有效负载的预期签名相匹配的签名

此错误或类似错误(措辞可能因库而异)表示 Webhook 签名验证过程失败。此错误通常是由以下某种原因引起的:

错误:时间戳超出容差范围

此错误或类似的错误(措辞可能因库而异)意味着收到的事件太旧而无法成功验证。Webhook 签名有一个时间组件,必须在收到事件后随即进行验证。

请尝试以下操作:

内部服务器错误

这些错误通常是由代码引发异常、解析错误或某种重大更改引起的。

大多数情况下,此类错误是由负责接受和处理 Webhook 的服务器或基础设施上的某种更改引起的。新的或更改后的代码、服务器更新或配置更改可能会引入新的故障模式或不兼容性。

当您遇到此错误时,请检查服务器的错误日志以获取更多信息。根据配置、操作系统、Web 服务器、使用的编程语言和其他因素,错误日志的位置因服务器而异,因此我们无法提供具体说明。  建议您检查日志和错误日志配置,了解您可能用于接收 Webhook 的以下任何要素: