You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

测试模式下Stripe Checkout Webhook重试相关技术问询

Stripe Test模式Webhook重试机制实践与问题解答

测试场景

我在Stripe Checkout的Test模式下,故意返回400 HTTP响应或超时不返回200响应给Stripe,等待9小时后未收到Webhook重试;打开「query for missed events」页面后,Stripe立即发送了setup_intent.created类型的重试请求。

官方文档参考

《Retry logic》:Test模式下,Stripe会在数小时内重试三次;超过该时间可在控制台手动重试,也可通过「query for missed events」页面核对数据。
《Built-in retries》:Stripe Webhook针对3xx、4xx、5xx状态码内置重试机制;若未及时收到2xx响应,事件会被标记为失败并停止重试,多日后会发送配置错误邮件,未处理则自动禁用端点。

问题与解答

  1. 在Test模式下,若要接收Stripe的三次重试请求,是否需要等待超过9小时?
    不需要。根据文档,Test模式下的三次重试会在数小时内完成,不会超过9小时。未收到重试可能是重试周期已结束,或者端点被提前标记为失败。

  2. 在Test模式下,若要立即获取Stripe的重试请求,是否必须打开「query for missed events」页面?
    不是必须的。除了打开该页面触发,还可以直接在Stripe控制台的Webhook事件列表里,找到失败的事件手动触发重试。

  3. Stripe发送的重试请求的event type是否始终为setup_intent.created?
    不是。重试的event type完全取决于最初触发Webhook的事件类型,比如支付成功触发的payment_intent.succeeded,重试的也是这个类型。本次收到setup_intent.created只是因为测试场景对应的是该事件。

  4. 当Stripe未收到200 HTTP响应或未及时收到200 HTTP响应时,是否会发送三次重试请求?
    不一定。正常情况下,针对3xx/4xx/5xx状态码会执行三次内置重试,但如果重试过程中端点持续失败,Stripe可能会提前停止重试,具体以实际重试规则执行。

  5. 无论Stripe是否及时收到200 HTTP响应,打开「query for missed events」页面都会触发重试请求吗?
    不会。只有当存在未成功送达的事件时,打开该页面才会触发重试;若所有事件都已成功收到200响应,打开页面不会触发任何重试操作。


内容的提问来源于stack exchange,提问作者Super Kai - Kazuya Ito

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 10:06:19