假设我让客户订阅一项服务,我认为有两个事件我需要了解:
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,则说明订阅进入了新的计费周期,并且支付成功。