Recent PayPal Services Issues

Posted on July 2, 2015

Update – July 3 2015 : PayPal has made changes that seem to have fixed this. As a precaution, we’ve released a dev version which implements the fix and can be downloaded automatically from your WordPress dashboard.

Sometime around the start of July 2015 people have been experiencing issues with PayPal transactions not showing up for Events Manager Pro bookings. This means that customers making bookings will not receive confirmation emails for successful payments, leading to all sorts of confusion.

Whilst we’re not entirely sure about how widespread this issue is, it has become apparent that it is affecting a lot of people, and that this isn’t limited just to Events Manager Pro but likely any WordPress plugin attempting to communicate with PayPal to securely verify a payment notification. These findings also indicate that PayPal is likely to blame.

We, along with various other WordPress plugin developers, have notified PayPal about this issue in the hopes that they fix this ASAP, however rather than wait for them we’ve made a workaround which solves the problem. We hope that PayPal will sort this out in a matter of hours, if they don’t by tomorrow we will likely release an update implementing this fix, given that (whilst unnecessary) it should have no long-term implications.

The Solution

Firstly, we recommend you set the ‘Delete Bookings Pending Payment’ option to 0 in Events > Payment Gateways > PayPal so that bookings don’t get erroneously deleted whilst awaiting payment.

Users with an active license can automatically implement this fix by updating the latest dev version within the admin dashboard, and ignore the following instructions.

We’ve made a small adjustment to the file /events-manager-pro/add-ons/gateways/gateway.paypal.php which you can now download and replace on your site.

Alternatively, you can edit the file above directly by finding this line:

$ipn_verification_result = wp_remote_get($domain.'?'.$req, array('httpversion', '1.1'));

and replace it with

$args = array('httpversion'=>'1.1','user-agent'=>'Events Manager Pro '.EMP_VERSION);
$ipn_verification_result = wp_remote_get($domain.'?'.$req, $args);

Once you’ve implemented this fix, your bookings should start going through as normal.

For previous bookings made between the PayPal service problems arising and implementing the fix, please visit your PayPal account and go to History > IPN History. You’ll see some notifications are still retrying, those should go through. Select the ones that have failed and resend them, they should go through as well.

If you’ve already manually approved these bookings in the meantime, don’t worry, all that will happen is the record of a paid transaction record will appear for the booking.


  1. Laura Bowly says:

    Can you confirm that sites using EMPro with are not effected by this problem. Only sites that utilize PayPal as the payment processor? Thanks! LB

    • marcus says:

      If you don’t use PayPal, this doesn’t affect you. This is specifically PayPal-related due to something going wrong on their end.

  2. Kathryn Roman says:

    OK I am not technical. I don’t understand how to access the file to make the changes or to replace the downloaded file. Please advise!

    • marcus says:

      Hi Kathryn,

      You’d need to access your site via FTP. You can download the file via the link in the post, and then replace it, which will be located within /wp-content/plugins/events-manager-pro/add-ons/gateways/

      If this isn’t fixed by paypal tomorrow morning (it’s almost midnight here), we’ll release an update so you update automatically from your WordPress dashboard. If you can disable the auto-delete feature meantime you can skip the steps to upload or modify the file.

  3. Rachel says:

    I was wondering what was happening!

  4. Thumbs up for such a fast workaround, guys!
    On June 30 I received my last PayPal booking (I have several Payment Gateways installed) and that worked perfectly on No issues at all. Registered perfectly with PayPal and in EM Pro.

    I’ll still update the files, just to be safe.

  5. There is one little error in your solution. The file that needs to be edited is gateway.paypal.php and not paypal.gateway.php ;-)

    Just in case people are looking for a file that just isn’t there…

  6. Stig Ulfsby says:

    Why is’nt this fixed by an update of the plugin? It is much easier to update the plugin than replacing a file.

    • marcus says:

      We’re on the fence because this is something PayPal should fix ideally, not us. They’ve already written back asking us to test some changes they’ve made, we’re in the process of doing that. We’ve given 24 hours from finding out for them to fix it, or we release an update.

  7. Craig says:

    If there was a delete on non-payment timeout set, were the transactions during that period deleted/purged, or just “marked as deleted”? If so, can I change the state and recover the booking from MySQL so that I can reconcile them with monies collected via PayPal?


  8. Russ says:

    Great blog. Any idea how we could confirm or deny that this issue is affecting Event Espresso? We’ve had a bunch of screwy nonsense go on in the last two days with PayPal and “abandoned” or “failed” transactions, where PayPal actually took the money.



    • marcus says:

      Hi Russ, They, along with many others, are affected to as far as I’m aware, but anything past that you should probably contact them directly for assistance specific to their product.

  9. Ian says:

    Good Morning,

    My line looks different:

    $ipn_verification_result = wp_remote_get($domain.’?’.$req);

    Should I still make the amend?

    • marcus says:

      Hi Ian, you can still replace that first line (the one with $ipn_verification_result… ) with the two lines we recommended.

    • Ian says:

      Thanks Marcus,

      So just to confirm it now looks like this:

      //$ipn_verification_result = wp_remote_get($domain.’?’.$req);
      $args = array(‘httpversion’=>’1.1’,’user-agent’=>’Events Manager Pro ‘.EMP_VERSION);
      $ipn_verification_result = wp_remote_get($domain.’?’.$req, $args);


      Thanks for your time and help, it’s much appreciated!

    • marcus says:

      yup, as Liam said it’s ok, mind you the issue seems to have been resolved. Pending final confirmation from them, but tests are showing it has been fixed.

  10. Liam Bailey says:

    Hi – yes Ian that is now correct.

  11. Jaclyn says:

    If I update to the new dev version listed, do I still need to do the rest of the things listed here? Replacing/editing the file? Or does just doing the update fix it?

    • marcus says:

      Hi Jaclyn, you just need to update to the dev version, nothing else. I’ve made that a little clearer in the post now :)