除了customer.subscription.created,您还将收到invoice.created,后跟invoice.payment_succeeded(或invoice.payment_failed) 来自文档: 如果您使用的是webhooks,Stripe将在它们全部成功后等待一个小时,以尝试支付发票;这里唯一的例外是第一张发票,当您为客户订阅计划时,它会立即创建并支付。 所以,这意味着,invoice.created事件也将在下个月发生。 然后,Stripe将等待一个小时才向客户的卡充电,然后触发charge.succeeded(如果充电成功)或charge.failed(如果充电失败)。 小时等待是允许发票项目添加到发票,如果你这样想。 请参阅我的answer on this question了解更多关于为什么你可能需要这样做的信息...
5条答案
按热度按时间ztyzrc3y1#
webhook 'invoice.payment_successfully'实际上区分了新订阅的首次收费和后续的续订收费。
webhook发送一个invoice对象,其中包括
'billing_reason'
-其可能的值在Stripe Docs - The Invoice object中注明:subscription_cycle
表示订阅进入新期间创建的发票subscription_create
表示创建订阅创建的发票subscription_update
表示更新订阅创建的发票subscription
*为所有旧发票设置,以指示订阅的更改或期间提前。为所有与订阅无关的发票设置“手动”(例如:通过发票编辑器创建)。即将到来的值是为每个即将到来的发票端点的模拟发票保留的。"如果
billing_reason == 'subscription_cycle'
,则webhook用于订阅续订。如果是
billing_reason == 'subscription_create'
,则webhook用于全新的订阅。qq24tv8q2#
续订:
当客户在Stripe中续订订阅时,会发生许多事情,每个都有相应的事件:
1.创建发票-
invoice.created
1.更新订阅计费周期-
customer.subscription.updated
1.一个小时后(给您时间添加任何额外费用),Stripe尝试向客户收费。
1.如果支付成功,则引发
invoice.payment_succeeded
事件。在你自己的应用程序中处理这些事件的方法是注册一个webhook;Stripe将向其发送事件详细信息的HTTP端点。
1.使用Stripe标识符(包含在事件有效负载中)查找客户订阅。
1.从Stripe API检索订阅详细信息。
1.使用Stripe订阅的
period_start
和period_end
更新我们订阅的CurrentPeriodStart
和CurrentPeriodEnd
。1.使用Stripe事件中的详细信息创建客户发票。
pvabu6sv3#
除了
customer.subscription.created
,您还将收到invoice.created
,后跟invoice.payment_succeeded
(或invoice.payment_failed
)来自文档:
如果您使用的是webhooks,Stripe将在它们全部成功后等待一个小时,以尝试支付发票;这里唯一的例外是第一张发票,当您为客户订阅计划时,它会立即创建并支付。
所以,这意味着,
invoice.created
事件也将在下个月发生。然后,Stripe将等待一个小时才向客户的卡充电,然后触发
charge.succeeded
(如果充电成功)或charge.failed
(如果充电失败)。小时等待是允许发票项目添加到发票,如果你这样想。
请参阅我的answer on this question了解更多关于为什么你可能需要这样做的信息...
wsxa1bj14#
您可能希望查看
invoice.payment_succeeded
事件:请看:https://stripe.com/docs/api#event_types
只要支付了发票,就会触发此事件。
charge.succeeded
事件也会发生,但不同之处在于invoice.payment_succeeded
仅发生在发票付款时,而charge.succeeded
也会发生在独立费用时。订阅的第一次收费和定期收费之间没有事件区别,尽管您存储在您端的逻辑(例如,何时创建订阅,何时到期等)应该有助于您消除它们的歧义。
cotxawn75#
条纹显示
invoice.paid
事件。您可以设置对产品的访问权限。您可以通过以下方式确认发票是否已支付:设置一个webhook端点并监听invoice.paid事件。
https://stripe.com/docs/billing/subscriptions/overview#subscription-lifecycle
https://stripe.com/docs/api/events/types#event_types-invoice.paid