Stripe Webhook事件续订订阅

Saa*_*aad 6 asp.net webhooks stripe-payments stripe.net

我在Asp.net应用程序中使用STRIPE进行信用卡付款.应用程序有月度订阅计划.第一次用户订阅webhook事件'customer.subscription.created'时触发.我的问题是,在下个月订阅续订时会发生哪些事件?谁能告诉我订阅续订webhook事件的流程?

谢谢

Eri*_*yer 25

webhook 'invoice.payment_succeeded' 实际上确实区分了新订阅的第一笔费用和后续的续订费用。

webhook 发送一个发票对象,其中包括'billing_reason'- Stripe Docs中注明的可能值- 发票对象

billing_reason (string) "指示创建发票的原因。 subscription_cycle指示由推进到新期间subscription_create的订阅创建的发票。指示由于创建订阅而创建subscription_update的发票。指示由于更新订阅而创建的发票。subscription设置为所有旧发票,以指示订阅更改或期间提前。为与订阅无关的所有发票设置手动(例如:通过发票编辑器创建)。即将到来的值保留用于每个即将到来的发票端点的模拟发票.”

如果billing_reason == 'subscription_cycle'webhook 用于订阅续订。

如果billing_reason == 'subscription_create'webhook 用于全新订阅。


Dha*_*ani 7

续订订阅:

当客户在 Stripe 中续订订阅时,会发生许多事情,每件事情都有相应的事件:

  1. 发票已创建 - invoice.created
  2. 订阅计费周期更新 - customer.subscription.updated
  3. 一小时后(让您有时间添加任何额外费用)Stripe 尝试向客户收费。
  4. 如果付款成功,invoice.payment_succeeded则会引发事件。

在您自己的应用程序中处理这些事件的方法是注册一个 webhook;Stripe 将向其发送事件详细信息的 HTTP 端点。

  1. 使用 Stripe 标识符(包含在事件负载中)查找客户订阅。
  2. 从 Stripe API 检索订阅详细信息。
  3. 更新我们订购的CurrentPeriodStart,并CurrentPeriodEnd与条纹认购的period_startperiod_end
  4. 使用来自 Stripe 事件的详细信息创建客户发票。


Ale*_*lex 6

除了customer.subscription.created你还会得到一个invoice.created跟随invoice.payment_succeeded(或invoice.payment_failed)

从文档:

如果您使用的是webhooks,Stripe会在他们都成功尝试支付发票后等待一小时; 这里唯一的例外是第一张发票,当您订阅客户计划时,会立即创建并支付.

所以,这意味着,invoice.created事件也将在下个月开火.
然后条纹将等待一小时,然后向客户卡充电,然后开火charge.succeeded (如果充电成功)或charge.failed(如果充电失败)

小时等待是允许将发票项目添加到发票中,如果您愿意的话.

有关您可能需要这样做的详细信息,请参阅我对此问题的回答 ......


Chr*_*ini 5

您想观看一个invoice.payment_succeeded事件:

看看:https : //stripe.com/docs/api#event_types

每当支付发票时都会触发此事件。charge.succeeded也会发生一个事件,但不同之处在于invoice.payment_succeeded仅针对发票付款发生,而charge.succeeded针对独立费用也会发生。

订阅的第一笔费用和重复收费之间没有事件区别,尽管您存储在您的终端上的逻辑(例如,订阅何时创建、何时到期等)应该可以帮助您消除歧义。