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

如何在Stripe中为指定订阅配置优惠券及处理订阅升级场景

How to Implement Your Stripe Coupon Rules & Handle Subscription Upgrades

Let’s break this down into clear, actionable steps for both coupon configurations, plus guidance on handling mid-coupon subscription upgrades.

1. Coupon for 3-Month Subscription (100% Off First Payment)

This is straightforward—we need a coupon that applies only to the first invoice of the 3-month plan.

Dashboard Steps

  • Navigate to your Stripe Dashboard → Coupons → Create coupon
  • Set Discount type to "Percentage" and enter 100
  • Under Duration, select "Once" (this ensures it only applies to the first invoice generated)
  • In the Restrictions section, check "Limit to specific products" and select your 3-month subscription product (prevents misuse on other plans)
  • Save the coupon with a descriptive name like "3-Month Plan: First Payment Free"

API Example (Node.js)

If you prefer automating via code:

const stripe = require('stripe')('your_secret_api_key');

const coupon = await stripe.coupons.create({
  percent_off: 100,
  duration: 'once',
  applies_to: {
    products: ['prod_your3MonthPlanID'] // Replace with your actual product ID
  },
  name: '3-Month Plan: First Payment Free'
});

2. Coupon for 1-Month Subscription (100% Off for 3 Consecutive Payments)

Here we need a repeating coupon that covers the first 3 invoices of the 1-month plan.

Dashboard Steps

  • Go to Coupons → Create coupon
  • Discount type: "Percentage" → 100
  • Duration: "Repeating" → set Duration in months to 3 (applies to the first 3 monthly invoices)
  • Restrictions: Limit to your 1-month subscription product
  • Save as "1-Month Plan: First 3 Months Free"

API Example (Node.js)

const coupon = await stripe.coupons.create({
  percent_off: 100,
  duration: 'repeating',
  duration_in_months: 3,
  applies_to: {
    products: ['prod_your1MonthPlanID'] // Replace with your actual product ID
  },
  name: '1-Month Plan: First 3 Months Free'
});

Handling Subscription Upgrades During Coupon Validity

When a user upgrades mid-coupon period, Stripe’s behavior depends on your coupon restrictions and upgrade settings. Here’s what you need to know:

Key Scenarios & Solutions

  1. Coupon is restricted to the original plan:

    • If the user upgrades from the 1-month to 3-month plan, the original repeating coupon (tied to the 1-month plan) will no longer apply to the new subscription. To honor the remaining free months:
      • Track how many free months the user has left (store this in your database or retrieve it via Stripe’s API by checking the subscription’s discount object).
      • Create a custom coupon for the remaining period (e.g., 1 free month on the 3-month plan) and apply it to the upgraded subscription.
  2. Coupon is not restricted to a product:

    • If you skipped the product restriction, the coupon will continue applying to the upgraded plan’s invoices until its duration expires. Note: This can lead to unintended discounts if users switch plans multiple times, so use this cautiously.
  3. Proration handling:

    • By default, Stripe calculates proration for upgrades. If the coupon is active, it will apply to the proration invoice unless you explicitly disable this.
    • To skip proration (and avoid charging the user mid-cycle), use the proration_behavior: 'none' parameter when updating the subscription via API:
      const subscription = await stripe.subscriptions.update(
        'sub_yourSubscriptionID',
        {
          items: [{ price: 'price_your3MonthPlanID' }],
          proration_behavior: 'none',
          coupon: 'coupon_remainingFreeMonths' // Apply your custom remaining coupon here
        }
      );
      

Best Practice

For clean, predictable behavior, always tie coupons to specific products, and manually calculate/apply a new coupon for remaining free periods when a user upgrades. This ensures you honor your original offer without over-discounting.


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:14:22