Paid Memberships Pro v1.9: PHP 7+, GlotPress and Licensing

Version 1.9 of Paid Memberships Pro is out. This is a “major” update with a higher risk of issues during update than usual. We’re now supporting PHP 7+, offering simpler translations via GlotPress, and providing better usability for the Plus Add Ons update process.

Please make a backup of your website prior to updating. Continue reading for specific details about the features of v1.9.


Now Supporting PHP 7+.

In order to provide support for this newer, faster PHP version, we had to update some of the gateway libraries we bundle.

The latest versions of the Stripe and Braintree libraries remove support for lower versions of PHP (5.2, 5.4). Officially, Paid Memberships Pro will start to support only the latest version of PHP as well as the highest point release of the one previous version. For now, that means we will support PHP 7+ and PHP 5.6.30. Paid Memberships Pro may work on earlier versions of PHP and we’ll do our best to avoid breaking compatibility for the sake of it, but we will not focus on compatibility for outdated versions of PHP.


Usability Updates for Plus Add Ons and Licensing Improvements

Another important change is that we have recently updated our license server, which delivers automatic updates to PMPro Plus add ons, to actually check for a valid license key before serving the update.

In the past, we would allow sites to update PMPro Plus plugins that were already installed even if they had an expired license key or no license key at all. A change we made on our license server will now cause errors if you try to update a PMPro Plus addon without a valid license key. The PMPro 1.9 update has better error handling to make it clear when and why this is happening.

Steps to Access Your License Key:

  1. New Members: Purchase a PMPro Plus membership then access your key on your Membership Account page.
  2. Existing PMPro Plus Members: Access your key on your Membership Account page.
  3. Navigate to Settings > PMPro License on your WordPress site.
  4. Enter your License Key and Save.

Remember, You can use your license on multiple sites, but we recommend that you only use your license on sites that you personally manage.


Now Supporting GlotPress for Easier Translations

Version 1.9 updates the “text domain” of the plugin to be “paid-memberships-pro” instead of “pmpro” and includes other updates to enable “GlotPress” support.

There is a chance these updates will cause issues with translations before things get fully resolved. If you have issues with your translated PMPro site, please get in touch via the contact form and we will work with you to fix things. The GlotPress service runs on the WordPress.org website and we were not able to fully test all aspects of this new support without releasing the update. There may be point releases to fix any issues that have come up.


Updating the Plugin

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.9 specifically here.


The full list of updates is below.

  • BUG: Fixed issue with cancelling 2Checkout recurring subscriptions. Now using the payment_transaction_id to find/cancel the sale’s recurring subscription since no subscription_transaction_id is being saved.
  • BUG: Fixed issue where old membership levels were not listed correctly in the cancellation email. (Thanks, Mike from Migrating Eye)
  • BUG: Fixed issue where “custom trial” values were not saving for discount codes.
  • BUG: Fixed issue where checkouts were still processing even if there were errors with the discount code used.
  • BUG: Fixed bug where settings added via the pmpro_custom_advanced_settings were not being saved to DB unless they were prefixed with custom_.
  • BUG: Fixed other formatting issues with settings added via pmpro_custom_advanced_settings.
  • BUG: Fixed issue where the sendInvoiceEmail method of the email class was expecting $order->discount_code to be a string, but it was sometimes a discount code object. (Thanks, Bill Stoltz)
  • FEATURE: Added the pmpro_member shortcode. See the Paid Memberships Pro website for documentation.
  • ENHANCEMENT: Added pmpro_account_membership_expiration_text filter to filter the expiration text that shows ona user’s membership account page.
  • ENHANCEMENT: Updated our Stripe and Braintree libraries to use their latest versions. This update allows our gateway integrations to support PHP7 and also removes support for PHP 5.2 and 5.3.
  • ENHANCEMENT: The Braintree level compatibility check now also looks for a properly named plan.
  • ENHANCEMENT: Better error handling when trying to update plugins that update against the PMPro license server.
  • ENHANCEMENT: Improved Italian translation. (Thanks, Francesco Pezzotti)
  • ENHANCEMENT: Improved German tranlsation. (Thanks, Simon)
  • ENHANCEMENT: Added a Sweedish tranlsation. (Thanks, Mathias Persson)
  • ENHANCEMENT: Added a “Chinese/Cantonese (Hong Kong SAR China)” tranlsation. (Thanks, Kai Chan)