Upgrade options for PayPal Single Payments

Hi Barry

Currently the upgrade options between subscriptions using the single payment PayPal gateway do not request a payment. The subscription is simply switched. Are there plans to update the gateway to handle the necessary payment collection when upgrading subscriptions?

Regards

Mick

  • Barry

    Currently the upgrade options between subscriptions using the single payment PayPal gateway do not request a payment. The subscription is simply switched.

    Yep - you'll find it's the same if you upgrade plans via PayPal with subscriptions as well - PayPal doesn't take any pro-rata payment for the period left, it just ensures that after upgrading you have to go through a payment cycle before you can upgrade/downgrade again. So the single payments gateway simply mirrors that behaviour.

    Are there plans to update the gateway to handle the necessary payment collection when upgrading subscriptions?

    At the moment there is a limit setting in the membership options so that you can limit the number of days between "upgrades" - if you set this to longer than a subscription period then you can ensure that you gain at least one payment (or two or more) at the upgraded rate before the member is allowed to downgrade or upgrade again.

    We're always upgrading our gateways - so more options will come.

  • bitingedge

    Hi Barry

    That's more or less what I had done but the 'Move to subscription' upgrade options (bypassing PayPal) are still shown.

    In my test set up there are three levels all set to serial renewal with a 1 week period. Free Member is free, Standard 10 and Pro 30. I've set the renewal period limit to 2 days and the upgrade period limit to 18 days. As you have suggested I thought this would prevent the 'Move to subscription' options but it doesn't. The screen shot shows that the options are still there.

    Regards

    Mick

  • bitingedge

    Hi Mason

    Thanks for picking this up again. The issue is still there with the 'move to subscription' viewable regardless of the renewal period limit and upgrade period limit settings. This would enable anyone on the free base level to switch to the higher accounts without payment of any kind - obviously not a good thing.

    I basically need a free member to be a free member indefinitely so that they don't have to renew their free membership. The free members do need to be able to upgrade to a 'paid' membership at any time (by making the appropriate payment ). An added benefit would be the ability for members to switch paid memberships in mid flow with an appropriate pro-rata payment (probably only doable with the PayPal single payment gateway). I know this isn't on the cards any time soon for the plugin but I feel that this would be a worthy addition to the development roadmap.

    It would appear fairly straight forward for me to craft a new renewal form and modify the paypalsolo gateway to accommodate my needs but as ever it would be better if this functionality was built into the core plugin if at all possible.

    Regards

    Mick

  • bitingedge

    Hi Mason

    Yes installed the new version (2.0.4) and the issue is still there.

    I had the chance to do a bit of digging and it looks like the issue is caused by the initial setting of the $upgradedat variable at line 100 of \membership\membershipincludes\includes\renew.form.php. When the '_membership_last_upgraded' value is not found in the user_meta (which appears to be the case with new subscriptions) it defaults to the current date -1 year. As the maximum value of 'upgrades period limit' is 365 days it would appear the 'move to subscription' options will always be shown.

    It may be better to initialise the variable to the subscription start date when no '_membership_last_upgraded' is available.

    Regards

    Mick

  • Barry

    The upgrade period doesn't work the way you are assuming it did, which I see you worked out in your latest post.

    As I said in my first reply

    At the moment there is a limit setting in the membership options so that you can limit the number of days between "upgrades" - if you set this to longer than a subscription period then you can ensure that you gain at least one payment (or two or more) at the upgraded rate before the member is allowed to downgrade or upgrade again.

    So, if your subscriptions are monthly, then set this to over 30 days to ensure a user has to pay at least once at the level they move to before they can up or downgrade again.

  • bitingedge

    Hi Barry

    If that behaviour is by design then I'm not sure I agree with the logic. This would basically allow anyone to signup on your free (or cheapest) subscription then immediately upgrade to your highest value subscription (without paying anything) and enjoy those enhanced privileges until the next payment period. This would mean you would effectively be paid in arrears for the subscription if it is renewed or worse you would receive no payment at all if cancelled before renewal.

    Regards

    Mick

  • Barry

    If that behaviour is by design then I'm not sure I agree with the logic. This would basically allow anyone to signup on your free (or cheapest) subscription then immediately upgrade to your highest value subscription (without paying anything) and enjoy those enhanced privileges until the next payment period.

    I do understand, but for this version i simply implemented exactly the same functionality as paypal uses for it's subscriptions.

    The main problem with this and standard paypal is that if you set the gateway to calculate and charge a pro-rated amount for upgrades, then your users will expect refunds pro-rated for downgrades which you can't do automatically with paypal express.

  • bitingedge

    Hi Barry

    Yes I'm aware of the problems which is why I was looking for a single payment gateway (also avoiding the PayPal 20% maximum uplift in subscripition value). The currently deployed method is understandable if your users are already on a 'non-free' subscription - it is really the ability to move from free to a higher subscription without making any payment that is the main problem. I would think that individual free subscriptions (ie not free trials with further levels to move through) need to be addressed separately.

    That said your coding is well structured and readable and I'm comfortable with modifying it to suit my needs but I am aware that other people here were looking to achieve something similar (although mainly with paypalexpress).

    Any how (as I may have come across as a moaning minnie!) I thought I'd also take this opportunity to thank everyone at wpmudev. You have some well structured plugins available that take away much of the pain when trying to achieve a goal through the WP platform. Well done.

    Regards

    Mick

  • Barry

    @bitingedge - anything you come up with or problems modifying, do let me know. These recent releases are the first ones we've had upgrades / downgrades in so we do want to get them right / useful.

    I'll have a good look through and see if I can come up with a free to paid / force pay update. I also want to get as many other gateways (and paypal pro) in there as well so we can actually do pro-rated downgrades , etc...