With Paid Memberships Pro, you can set up membership levels with many different pricing structures. We cover these in our guide on how to price a membership site and the 10 most popular membership pricing models.

One error we see from time to time is that the admin incorrectly sets a recurring payment and an expiration date on their membership levels. While the system can handle this setup, it is not the recommend way to set up a recurring subscription.

Continue reading this guide to understand the specific cases where you would want to set up an expiration date on a recurring membership. For most sites where members pay on a recurring basis, the level’s expiration date should not be set.

Banner Image for When To Set Up Recurring Billing and Expirations for Memberships

Two Common Membership Level Setups

In Paid Memberships Pro, we most often see sites that want to offer two kinds of membership level setups:

  • Automatic Recurring Billing: This setup enables automatic, recurring billing cycles. Members are emailed an invoice for each recurring payment they make, according to the billing frequency (monthly, annually, etc.). Follow these steps to set up a membership level with automatic recurring billing. Note: to alert members about upcoming renewals, use the Recurring Payment Email Reminders Add On.
  • One-Time Payment with Expiration: For memberships that expire after a specific period. In this case, you should set both an initial payment and a level expiration date. Members receive an email when their membership is approaching the expiration to encourage them to renew. Follow these steps to set up a one-time, fixed term membership level.

You can also offer members the option to set up a automatic recurring payments or make a one-time payment. Check out the Auto-Renewal Checkbox Add On if this is something you’d like to add to your checkout process.

Specific Case for Combined Settings: Recurring Billing With an Expiration Date

While it’s rare, there are scenarios where combining a recurring billing model with an expiration date is necessary. For example:

  • Installment payments for fixed term memberships: 3 payments of $19.95 for a year’s worth of benefits.
  • Fixed-window or timed courses/cohorts: $100 per week for our 6 week course.

For these setups, you can add both recurring billing and an expiration date to your membership level settings. The Edit Membership Level screen will show a warning, but it is still going to function as you’ve intended.

Warning shown on the edit membership level screen with both recurring billing and an expiration date

You can also make use of the Billing Limit field to create an installment plan. For this setup, a fixed number of recurring payments are made, then membership expires as defined.

Handling Synchronization Challenges

All membership platforms handle recurring billing and expiration dates in a different way. If you are migrating from another system, this can be especially confusing.

  • With some systems, user memberships can be set to expire immediately when a recurring payment fails to process.
  • With Paid Memberships Pro, we default to letting recurring memberships retry payments before we cancel the member’s recurring subscription and membership access.

The main difference between these approaches is what happens when sites get out of sync with the gateway. 

  • With our approach, users can potentially get their membership extended for free while the gateway tries to tell your site to cancel the subscription.
  • With the other approach, users can potentially have their membership removed accidentally, even though their payments were processed by the gateway.

In situations like this, we go with the decision that is better for your members.

How to Fix Members With Recurring Billing and an (Incorrect) Expiration Date

If you’ve found that you didn’t really want to put an expiration date on your membership levels, there are few steps to take to fix your level setup and your existing member date.

  1. The first step is to review this post and confirm you do not need an expiration date.
  2. Then, Edit your membership levels to remove the expiration date.

These steps will fix things for any new member going forward. Unfortunately, your existing members already have an expiration date set in the PMPro database. PMPro will expire those members on the specified dates.

To fix existing members, you need to update the database to remove the expiration dates from those users.

It’s important to note that these members will maintain their recurring subscriptions through the payment gateway, and their memberships, along with the subscriptions, will be terminated only if they fail to make payment.

Before proceeding, ensure you back up your database to prevent any data loss.

Now, use a SQL query (like the one provided below) to remove the expiration dates—or “end dates”—for all current and active members. If some of your members were imported, manually registered, or belong to membership levels that legitimately require expiration dates, you will need to customize the query to exclude these specific members from the update.

Database Script to Remove End Dates From All Members

A State of Continuous Improvement

Paid Memberships Pro now includes warnings for administrators who set both recurring payments and expiration dates. The goal of this warning is to help admins avoid making the mistake of setting expiration dates in the first place.

This warning is part of our ongoing commitment to prevent common user errors, make the settings more clear, and help site owners identify and fix potential issues more efficiently.

WordPress’s versatility as a platform means that, while many configurations are possible, there’s also a risk of errors. While it’s impossible to anticipate every issue, Paid Memberships Pro is committed to helping users navigate and avoid the most significant issues associated with membership setup and ongoing management.

If you need more guidance on how to correctly set up your membership levels, or if you encounter issues due to incorrect setup, please reach out to our support team

Was this article helpful?
Posted in . Bookmark the . Last updated: .