Open kimcoleman opened 3 months ago
I had this same issue from 2020 to Aug 2024, then fixed it definitely. During that timespan, I had a warning at the top of the checkout page (hiding the checkout fields until the user accepted the risk).
Then, I've created the Prorated Upgrade Add-On, which ensure smooth transitions between membership levels and preserve the value of already paid days for each user.
Proportional membership upgrade for customized membership solutions The Paid Memberships Pro Prorated Upgrade Add-On allows users to switch from one membership level to another without losing the value of already paid days. For example, if a member switches from a monthly plan to an annual one, the plugin calculates the remaining days of the current plan and automatically adjusts the first payment date for the new plan. This ensures a smooth and personalized transition for membership platforms.
Seamless transition between membership levels on your platform Whether upgrading or reactivating a canceled membership, the Paid Memberships Pro Prorated Upgrade Add-On ensures that users don’t lose the benefits they've already paid for. It’s an ideal solution for businesses looking to improve member satisfaction and simplify the upgrade process.
We can work on that code to make it a companion Add On or a snippet, yeah.
Is your feature request related to a problem? Please describe. From time to time, we see in our own site that a member somehow ends up at checkout to purchase the same level they currently hold.
In the case that they have the level and an active recurring subscription, this can be problematic. For one, it will charge them (without a proration Add On active) their full price again for membership the day of checkout and set up a new subscription.
This can be a way people do things like change from Credit Card to PayPal or another payment method. Or even swap PayPal accounts they are using to fund the membership.
But, it isn't always done intentionally. Let's consider whether core should show some warnings for this.
We don't get this issue too often, but when it happens it causes issues / unnecessary refunds / confusion.
Describe the solution you'd like
Let's keep discussing this and ideas around it. Whether its just a recipe or something we support in core.