How it works
When a user with an active subscription views your pricing page, recurring prices on other tiers show a Switch button instead of Subscribe.1
User clicks Switch
The user is taken to a confirmation page showing their current plan label + price and the target plan label + price side by side.
2
Proration is calculated
- Upgrading (moving to a higher tier or a more expensive price in the same tier): the user is charged a prorated amount for the remainder of the billing period. - Downgrading (moving to a lower tier or a less expensive price): the user receives a credit toward their next invoice.
3
User confirms
The subscription is updated on Stripe immediately. The user is redirected back to the pricing page with their new tier price active.
Rules
What you need to do
Nothing — plan switching works automatically. As long as you have multiple tiers with recurring prices configured, the pricing page handles the UX. The library’sgetUser() reflects the updated plan after a switch.
If you set a custom price display name, crxbase uses it on the pricing and switch screens. Stripe checkout and billing still use the parent tier name.

