首页 > 解决方案 > Stripe Payment Intents 和 charge.succeeded webhook 有时不会触发

问题描述

capture_method=manual当用户下订单时,我们会在我们的 iOS/Android 应用程序中创建 PaymentIntents(以防万一)。

charge.succeeded一旦webhook 触发,我们就会将订单发送到连接的场所。如果这在几分钟内没有发生,我们就已经过期了我们这边的订单。

有趣的是,十分之二的时候我们没有让这个 webhook 被触发。

我想知道听这个 webhook 是否真的是明智的,以便决定我们是否将订单发送到连接帐户的场所,或者是否有更好的方法来确定一旦我们尝试捕获它,付款是否真的有效。

标签: stripe-paymentswebhooks

解决方案


Webhook 是获取付款意图状态的推荐方式,但您也可以使用 API 获取其状态。

来自 Stripe文档的引述:

从技术上讲,可以使用轮询而不是 webhook 来监视由异步操作引起的更改——重复检索 PaymentIntent 以便您可以检查其状态——但这明显不太可靠,并且如果大规模使用可能会带来挑战。Stripe 对 API 请求实施速率限制,因此如果您决定使用轮询,请谨慎行事。

在您的情况下,我建议您等待 webhook,然后在几分钟后调用PaymentIntents APICharges API (如果您尚未收到 webhook)。


推荐阅读