Double payments issue with PayPal

Thanks for the additional info, Alan.

Interesting part is that they have different IDs, just one apart. And that the duplicate happened despite having the setting enabled.

The entries would be in one of the logs here: WP Admin > s2Member > Log Files

Same thing here, the option in PayPal to avoid multiple payments of the same invoice was already checked.

I’m just waiting for the problem to happen again and then I will check the logs. I didn’t know where to find them either. :slight_smile:

1 Like

@clavaque

The entries would be in one of the logs here: WP Admin > s2Member > Log Files

I took a look but I don’t have any log files there, and logging is turned off on my site. The s2member settings page for turning logs ON warns not to turn on logging on a production site:
Use only for debugging. This should NEVER be enabled on a live site.

Even if I were to activate this servers are added and deleted for me every day, so any log files stored with the codebase are spread out among multiple servers, and often lost whenever a server is terminated.

The warning is so that it’s not left on forever, forgotten. But you are troubleshooting, and you can delete the files after you’re done. It won’t affect the behavior of the site, it’ll just record some information that is useful to review when trying to find what’s going on.

You can keep it on for a while, and when a double payment happens on PayPal, go get the log files, hopefully before they get lost in the server changes you’re talking about.

Any additional info is helpful when troubleshooting. If you get them, that’d be great. If not possible, we’ll do the best we can with what we have.

:slight_smile:

You can keep it on for a while, and when a double payment happens on PayPal, go get the log files, hopefully before they get lost in the server changes you’re talking about.

Should I also do that for Stripe too, since we get a lot more Stripe duplicate payments? Or do you expect the new update with Stripe fixes to come out soon?

This would be independent from the Stripe issue, although both appear similar.

I shared the fix in the stripe thread some days ago, so you can implement it right away without wait for the release if you want. Stripe causing double payments

:slight_smile:

Three times today, a new member to my site was charged two additional times for their membership, and all three transactions (the original plus the additional two) happened within a minute of each other. I’ve had to refund six payments so far today.

The only similarity seems to be that all three people paid using a PayPal account instead of a credit card.

Interesting. Thanks for the additional info, Stephen.

Could you tell me more about what you’re selling? I wonder if it has something to do with it… Asking just in case it does.

Hi Cristian, I sell three types of memberships to my site. There’s a 30 day membership, a 6 month and a 1 year membership. Two of the people who were charged three times within a minute today signed up for a 1 year membership. The other was for 6 months.

My statement earlier that all three paid using their PayPal account was wrong. Two of them paid with a PayPal account. One paid with a credit card. So no similarities there.

I did notice however that all three were membership renewals, where the person was logged in to their account before making the transaction. The other transactions today that went through without problems were all new memberships. Could it have something to do with that?

I’ve had this multiple payments problem on and off for years. This was the first time I saw so many on the same day.

1 Like

Thanks for the additional info! I’m sure it’ll help me narrow it down to find the reason behind this… :slight_smile:

Thanks for looking into it for me. I appreciate it. I’m just hoping maybe you would know more than I do. :slight_smile:

Looking at the PayPal receipts from one of the membership renewals that was charged three times today, all three show a different transaction ID, and they all happened within 30 seconds of each other.

The fact that all three were membership renewals seems like it should be a clue, but a clue to what?

Since my last message, I’ve had two more new members sign up without issue. So it still seems like it has something to do with the renewal process.

1 Like

they all happened within 30 seconds of each other.

Deja vu! That sounds extremely like part of the similar Stripe issue. I’m inclined to guess that your server is retrying the transaction before hearing back from PayPal, ending up with multiple ones.

If that is the case, I think I know what will take care of it. I need to look at how PayPal allows it with its API, which is very different from Stripe’s.

Just a thought, but when someone pays for a membership using their PayPal account, they choose PayPal as the billing method and then they click the PayPal checkout button. At that point, are they not taken from my site to PayPal’s site for the actual transaction?

Would that not mean that the problem happens on PayPal’s site? Or am I not understanding how it works?

Hmm… In that case you’re right… It slipped my mind for a second. I was so happy to see a similiarity that seemed to explain this odd behavior… lol

Could you please contact PayPal about it and see what additional info they can provide regarding those transactions? I’m hoping they’ll tell you something useful to get us closer to understanding the issue.

I look forward to your update. :slight_smile:

Ok, will do.

1 Like

It’s usually PayPal servers reacting slow, not sending out the confirmation. Then customer thinks payment failed and pays again. PayPal sometimes, like 1/200 takes ,5–10 minutes to get the payment through.

Then 1 out if 3 just pays again, and maybe again…

1 Like

but actually - maybe even with payment buttons s2member could prevent this? Is there some mechanism that for a single IP maybe s2member sends the same identification for paypal - so paypal can notice it’s a double payment?

1 Like

It may be possible. I’m looking into it. I don’t know that the PayPal API that s2 used for the integration supports that, but I’ll see what can be done.

2 Likes

Is anyone else still having this problem? We just got a 6x payment (charged six times instead of just once):

The user was upset, naturally.

We asked the user if they noticed anything odd when they purchased and they said “No it seemed normal, I just purchased [one]. I’m not sure why it came back as 6.”

The charges all happened in a span of 14 seconds:
April 21, 2021 at 8:11:56 PM PDT
April 21, 2021 at 8:11:58 PM PDT
April 21, 2021 at 8:11:58 PM PDT
April 21, 2021 at 8:12:01 PM PDT
April 21, 2021 at 8:12:04 PM PDT
April 21, 2021 at 8:12:10 PM PDT

These are one time payments, with “Payment Type: Website Payments Pro”, and went through a Visa card.

Please let me know if you need any more information

@clavaque I was wondering if this issue was reported by other clients and if perhaps it is fixed in the newer versions of s2member? I don’t see any mention of it in the change logs, but perhaps it was fixed but not mentioned in the change log.