PayPal Recurring Agreement Limitations
If a monthly subscriber decides to upgrade their membership tier SubscriptionBoss cannot just tweak the monthly agreement to reflect the new amount. This is because SubscriptionBoss is limited by PayPal’s rules for PayPal Express Checkout API so you cannot significantly change an existing agreement. (unless the increase in the amount is less than 20% in a six month period). PayPal Express Checkout does not offer a one-click ability to change recurring amount to full flexibility.
Handing An Upsell
Right now SubscriptionBoss would handle the new sale and then the old agreement would need to be cancelled manually or suspended on PayPal. SubscriptionBoss could fire an action set that sends an email to the administrator giving them the instruction to login to PayPal and cancel or suspend the original agreement.
I did not implement anything in SB to cancel agreements automatically. I believe cancellation is someone that requires proper oversight – we do not want a rogue employee being able to cancel every single subscription via WordPress admin before leaving the building. Not Good!
Possible New Feature To Suspend/Reactivate Payment Profiles
That said, I could put something in the plugin to suspend the old agreement as this makes more sense to me as it is reversible. This would make it easy to revert to the original payment profile if the member tries the upsold tier for a month and then decides she does not want to stick with it and to downgrade to the original membership tier.
The PayPal API supports Suspend and Reactivate functions so it would be feasible to link the upsell and main product in SB subscription settings so SB could suspend the old profile agreement AFTER the new profile had been created. Similarly, if the user downgrades then SB could suspend the upsell agreement and reactivate the original agreement.
Right now I do not know how long you can leave PayPal profiles as suspended and still be able to reactivate them – there might be a limit on this before they become stale. Something for me to research further before implementing.
Leave a Reply