Version 2.8.3 of Paid Memberships Pro is out with a few bug fixes, including one specific fix to an uncommon issue with PayPal Express subscriptions. These bugs have the potential to hinder sales, so be sure to upgrade.

About the PayPal Bug

The issue only occurs for annual subscriptions for a level with a trial period longer than one year, whether on the level settings or through custom code to shift the start date.

Seemingly at random, some users checking out for a recurring subscription would have an extra trial added to their subscription. So a user checking out for a plan that charges once a year would be charged at checkout, but their next payment would be 2 years later instead of 1.

This bug is more likely to happen if you were using Add Ons or custom code that otherwise tweaked the profile start date of your subscriptions.

How to Know If You Were Affected By This Bug

There are a few ways to see if you were affected by this bug.

  1. Spot-check a few subscriptions in your PayPal account. Look for a section titled “Trial period 1”.
  2. Check your IPN logs for the value period_type=Trial.
  3. Search your new payment profile emails from PayPal for the phrase “Trial Period”.

If you don’t find any subscriptions or messages like this, you weren’t affected by the bug and do not need to worry about a thing.

How to Find Subscriptions Affected By This Bug

If you’ve determined that you do have some subscriptions with an unintended one year trial, there are three ways to locate affected subscriptions:

1. Manually go through every active subscription in PayPal.

  1. Log in to your PayPal account then navigate to “Pay and Get Paid” > “Subscriptions”
  2. In the left column, select “Subscriptions” (not “Subscription Plans”).
  3. Click the “Subscription ID” to view the details about this payment plan.
  4. If the subscription has the bug, you will see a section titled ‘Trial period 1’
Screenshot of the PayPal Subscription with Trial Period 1
Screenshot of the PayPal Subscription with Trial Period 1

2. Locate the subscriptions in your email or IPN log.

If you are logging IPN, search your logs, email log, or email directly for IPN messages with the following values:

  • txn_type=recurring_payment_profile_created
  • period_type=Trial

Or, search your email for PayPal’s “You have a new automatic payment profile…” messages. If the subscription has an unintended 1 year trial, you will see a section in the email titled “Trial Period” with a “Trial period amount:” of “0.00”.

Screenshot of the PayPal New Payment Profile Email with Trial Period
Screenshot of the PayPal New Payment Profile Email with Trial Period

How to Fix Affected Subscriptions

If you find subscriptions that were affected by this bug, follow the instructions below to fix affected orders. From the Subscription Info page in PayPal:

  1. In the Pricing section, click “Update”.
  2. In the “Trial period” section, set the price of the trial to match the regular subscription payment amount. For example, if the subscription is $247 every 1 year, adjust the trial to be $247.
  3. Click “Save Updates”.

There are no other changes needed in the membership site side. Repeat this process for every affected subscription.

Subscriptions already in the trial period cannot be updated. For these subscriptions, we recommend you set some ground rules for how you want to fix these members. They still have an active subscription. And depending on how long this issue has been intermittently happening in your site, one member may be closer to paying you again than they are to having missed a payment.

Option 1: Cancel them all immediately

  • Some percentage of users will renew manually. Send them an email. Explain what happened. Give them a link to set up a new recurring payment for your membership.
  • Locate the user by searching for their subscription ID in the Memberships > Orders page in the WordPress admin.
  • Edit the user.
  • In the “Membership Level” section, select “None” or some other downgraded free level, check the box to cancel the subscription at the gateway. Save Changes.

Option 2: Cancel people who haven’t paid in the last 6 months, keep the members that will pay you again in 6 months.

This is an arbitrary decision—do what you think is right. You can set a rule that if they are closer to paying again than having missed a payment, just let it ride.

Option 3: Send them a past due invoice and recreate it manually.

You could send the people that missed a payment your link and tell them to make the missed payment directly. This outreach has a few benefits: 

  • The people that actually don’t want your membership anymore can tell you this and you can cancel them without the FOMO that they were really gonna stick around. You’d probably have been refunding their renewal anyway. Cancel their membership immediately (while also canceling their subscription).
  • The people that do want your membership will give you that missed revenue. Cha-ching. Wait for the payment, manually add the order for this missed payment under Memberships > Orders > Add New Order. Their next recurring payment will process automatically as intended without interruption.

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

The full list of updates is below.

  • BUG FIX/ENHANCEMENT: Avoiding multiple DB queries related to license key checks when no license key is enabled.
  • BUG FIX: Fixed issue where some PayPal subscriptions had an extra 1 year trial when set up.
  • BUG FIX: Avoiding warnings about application fees when using Stripe legacy keys.
  • REFACTOR: Refactored recent updates to the Divi compatibility code to avoid issues for users who might be running a similar gist.