I’m using Web Billing and want to make sure upgrades work for my customers, without having the possibility they could be paying for two subscriptions at the same time.
I have one entitlement (premium) and two products (annual and monthly). I want to allow customers to switch, and have that switch happen at the end of the current period (i.e. end of the month for monthly, or year for annual). Is there a way to do that with web billing?
If it must be done by canceling and re-subscribing, and they canceled with time left on the period, are they able to immediately re-subscribe? For instance, a monthly customer is set to renew on March 15, 2025. They want to switch to Annual. Can they cancel and immediately subscribe to annual, but not get charged until March 15, 2025? Or get charged immediately, but have their entitlement extended to March 15, 2026 anyway?
Or, is there a way that I can let a Monthly customer subscribe to Annual and then automatically use the API to trigger a cancellation of their Monthly membership, and a reset of their current_period_ends_at field?