Stripe Webhook 最佳实践

Nen*_*vic 4 webhooks stripe-payments

收到 webhook 后,我们应该返回2xx响应,然后在后端执行一些额外的逻辑。

\n
\n

您的端点必须在任何可能导致超时的复杂逻辑之前快速返回成功状态代码 (2xx)。例如,在更新会计系统中已付款的客户\xe2\x80\x99s 发票之前,\n必须返回 200 响应。

\n
\n

他们建议这里首先返回成功的2xx响应,然后在我们的后端执行其他操作。他们认为这是最佳实践,因此不会出现请求超时。

\n

我不明白这是最佳实践,因为很明显我们的系统在更新数据库时失败,而我们已经返回了成功的响应。这意味着 Stripe 稍后不会尝试重新发送 Webhook,并且我们将丢失此信息,因为我们的系统没有保存它。

\n

对于此类问题是否有现有的解决方案?

\n

Nen*_*vic 9

我联系了 Stripe 支持,他们说 webhook 请求的超时时间是 20 秒。

默认超时为 20 秒。要确定它是否是一个复杂的查询,您需要评估写入数据库需要多长时间。

我在文档中找不到此信息,所以它非常有帮助。20 秒足以将某些内容保存到数据库并返回 2xx 响应。

  • 感谢您发布此内容。我也有同样的问题。有了 20 秒的超时,现在就更有意义了 (2认同)