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

如何在Stripe中合并多订阅为单订阅并实现无比例计费?

Stripe合并订阅实现预期计费的最优方案

要实现你描述的计费流程(当月15号收新项目全额10美元,后续每月15号统一收30美元),可以通过一次性发票项+订阅更新调整计费锚点的组合方案解决,完美避开你遇到的两种问题:

具体操作步骤

1. 收取新项目当月全额费用

通过创建**一次性发票项(One-time Invoice Item)**直接收取10美元,绕过订阅添加项目时的按比例计费逻辑:

import stripe

# 初始化Stripe客户端(替换为你的密钥)
stripe.api_key = "sk_test_your_secret_key"

# 创建一次性发票项
invoice_item = stripe.InvoiceItem.create(
    customer="cus_XXXXXX",  # 目标客户ID
    price="price_10DollarItem",  # 对应10美元项目的价格ID
    quantity=1
)

# 立即生成发票并自动扣费
invoice = stripe.Invoice.create(
    customer="cus_XXXXXX",
    collection_method="charge_automatically",
    auto_advance=True  # 自动完成发票并发起支付
)

这一步会直接在当月向客户收取10美元的新项目费用,没有按比例折算。

2. 更新现有订阅,合并项目并调整计费周期

更新原有20美元的订阅,添加10美元的项目,同时关闭按比例计费、调整计费锚点到当月15号:

import time
from datetime import datetime

# 计算当月15号的UTC时间戳(示例:2024年5月15日)
target_date = datetime(2024, 5, 15, 0, 0, 0)
billing_cycle_anchor = int(time.mktime(target_date.timetuple()))

# 更新订阅
updated_sub = stripe.Subscription.update(
    "sub_XXXXXX",  # 原有20美元订阅的ID
    items=[
        # 保留原有订阅项
        {
            "id": "si_XXXXXX",  # 原有订阅项ID
            "price": "price_20DollarPlan"
        },
        # 添加新项目
        {
            "price": "price_10DollarItem"
        }
    ],
    proration_behavior="none",  # 禁止生成按比例费用
    billing_cycle_anchor=billing_cycle_anchor,  # 设置后续计费锚点为当月15号
    payment_behavior="default_incomplete"  # 避免意外触发额外扣费
)

这一步完成后:

  • 原有订阅和新项目合并为单份订阅
  • 后续每月15号会自动扣除30美元(20+10)
  • 不会重复收取1号已经支付的20美元费用

方案优势对比

  • 避开按比例计费:通过一次性发票项全额收取当月新项目费用,不用只收5美元
  • 避免重复扣费:调整计费锚点仅改变后续周期,不会回溯重复收取已支付的原有订阅费用
  • 实现统一计费:合并后单份订阅每月15号扣费,符合你“每月仅支付一次”的需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 21:12:52