2 ms·
> Just off the cuff thinking would suggest applying whatever money has already been paid for the existing account, prorating it for what has been already used,
by TazeTSchnitzel 8y ago
> Just off the cuff thinking would suggest applying whatever money has already been paid for the existing account, prorating it for what has been already used, and then subtract that from the fee to be collected for the upgrade. Then flip the switch in the database. Sure, it might be out-of-bounds for normal workflow.
My previous employer did something like this. If you currently had the $8/month plan for 12 months and chose to switch to the $20/month plan, you'd get it instantly but with (8/20) * your remaining time, e.g. 4.8 months if you had 12 months left. (This also worked the other way round for plan downgrades.) Then when it came time to renew you'd pay a new 12-month subscription fee for a full 12 months.
It's a very elegant and convenient system. Choose the wrong plan by mistake at time of payment? Want to try the premium plan? You can switch instantly without entering any payment details, and without the provider having an extra payment card fee to stomach.