Version 1.8.9.1 of Paid Memberships Pro is out with some important bug fixes for users of Stripe. One bug in particular may have corrupted recurring orders on your site. These orders will appear without a user_id or membership_id in the orders list or database tables.Development Changelog for Paid Memberships Pro Release Updates

Before You Update

This update includes a fix for the bug and an update script that will repair the corrupted orders. Please backup your database before running the update script. Updates not fixed by the script will be marked with the status “error”. You can filter the orders list by status to find these and perhaps fix them manually.

We’ve also overhauled the orders CSV export. There is still some scaling work to be done to make sure the members list and orders CSV exports will work for any number of orders on any size server, but this update performs much much better than previous versions and will error out less often.


There are also a handful of other fixes from a few different contributors.

Thanks everyone for your help.


Please update Paid Memberships Pro from the plugins page of your WordPress dashboard. You can also get the latest version of PMPro here or version 1.8.9.1 specifically here.


The full list of updates is below.

  • BUG: Fixed bug where some recurring orders members who checked out with Stripe in very old versions of PMPro would show up as orders with a blank user_id and membership_id. This update includes a fix for this and an update script to fix old orders affected by this.
  • BUG: Fixed bug where the Stripe class activation/deactivation methods were setup too late to actually run on activation/deactivation.
  • BUG: Updated the Stripe class to use the same language and markup in the Payment Information section as the default checkout.
  • BUG: Now forcing pmpro_getMembershipLevelForUser() in admin change emails.
  • BUG: Fixed warning in comments_array and comments_open filters. (Thanks, Mihail Chepovskiy)
  • BUG: Fixed format error for dates when saving orders. (Thanks, EmreErdogan)
  • BUG: Fixed bug that was causing issues in the cancellations report.
  • BUG: Fixed the pmpro_cron_expiration_warnings script to properly skip deleted and already expired members.
  • BUG: Reverted code to generate the CVV popup URL.
  • BUG: Fixed a couple bugs in the pmpro_loadTemplate function.
  • BUG/ENHANCEMENT: Updated URL used in the IPN Handler API calls to match the latest PayPal docs. (Thanks, pbaylies)
  • BUG/ENHANCEMENT: Overhauled the orders list CSV export for improved performance. There is still scaling work to be done on the exports, but timeouts and memory errors will happen much less often.
  • ENHANCEMENT: Added Greek (el_GR) translation. (Thanks, Alexandros Karypidis)
  • ENHANCEMENT: Added $order as a parameter to the pmpro_orders_user_row_actions hook. (Thanks, SquareLines)
  • ENHANCEMENT: Added a warning to backup your database to the update notice.