This Add On offers multiple forms of integration with WooCommerce. Continue reading the features and documentation below to explore the many ways you can connect this ecommerce plugin with Paid Memberships Pro.

Key Features of the Integration

  • Set Custom Product Pricing based on Membership Level.
  • Set a Global Percentage Discount for All Products Based on Membership Level.
  • Works with WooCommerce Subscriptions Premium Add On for WooCommerce.
  • Works with the Multiple Memberships Per User Add On for Paid Memberships Pro.
  • Synchronizes the Billing Address Fields Between WooCommerce and Paid Memberships Pro.
  • Sell a Membership in Paid Memberships Pro as a WooCommerce Product (To sell subscriptions with the WooCommerce checkout process, you can use the built-in subscriptions functionality or the WooCommerce Subscription Extension. PMPro’s checkout process includes recurring subscription processing).

This plugin requires Paid Memberships Pro and WooCommerce to be installed, activated, and configured.

Video Demo

Installation

  1. Upload the ‘pmpro-woocommerce’ directory to the ‘/wp-content/plugins/’ directory of your site.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.

Membership Products and Per-Level Pricing

This plugin adds a new “Membership” tab to the Product Data meta box on a single product edit page. In this section you can set a product to give customers a membership level or add custom pricing to the product by membership level.

Membership tab on the single product edit page.

Membership Products

Membership Products are products which assign the customer a PMPro membership level after their order is completed. It is important that you have disabled “Guest Checkout” and have enabled “Account Creation as Part of Checkout” via WooCommerce Settings.

If a user adds a Membership Product to their cart, any Member Discounts or Pricing will be applied as if the user already had that membership level.

Note: The membership will not be applied until the WooCommerce order status is “completed”.

We have added a setting to the Membership tab of the Product Data meta box to “mark the order as completed immediately after checkout to activate the associated membership”.

Alternately, you can mark your WooCommerce membership product as a Virtual Product and use a plugin such as WooCommerce Autocomplete Order.

The membership level expiration date will be inherited from the level as set up under Memberships > Settings > Edit Membership Level. It is important to note that the price for membership will not be inherited from the level. You must set the price in the WooCommerce product. If you require your level to create a subscription, you must use the WooCommerce Subscriptions (premium) extension.

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.

To recap, if you intend to fully use WooCommerce for membership checkout, please note the following:

  • All of the level pricing details would be set up via the product in WooCommerce.
  • If you are using WooCommerce as the “product” for membership, none of the settings in Paid Memberships Pro’s Memberships > Settings > Levels in the admin are used.
  • You will need the WooCommerce Subscriptions plugin to charge recurring payments. Note that Paid Memberships Pro does include recurring subscriptions in the plugin for no additional cost but you must use the Paid Memberships Pro checkout process to use this feature.
  • You do not need to set up any of the pages within the Memberships > Settings > Page Settings page in the WordPress admin. You can optionally set the Levels page to the category of products for your membership levels. Other account type pages can be set to your WooCommerce My Account pages.
  • 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.

Product Pricing by Membership Level

The Membership tab of the Product Data meta box also lists pricing fields for each membership level on your site.

Using these fields, you can create different prices for users with different membership levels. If they don’t have a membership, the price won’t be affected.

Global Product Discounts By Membership Level

In addition to membership pricing, site-wide discounts can also be applied depending on membership level. PMPro WooCommerce adds a new option to the Edit/Add Membership Level page where you can specify a Membership Discount.

  1. Navigate to Memberships > Settings > Levels.
  2. Select a level to edit.
  3. Locate the “Other Settings” box.
  4. Edit the setting for “Membership Discount”.
  5. Save Level changes.

Currently, membership discounts can only be applied as a percentage off of the product’s price.

Edit Membership Level screen with the setting to set the membership discount for WooCommerce purchases

It is important to note the following rules related to members-only pricing:

The product price will be calculated as:

  • The regular price less member discount if applicable
  • The sale price (if set) less member discount if applicable
  • The member price set under Edit Product > Membership > LEVEL NAME price:, less the global member discount set under Memberships > Edit Level.

Members Only Products

If you’d like to offer certain products to members only, see the Custom Post Type Membership Access add on.

Members Only Store

If your entire store is locked for members only, see this post on Locking Your Entire eCommerce Shop for Members-Only.

Catalog Mode for Non-Member

If you would like non-members the ability to see your store items but restrict them from seeing prices and ability to purchase, see this post on Turn your WooCommerce Store into a Catalog for Non Members 

Use WooCommerce to Sell Memberships with Your Payment Gateway of Choice

If you would like to see how to sell Memberships using the WooCommerce Checkout, the payment gateway of your choice and Paid Memberships Pro to view this post: Use WooCommerce to Sell Memberships with your Payment Gateway of Choice

Compatibility with Other PMPro Add Ons

As all of the membership level pricing details would be set up via the product in WooCommerce, most of the Paid Memberships Pro checkout related Add Ons are not compatible with our WooCommerce integration. Here is a list of the most frequently asked about PMPro Add On compatibilities.

Compatible:

Not Compatible:

Action and Filter Hooks

apply_filters( 'pmprowoo_checkout_level', $custom_level );
apply_filters( 'pmprowoo_mmpu_force_add_level', false );
apply_filters( 'pmprowoo_get_membership_price', $discount_price, $level_id, $price, $product );
do_action( 'pmprowoo_extra_tab_options' );

This is a Free Add On.

Create a free account or log in to gain access to downloads and documentation.