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

如何在当前计费周期结束时变更Stripe订阅价格?

Stripe订阅降级:周期结束时生效的实现方案

Stripe完全支持计费周期结束时才生效的订阅变更,无需自行开发额外逻辑,通过API参数即可实现和「周期结束时取消订阅」一致的效果。

核心实现思路

在更新订阅时,通过两个关键参数控制变更时机和计费行为:

  • proration_behavior: 'none':禁止自动按比例计费,避免中途产生退款或额外收费
  • payment_behavior: 'default_incomplete':确保变更不会立即触发付款,而是留到下一个计费周期生效

额外可通过effective_date参数明确指定生效时间为当前订阅周期的结束时间(即subscription.current_period_end),进一步确保变更时机准确。

代码示例(Node.js)

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

// 获取当前订阅对象(可根据用户ID或订阅ID查询)
const currentSubscription = await stripe.subscriptions.retrieve('sub_xxxxxx');

// 更新订阅为basic计划,设置周期结束时生效
const updatedSubscription = await stripe.subscriptions.update(
  currentSubscription.id,
  {
    items: [{
      id: currentSubscription.items.data[0].id,
      price: 'price_basic_xxxxxx' // 替换为你的basic计划价格ID
    }],
    proration_behavior: 'none',
    payment_behavior: 'default_incomplete',
    effective_date: currentSubscription.current_period_end
  }
);

效果说明

设置完成后:

  • 用户当前的Pro订阅会正常使用到当前计费周期结束
  • 周期到期时,系统自动切换为Basic计划,并按每月1美元的价格扣费
  • 全程不会产生任何中途的按比例计费费用,完全符合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 12:45:41