Stripe supports changing existing subscriptions on the fly, without having to cancel and recreate them. The most impactful changes you might make include:
- Changing the billing cycle
- Upgrading or downgrading the subscription plan
- Canceling or pausing an active subscription
However, you can also alter subscriptions by updating the parameters normally used when the subscription is created:
- Applying discounts
- Using trial periods (which is how you change the billing cycle)
- Setting quantities
- Adding taxes
The trickiest aspect of changing existing subscriptions is proration. A proration is where the customer is charged—or refunded—a percentage of a subscription’s cost to reflect partial use. By default, any of the following actions result in a proration:
- Changing to a plan with a different base cost per billing interval
- Changing to a plan with a different billing interval
- Adding a trial period to an active subscription
- Changing the quantity
Proration is Stripe’s way to ensure customers are billed an accurate amount, but a proration results in different payment amounts being made than you may expect, which can be confusing. Further, prorations are never automatically refunded to a customer or immediately billed, although both are steps you can take manually. When applying changes to existing subscriptions, discounts do not affect the resulting proration line items.
Prorations are only applicable to charges that are made ahead of the billing cycle. Metered billing is not subject to proration.
For the smoothest user experience, Stripe supports the ability to preview a proration before enacting it.
Now that you understand how subscriptions can be changed and how proration comes into play, you may want to check out: