Stripe 订阅事件 webhook 不清楚

ran*_*ran 13 stripe-payments

假设我让客户订阅一项服务,我认为有两个事件我需要了解:

  1. 这次冲锋无论成功还是失败,我都可以祝贺他的加入。
  2. 每次下一次收费(每月)成功或失败。

Stripe 的事件太多,很难知道该听哪一个:

invoice.paid- “每当发票付款尝试成功时就会发生”

charge.succeeded- “在创建新费用时发生”(那么有什么区别??)

invoice.payment_succeeded- “每当发票付款尝试成功时就会发生。”

customer.subscription.created- “每当客户注册新计划时就会发生。”

现在我知道单个 API 调用可能会发生一些事件,但是,

What should a developer listen to in order to know that his user successfully subscribed, or failed ? 与有何invoice.paid不同charge.succeeded?与invoice.payment_succeeded那些有何不同?

太乱了,我只需要得到一个是或否。我阅读了 API https://stripe.com/docs/api/events/types

Pau*_*jes 22

这取决于您想听什么。

charge.succeeded将在发票成功支付时触发,但也会在一次性付款时触发。

invoice.paid将在支付发票时触发,但如果您将发票标记为带外支付(例如有人以现金支付给您),也会触发

invoice.payment_succeeded与 相同invoice.paid,但如果您将发票标记为带外付款,则不会触发。如果您预计不会接受带外付款,请考虑使用此事件。

customer.subscription.created将在创建新订阅时触发,这与支付的第一张发票不同(例如,您可以创建具有试用期的订阅,该订阅不会立即触发发票支付事件)。

如果您的企业仅使用订阅(而不是一次性付款)并且您并不特别关心发票数据,请使用charge.succeeded。如果您同时使用两者,那么侦听这两个事件以区分两者会很有用。

就您而言,您可能只想听invoice.payment_succeeded。当您收到发票时,请查看该billing_reason字段: https: //stripe.com/docs/api/invoices/object#invoice_object-billing_reason

如果设置为subscription_create,则发送您的祝贺电子邮件。如果是subscription_cycle,则说明订阅进入了新的计费周期,并且支付成功。