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

如何通过Stripe Checkout实现追加服务订阅并享捆绑折扣?

Stripe Checkout实现延后追加服务并享捆绑折扣的方案

核心思路是基于用户现有订阅直接调整,通过优惠券实现捆绑折扣,全程维持同一订阅主体,无需重新创建订阅。具体实现步骤如下:

  • 配置产品与折扣规则
    为追加服务创建独立的价格(Price),同时创建专属促销优惠券(Coupon):

    • 优惠券设置对应捆绑折扣(固定金额/百分比均可),通过applies_to参数限制仅适用于追加服务的价格ID;额外通过API逻辑校验用户当前订阅包含原服务,确保只有老用户能享受折扣。
    • 若希望追加服务和原服务统一管理,也可将追加服务设为原产品的一个升级价格选项,但分开产品的方式更灵活。
  • 生成追加购买的Checkout会话
    当用户触发追加购买时,调用Stripe Checkout Session创建接口,核心参数配置如下:

    • 指定mode: 'subscription',关联用户现有customerID和subscriptionID,Stripe会自动将新服务项追加到现有订阅中,实现同一订阅金额提升。
    • 通过line_items添加追加服务的价格ID,discounts参数传入绑定好的优惠券ID。
    • 若需要延后生效,设置subscription_data.billing_cycle_anchor为期望的生效时间戳,同时配置proration_behavior控制 prorate 逻辑(比如'none'不产生 prorate 账单,或'create_prorations'生成调整账单)。

    示例代码(Node.js):

    const session = await stripe.checkout.sessions.create({
      mode: 'subscription',
      customer: '现有客户ID',
      subscription: '现有订阅ID',
      line_items: [
        {
          price: '追加服务价格ID',
          quantity: 1,
        },
      ],
      discounts: [{ coupon: '捆绑折扣优惠券ID' }],
      subscription_data: {
        billing_cycle_anchor: 1717209600, // 示例:指定2024-06-01生效时间戳
        proration_behavior: 'create_prorations'
      },
      success_url: 'https://your-domain.com/success',
      cancel_url: 'https://your-domain.com/cancel',
    });
    
  • 订阅变更后的同步逻辑
    监听Stripe的subscription.updated Webhook事件,在事件触发后同步更新用户在你的系统内的服务权限,确保用户能正常使用追加的服务。

  • 资格校验(可选)
    在生成Checkout会话前,调用stripe.subscriptions.retrieve接口获取用户现有订阅信息,确认其已购买原服务,避免不符合条件的用户使用折扣优惠券。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 04:57:40