我正在使用Stripe API和Laravel 5.4
我的业务逻辑要求用户有1个subscription
,如果用户需要添加更多功能,它们将作为subscription items
添加到主subscription
。
现在,如果用户要取消他所请求的服务(功能性)之一,则他需要能够在当前计费周期的剩余时间内使用该功能性,并且应该仅对所使用的时间进行计费。
在API文档中,我看到我可以通过设置cancel_at_period_end = true
来使用subscription
实现这一点,但在处理subscription
中的subscription item
时,似乎找不到等效的方法。
会很感激任何建议。谢谢
2条答案
按热度按时间zfciruhq1#
subscription_item
(以及plan
)目前不支持在计费周期结束时自动删除它。解决方法:
1.对于当前的
subscription
,将订阅设置为cancel_at_period_end = true
。1.创建一个新的
subscription
,其中所有subscription_items
与原始subscription
相同(除了他们正在取消的项目),但将其设置为免费试用,直到与当前subscription
相同的时间。使用这种方法,客户可以继续使用他们的所有功能,直到计费周期结束。“新”订阅在重叠时间内根本不会收费。在当前计费周期结束时,旧订阅将结束,新订阅将开始。
bwleehnv2#
如the documentation所述,您可以更新订阅,使其在计费周期结束时到期。