Are you trying to checkout using PayPal Express on a site running Paid Memberships Pro or some other shopping cart software and running into the error “Express Checkout PayerID is missing“? This post will explain why that error might be happening and cover some steps to try to fix it.
PayPal Express is an offsite gateway option. After clicking to checkout with PayPal, you are redirected to PayPal’s site to complete the payment. Then you return to the website you were shopping on to review and confirm the payment. After confirming, you are taken to the confirmation page.
To keep track of your checkout while you are redirected to PayPal, Paid Memberships Pro will save some information into PHP “session variables”, including the PayerID returned from earlier PayPal API calls. When you return from PayPal, PMPro will look for the PayerID. If it can’t be found, you will see the “PayerID is missing” error.
Most likely, more than just the PayerID is missing, but the PayerID value is the first one that the confirmation step looks for, and so you will get this error from PayPal.
How can you fix this?
There are three possible solutions to this problem:
- Make sure that your PayPal API username and password are correct in the payment settings. Make sure also that you’ve chosen the correct gateway environment for the keys, sandbox or live.
- Make sure that PHP sessions are enabled on your server. Ask your host to help with this. WordPress sites on servers that don’t support sessions can use the WordPress Native PHP Sessions plugin.
- Make sure that your checkout page is excluded from all page caching. You can see some more of our caching suggestions here.
Need more help?
If you’ve tried the above, and are still running into this issue with Paid Memberships Pro, there may be something else happening with your specific setup. Our paying members can open a support ticket with us to look into this issue.