使用Stripe Checkout在测试模式下从Stripe重试到我的webhook



我使用Stripe Checkout,然后在"测试";模式时,我故意返回400http响应或超时到中的Stripe的响应200http响应";测试";模式,并且我等待Stripe的重试9个小时Stripe询错过的事件页面,然后Stripe立即发送带有事件类型"的重试;setup_intent.created">到我的webhook。

重试逻辑表示:

在测试模式下,Stripe在几个小时内重试三次。在此之后,可以在仪表板中手动重试Webhook,还可以查询错过的事件以协调任何时间段的数据。

内置重试次数表示:

Stripe webhook内置了3xx、4xx或5xx响应状态代码的重试方法。如果Stripe没有快速收到事件的2xx响应状态代码,我们会将该事件标记为失败,并停止尝试将其发送到您的端点。几天后,我们会向您发送有关配置错误的端点的电子邮件,如果您还没有解决,我们会很快自动禁用它。

我在"测试";模式条带结账

  1. 通常要从Stripe重试三次,我是否需要等待超过9小时

  2. 要立即从Stripe获取重试次数,是否需要打开查询遗漏事件页面

  3. Stripe重试的事件类型总是吗;setup_intent.created">

  4. 如果Stripe没有收到200 http响应或没有快速收到200 http响应Stripe次

  5. 无论Stripe是否没有快速收到200 http响应,打开错过事件查询页面会发送重试吗?

通常情况下,要从Stripe获得三次重试,我是否需要等待超过几个小时,即2、3小时或更长时间?

是的,在测试模式下,在初始事件传递失败后的短时间内会自动重试。Stripe将重新尝试传递测试模式事件,最多3次。

要立即从Stripe获得重试次数,是否需要打开错过事件的查询页面?

您不能通过API手动触发事件重试,只能通过仪表板完成。

从Stripe重试的事件类型总是"吗;setup_intent.created";?

重试时的事件type字段将始终与原始事件传递尝试相同。如果是setup_intent.created事件,则type字段将反映该事件。

如果Stripe没有收到2xx响应状态码或没有快速收到2xx应答状态码,Stripe是否会发送三次重试?

我们希望立即收到200响应。建议您在运行webhook可能需要处理的任何自定义逻辑之前返回200响应,否则您将面临无法交付事件的风险(即使已处理)。

无论Stripe是否没有快速收到2xx响应状态码,打开错过事件查询页面是否会发送重试?

通过API查询事件不会重新尝试事件传递。其思想是,在事件传递失败后,您可以通过从API查询这些对象来协调任何遗漏的事件。

  1. 通常要从Stripe重试三次,我需要等待超过9个小时

否。根据我一周的实验,至少在StripeCheckout中;测试";模式时,我发现Stripe大多数时候都不会向我的webhook发送任何重试,即使我有意返回400http响应或超时以响应200http响应Stripe

  1. Stripe重试的事件类型总是"setup_intent.created">

根据我一周的实验,至少在Stripe Checkout中;测试";模式

,则为是。我一个接一个地返回4个事件类型的400 http响应;payment_intent.created"payment_intent.successed"充电成功";以及";checkout。session。completed">,然后等待Stripe的重试。最后,Stripe发送"setup_intent.created">用于所有4种事件类型

实际上,我询问了Stripe支持关于"1〃;以及";3〃;问题花费超过3或4个小时,但他们甚至对条纹不太了解,这意味着可怕的支持进食时间。因此,您最好自己解决有关Stripe的任何问题,因为您对Stripesuper了解得比他们多得多。或者只是使用其他支付服务。

最新更新