Stripe API更新订阅计划报错:released状态无法更新问题咨询
Stripe订阅计划变更相关问题与解答
问题背景
我正尝试通过Stripe API变更订阅,具体方式是创建包含当前月度计费计划与未来年度计费计划的订阅计划。该操作有时成功有时失败,失败时会触发如下错误:
invalid_request_error
无法更新处于released状态的订阅计划,仅not_started或active状态的计划可被更新。
我不清楚Stripe何时会将订阅计划设置为released状态,文档中也无相关说明,现咨询以下内容:
- 若订阅计划处于released状态,如何完成订阅变更?
- 订阅计划何时会被设置为released状态,原因是什么?
- released状态是否与计费准备阶段无法执行变更有关?
示例代码(月度订阅于2023年12月1日结束,年度订阅应于同日启动,希望变更仅在订阅周期结束时生效):
{ "end_behavior": "release", "phases": { "0": { "end_date": "1701418325", "start_date": "1698826325", "items": { "0": { "price": "price_XXXXXXXX1" } } }, "1": { "start_date": "1701418325", "items": { "0": { "price": "price_XXXXXXXX2" } } } } }
解答
1. 处于released状态的订阅计划如何完成变更
- 无法直接更新released状态的订阅计划,可创建全新的订阅计划替代原有计划,确保新计划的阶段状态为
active或not_started。 - 也可以为当前订阅添加新的phase(阶段),将目标计费配置关联到新阶段中,新阶段需处于可编辑的状态。
- 若原有计划已无保留必要,可先终止该released状态的订阅计划,再重新创建包含所需计费周期的订阅。
2. 订阅计划进入released状态的时机与原因
- 当订阅阶段的
end_behavior设置为release时,该阶段执行到结束日期后,会自动进入released状态。比如你示例中第一个月度阶段的end_behavior: "release",到期后这个阶段就会被标记为released。 - 当订阅的所有阶段都已执行完毕,整个订阅计划会进入released状态。
- 手动触发订阅阶段的释放操作时,对应的阶段或整个计划也会变为released状态。
3. released状态与计费准备阶段的关联
released状态和计费准备阶段无关。该状态仅表示订阅阶段已完成并被释放,不再处于活跃或待启动状态,因此无法对其进行更新操作,和计费准备的流程没有直接联系。
内容的提问来源于stack exchange,提问作者mak
相关产品推荐
相关产品推荐

