Version 2.9.5 of Paid Memberships Pro is out with a handful of bug fixes and enhancements. These bugs have the potential to hinder sales, so be sure to upgrade.

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

Development Changelog for Paid Memberships Pro Release Updates

Note for Stripe Users with Levels with $0 Initial Payments

This update fixes a specific issue with our Stripe integration where orphaned subscriptions were sometimes created at checkout when Secure Customer Authentication (SCA) failed if the level also had a $0 initial payment. These orphaned subscriptions could go on to bill customers even though authentication failed and their level and orders were not updated in WordPress/PMPro. (This is surprising to us, but apparently the bank might choose to forgo authentication on the recurring payments even though it prompted the user for SCA at checkout and that failed.)

This issue only would have affected sites using Stripe that have levels with a free $0 initial payment trial or are using plugins like the Proration or Variable Pricing Add Ons that could set the initial payment to $0. And then this would have affected only 10% or so of checkouts that were SCA challenged (asked for 2-factor authentication by their bank at checkout), and only if that SCA authentication failed.

If your site fits these requirements, then you may want to look for these orphaned subscriptions. Here is one way to do that.

  1. Log into the Stripe dashboard.
  2. Click the Developers button in the upper right.
  3. Click on Events in the left sidebar.
  4. Click on the Filter button in the upper right.
  5. Choose Type and then enter “setup_intent.requires_action” and click Done.

These are the recent times customers on your site required authentication during subscription set up. Now we need to see if there were any issues.

  1. Click on an event in the list.
  2. Click on the customer ID in the event data.
  3. Click on any subscription for this customer.
  4. Copy the subscription_id and search your PMPro orders for that id.
  5. If you don’t have a matching order or more for that subscription then, this subscription is orphaned.

If you’ve found an orphaned subscription, you may want to delete it and refund any payments from it. Or you may want to keep it and manually create an order in PMPro that is linked to the user, membership level, and subscription id. What you do may depend on how old the subscription is and if the user has a second “real” subscription as well.

Going through events like this on active sites could be tedious. As a reminder, this only would have happened for a small percentage of checkouts, and you may have run into it before if you noticed customers with duplicate subscriptions or subscriptions in Stripe for users and/or orders that weren’t created in WordPress at checkout.

We apologize for the confusion and inconvenience caused by this issue. If you have any questions or concerns, please contact us.

The full list of updates in 2.9.5 is below:

  • ENHANCEMENT: Added Select2/Autocomplete as a field type in the user field settings.
  • ENHANCEMENT: Improving our in-app notification styling.
  • BUG FIX/ENHANCEMENT: Now skipping Secure Customer Authentication (SCA) for Stripe subscriptions at checkout with a $0 initial payment. This fixes issues where SCA failure would orphan active subscriptions. Recurring payments are working fine without this additional check.
  • BUG FIX/ENHANCEMENT: Improved CSS for frontend form fields.
  • BUG FIX/ENHANCEMENT: Fixed placement of required field asterisks for certain field types.
  • BUG FIX/ENHANCEMENT: Fixed display of the CVV popup.
  • BUG FIX: Fixed application fee issue that happened when users in some countries tried to use Stripe Connect.
  • BUG FIX: Fixed case where user fields wouldn’t show for users if earlier fields/groups were only for admins.
  • BUG FIX: Fixed fatal error for older versions of WordPress missing the wp_get_environment_type() function.
  • BUG FIX: Fixed issue where PMPro memberships were sometimes not cancelled when a subscription was cancelled in Stripe.
  • BUG FIX: Fixed fatal error that was preventing the weekly (opt in) data tracking from running.