如何通过Stripe客户门户实现账单周期末订阅计划升级/降级?
解决Stripe客户门户订阅变更的额度风险问题
Stripe客户门户支持三种订阅计划变更方式:
- 无按比例计费直接切换
- 按比例计费并立即开票
- 按比例计费并在账单周期末开票
我的应用里每个订阅计划都附带额度,默认的按时间比例计费存在风险:用户可能在账单周期首日用完所有额度,次日就降级订阅,从而拿到全额退款;但如果用无按比例计费的方式,计划会立即变更,且不会向客户收取任何费用。
我原本希望直接通过客户门户实现账单周期末的订阅升级/降级,不想为这个需求重写整套功能。但Stripe并不支持这种方案,所以最终我采用了SubscriptionSchedules来自行处理:设置订阅在账单周期末取消,通过订阅计划指定特定日期的执行行为。
以下是Django应用中使用DjStripe创建订阅计划的代码片段:
subscription_schedule_stripe_instance = djstripe_models.SubscriptionSchedule._api_create( customer=customer.id, start_date=start_date, end_behavior="release", phases=[ { "items": [ {"price": price.id}, ], "billing_cycle_anchor": "unchanged", "proration_behavior": "none", }, ], )
内容的提问来源于stack exchange,提问作者kmsky
相关产品推荐
相关产品推荐

