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

如何在不向客户收费的情况下更新Stripe订阅的结束日期

修改Stripe订阅结束日期且不产生费用的方法

要实现仅调整订阅结束日期而不向客户收费,核心是阻止Stripe计算按比例(prorated)费用,具体操作分两种场景:

场景1:修改订阅的取消结束日期

如果是调整已设置取消计划的订阅终止时间(比如原本计划在X日结束订阅,现在改到Y日),调用订阅更新接口时需指定新的cancel_at时间戳,并设置proration_behavior: 'none'禁用费用计算。

示例代码(Node.js SDK):

const stripe = require('stripe')('你的密钥');

const updatedSubscription = await stripe.subscriptions.update(
  'sub_你的订阅ID',
  {
    cancel_at: 1719859200, // 新的结束时间(Unix秒级时间戳)
    proration_behavior: 'none'
  }
);

场景2:延长当前计费周期的结束日期

如果要延长活跃订阅的当前计费周期结束时间(不触发新计费),同样使用proration_behavior: 'none',结合billing_cycle_anchor参数设置新的周期结束时间戳。

示例代码(Node.js SDK):

const stripe = require('stripe')('你的密钥');

const updatedSubscription = await stripe.subscriptions.update(
  'sub_你的订阅ID',
  {
    billing_cycle_anchor: 1719859200, // 新的计费周期结束时间(Unix秒级时间戳)
    proration_behavior: 'none'
  }
);

控制台操作方式

如果通过Stripe Dashboard操作:

  • 进入目标订阅详情页,点击「Edit subscription」
  • 在「Proration」选项中选择「Do not prorate」
  • 设置新的结束日期(或计费周期锚点),确认保存即可

注意事项

  • proration_behavior: 'none'是核心参数,必须添加,否则Stripe会自动计算并生成按比例账单
  • 时间戳需使用Unix秒级格式,不要用毫秒级,否则会导致时间设置错误
  • 若订阅已处于待取消状态,修改cancel_at时同样需要带上该参数,避免意外触发费用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 08:33:16