Version 2.9.11 of Paid Memberships Pro is out. This update has a single bug fix for sites using recurring subscriptions with PayPal Standard or PayPal Express. This bug has the potential to hinder sales, so please update immediately if you are using either of these PayPal options.
Update Paid Memberships Pro from the plugins page of your WordPress dashboard. You can also get the latest version of PMPro here or version 2.9.11 specifically here.
How to Tell if You Were Impacted
Only sites using recurring subscriptions with PayPal Standard or Express who upgraded to PMPro 2.9.9 or later would be affected. Only recurring payments (or in a few cases recurring payment failures) during the time you were running 2.9.9 will have been affected.
If you are logging IPN requests to email, you can search your email for
recurring_payment Payment status is completed. Any email found during the period you were running 2.9.9 or 2.9.10 is likely an IPN message that was not processed properly.
What Was Broken
When a recurring payment at PayPal is generated, PayPal will send an IPN message of the type
recurring_payment. PMPro processes this message to find the associated user and order history, and then generates a new order in PMPro and sends the user and site admin an email about the new order.
An issue in the check of the
payment_status of that message, meant that the IPN handler in PMPro was not created orders or sending emails when it should have.
New recurring orders from the time you were running 2.9.9 or 2.9.10 will be missing from PMPro, and users will not have been notified of these orders.
With PayPal Standard, some payment failures are also sent through the
recurring_payment IPN message type. These failed payments also would not have been processed by the IPN handler. Users would not have been notified of the failed payment, and memberships may not have been cancelled if you have them set up to cancel on any failed payment. PayPal does send a separate message for subscription cancellations that was being processed correctly.
How to Fix It
Even after updating to PMPro 2.9.11, it’s likely that any recurring payment which was created during the time you were running PMPro 2.9.9 or 2.9.10 was not processed properly by PMPro. You need to resend those messages through the PayPal IPN history. Resending some of the other IPN messages could cause issues, so you need make sure that you only resend messages of type
Follow the steps in this guide to resend PayPal IPN history for missed orders. In this case, you want to go back as far was January 18th (or whenever you upgraded to v2.9.9).
How to Resend PayPal IPN History »
The full list of updates is below.
- BUG FIX: Fixed issue introduced in 2.9.9 where
recurring_paymentIPN transactions in PayPal were not being processed yet. If you have recurring subscription with PayPal Standard or PayPal Express, you will need to resend those transactions to make sure completed (and in some cases failed) recurring orders were processed on your site.