XF 2.2 Migrating recurring user upgrades from PayPal to Stripe?

Mouth

Well-known member
I'm wanting to migrate [time period] recurring user upgrades from PayPal to Stripe, but it appears to be an entirely manual and likely problematic process.

If I create a new (effectively duplicate) user upgrade for Stripe, then I can make this the purchasable one for new upgrades. No problem here.

But what of existing recurring upgrades with PayPal?
If I make the current/old PayPal recurring upgrade non-purchasable, then it appears (from other topics) that PayPal will still charge the user for renewal on expiry, but xF won't extend their upgrade period. Obviously this is not a feasible outcome, and will cause lots of user hostility and admin work.

If I go into PayPal and cancel/remove all existing subscriptions (for recurring upgrades), and inform users to purchase again when their current upgrade expires, then I could lose some paying user upgrades in the process, since it's likely not everyone will understand why/what to do and will not re-purchase.

If I leave the PayPal recurring upgrade active, to alleviate both issues above, then I'm not achieving migrating from PayPal to Stripe. And new upgrades are still able to choose PayPal.

What would be the recommended process for migrating from PayPal to Stripe for recurring upgrades? Perhaps I've missed a function here that can assist?
 

Brogan

XenForo moderator
Staff member
Ultimately, the members are the only ones who can cancel the recurring subscription in PP and set up a new one in Stripe.

There's nothing you can do to facilitate that - it requires explicit opt out and opt in on their part.
 

Mouth

Well-known member
Ultimately, the members are the only ones who can cancel the recurring subscription in PP
I can visit https://www.paypal.com/cgi-bin/webscr?cmd=_merchant-hub and see all recurring user upgrades, and cancel them all.
But, as you're likely alluding to with 'ultimately', that would cause PayPal to send user upgrade cancellations to xF and all those users would instantly have their upgrade cancelled/removed?
 

Brogan

XenForo moderator
Staff member
It's been a long time since I've used PP but if there's an option for the seller to cancel subscriptions then I would expect that to send the correct callbacks to XF and the subscriber accounts to cancel them.
It shouldn't affect the existing subscription expiry date.

Members will still have to manually resubscribe via XF and Stripe though.
 

Mouth

Well-known member
It shouldn't affect the existing subscription expiry date.
If that's the case, then I could at least facilitate the migration to Stripe by cancelling all subscriptions for recurring upgrades within PayPal and informing users to re-upgrade when their upgrade expires.

With all the subscriptions cancelled from within PayPal, then I need not worry about disabling/removing the user upgrade configured with PayPal (or changing the Payment profile on the existing one from Paypal to Stripe)

Now, if only Notices had a User Criteria for Upgrades expiring within xx days, so that I could remind them close to their upgrade expiry date :sneaky:
 

Seeker-Smith

Well-known member
If that's the case, then I could at least facilitate the migration to Stripe by cancelling all subscriptions for recurring upgrades within PayPal and informing users to re-upgrade when their upgrade expires.

With all the subscriptions cancelled from within PayPal, then I need not worry about disabling/removing the user upgrade configured with PayPal (or changing the Payment profile on the existing one from Paypal to Stripe)

Now, if only Notices had a User Criteria for Upgrades expiring within xx days, so that I could remind them close to their upgrade expiry date :sneaky:
From experience. You'll loose many subs. When I moved to XF this summer I kept a vb4 instance running with a htaccess redirect in my XF root to forward those accounts. The problem is I daily need to update and remove my old users.
 

1966Mustang

Member
Just a note on Stripe setup that I experienced: I was using an older browser and the Stripe API Endpoint config did not save but looked like it did. I had set the endpoint, and when I saw the dropdown for events to send, there was nothing in the list (browser compatibility error?), so I selected the href link in the Stripe rich text box to send all events to the XF webhook endpoint and saved...
Customer upgrade went through, processed correctly, etc. Was waiting for something to happen in XF to upgrade the user, did not - waited a couple of days... Then re-checked the Stripe settings, and realized the endpoint config did not save.
Also, the whsec code changed from what I had originally documented. Other production and test pub and secret keys matched XF and Stripe values.
Moral of the story... Use a updated/supported browser, make sure your keys are correct. And double/triple check...
Also - I'm not clear on if you can resend webhook events retroactively to having the webhook config in place when the transaction is processed - because no stripe webhook events would have been generated becuse config did not save.
 
Top