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

如何在Stripe创建纯按用量计费的0美元固定费率订阅?

如何在Stripe实现按实际用量计费的订阅(无使用则当月账单为0)

完全可以实现这种按实际用量计费的订阅模式,你的问题出在创建订阅时的参数设置上,以下是具体方案:

  • 创建正确的计量型产品
    先在Stripe后台或通过API创建一个计量型(Metered)产品,对应的价格设置为「按用量计费」,并指定单个产品的单价(比如你提到的priceOfProduct)。这个产品不需要预设固定使用量,所有用量都通过后续API上报。

  • 创建订阅时不要指定固定数量
    你之前创建Subscription时设置quantity=0报错,是因为计量型订阅的用量不是通过quantity字段控制的。正确做法是创建订阅时,仅关联计量型价格,不传入quantity参数。这样订阅创建后初始用量为0,当月无使用时账单金额自动为0。

  • 上报用户实际用量
    当用户使用了产品(比如3个),调用Stripe的SubscriptionItem.create_usage_record API上报用量:

    • 传入订阅项ID(从创建好的Subscription的items列表中获取)
    • 指定用量数量(比如3)
    • 可选设置用量发生的时间戳,默认使用当前时间
      支持分批上报,比如用户分多次使用,每次上报对应数量,Stripe会自动累加当月总用量。
  • 账单自动结算
    订阅周期结束时,Stripe会根据你上报的总用量计算费用。如果当月没有上报任何用量,账单金额为0,不会发起扣款。

  • 关于结账会话的配置
    如果你用结账会话(Checkout Session)创建订阅,在构建会话的line_items时,同样只指定计量型价格ID,不要设置quantity字段。用户完成结账后,订阅会自动创建,后续你只需按实际使用情况上报用量即可。

示例代码(Python)

创建计量型订阅:

import stripe

stripe.api_key = "你的API密钥"

subscription = stripe.Subscription.create(
  customer="cus_你的客户ID",
  items=[{"price": "price_你的计量型价格ID"}],
  payment_behavior="default_incomplete",
  expand=["latest_invoice.payment_intent"]
)

上报用量:

usage_record = stripe.SubscriptionItem.create_usage_record(
  "si_你的订阅项ID",
  quantity=3,
  action="increment" # 累加用量,若要设置累计量则用"set"
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 14:22:56