Documentation

MemberPress Subscription Bridge

Complete guide to installing, configuring, and using every feature of the plugin. From basic setup to advanced external site memberships.
01

Installation & Requirements

Requirements

Optional (auto-detected)

Installation Steps

1. Download the plugin ZIP file. 2. Go to WordPress Admin > Plugins > Add New > Upload Plugin. 3. Upload the ZIP and click Install Now. 4. Click Activate. 5. Navigate to WooCommerce > MP Sub Bridge to configure settings. The plugin automatically creates its database table on activation. No further setup is needed to get started — just configure your products.
02

Quick Start Guide

Get your first automatic membership creation working in under 5 minutes: Step 1 — Create a MemberPress Membership In MemberPress > Memberships, create at least one membership level (e.g., “Gold Membership”) with your desired access rules and expiration. Step 2 — Configure a WooCommerce Product Edit any WooCommerce product. Click the MemberPress tab in the Product Data section. Check Enable MemberPress Membership, select your membership level(s), and optionally set a price override. Step 3 — Place a Test Order Purchase the product through your store. Once the order reaches the configured status (default: Completed), the membership is created automatically. Step 4 — Verify Check WooCommerce > MP Sub Bridge > Activity Log to see the membership creation entry. You can also verify in MemberPress > Members that the customer now has an active membership.
03

Plugin Settings

Navigate to WooCommerce > MP Sub Bridge > Settings. All settings are grouped into three sections:
Username Format — Controls how WordPress usernames are generated for new members: • Email address (default) — uses the full email as username • Email prefix — uses the part before the @ sign • First.Last — uses first and last name from billing details Use Logged-in Email — When enabled, uses the logged-in user’s email instead of the billing email. Useful when customers order on behalf of others. Order Status Trigger — Choose when membership creation fires: • Completed (default) — safest option, fires after payment is confirmed • Processing — fires earlier, useful for digital-only stores
Auto-complete Orders — When enabled, orders containing membership products are automatically marked as Completed on the thank-you page. This triggers membership creation immediately without waiting for manual completion. Custom Redirect Page — Select a page to redirect customers to after purchase instead of the default thank-you page. Great for sending members to a welcome page or their account dashboard. Redirect Only Membership Orders — When enabled, only orders that contain membership products are redirected. Non-membership orders use the default WooCommerce flow.
Enable Welcome Email — Toggle the automatic welcome email sent after membership creation. From Name / From Address — Customize the sender details. Defaults to your site name and admin email. Subject / Body — Customize the email content using these placeholders: • {first_name} — Customer’s first name • {last_name} — Customer’s last name • {username} — Their WordPress username • {login_url} — Your site’s login page URL • {site_name} — Your website name • {membership_name} — The membership level(s) assigned • {order_id} — WooCommerce order number New users also receive their generated password in the email. Existing users see “(your existing password)” instead.
04

Product Configuration

Each WooCommerce product can be linked to one or more MemberPress membership levels. Edit any product and open the MemberPress tab in the Product Data section. Enable MemberPress Membership — Check this box to activate membership features for this product. Membership Type — Choose between: • Local Membership — Creates memberships on this site • External Membership — Creates memberships on a remote site via REST API Membership Level(s) — Select one or more MemberPress membership levels. A card appears for each selected level with these options: Price — The amount recorded in the MemberPress transaction. Defaults to the WooCommerce product price but can be overridden per level. This is useful when one product grants multiple levels at different price points. Expiration — Choose between: • Use MemberPress defaults — Uses whatever expiration is configured in the MemberPress membership level settings (the current setting is displayed so you don’t need to leave the page) • Override expiration — Choose Never, Fixed Date, or a Period (months + days) Corporate Account — If MemberPress Corporate Accounts addon is active, you can enable corporate accounts per level and set the maximum number of sub-accounts.
05

Variable Products & Expiration

Variable Products Each variation can have its own membership settings independent of the parent product. Expand any variation in the product editor to see the MemberPress section. When a customer purchases a specific variation, the plugin checks the variation for membership settings first. If no settings are found on the variation, it falls back to the parent product’s settings. This lets you: • Assign different membership levels to different variations (e.g., “Monthly” variation → Silver, “Annual” variation → Gold) • Use the same level but with different prices per variation • Leave some variations without membership features entirely Expiration Settings By default, the plugin uses whatever expiration is configured directly in your MemberPress membership level. This means if you change the expiration in MemberPress, all future orders automatically use the new value. To override per product, select Override expiration and choose: • Never Expire — Membership never expires • Fixed Date — Expires on a specific date you set • Period — Expires after a number of months and/or days from the purchase date The current MemberPress default is always displayed beneath the option so you can make an informed decision.
06

Member Discounts

The discount system works at two levels: per-product and global. Per-Product Discounts Edit any WooCommerce product and open the Member Discounts tab. Select the membership levels that qualify for a discount, then configure each level’s discount type and value: • Percentage — e.g., 20% off the regular price • Fixed Price — member pays exactly this amount • Fixed Amount Off — subtracts a fixed amount from the price Additional options: • Prioritize this discount — Forces the per-product discount to always win over global discounts • Exclude from global discounts — This product is never affected by global rules Global Discounts Go to WooCommerce > MP Sub Bridge > Discounts. Set a discount type and value for each membership level. These apply to all products that don’t have per-product overrides or exclusions. How Conflicts Are Resolved When both a per-product and global discount apply to the same product for the same member: 1. If the product has “Prioritize” enabled, the per-product discount always wins 2. Otherwise, the lowest price (best for the customer) is chosen 3. Discounts are never stacked — only the single best discount applies Discounted prices appear automatically on the shop page, product page, and in the cart for logged-in members with qualifying memberships.
07

Subscriptions & Corporate Accounts

When WooCommerce Subscriptions is active, the plugin automatically syncs subscription status changes between WooCommerce and MemberPress. Status Mapping: • Active → MemberPress Complete (membership active) • Cancelled → MemberPress Refunded (membership revoked) • Pending / On-hold → MemberPress Pending • Expired → No action (MemberPress handles its own expiration) How It Works: On the initial subscription order, the plugin creates both a MemberPress transaction and a MemberPress subscription record. When WooCommerce Subscriptions changes the subscription status (e.g., customer cancels), the MemberPress transaction status is updated automatically. Renewals create new transactions linked to the same MemberPress subscription. No configuration needed — if WooCommerce Subscriptions is active, the sync is automatic.
When the MemberPress Corporate Accounts addon is active, you can enable corporate account creation per membership level in the product editor. Setup: 1. Edit a WooCommerce product with membership enabled 2. On each membership level card, check Enable Corporate Account 3. Set the Max Sub-accounts number What Happens on Purchase: When the order is processed, the plugin creates the membership transaction and then creates a corporate account record in MemberPress. The purchasing user becomes the corporate account owner and can manage sub-accounts through MemberPress’s built-in corporate interface. The corporate addon is auto-detected — if it’s deactivated, the corporate options simply don’t appear in the product editor.
08

External Site Memberships

This feature lets you sell memberships on your WooCommerce store (Site A) and create them on a completely separate WordPress/MemberPress site (Site B). Site B does not need WooCommerce — only MemberPress and this plugin. Setting Up the Remote Site (Site B — Receiver) 1. Install this plugin on Site B 2. Go to Settings > WCMPA Remote Access 3. Set Enable Remote Access to Enabled 4. Click Generate New Key to create an API key 5. Copy the API key and the REST API URL shown on the page Connecting from Your Store (Site A — Sender) 1. Go to WooCommerce > MP Sub Bridge > External Sites 2. Enter the remote site’s name, URL, and API key 3. Click Add Site 4. Use the Test Connection button to verify the connection 5. Use Fetch Memberships to load the remote site’s available membership levels Linking Products to External Memberships 1. Edit a WooCommerce product, open the MemberPress tab 2. Set Membership Type to External 3. Select the external site from the dropdown 4. Select the remote membership level(s) 5. Configure pricing and expiration as normal What Happens on Purchase When the order completes, the plugin sends a REST API request to the remote site with the customer’s email, name, membership ID, price, and expiration. The remote site creates the WordPress user (if needed) and the MemberPress transaction. The response (username, login URL) is stored in the order notes. Status Sync If an order is refunded or cancelled, the plugin automatically sends a status update to the remote site, which updates the MemberPress transaction accordingly. Security All API communication uses key-based authentication via the X-WCMPA-API-Key header. Keys are validated with timing-safe comparison (hash_equals) to prevent timing attacks.
09

Activity Log & Reapply Orders

Activity Log Every membership creation is logged in WooCommerce > MP Sub Bridge > Activity Log. Each entry shows the order ID, action performed, details, user email, and timestamp. Entries from the same order are grouped by a batch ID, making it easy to see everything that happened for a single order. You can filter logs by date or order ID. A Clear Logs button removes all entries (with confirmation). Actions logged include: • Membership assigned • Membership creation failed • New member created • Existing member found • Welcome email sent • External membership registration Reapply Memberships If something went wrong or you need to re-process an order: Single Order: Open the order, use the Order Actions dropdown and select Re-apply MemberPress Membership. This deletes all existing transactions/subscriptions for that order and re-runs the full process. Bulk: On the Orders list, select multiple orders, choose Re-apply MemberPress Membership from the Bulk Actions dropdown, and click Apply. Works on both HPOS and legacy order screens. System Status The System Status tab shows a quick health check: WooCommerce version, MemberPress version, whether WC Subscriptions and MP Corporate are detected, PHP version, and HPOS status.
10

Troubleshooting & Privacy

Check these in order: 1. Order status — Does the order reach the configured trigger status? Check Settings > Order Status Trigger. If set to “Completed” but orders stay on “Processing”, either change the trigger or enable Auto-complete Orders. 2. Product configuration — Is “Enable MemberPress Membership” checked on the product? Is at least one level selected? 3. Activity Log — Check for error entries. “Membership creation failed” entries include the reason. 4. Duplicate check — The plugin marks orders with wcmpa_processed = 1 after processing. If an order was already processed, it won’t run again. Use the Reapply action to re-process.
1. Is the user logged in? Discounts only apply to authenticated users. 2. Does the user have an active membership? Check MemberPress > Members to verify. 3. Is the correct level configured? The discount must be set for the specific membership level the user has. 4. Caching — If you use a page cache plugin, logged-in users might see cached guest prices. Ensure your cache excludes logged-in users or uses user-aware caching. 5. Variation prices — For variable products, discounts are applied per-variation. Check that the variation has a price set.
1. Is remote access enabled? On the remote site, go to Settings > WCMPA Remote Access and confirm it’s set to Enabled. 2. API key match — Ensure the key on the sender matches exactly what’s shown on the receiver. Copy-paste to avoid typos. 3. REST API accessible — Visit https://remote-site.com/wp-json/ in your browser. If it shows a JSON response, the REST API is working. If not, check permalink settings (set to anything other than “Plain”). 4. SSL — Both sites should use HTTPS. Mixed HTTP/HTTPS may cause connection failures. 5. Firewall — Some security plugins block REST API requests. Whitelist the /wp-json/wcmpa/v1/ endpoints.
The plugin includes full WordPress Privacy tools: • Privacy Policy Suggestion — A suggested text is added to your Privacy Policy page under Tools > Privacy. Review and include it in your published policy. • Personal Data Export — When a user requests their data via Tools > Export Personal Data, the plugin exports all activity log entries associated with their email. • Personal Data Erasure — When a user requests data deletion via Tools > Erase Personal Data, all their activity log entries are deleted. If the External Sites feature is used, the privacy policy text notes that data may be transmitted to remote sites.
When the plugin is deleted through the WordPress admin (Plugins > Delete), it performs a complete cleanup: • All plugin options are removed from the database • All wcmpa_* post meta and user meta is deleted • The custom wcmpa_activity_log database table is dropped • All plugin transients are cleared Important: This only happens on deletion, not deactivation. Deactivating the plugin preserves all data so you can reactivate later without losing settings. Note: MemberPress transactions and subscriptions created by the plugin are NOT deleted on uninstall. These belong to MemberPress and should be managed through MemberPress’s own tools.

Need Help?

If you can’t find the answer in this documentation, reach out to our support team. We’re happy to help with setup, configuration, and troubleshooting.