In addition to its feature to offer members-only product discounts as a global percentage off or per-product, our WooCommerce Integration Add On also allows you to use WooCommerce to sell memberships with PMPro.

This documentation explains how to our WooCommerce integration to sell memberships through a gateway they support.

It’s important to note that Paid Memberships Pro supports loads of native payments gateways, as well as 47 other gateways offered through Stripe.

Note: WooCommerce is not required, and in many cases, not the ideal way to sell your PMPro memberships.

When to Use WooCommerce to Sell Memberships With PMPro

One of the biggest requests we receive from our members and users alike is “I would like to use [insert payment gateway name]. Do you have an integration for it?”

  1. First, check if PMPro already supports your payments gateway.
  2. Next, check if you can use one of Stripe’s international payment methods in our docs here.
  3. Finally, explore additional Add Ons that integrate a new payment gateway.

If none of the above options will work for you, you can keep reading to learn how use WooCommerce to sell memberships via a gateway they support.

Video Demo: How to Set Up WooCommerce to Sell PMPro Memberships

Required Settings: Use WooCommerce as Your Gateway

1. Set Up Required Plugins

  1. Install and activate WooCommerce on your site. WooCommerce is a free and open source plugin available in the WordPress plugins repository.
  2. Set up WooCommerce with your required payment gateway. You may need to purchase a premium gateway extension from WooCommerce.
  3. Install and activate the WooCommerce Integration for Paid Memberships Pro on your site. PMPro’s WooCommerce Integration is a free and open source plugin available in the WordPress plugins repository.

2. Set Up Membership Level Products in WooCommerce

  1. If you haven’t already set up your membership levels, follow this documentation to create the levels.
    • You do not need to set membership level pricing in Paid Memberships Pro. The WooCommerce product controls all the price settings.
    • You can optionally set an expiration date on the membership level, but do not set an expiration date if you plan to make this a subscription product.
    • The only real setting you need for the PMPro level is a name. No other settings will be used (aside from content protection rules).
  2. Next, navigate to ProductsAll Products.
  3. Select a product to edit or click ‘Add New’ to create a new product.
  4. In the Product Data meta box, click on the Membership.
  5. Assign a PMPro Membership Level in the Membership Product dropdown field.
  6. Confirm the setting for Autocomplete Order Status. Most people want to check this box to automatically apply membership after checkout.
    • If you do not check this box, the user will not be given the PMPro membership level until a Shop Manager marks the WooCommerce order status “completed”.
    • Alternately, you can set the WooCommerce product as a Virtual Product and use a plugin such as WooCommerce Autocomplete Order (optional).
  7. Click Update or Publish to save the changes to the product.
Screenshot of the settings page when you edit a single product in WooCommerce

Now, when a customer purchases this WooCommerce product, PMPro’s integration will assign them the membership level associated with the product.

Note: If a user adds a Membership Product to their cart, any global membership discounts or per-product special pricing will be applied as if the user already had that membership level.

Note About Subscriptions and WooCommerce

Paid Memberships Pro supports recurring subscriptions without additional premium Add Ons when you use one of our native payment gateways.

But, if you want to sell memberships with recurring payments using WooCommerce, you must separately purchase and use WooCommerce Subscriptions along with this integration.

When using WooCommerce Subscriptions to sell PMPro memberships, you may not be able to use all features of WooCommerce Subscriptions. Below is a list of incompatible WooCommerce features:

  • Upgrade / Downgrade Subscriptions
  • Subscriptions Proration

Looking to change payment gateways on your live PMPro membership site? We have a guide on switching payment gateways without affecting your existing customers.

Read Now: Switching Payment Gateways

3. Other Settings For WooCommerce

Navigate to WooCommerce > Settings > Accounts & Privacy in the WordPress admin.

  1. Deselect: “Guest Checkout – Allow customers to place orders without an account option.”
  2. Select: “Account Creation – Allow customers to create an account during checkout.”

These options allow non-members to purchase a membership product and create an account as soon as they successfully process a checkout.

4. Other Settings For Paid Memberships Pro

For all other settings in PMPro, you want to configure them to instead use the WooCommerce equivalent page. For example, set the “Membership Account” page to WooCommerce’s “My Account” page.

  1. Navigate to the Memberships > Settings > Pages screen.
  2. Change the Membership Account page setting to use WooCommerce’s My Account page.
  3. Unset any auto-generated PMPro page for the following pages.
    • Membership Checkout (unset and delete)
    • Membership Invoice (unset and delete)
    • Membership Levels (unset and delete)
    • Membership Confirmation (unset and delete)
    • Membership Billing (unset and delete)

Remember to delete the unused PMPro pages in your site’s “Pages” list. You do not want your users to go through any of the default PMPro pages for checkout or account management with this setup.

You do not need to configure a payment gateway in Paid Memberships Pro.

Optional: Design a Membership Pricing Page with WooCommerce Shortcodes and Blocks

Some sites may choose to design a Membership Levels page that loads their custom WooCommerce membership products.

  1. Edit the PMPro-generated Membership Levels page.
  2. Remove the membership levels shortcode or block from the page content.
  3. Design your page using a WooCommerce product loop block or shortcode, or your page builder of choice.

We recommend that you only allow one membership product to be purchased in a single order. This will prevent two of the same memberships from being added to the cart. Also note that a single product should not be both a “Membership Product” and have settings for Member Discount Pricing.

Recap: Using WooCommerce for Membership Checkout

If you intend to fully use WooCommerce for membership checkout, please note the following:

  • All of the level pricing details are set up in the WooCommerce product.
  • Aside from level name, expiration, and content restrictions, none of the settings in the Memberships > Settings > Levels settings are used.
  • You must use the WooCommerce Subscriptions plugin or WooCommerce Payments gateway to charge recurring payments.
  • You do not need to set up any of the pages within the Memberships > Settings > Page Settings.
  • None of the emails sent by Paid Memberships Pro will be used with the exception of the Cancellation emails. WooCommerce emails will be sent at checkout and for any recurring payment received.
  • Members will use the WooCommerce “My Account” area to manage their orders and subscription.

WooCommerce Checkout: Compatibility With PMPro Add Ons

With this setup, all of the membership level pricing details are controlled by WooCommerce. For this reason, many of Paid Memberships Pro’s checkout-related Add Ons are not compatible with your WooCommerce checkout experience. Here is a list of the most frequently asked about PMPro Add On compatibilities: