有没有办法避免在 Stripe 结账期间创建"status: incomplete"订阅?


背景:

通过Stripe API创建订阅时,如果您希望Stripe返回HTTP 402状态代码,以防无法支付订阅的第一张发票,则可以使用payment_behavior: error_if_incomplete。在这种情况下,如果支付失败,Stripe根本不会创建订阅。

问题:

在使用Stripe Checkout时,是否有实现相同行为的方法?

我的经验是,即使付款失败,Stripe也会使用status: incomplete创建订阅,如果在23小时内没有成功付款,则订阅将过期。我已经检查了创建签出会话的参数,但没有发现在那里设置payment_behavior的选项。

来源:

https://stripe.com/docs/api/subscriptions/create#create_subscription-付款_行为https://stripe.com/docs/api/checkout/sessions/create

坏消息

不幸的是,这不是目前可以配置的。当Checkout创建订阅时,所有未直接提供的参数都设置为"订阅"默认值。Subscription的默认payment_behaviordefault_incomplete

好消息

可以使用Webhook实现此行为。您将侦听invoice.payment_failed事件,检查发票的billing_reason属性是否为subscription_create(标识新订阅的第一个发票),然后取消相关订阅。

如果您使用的是"订阅和发票",建议您仍然使用webhook来跟踪状态的更改。

相关内容

  • 没有找到相关文章

最新更新