I’ve managed to set up Stripe recurring payment following @gregoryjohn 's tutorial : https://www.youtube.com/watch?v=TbAX5-LV57E&list=PLoNVJrdvQQYlHQF8v0t32UCUCQ5NKr4b4
But I’m struggling with figuring out how to let the user upgrade and downgrade after current subscription period ends…Through the customer portal user can upgrade/downgrade/cancel, but their plans got changed immediately instead of a scheduled subscription change at the end of current subscription period.
Does anyone know how to set it up so that the changes occur at the end of the current subscription period?
Hi, you can configure this in the Stripe Dashboard:
Go to Settings > Billing > Customer Portal in your Stripe Dashboard.
Under the Cancellations section, you’ll find options to make cancellation wait until the end of the billing cycle. Also, under the Subscriptions section, you’ll find options to make downgrade wait until the end of the billing cycle
However, for upgrades, Stripe generally processes them immediately with a prorated charge.
You will have to either
Stick with the immediate upgrade and prorated charge.
Send an invoice at the end of the billing cycle (which will still include the prorated amount and will apply the upgrade immediately).
Entirely change your implementation to use the API, which offers more flexibility