更新客户的 Stripe 订阅以按比例分配订阅费用的金额(部分金额)
Posted
技术标签:
【中文标题】更新客户的 Stripe 订阅以按比例分配订阅费用的金额(部分金额)【英文标题】:Update Stripe subscription for customer to prorate amount (partial amount) of subscription costs 【发布时间】:2021-06-17 06:56:39 【问题描述】:我要做的是向现有的 Stripe 客户添加一个新的订阅项
Stripe 客户已经有一个带有计费周期的订阅,我只想添加这个新订阅(这是一个不同的产品),但我希望这个金额按比例显示在客户的下一个帐单上数量。这样订阅可以有相同的计费周期。这意味着我们可以向客户发送一张发票,并且每月向记录在案的卡收费不超过一次。
因此,如果客户想以每月 10 美元的价格添加一个额外的用户。他们在当月中途注册时,客户将收到 5 美元的账单,费用为上一个计费周期所用的时间加上常规的 10 美元订阅费。
我有这个代码
if (item.Plan.ProductId == "productId")
var subscriptionItemOptions = new SubscriptionItemUpdateOptions
Price = "priceId",
Quantity = vm.NumberOfUsersToChange,
;
var subscriptionItemService = new SubscriptionItemService();
subscriptionItemService.Update(item.Id, subscriptionItemOptions);
这会在下一张发票上减去未使用的时间。
我希望发生完全相反的事情。所以它将获得按比例分配的金额并添加到下一张发票中。
非常感谢任何帮助!
【问题讨论】:
我认为您需要[指定proration_behavior
]并将其设置为create_prorations
,并且在添加订阅项时您可能还需要specify proration_date
,但我不能100%确定你给出的例子是模棱两可的。如果这不起作用,您是否可以使用更详细的示例来编辑您的问题,该示例不会在一段时间的中途发生更改?
抱歉延迟响应,但我尝试按比例分配行为并且它有效,但唯一的问题是它会立即向卡收费。我希望将此订阅添加到客户即将发出的发票中。我是否必须将其添加为 InvoiceItemCreateOptions,如果我这样做,这将转到每张发票,还是我必须创建订阅并且不立即为此订阅计费,以便我可以将该订阅附加到发票项?
我们的用户可以有两个订阅,可以查看两个条带状产品。所以第一次订阅是一个底价。另一个订阅是他们想要添加的其他用户。因此,如果他们向我们注册并且不添加其他用户,则该客户的订阅不存在。但在应用程序内部,我想让他们能够实际添加用户。我想从他们添加用户时捕获按比例分配的金额,并将其添加到他们的下一张发票中。所以下一张发票将有基本价格,加上额外的用户成本,加上按比例分配的用户 AMT
我也一直在考虑为其他用户添加订阅并将价格的数量设置为 0 以便他们不计费,但是我可以操纵该订阅的数量而无需尝试为该客户添加额外订阅
为什么你有两个订阅而不是一个包含所有内容(基本价格 + 用户)?听起来那将是最简单的。你可能也有兴趣阅读when Stripe Subscriptions will and will not attempt immediate payment
【参考方案1】:
对于其他用户的单独订阅,您可以backdate them,我认为这将提供您所追求的行为。
具体来说,您可以combine backdating and setting a billing cycle anchor 做您所描述的事情:
您可以将
backdate_start_date
与billing_cycle_anchor
结合使用,以回溯订阅并将计费周期锚定为未来的某个日期。这会在下一张发票上为回溯开始日期和计费周期锚点之间的时间创建一个按比例分配的项目。
【讨论】:
以上是关于更新客户的 Stripe 订阅以按比例分配订阅费用的金额(部分金额)的主要内容,如果未能解决你的问题,请参考以下文章