Stripe supports changing existing subscriptions without having to cancel and recreate them. The most significant types of changes you might make include:
- Changing the billing cycle
- Upgrading or downgrading the subscription price
- Canceling or pausing an active subscription
Some changes automatically create a new invoice. Use the pending updates feature with these changes so that the updates are only applied if the new invoice is successfully paid.
You can also alter subscriptions by updating the parameters normally used when creating the subscription:
- Applying discounts
- Using trial periods (which is how you change the billing cycle)
- Setting quantities
- Adding taxes
The most complex aspect of changing existing subscriptions is proration, where the customer is charged 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 price with a different base cost per recurring interval
- Changing to a price with a different recurring interval
- Adding a trial period to an active subscription
- Changing the quantity
Proration is Stripe’s way of ensuring customers are billed accurately, but a proration can result in different payment amounts than you expect, which may be confusing. Also keep in mind that prorations are never automatically refunded to a customer nor immediately billed, although you can do both manually. When applying changes to existing subscriptions, discounts don’t affect the resulting proration line items.
Prorations only apply to charges that occur ahead of the billing cycle. Metered billing is not subject to proration.
To see what it looks like when it’s enabled, you can preview a proration before applying it.