Feature proposal #7181
openImplement option for prorating based off amount paid instead of plan price
Description
If a user is subscribed to a recurring plan and they upgrade to another plan the prorated remaining value is based off the plan price and not what the user actually paid. So for example if they paid $35 instead of $99 (plan price) the prorating is based off $99 and should be based off $35. Example as follows.
Per day Value: $99 / 30 = $3.3
Used Value: $3.3 x 1 = $3.3
Credit: $99 - $3.3 = $95.7
Prorated Upgrade: $999 - $95.7 = $903.3
Discounted Upgrade: $903.3 - $579 = $324.3
With the above the user was charged $324.3 when upgrading from a $99/mo plan to a $999/yr plan. The user was subscribed to the $99/mo plan for 1 day. The user also applied a $579 discount (with a coupon). HOWEVER they did not pay $99 for the per-month plan. They paid $35/mo due to a promotion being applied (non-coupon based). This likely also affects single payments as well. To test use the below steps.
1. Purchase Plan
2. Change Plan Price
3. Upgrade to Different Plan
The remaining value should calculate based off what they originally paid, but appears it will be based off the new price of the plan instead.