在 Stripe 中,我有多个客户,每个客户都有多个订阅。我想将这些多个订阅转换为包含多个项目的单个订阅,这样我的客户每月只需支付一次费用。
目前,我可以向每个订阅添加新项目,但我不知道如何获得正确的计费行为。
所需流量:
用户已有订阅,在 1 日收取 20 美元的费用 >> 用户在 15 日向订阅添加新项目,费用为 10 美元 >> Stripe 本月向他们收取 10 美元 >> Stripe 在 15 日向他们收取 30 美元,继续向前
目前,我可以:
1. 按比例分配新订阅,以便他们在 15 日收取 5 美元费用,并在以后的 1 日收取 30 美元(不支付从现在开始的月份的全额费用)
2. 重置计费周期,以便在 15 日向他们收取 30 美元(对 1 日已付款的现有订阅收取双倍费用)
有没有更好的方法来处理这个问题?
- 重置计费周期,以便在 15 日向他们收取 30 美元(对 1 日已支付的现有订阅收取双倍费用)
此解决方案是正确的,但您需要确保创建按比例分配 并重置计费周期锚。创建按比例分配将确保向您的客户发放 20 美元订阅项目未使用时间的积分,并将计费周期锚设置为
now
(例如 15 日)将确保 10 美元订阅项目可以全额收费。
订阅更新 API 调用看起来像这样(如果您使用的是 Python):
stripe.Subscription.modify(
"sub_abc123",
proration_behavior='always_invoice',
items = [{
"price": 'price_abc123'
}],
billing_cycle_anchor= 'now',
)
在上面的区块中,新的 10 美元价格将为
price_abc123
。 proration_behavior
参数设置为 always_invoice
,以便更新将立即在原始 20 美元价格上创建按比例分配项目(例如,未使用时间的积分)。
结果应该是在 15 日支付大约 $10(新商品)+ $20(原始商品的下一次费用)- $10(上个月未使用时间的按比例分配积分)= $20