如何在计费周期结束时取消 Stripe 中的订阅项目

nat*_*ral 9 php stripe-payments

我正在使用 Stripe API 和 Laravel 5.4

我的业务逻辑要求用户有 1 个subscription,如果用户需要添加更多功能,他们将被添加到subscription items该 main 中subscription

现在,如果用户要取消他请求的一项服务(功能),他需要能够在当前计费周期的剩余时间内使用该功能,并且只应按所使用的时间计费。

在 API 文档中,我看到我可以subscription通过设置来实现此目的,但在处理a 中的 acancel_at_period_end = true时似乎找不到等效项。subscription itemsubscription

如有任何建议,将不胜感激。谢谢

小智 4

A subscription_item(以及 a plan)当前不支持在计费周期结束时自动删除它。

解决此问题的方法:

  1. 对于当前subscription,将订阅设置为cancel_at_period_end = true
  2. 创建一个与原始项目subscription完全相同的新项目(除了他们取消的项目),但将其设置为免费试用,直到与当前项目相同。subscription_itemssubscriptionsubscription

使用该方法,客户可以继续使用其所有功能,直到计费周期结束。在重叠时间内,“新”订阅根本不会被收取费用。当前计费周期结束时,旧订阅将结束,新订阅将开始。