调至内容部分
创建账户或登录
Stripe 文档徽标
/
询问人工智能
创建账户登录
开始
付款
销售收入
平台和交易市场
资金管理
开发人员资源
API 和 SDK帮助
概览
Billing
概览关于 Billing API
订阅
    概览
    订阅的运作机制
    开始
    快速开始
    规划集成
    构建集成
    与 Salesforce 集成
    用例
    关于订阅
    启用开单模式
    配置订阅事件
    资格
    订阅账单
    订阅计划
    经常性定价模型
    设置订阅
    配置收取方法
    嵌入价格表
    设置计费周期
    管理订阅
    将订阅迁移到 Stripe
    设置产品或订阅数量
    混合间隔订阅
    回溯订阅
    设置试用期
    处理延期付款的订阅
    使用优惠券
    修改订阅
    管理订阅支付方式
    分析
    管理 iOS 上的订阅
开账单
基于用量的计费
高级用量计费
报价
客户管理
用其他产品计费
收入恢复
自动化
测试您的集成
税务
概览
使用 Stripe Tax
管理合规
报告
概览
选择报告
配置报告
多账户报告
Reports API
收入确认
数据
概览
查询商家数据
Sigma
Data Pipeline
导入外部数据
美国
简体中文
首页销售收入Subscriptions

Mixed interval subscriptions

Manage subscriptions for items with different intervals.

You can include multiple subscription items with different prices and billing periods on a single subscription and Stripe automatically handles invoice generation.

For example, if you offer a service with an annual flat rate, plus a monthly usage-based fee, you can include both prices as items on the same subscription. Stripe generates a single, combined invoice when item-level billing periods align and separate invoices when billing periods diverge.

注意

Mixed interval subscriptions must use flexible billing mode. You must upgrade your API version to 2025-06-30.basil or later to use flexible billing mode in the Dashboard and API.

Create a mixed interval subscription

  1. Go to the Subscriptions page in the Dashboard.
  2. Select +Create Subscription.
  3. Add products that bill on different intervals, such as monthy and yearly billing periods. Learn how to manage products and prices.
  4. Configure your Subscription settings.
  5. Scroll down to the Advanced settings section, set Billing mode to Flexible.
  6. Create the subscription.

Add mixed interval items to an existing subscription

  1. Go to the Subscriptions page in the Dashboard.
  2. Find the subscripton and click +Update Subscription.
  3. Scroll down to the Advanced settings section, set Billing mode to Flexible.
  4. Click +Update Subscription.
  5. Find the subscripton and click +Update Subscription again.
  6. Add items with different intervals.
  7. Create the subscription.

Cancel a subscription

Canceling a mixed interval subscription or schedule cancels all the subscription items, regardless of their interval.

Subscriptions have a single behavior for dunning. If all retries for a payment fail, even if the failing payment is for an invoice related to only one of the items on the subscription, Stripe cancels the entire subscription and marks it as unpaid or past due, depending on your configured dunning settings.

Learn more about canceling or deleting subscriptions.

Billing periods for mixed interval subscriptions

Each subscription item has its own current_period_start and current_period_end. Subscription items track their respective billing periods directly instead of as a top-level shared billing period on the subscription resource.

For example, a subscription created on January 1 with a monthly, bimonthly, and quarterly item has the following periods:

current_period_startcurrent_period_end
Monthly itemJanuary 1February 1
Bi-monthly itemJanuary 1March 1
Quarterly itemJanuary 1April 1
SubscriptionJanuary 1February 1

After renewal on February 1 (subscription.current_period_end), the subscription’s current period adjusts to match the latest current_period_start and earliest current_period_end of all the items:

current_period_startcurrent_period_end
Monthly itemFebruary 1March 1
Bi-monthly itemJanuary 1March 1
Quarterly itemJanuary 1April 1
SubscriptionFebruary 1March 1

After cycling a third time:

current_period_startcurrent_period_end
Monthly itemMarch 1April 1
Bi-monthly itemMarch 1May 1
Quarterly itemJanuary 1April 1
SubscriptionMarch 1April 1

Free trial

The item-level billing period dates are affected by free trial end dates, similar to regular subscriptions. When the subscription has a future-dated trial_end, all the current_period_end dates (subscription and items) are set to the trial_end date.

Pause at trial end and resume

You can configure a mixed interval subscription to pause at trial end when the payment method is missing through the trial_settings.end_behavior.missing_payment_method parameter as with regular subscriptions. You can resume paused subscriptions using stripe.subscription.resume, as with regular subscriptions.

注意

When resuming a mixed interval subscription with billing_cycle_anchor: 'unchanged' and proration_behavior: 'none', the debit proration for the partial period between the date of resumption and the end of the current billing period for each of the items aren’t generated or billed. See an example below:

For a mixed interval subscription with a monthly and a bimonthly item with

  • billing_cycle_anchor = January 1
  • trial_end = February 1
  • trial_settings.end_behavior.missing_payment_method = “pause”

This example assumes this subscription is paused on February 1 because of a missing payment method, and the subscription resumes on February 15 with proration_behavior: 'none':

billing_cycle_anchor: ‘unchanged’billing_cycle_anchor: ‘now’
Monthly itemItem current period: February 1–March 1
  • Not billing for this period, so no new invoice is created
  • Monthly item is next billed on March 1 for the period March 1–April 1
Item current period: February 15–March 15
  • Generates a new invoice, and bills for a monthly item from February 15–March 15
Bimonthly itemItem current period: February 1–April 1
  • Not billing for this period, so no new invoice is created
  • Bimonthly item is next billed on April 1 for the period April 1–June 1
Item current period: February 15–April 15
  • Generates a new invoice and bills for a monthly item from February 15–April 15
Subscription
  • billing_cycle_anchor: February 1
  • Subscription transitions to active immediately
  • Generate a subscription pending update for billing_cycle_anchor: February 15 (applied when resumed invoice is paid)
  • Subscription remains paused until resumption invoice is paid

Interval alignment

In mixed interval subscriptions, every item’s price interval (the combination of price.recurring.interval and price.recurring.interval_count) must be a multiple of the shortest price interval in the subscription. Some price interval combinations aren’t supported for mixed interval subscriptions.

  • Examples of supported interval combinations:

    Equivalent intervals

    When validating that the intervals on your subscription align, Stripe considers the following intervals as equivalent:

    • 1 week and 7 days
    • 12 months and 1 year
    • 1 month, 3 months
    • 1 month, 1 year
    • 1 day, 1 week
    • 1 day, 3 months
    • 1 day, 2 years
    • 2 weeks, 4 weeks
    • 2 months, 4 months, 6 months
  • Examples of unsupported interval combinations:

    Non equivalent intervals

    There are no equivalences between the following price interval types:

    • Week and month
    • Week and year
    • Day and month
    • Day and year
    • 2 months, 3 months
    • 4 months, 6 months
    • 1 week, 1 month
    • 2 days, 1 week
    • 5 months, 1 year

Limitations

Mixed interval subscriptions are subject to the following limitations:

  • The deprecated cancel_at_period_end can’t detect which subscription item’s current_period_end to use as the cancellation date, so defaults to min_period_end. Alternatively:
    • Use the cancel_at parameter to cancel a subscription on a future date.
    • Use the min_period_end or max_period_end helpers to determine which item’s end period triggers the subscription cancelation.
  • Mixed interval subscriptions can’t calculate total iterations accurately. Use duration to specify the subscription schedule instead.
  • You can’t apply a retention coupon on mixed interval subscriptions through the customer portal.
  • You currently can’t create mixed interval subscriptions on Checkout Sessions.
此页面的内容有帮助吗?
是否
  • 需要帮助?联系支持。
  • 查看我们的更改日志。
  • 有问题?联系销售。
  • LLM? Read llms.txt.
  • Powered by Markdoc