首页 > 解决方案 > 何时在 Stripe webhook 中注册“支付”事件

问题描述

Stripe 的以下事件表明收费已通过:

charge.succeeded

https://stripe.com/docs/api/events/types#event_types-charge.succeeded

由此我可以生成发票收据并将其通过电子邮件发送给客户。很容易。但是,关于该项目的收费信息为零 - 它只显示金额。更重要的是,它没有告诉我订阅开始/结束的时间,我需要在发票收据中告诉客户。

我需要获取订阅中收费的不同项目。看来我可以改用这个项目:

invoice.payment_succeeded

https://stripe.com/docs/api/events/types#event_types-invoice.payment_succeeded

这给出了订阅中的项目以及amount_paid,但是它不引用charge对象或任何东西。我还担心这个事件似乎比charge.succeeeded/refunded事件更抽象,所以它可能无法捕获任何东西(如果我错了,请纠正我)。

对于订阅,我应该在发送发票电子邮件时使用上述两种方法中的哪一种来触发?为什么一个比另一个更受欢迎?

标签: stripe-payments

解决方案


对于订阅,我应该在发送发票电子邮件时使用上述两种方法中的哪一种来触发?为什么一个比另一个更受欢迎?

您应该更喜欢该invoice.payment_succeeded事件,因为正如您所注意到的,它直接引用来自订阅的发票,因此您需要构建付款收据电子邮件所需的更多信息。

但是它不引用电荷对象或任何东西

事件有效负载是一个 Invoice 对象,其中包含一个charge字段,其中包含发票上最新费用的费用 ID(这将是导致invoice.payment_succeeded事件触发的原因)。如果需要,您可以检索该费用以从中获取更多信息。


推荐阅读