Stripe:'payment_intent.succeeded' 也会在订阅续订时触发

Stripe: 'payment_intent.succeeded' is also triggered when subscription gets renewed

我的后端 (Django) 有两个用于 Stripe webhook 的 API。

在订阅 webhook 中,我监听 invoice.paidinvoice.payment_failed 事件,在钱包 webhook 中监听 payment_intent.succeeded 事件。问题是每当调用订阅 webhook 时,也会为钱包 webhook 触发 payment_intent.succeeded 事件。我认为这是因为还为订阅创建了支付意向。我需要一种方法来区分这两者(一次性付款 [aka 向钱包添加余额] 和订阅),这样我就不会在用户续订订阅时在他们的钱包中获得额外的信用额度。

我最终为两个 webhook 使用了 invoice.paid 事件并检查了 data.object.lines.data[0].price.type 字段,它可以是 one_timerecurring。您可以在 https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-type

阅读更多相关信息