You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stripe订阅计划阶段更新:立即按比例计费并获取支付意向

解决Stripe两阶段订阅更新并按比例计费的问题

正确的Stripe原生方案

直接使用订阅更新API,配合特定参数即可实现更新阶段商品数量、自动应用折扣、生成按比例差额账单并获取支付意向的需求,不需要手动创建账单或绕过计划器。

关键参数与步骤

调用SubscriptionService.UpdateAsync时,需设置以下核心参数:

  • items:指定要更新的阶段1订阅项ID,修改其quantity值
  • proration_behavior: 'create_prorations':强制生成按比例计算的差额费用
  • payment_behavior: 'default_incomplete':生成未支付的账单,同时创建支付意向供客户确认
  • Expand: ['latest_invoice.payment_intent']:直接展开返回结果,获取关联的支付意向对象

C#代码示例

var subscriptionService = new SubscriptionService();
var updatedSubscription = await subscriptionService.UpdateAsync(
    "sub_你的订阅ID",
    new SubscriptionUpdateOptions
    {
        Items = new List<SubscriptionItemOptions>
        {
            new SubscriptionItemOptions
            {
                Id = "si_你的阶段1订阅项ID", // 必须指定原订阅项ID
                Quantity = 3 // 新的商品数量
            }
        },
        ProrationBehavior = "create_prorations",
        PaymentBehavior = "default_incomplete",
        Expand = new List<string> { "latest_invoice.payment_intent" }
    }
);

// 获取生成的账单和支付意向
var proratedInvoice = updatedSubscription.LatestInvoice;
var paymentIntent = proratedInvoice.PaymentIntent;

为什么之前的方案无效

  1. always_invoice参数:该参数仅控制订阅周期结束时是否自动开票,无法触发订阅更新时的按比例计费,因此不会生成新账单。
  2. 手动创建账单:InvoiceService.CreateAsync生成的是独立账单,不会继承订阅的折扣规则和自动计算按比例差额,导致金额错误且账单格式异常。

注意事项

  • 订阅绑定的折扣(如优惠券、促销代码)会自动应用到按比例差额上,Stripe会基于订阅当前的折扣规则计算最终费用。
  • 若需客户确认付款,default_incomplete是最优选择;若要自动扣款(需客户有已保存的支付方式),可将payment_behavior设为pending_if_incomplete。

内容的提问来源于stack exchange,提问作者pepe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.02 07:19:38