'Modify' forms using Stripe when user has PayPal recurring payments

Hi guys,

To elaborate on the title:

  1. User joined via free trial form, then upgraded to paid 6-monthly (recurring) via PayPal pro form.

  2. Coming up to their next 6-month renewal, user decided to upgrade to a 12-monthly (recurring) membership.

  3. User did so with a ‘modify’ form, but we have since changed site-wide from PayPal gateways to Stripe.

  4. The modify process worked - the user now has a Stripe payment profile - but their PayPal profile was left in-tact.

  5. User was billed by Stripe for the 12-month upgrade and then billed again by PayPal for the next lot of 6 months.

Am I right/wrong to expect s2Member to handle payment profiles in this situation?

It seems a bit much to place the onus on the site admin (or the user) to manage something like this on a per-customer basis. That would essentially make it worthless to run multiple payment options on your site (e.g. PayPal AND Stripe), or to ever change from one payment gateway to another, as we did.

Is this a bug or have I stuffed something up?

Payment processors don’t talk to each other, so the original subscription must be terminated explicitly, whether by you, the user, or by having it expire. That’s just how it is.

Not at all. It just means that you need to ensure that a cancellation form is used as well as a billing modification form, or else you wait for the original subscription to expire and have the user demoted to a subscriber, from where s/he can then complete the billing modification form.

Thanks Tim as always. Some clarifications -

While I definitely don’t expect PayPal and Stripe to handle this, it does make sense to me that s2Member (as the common medium) would/should.

E.g. IF a user account has an existing recurring payment profile AND submits any ‘modify=1’ form that overwrites their existing payment profile, the old profile is closed neatly before a new one is commenced…?

It’s getting very long-winded for the average user to expect them to take this on.

A subscription platform should (in my opinion) be able to facilitate upgrades/downgrades/payment changes without asking users to: cancel their payments, wait til their account expires, then make the necessary adjustments when re-joining.

Is there no way around this sort of drawn-out multi-step process to allow users to modify their subscriptions across payment platforms?

The real issue, Tom, is that payment processors have very clear rules on when they should be told to process something. One of the fundamental principles on which they operate is that they should never receive an instruction that’s merely implicit. It must be explicit.

Now you could, I suppose, make the argument that a user who is changing payment processors must want payments to the first payment processor to be stopped. But from when? That would involve a guess, and there’s the problem. It only takes a couple of complaints about the way s2Member handles that process for the payment processors to ban it.

The really safe way to avoid this problem (and several others I see others having) is to use Buy Now purchases instead of Subscriptions.

Thanks again Tim, sorry I missed this one when you posted.

You’re right that avoiding subscriptions would save a lot of hassle but it just isn’t viable here. We adopted s2Member on the strength of the subscription-based stuff. I think it will just be a matter of finding the least terrible way of achieving what’s needed until the site has grown to a point that we can think about bespoke solutions.

I understand what you’re saying about explicit commands. Hadn’t thought about it from that angle! It does make sense, I suppose I (as others before and to follow) just wish it was a little easier to make it all ‘work’.

EDIT - forgot to include any actual detail. For the record, I have implemented some stronger wording to make sure users understand that unless they CANCEL an existing payment schedule, it will be liable to continue even if they have set up another one.