We are excited to announce the release of Paid Memberships Pro v3.2. This release is a continuation of all the work we have done on v3.0 and higher this year.
This update includes improved subscription notifications, expanded user field settings, and tighter integrations with key platforms like Cloudflare Turnstile.
This post details the major new features and improvements you can expect in v3.2.
Read on to learn about these enhancements and how to safely prepare for the update.
Major New Features: PMPro v3.2 Release
Notification Emails for Upcoming Subscription Payments
We’ve merged the premium Recurring Payment Email Reminders Add On into the core free plugin. Members will now receive an email reminder when they have an upcoming subscription payment. This feature ensures that your users stay informed about their upcoming charges.
By default, members will receive an email 7 days before a recurring payment is paid. You can customize these intervals to add additional recurring payment emails using the pmpro_upcoming_recurring_payment_reminder
filter.
Integration with Cloudflare Turnstile
PMPro now includes integration with Cloudflare Turnstile, offering an additional layer of security and reducing spam signups. Sites can use Cloudflare Turnstile as an alternative to Google reCAPTCHA.
This setting is available on the Memberships > Settings > Security screen in the WordPress admin.
Business Address on Orders
A new setting allows you to add your business address via the Advanced Settings page. This address will now appear on all orders, making it easier to comply with tax regulations or business requirements.
Improved Email Templates Editing Experience
We’ve overhauled the Email Templates editing screens to make it a more focused experience. Email templates now display in a list view on the Email Templates settings page. Site admins can select a single template to begin editing, enable or disable the template, or send a test version.
This work is the beginning phase of more improvements to our Email Templates in future releases.
User Fields: Extended Field Types and Field Default Values
Formerly only offered when custom coding your fields, PMPro v3.2+ includes extended options all in the settings-based field builder.
- Grouped checkboxes: Creates more flexibility when collecting user data. You can now group multiple checkboxes as a user field.
- File fields: The settings screen now supports adding a “file” field type. Use the field options to specify allowed file types and set maximum file sizes for user-uploadable fields, giving you more control over the data your users submit.
- User field default values: Set a default value to be chosen at checkout so that a hidden, read-only, or even a general input field type has a pre-selected value of your choice.
Phasing Out Legacy API Keys for Stripe Gateway
As of September 30, 2024, Stripe has updated security requirements to better protect merchants and their data.
Every site using Paid Memberships Pro and Stripe as their gateway must either use Stripe Connect or update their site to use Restricted API Keys.
Formerly, sites could use legacy secret API keys. These keys provided full access to a Stripe account, similar to a username and password, and pose a major a risk if exposed.
To mitigate this, Stripe is now requiring the use of Stripe Connect via OAuth authentication or restricted API keys. This reduces risk by limiting the permissions granted, thereby minimizing the potential impact of compromised credentials.
New Checkout Filters for Improved Control
As of PMPro v2.10, your membership site’s checkout process will always create a user, regardless of whether the payment process is completed.
PMPro v3.2 now creates a user as soon as there is enough user information to do so. This update is the biggest step toward multistep checkout. It also supports a tighter process to always check what step of checkout we are in and hook in additional logic at each stage. Developers now have three new filters to use at checkout, formerly only possible through on single filter. These filters provide better flexibility in handling custom processes during membership checkout.
Behind the Scenes: Refactoring to Prepare for PMPro v4.0
In addition to all the visual and settings changes, PMPro v3.2 has refactored a few functions related to the checkout process. These invisible changes pack a major punch and set the stage for all the future checkout improvements we want to bring to your membership site.
We’re now in a better place to work on gateway integrations, multi-step checkout, and potentially even ways to leverage the PMPro checkout process for more than just memberships. More will be shared about this in 2025.
Database Upgrades and Scripts in PMPro v3.2
With PMPro v3.2, a database upgrade triggers upon plugin update. This ensures that all new features and changes are incorporated into your membership site without data loss. The script makes the following changes:
- Adds a column for “Billing Street 2” to the
wp_memberships_orders
table. - Sets an option to show a notice if the site is using PayPal Website Payments Pro as the current gateway. This update removes PayPal Express as an automatic second option at checkout.
Notable Deprecations
There are two notable feature deprecations in the release. We do not make decisions to deprecate features lightly and do so only when we recognize that the logic cannot be brought into the latest, most secure, most efficient way that Paid Memberships Pro manages user registrations and memberships.
Authorize.net Payment Gateway Deprecated for New Sites Only
Existing sites using the Authorize.net gateway can continue to do so without issue. But, due to limitations with the Authorize.net API, we no longer recommend new sites choose to use Authorize.net as their payment gateway.
- We will not be adding new features or enhancements to this gateway in the future.
- We recommend switching to Stripe or PayPal.
- In this case, deprecated means that new sites won’t see Authorize.net on the list of gateways by default, though it is possible to re-enable with custom code.
- We will do our best to maintain the current integration as long as we can safely do so through small bug fixes and adjustments.
PayPal Website Payments Pro No Longer Adds PayPal Express By Default
For any site using the PayPal Website Payments Pro gateway, your checkout process will no longer also show PayPal Express as a secondary payment method.
We encourage sites using PayPal Website Payments Pro (WPP) to instead switch to use PayPal Express as the primary gateway for their site. Studies have shown that today’s online shoppers prefers the inherent security and trust of checking out via PayPal, so doing this may also have an immediate positive impact on your checkout conversion rates.
If you need to maintain your old setup where WPP had the option to check out with PayPal Express, please install and activate the Add PayPal Express Add On. While this is a paid Add On, we are a fully open source company so you can get this code without a license. Refer to this page for information on how to use Paid Memberships Pro Add Ons for free.
Notes Before You Update to Paid Memberships Pro v3.2
Before you update, please ensure you have a complete backup of your site.
- Test on a staging environment: We highly recommend testing the new release on a staging environment before updating your live site.
- Review the changelog: Familiarize yourself with the full list of changes and deprecations to avoid any surprises.
You can update Paid Memberships Pro from the plugins page of your WordPress dashboard or get the latest version of PMPro here and version 3.2 specifically here.
PMPro v3.2 Full Changelog
New Features
- FEATURE: Users will now receive a notification email when they have an upcoming subscription payment.
- FEATURE: Added integration with Cloudflare Turnstile.
Enhancements to Existing Features
- ENHANCEMENT: The business address for the website can now be set on the Advanced Settings page and will show on invoices.
- ENHANCEMENT: Added a table view on the Email Templates settings page.
- ENHANCEMENT: Added the Checkbox Group user field type.
- ENHANCEMENT: A default value can now be set for user fields that do not allow multiselect or file uploads.
- ENHANCEMENT: Allowed file types and maximum file sizes can now be set for “File” user fields.
- ENHANCEMENT: Added three new filters at checkout to allow checks at different parts of the checkout process:
pmpro_checkout_checks
,pmpro_checkout_user_creation_checks
, andpmpro_checkout_order_creation_checks
. - ENHANCEMENT: Now creating a user at checkout even when order creation checks fail.
- ENHANCEMENT: Memberships on the Membership Account page will now be shown in the order set on the Membership Levels settings page.
- ENHANCEMENT: Updated the wording around “legacy keys” and “restricted keys” for the Stripe gateway.
Bug Fixes and Enhancements to Existing Features
- BUG FIX/ENHANCEMENT: Street2 billing address lines are now stored separately in the MemberOrder object.
- BUG FIX: Fixed an issue where payment fields on the update billing page might be wrapped in nested cards.
Refactored Code
- REFACTOR: Abstracted all “Terms of Service” logic into a single file.
- REFACTOR: Abstracted all reCAPTCHA logic into a single file.
- REFACTOR: Cleaned up the checkout preheader flow including deprecating the
pmpro_build_order_for_checkout()
function in favor of inline logic. - REFACTOR: Updated the PayPal Express integration to run checkout logic in its
process()
method instead of on actions that are being deprecated. - REFACTOR: Updated the Stripe integration to send users to Stripe Checkout in the
process()
method instead of during thepmpro_checkout_before_change_membership_level
hook.
Deprecated Code and Features
- DEPRECATED: Marking the Authorize.net gateway integration as deprecated. Websites that are already using Authorize.net can continue using that gateway, but new sites will not be shown Authorize.net as a gateway option.
- DEPRECATED: PayPal Express will no longer automatically be enabled as a second payment option when using the deprecated Website Payments Pro gateway. This functionality can be restored by using the Add PayPal Express Add On.
- DEPRECATED: Marked the following filters at checkout as deprecated:
pmpro_checkout_oldemail
,pmpro_new_user
,pmpro_require_billing
, andpmpro_checkout_confirmed
. - DEPRECATED: Now throwing deprecation warnings for dynamic order properties that were previously used at by gateways at checkout.
- DEPRECATED: Marked the
getGatewaySubscriptionStatus()
,getGatewayTransactionStatus()
, andconfirm()
MemberOrder methods as deprecated. - DEPRECATED: Removed sample code from methods in the
PMProGateway
class and marked sample helper methods as deprecated.
PMPro v3.2.1 Changelog
- ENHANCEMENT: Improved the print styles for frontend pages.
- BUG FIX: Fixed an issue where payments would not complete when Stripe 3DS was triggered.
- BUG FIX: Fixed an issue where “file” user fields would not allow uploads if the file restrictions setting was empty.
- BUG FIX: Fixed a deprecation warning when using Stripe Checkout.
- BUG FIX: Fixed an issue where the “street2” billing address field may not be saved for Stripe payments.
PMPro v3.2.2 Changelog
- ENHANCEMENT: Added screen reader text to identify an empty header row on levels table output.
- BUG FIX: Fixed issue where some third party gateways were no longer cancelling subscriptions at the gateway when cancelled locally in WP/PMPro. If you were using a gateway that is not included with the core PMPro plugin, please double check all recent cancellations to make sure they were sync’d to your gateway. If not, you will have to cancel those subscriptions at the gateway manually.