Payer ID Missing Errors
Closed this issue · 13 comments
Issue Overview
Sometimes there is an error while paying because somehow we request a payment with no ID.
Reported by @Pebblo on #3 (comment), but also Nate Sanders from PayPal reported
0.6% or 131 calls with Error 10419 (Payer ID Missing)
So it's an intermittent issue.
Bug report or feature request?
- Bug
- Feature
- Neither
Environment Data:
Version of EE core:
Version of this addon:1.0.0
Version of WordPress:4.9.x
PHP Version:
Browser used:
Steps to Reproduce (for bugs)
@Pebblo reported
In short, I can select PPSmart, it opens the modal, I log in, then pay and the modal closes but none of the hidden PPSmart inputs are updated. You'll then get an error of the payment failing for technical reasons.
I'm logging all HTTP connections on the site currently and as theres no payer_id set, the request fails - http://take.ms/pooqt
No JS errors and if I refresh the page and re-attmpt it usually goes through.
As far as the new changes to how the payment method looks, I haven't found a problem, switching between payment methods shows the finalize button, this PM does not, it all seems to be working nicely, with the exception of the above.
Expected Behaviour
It would work.
Current Behaviour
There are periodic errors.
Related Information:
PayPal's sandbox isn't as bullet proof as their production server, but Nate was reporting this error for live users too. I wonder if it's some type of race condition?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
another report here: https://secure.helpscout.net/conversation/613046838/544390/
This is related to Garth's report. I had a look at their recent registration attempts and it is happening to multiple attendees.
I've resent a payment reminder to see if the payment re-attempt works.
For Event Smart customers, I'm suggesting to them that they switch to PayPal Express for now while we work through this.
This link will get them PayPal Express complimentary:
Another report: https://secure.helpscout.net/conversation/765302753/609268?folderId=284418
They are using debug at the moment but the "PayPal did not respond with the expected parameters" matches up with what we've seen when the Payer ID issue happens.
Hey Mike, I looked through the sites that reported this issue to see if I could track this down to Internet Explorer:
On most transactions where this happened, the Transaction Session Details are missing the user agent:
- https://jppcle.eventsmart.com/wp-admin/admin.php?page=espresso_transactions&action=view_transaction&TXN_ID=41
- https://hebrewhelpers13.eventsmart.com/wp-admin/admin.php?page=espresso_transactions&action=view_transaction&TXN_ID=27
On the second one above, the attendee was using an @mac.com email so I think they may have been using a Mac.
I also found this one where it shows Mozilla for the user agent:
I'm wondering if this might be a timing issue. For example, could it be that if certain things load out of order, then the payer ID is missing because it wasn't requested?
I'm wondering if this might be a timing issue.
Yes, I suspect that's what it is, too. I think when the PayPal modal window closes, we might sometimes be submitting the form before the PayPal payment ID gets put in that form. (That's because although the code that updates the form comes first, with Javascript's asynchronous nature, I think sometimes be slow and happen later.)
Hey Mike, I looked through the sites that reported this issue to see if I could track this down to Internet Explorer
Sorry I never mentioned why that might help. That branch also has a few lines from https://github.com/eventespresso/eea-paypal-smart-buttons/tree/BUG/payer-id-missing, which delays the form submission by a full second after the form was updated with the payment ID.
So, the reason that PR might fix this issue is not because it adds compatibility with Internet Explorer. It's because it contains code from https://github.com/eventespresso/eea-paypal-smart-buttons/tree/BUG/payer-id-missing
We deployed an update for PayPal Smart Buttons last Friday onto Event Smart.
However, a customer is still experiencing this issue. They switched to PayPal Express yesterday evening.
There are still about 40 other customers using PayPal Smart Buttons.
@lorenzocaum which customer? Should this ticket be re-opened?
Yes @lorenzocaum it may be helpful to know which customer. But I don't think this ticket was ever actually closed.
On #32 Tony may have a solution to this, he was going to try to confirm if it solves this issue or not (I'm skeptical it will fix it, but I can't argue with it if it does). If his testing suggests it does, it might be nice to first try it on ES before releasing it in the add-on (that will make reverting it easier if it doesn't actually fix the issue, because I'm anxious it might just add another possible point-of-failure).
If Tony's testing doesn't really indicate it fixes anything, we should add some logging to try to learn more about why this is failing.