Paid Membership Subscriptions – Effortless Memberships, Recurring Payments & Content Restriction

Paid Membership Subscriptions – Effortless Memberships, Recurring Payments & Content Restriction

Feature-packed membership plugin for creating subscription plans, adding recurring payments & content restriction on your membership site.
Rating:
4.7
star-rating-1star-rating-2star-rating-3star-rating-4star-rating-5
Active Installations:
10000+
Last Updated:
Feb 25, 2025
WordPress Version:
3.1 or higher
Tested up to:
6.7.2

Boost Revenue

Generate recurring income effortlessly.

Automate Payments

Accept recurring payments hassle-free.

Build Community

Create a thriving paid community easily.

Restrict Content

Control access to premium content effortlessly.

2.14.2

  • Enhancement: Added possibility to filter the Payments List based on different criteria like Subscription Plan, Payment Type, Payment Gateway, Date
  • Enhancement: Added a link to the related subscription for each Payment on the Payments List Table and Single Payment View
  • Enhancement: When redirecting to the payment details page after a Manual/Offline payment, the URL will now include the payment id, subscription plan ID and subscription ID (only for logged in users)
  • Fix: Issue with filtering members generating very long query strings when members were subscribed to multiple subscriptions
  • Fix: An issue with Manual/Offline payment gateway where active subscriptions would not be renewed properly
  • Fix: Allow admins to modify the Subscription Billing Details of a subscription that uses the Manual/Offline payment gateway
  • Fix: Allow searching by username inside the Payments List
  • Fix: Allow admins to change the plan of a recurring subscription with one from the same tier if the payment gateway supports this
  • Fix: Make sure the Payment Error message is not displaying an empty retry link in some situations
  • Fix: Autologin not working when a payment was failing with Stripe
  • Fix: Display of sorting indicators on back-end tables
  • Misc: When editing a subscription as an admin, show the Billing Amount field only for recurring subscriptions
  • Misc: Save related subscription ID to the Payment when an admin is manually creating payments
  • Misc: Allow sorting the Payments List table based on the Subscription Plan, Date and Type columns
  • Misc: Make sure a clean URL is generated for the Edit Member Subscriptions link on the Members List table
  • Misc: Added a tool on the Settings -> Misc -> Others page that can be used to cleanup unnecessary postmeta that was added by the plugin

2.14.1

  • Feature: Implemented reCaptcha v3 score threshold option. This can be configured from the Settings -> Misc -> reCaptcha tab subtab
  • Fix: Issue with the Members List not showing subscription information in the Subscribed To column when navigating to different pages than the first one
  • Fix: An issue that was causing PWYW subcriptions with a price of 0 to require that a payment gateway be selected
  • Fix: Set the end time of Fixed Period Subscriptions to the end of the selected day (23:59:59)
    *Fix: Make sure our own custom post type post meta keys are not being saved in postmeta for random post types. Next version will contain a tool to remove unnecessary post meta entries that were created
  • Fix: Disable autoloading for some bigger options which do not need it
  • Fix: Make sure the Failed Payment webhook from Stripe does not process the subscription if there’s a newer Completed payment for the same subscription
  • Fix: Compatibility issues with the Elementor Loop Grid widget
  • Misc: Include Currency property inside the PMS_Payment class. Payments can also be searched using their currency through pms_get_payments()
  • Misc: Change deprecated jQuery event used in Discount Codes front-end
  • Misc: Added a filter with the same name inside the pms_is_member function: pms_is_member
  • Misc: Reworked Gutenberg Blocks for forms
  • Misc: Add a class over the redirecting to PayPal message which appears when the Profile Builder form is used
  • Misc: Add a link over the transaction ID which sends you to the PayPal website to view the transaction for PayPal Express as well

2.14.0

  • Fix: Issue with Pending Manual Payment email being sent multiple times
  • Fix: Make sure Elementor Cache is bypassed when the logged_out_user restriction is applied
  • Fix: Issue with PayPal subscriptions not being canceled when the plan is changed to a non-recurring one
  • Fix: Some notices that could be triggered on the Reports page in some cases
  • Fix: Show correct payment currency on the WordPress Dashboard page and Paid Member Subscriptions Dashboard page
  • Fix: Some potential warnings that could trigger from the content restriction functionality
  • Fix: The back-end Bulk Delete Subscriptions functionality is now deleting all of the users subscriptions instead of a random one. It also takes into account any filters that are applied, so it can delete only Pending subscriptions for example. The new rule is that it will delete exactly what you see in the Subscribed To column
  • Misc: Show Connect with Stripe button as soon as the gateway is enabled in settings
  • Misc: Show a notification when future payments are scheduled through Stripe but the gateway is disconnected

2.13.9

  • Feature: Added possibility to Export Members based on the payment gateway that they used to subscribe
  • Fix: Issue with Subscription Import when trying to update existing members
  • Fix: Issue with Payments Export not working
  • Fix: Always show Renew button for Expired subscriptions, similar to Canceled status
  • Fix: Notice appearing on the admin group dashboard page in some cases
  • Fix: Notices that could trigger from the Subscription Plans Product Discounts metabox when an empty row was present
  • Fix: Issue with the Pending Manual Payment email not being sent
  • Misc: Updated documentation links for the Export and Import functionalities

2.13.8

  • Fix: A security issue. Thanks to Wesley Craft for the report
  • Fix: Stripe is now respecting the {{http_referer}} tag from Profile Builder Custom Redirects

2.13.7

  • Fix: Issue with Setup Wizard not going past the first step
  • Fix: Product Memberships metabox not appearing for WooCommerce Products
  • Fix: Error that could be triggered in some cases on the Reports page

2.13.6

  • Feature: Restricted posts are now also excluded from the Elementor Loop Grid widget
  • Fix: Add compatibility with Elementor Element Cache to our Content Restriction integration and form widgets
  • Fix: Some warnings that could appear on the Members List table sometimes
  • Fix: Discount code uses not counting when purchasing a plan with a free trial
  • Fix: Billing Amount display issue with Stripe when the first payment after a free trial has a discount
  • Fix: An error relating to the Import functionality
  • Fix: Reset subscription data when an admin changes the status to abandoned
  • Misc: Added support to search payments by member_subscription_id to the pms_get_payments() function

2.13.5

  • Fix: Security issue regarding unauthenticated content restriction bypass. Thanks to Francesco Carlucci
  • Fix: Now the Exclude Restricted Posts From Queries functionality is enabled by default on all websites. The existing option to activate this feature was changed into an option to disable it. You can find the disable option on the Settings -> Content Restriction page
  • Fix: Exclude posts from queries not detecting single pages of custom post types properly
  • Fix: Added support to the Exclude Posts From Queries feature to filter posts from Rest API search requests
  • Fix: Compatibility changes for the Multiple Currencies add-on
  • Fix: Improve reports loading times and performance
  • Fix: Add support to match subscriptions based on subscription_id when importing
  • Fix: Allow importing of usermeta data
  • Fix: Don’t instantiate Subscription Plan class with random post types
  • Fix: More fixes relating to the doing it wrong WordPress 6.7 notice
  • Fix: Correctly assign member subscription id to a newly created payment with PayPal Standard
  • Fix: Issue where a subscription purchase using a 100% discount code through the Manual payment gateway was setting the wrong expiration date for the subscription
  • Fix: Issue with Fixed Period Memberships not showing the Cancel subscription action
  • Misc: A notice that could appear in some cases
  • Misc: Fix Reports page state when no payments are available for the selected period
  • Misc: The admin Payment Gateway selection was moved to a separate subtab on the Settings -> Payments page

2.13.4

  • Feature: Import subscriptions from a .csv file. This can be used to create, update or migrate subscriptions. Go to the Reports -> Imports tab to use it
  • Fix: PHP Notice that started appearing with the WordPress 6.7 update
  • Fix: Issue with reCaptcha v3 not submitting forms correctly when Chrome was used
  • Fix: Show correct amount in the pending payment email when a discount code is used
  • Fix: Add support for REST API search queries when the restrict posts from queries option is used
  • Fix: A notice coming from the reCaptcha functionality
  • Misc: Small correction on the Dashboard page
  • Misc: Fix some potential notices that could appear in some cases

2.13.3

  • Fix: Issue with Stripe not identifying correctly a 100% discounted purchase in the front-end
  • Fix: Issue with recurring subscription information remaining after a subscription change, upgrade or downgrade in some cases
  • Fix: Notice when opening the Update Payment Method form
  • Misc: Add copy feature to the Code fields from Discount Codes
  • Misc: Small improvement to email merge tags for unlimited subscriptions

2.13.2

  • Feature: Added reCaptcha v3 functionality. Go to the Settings -> Misc -> reCaptcha page to enable it
  • Fix: Improve verification when saving subscription plans so it doesn’t fail when the PHP instance is missing the ctype functions

2.13.1

  • Fix: Security issue regarding the refresh function of the Divi admin builder interface module. Thanks to Arkadiusz Hydzik from Wordfence
  • Fix: An edge case with the Register Domain functionality from Stripe where it wasn’t able to correctly register the website URL
  • Fix: Incorrect subscription processing with Stripe when a plan was free but had a sign-up fee applied
  • Fix: Warning triggered by a function
  • Misc: Separate countries in Stripe between production and test modes
  • Misc: Show search box for the Load Scripts Only On Certain Pages select
  • Misc: Filter the pages from the Load Scripts Only On Certain Pages functionality so additional post types besides pages can be listed: pms_scripts_potential_pages_list

2.13.0

  • Fix: Issue with Export functionality not working correctly
  • Fix: Some notices coming from the Export functionality with newer PHP versions
  • Fix: PHP 8.2 notices coming from the [pms-account] shortcode when actions were disabled
  • Fix: Issue where the Subscription Plan price couldn’t be set to 0
  • Fix: Compatibility issue between our Free Trial functionality and the WooCommerce Stripe gateway plugin
  • Fix: Issue with Free Trial not working correctly when changing subscriptions using the Manual / Offline payment gateway
  • Fix: Issue with billing amount not being set correctly for plans purchased through the Manual / Offline payment gateway
  • Misc: Added a filter to enable the display of user roles created by other Subscriptions Plans when creating a subscription plan: pms_get_user_role_names_exclude_subscription_plans_created_roles
  • Misc: Speed up processing when checking if discounts are defined
  • Misc: Fix a count issue for Setup Wizard progress steps

2.12.9

  • Feature: Added option to exclude restricted posts from default queries. Go to Settings -> Content Restriction to enable this functionality
  • Feature: Implemented a Multiple User Role selection functionality for the Users -> Edit User page
  • Fix: Did a security review fixing random issues
  • Fix: Security issue regarding unproperly sanitized URLs around some back-end pages. Thanks to Colin Xu from Wordfence
  • Fix: Issue with Stripe when both Login and Register forms were present on the same page
  • Misc: Corrected some documentation links
  • Misc: Let the Stripe Payment Element grow naturally with the form width

2.12.8

  • Fix: Incorrect spelling on cancel button title
  • Misc: Compatibility changes for Form Designs paid version update
  • Misc: Added a filter that can be used to manipulate the query arguments of the pms-payment-history shortcode: pms_payment_history_shortcode_args

2.12.7

  • Fix: Admin bar setting to take into account individual user admin bar settings
  • Fix: Small security change for a Setup Wizard action
  • Misc: The Stripe Payments Element locale is now set to the website locale.
  • Misc: Add a spinner before the Stripe form loads

2.12.6

  • Fix: Issue with WYSIWYG element toolbar from some back-end fields displaying incorrectly
  • Fix: Issue with Stripe payment methods that redirect offsite
  • Fix: A PHP 8.2 notice that could appear in some cases
  • Misc: Add a filter the discount code field value: pms_discount_code_field_value

2.12.5

  • Fix: A scenario where sign-up fees weren’t applied to new users with Stripe
  • Misc: Add a renewal log type when an admin manually renews a subscription

2.12.4

  • Fix: Change GDPR Delete button type from submit to button
  • Fix: When a payment fails during a Stripe Setup Intent, show a link for the login form
  • Fix: Resolve compatibility for Stripe payment methods that redirect offsite and the redirect set on a Profile Builder form
  • Fix: A case with Stripe where webhooks were not being processed
  • Fix: Scenario with Stripe where the Customer and Payment Method ids couldn’t be changed by the admin
  • Misc: Fix a warning that could appear in some cases
  • Misc: Show users email address alongside their username when listing users to add a new payment or member

2.12.3

  • Fix: German translation issue that was present in the files we supply with the plugin
  • Fix: Javascript error being triggered when an error happened while trying to process a Setup Intent
  • Fix: Issue with manual payments added over a pending subscription extending it’s duration twice
  • Fix: Made some changes to how Stripe processes webhooks
  • Misc: Allow resizing of the back-end WYSIWYG fields
  • Misc: Fix an attribute typo for the discount codes field

2.12.2

  • Fix: Allow reset password form to submit correctly when being placed on the same page as the register form
  • Fix: Issue with recurring discount code not being applied to future payments done with Stripe
  • Fix: Renewal issue for free trial subscriptions where the plugin tried to erroneously apply the trial again
  • Misc: Run a custom javascript trigger when a validation error happens in the registration form: pms_checkout_validation_error
  • Misc: Filter the landing page URL of the password reset form so it can be adjusted through code: pms_recover_password_landing_page_url

2.12.1

  • Feature: Added an option to change the text that is displayed over a WooCommerce Product when it has a member discount. Go to the PMS -> Settings -> WooCommerce page to customize this
  • Fix: Improve Registration page loading speed when Stripe payment gateway is used
  • Fix: Issue with the Subscription Plans field not displaying correctly on the back-end Profile Builder -> Form Fields page in some cases
  • Fix: An issue with the Profile Builder Userlisting expiration date merge tags which were not taking into account Unlimited subscriptions
  • Fix: Issue with the start time of subscription being broken when an admin manually edits a subscription
  • Misc: Disable Payment Retry functionality when an admin manually edits a subscription
  • Misc: Added a filter over the Profile Builder Edit Profile form that can be displayed on the Account -> Edit Profile tab. This can be used to have different forms based on the members subscription: pms_member_account_wppb_edit_profile_form
  • Misc: A couple cosmetic changes for the Reports page

2.12.0

  • Feature: Added integration with TutorLMS to allow admins to setup paid courses that can be accessed after buying a subscription
  • Feature: Improvements to the Reports page: added more stats like new revenue, recurring revenue, subscription plan earnings, payment gateway revenue etc. Also added a comparison area showing the same stats but from last year.
  • Fix: Sending of the Renewal Email when the Stripe gateway is used
  • Fix: Issue with Apple Pay verification not working properly on subdomains
  • Fix: Position for Save button on plugin pages
  • Fix: Change initial payment type for PayPal Standard Recurring payments
  • Fix: Issue with Upgrades, Downgrades when a 100% discount code was used with Stripe
  • Fix: A scenario with Apple Pay, Google Pay in which the form was getting stuck
  • Fix: Issue with the Pricing Tables preview modal not opening
  • Misc: Allow admins to edit the payment gateway of a subscription through a filter that needs to be enabled: pms_edit_subscription_enable_payment_gateway_editing
  • Misc: Allow payments to be searched by a discount code
  • Misc: Add a link to see who used a discount code over the Uses column of the Discount Codes listing
  • Misc: Add a class over the duration of a subscription plan in front-end
  • Misc: Added a link over the transaction ID for payments linking to the payment gateway dashboard

2.11.9

  • Fix: Made some changes to the Stripe account onboarding process to make it more reliable
  • Fix: Hide license notification in cases where it was being shown incorrectly
  • Misc: Hide payment gateways when they are added in a Profile Builder form and the form is being viewed by an admin

2.11.8

  • Fix: Add support to Stripe for recurring payments done through SEPA Direct Debit. Also applies to payment methods which use SEPA Direct Debit for recurring (iDeal for example)
  • Fix: A notice happening in the Setup Wizard
  • Fix: Properly initialize chosen on the Reports page when it’s missing
  • Misc: Remove before unload event for Stripe so payments which redirect off-site don’t require an extra click
  • Misc: Updated Stripe PHP bindings to the latest version (13.17.0)
  • Misc: Bumped the minimum supported version of Stripe PHP bindings to 7.33.0 when other plugins are loading this library

2.11.7

  • Feature: Added the ability to select predefined or custom date intervals for the Reports page
  • Feature: Added subscription plans filter to the Reports page
  • Fix: Issue with the automatically login option from Profile Builder forms not working with Stripe
  • Fix: Notice that could appear in some scenarios
  • Misc: Make sure back-end members page script only loads on the page that needs it
  • Misc: Added a filter that can be set to false to disable the automatic paragraph formatting when sending emails: pms_emails_auto_format

2.11.6

  • Feature: Enabled support for Apple Pay and Google Pay through Stripe. Enable these payment gateways by going to your Stripe Dashboard -> Payment Methods page
  • Fix: Notice appearing in some cases relating to Gutenberg blocks
  • Misc: Added a new merge tag for emails: subscription_plan_id
  • Misc: Update the Uninstall page to the new plugin styles
  • Misc: Fix a small CSS error regarding the Pricing Tables templates
  • Misc: Random adjustments for back-end pages

2.11.5

  • Fix an issue where the plugin couldn’t be activated in some scenarios

2.11.4

  • Feature: Pricing Tables templates. Easily create a pricing page for your subscription plans. Go to Subscription Plans -> Create Pricing Page to get started
  • Fix: Issue with Group Memberships extra fields not being updated when changing a membership through Stripe
  • Fix: Double activation messages from payments and subscriptions when Stripe Webhooks were configured
  • Fix: An issue with login errors not being displayed when LearnDash was active
  • Misc: GDPR field will now show the agreement time on the back-end Users -> Edit User page
  • Misc: Change plugin icon from admin menu
  • Misc: Random changes for back-end pages design

2.11.3

  • Feature: Added Content Restriction options for Divi Builder modules
  • Fix: Issue with Stripe connection when it was initialized from the Setup Wizard
  • Fix: Improvements to how Stripe Customer objects are created and handled by the plugin
  • Fix: Issue with child memberships when a group membership owner renewed or upgraded his subscription through Stripe
  • Fix: Issue with Discount Codes field displaying when no disocunts were defined
  • Fix: Dismiss action for the PSP notice
  • Fix: Make sure certain Manual gateway functionality is only hooked once
  • Misc: Show a button to go to the Add Member Subscriptions page directly from the Edit User page
  • Misc: Show connected Stripe Account ID and Country on the admin page
  • Misc: Added plugin marketing optin process
  • Misc: Compatibility with new LearnDash add-on

2.11.2

  • Fix: Security issue. Thanks to Lucio Sá
  • Fix: Add nonce check when creating pricing pages. Thanks to Lucio Sá
  • Misc: Declare translations domain path so the .pot file with translations can be identified properly

2.11.1

  • Fix: Issue with subscription not activating correctly when Stripe was used after a Profile Builder Email Confirmation
  • Fix: Add nonce check when dismissing SSL notice. Thanks to Dhabaleshwar Das for the report
  • Fix: A notice regarding the Discounts functionality
  • Fix: Back-end pages styling when plugin name is localized
  • Fix: An issue with Password Strength functionality not loading correctly
  • Fix: Issue with PSP notice not appearing for Stripe gateway
  • Misc: Added actions after the plugin adds or removes a user role from a member: pms_add_user_role and pms_remove_user_role
  • Misc: Small styling change for Setup Wizard active tabs

2.11.0

  • Fix: Issue with plugin logo from Basic Information page not being displayed correctly on multisite
  • Fix: Notice coming from the Gutenberg Content Restriction functionality
  • Fix: Issue with serial number detection on certain multisite WordPress setups
  • Misc: Disable auto hide discount codes box functionality when the website has too many discount codes defined
  • Misc: Display future subscription billing amount when viewing a subscription in the back-end

2.10.10

  • Fix: Don’t show Cancel subscription button for Unlimited subscriptions
  • Fix: An issue where there expiration date wasn’t correctly set when a 100% discount code was used
  • Fix: Issue with Profile Builder form not being validated properly when Stripe was used
  • Fix: Issue with Sign-up fees being added to every Stripe recurring payment
  • Fix: Issue with free trial subscriptions that also had a sign-up fee not being properly activated through Stripe
  • Fix: Register form sidebar issue when it was placed alongside a login form on the same page
  • Misc: Added a shortcode that can be used to get a member count: [pms-count-members plan_id=”” status=””]
  • Misc: Enable support for the Stripe Elements Appearance API. Rules can be added through the: pms_stripe_connect_elements_styling filter
  • Misc: Correct display for Payment Logs View Details modal
  • Misc: Added a new initial recommended step: Create Pricing Page

2.10.9

  • Feature: Added Divi Modules that can be used to create the pages with the plugin shortcodes
  • Fix: Issue with form location when validating Discount Codes request
  • Fix: Issue with doing it wrong notice relating to Gutenberg Content Restriction blocks
  • Fix: When using Stripe make sure usual URL parameters are retained when redirecting to the Register Success Page
  • Fix: Use site_url() when determining the location to return the admin when a Stripe connect account request is made
  • Fix: Issue with the Automatically Generate Password for users feature from Profile Builder when using Stripe
  • Misc: Hide Lost Connection notice from the plugin custom post type pages
  • Misc: Updated Stripe PHP bindings to the latest version
  • Misc: Added click to copy functionality for shortcodes displayed on the back-end pages
  • Misc: Fix javascript custom post types error showing in back-end

2.10.8

  • Feature: Added default form styling for block themes
  • Fix: Issue between Content Restriction and Gutenberg Blocks which was causing them to not load in back-end
  • Fix: Issue with Sign-up fee not being taken into consideration by tax breakdown on the Profile Builder form
  • Fix: A notice coming from the Gutenberg integration
  • Fix: Issue with Pricing Tables generation
  • Fix: Javascript error coming from the Subscription Purchase Link generator option from Gutenberg
  • Fix: Use the price of a subscription plan from the website when creating the initial payment intent
  • Fix: Stripe issue with future payment amount when a zero decimal currency was used
  • Misc: Stripe Copy Webhook URL button now works again
  • Misc: Added a filter over the Stripe redirect URL when an error happens: pms_stripe_error_redirect_url
  • Misc: Settings pages width improvements

2.10.7

  • Fix: Incompatibility issue with older versions of the paid plugin

2.10.6

  • Feature: Added the ability to customize the Password Reset Email
  • Fix: Added compatibility for the Profile Builder form and Stripe payment methods that redirect the user off site for completion
  • Fix: Issue with Link Popup not showing inside the Email or Content Restriction fields
  • Fix: Some issues with the subscription expiration date tag for Profile Builder
  • Misc: Small styling changes for Setup Wizard page
  • Misc: Added options to see This or Last Year data for the Dashboard stats widget
  • Misc: Fix a Stripe issue when trying to update metadata
  • Misc: More improvements to the settings pages

2.10.5

  • Feature: Added Password Strength and Length functionalities. Activate them from the Settings -> Misc page
  • Fix: Issue with Stripe Extra fields not showing in some cases
  • Fix: Stripe issue when a 100% discount code is used
  • Fix: Security issue when an admin was manually adding logs
  • Misc: Hide data saved in the PayPal API credential fields
  • Misc: Added a filter that can be used to set the language of the Stripe Payment Element: pms_stripe_elements_locale

2.10.4

  • Feature: Added the option to Bulk Import Discount Codes through a .csv file
  • Fix: Declare WooCommerce HPOS compatibility
  • Fix: Show correct price in the 3D Secure Authentication window when a plan has sign-up fees and the Profile Builder form is used
  • Misc: Fix some notices coming from the Export page and functionality
  • Misc: Small improvements to the Dashboard page for free users

2.10.3

  • Feature: Content Restriction for Gutenberg Blocks. You can now restrict any block based on subscription plans
  • Fix: Retry payment button wasn’t showing when a subscription plan price was 0 but it had a sign-up fee
  • Fix: A notice triggering from the WooCommerce Discounts functionality in some cases
  • Fix: For PayPal Standard memberships with Free Trial where IPNs were not processed correctly in some cases
  • Fix: License activation messages when site limit is reached
  • Fix: Small corrections and more polishing for the new back-end styles
  • Misc: Filter account page base URL so you can make the shortcode work on multiple pages: pms_member_account_page_link

2.10.2

  • Feature: Updated Setup Wizard to a more modern interface
  • Feature: New main plugin page Dashboard which serves as a quick plugin overview
  • Fix: A notice appearing in some cases when localizing data for Gutenberg assets
  • Fix: A notice appearing on PHP 8.2
  • Fix: Issue with the Expiration Date tag for Profile Builder Userlisting where it wasn’t returning the correct date in a case
  • Fix: Small fixes for the settings interfaces

2.10.1

  • Feature: Added a simple Pricing Page creation interface on the Subscription Plans page
  • Feature: Allow non-recurring Stripe payment methods to appear when recurring payments are disabled in settings
  • Fix: issue with Bulk Add Members filter by role not working when user role key was different than 0
  • Fix: warning appearing in some cases from the Redirect functionality from Content Restriction
  • Fix: some warnings relating to PHP 8.2
  • Fix: issue with Activate Subscription email not being sent when changing subscription
  • Fix: issue with expiration date being broken for unlimited subscription when adding a new manual payment

2.10.0

  • Fix: Issue with Stripe Connect and change/upgrade subscription
  • Fix: Small issue with the Dashboard Payments Widget not showing the full payments amount
  • Fix: Correct display issue for the expiration date of canceled PayPal subscriptions
  • Fix: Improve behaviour for WooCommerce Product Membership Discounts when the website has a lot of products defined
  • Misc: Added some information about a users subscriptions on the Edit User page

Click Here to view the full changelog.

An invaluable tool & great support

By Jessica Yaeger (jessicayaeger) on March 4, 2025

This tool has been invaluable to our small dev shop in working on client site that require a membership feature, both paid and unpaid. We've used the PMS subscriptions both to set up paid membership sites, as well as to group site users into roles that then see different content based on role (without any payment involved). In both cases, it works a treat! In the few instances where we've run into issues, the Cozmoslabs support team has been responsive and helpful. I've also found that the documentation on their website is very detailed and easy to find what I'm looking for!

Easy - exactly what I need

By vevans2 on February 20, 2025

Great documentation, great support, great addons. Not a bulky plugin with a bunch of unwanted extras - did a lot of shopping around and this is exactly what I needed.

Over an year - no problems

By Стоян Стефанов (podkrepa) on January 15, 2025

Over an year - no problems

Satisfied

By platongr on December 5, 2024

Pretty satisfied with the plugin. I’m using it together with the profile builder.
Easy setup, great documentation and awesome support!

Love it :)

By mifern on November 11, 2024

I really appreciate how robust and straight forward the plugin is designed, especially in comparison to other membership plugins. The pricing is also much more reasonable (and a lot can be done even on the free version). I'm also very pleased with the support I received. Thank you for developing and supporting this.

Excellent plugin, with beyond excellent support

By cwhissen on October 16, 2024

I've been using this plugin and the companion plugin, Profile Builder, since early 2021 on a half dozen client sites. From the stie developer standpoint, it's easy to setup and maintain and seldom causes me any issues. Over the last years, I've had 2-3 times I've reached out to support with a question for something odd I was trying to do for a client, and 3 times (I can think of) for an issue with an update. On all occasions support responded right at the beginning of their day (they clearly state when they're available on the support request). For the odd requests, they helped me figure out how to do it and in one instance added the capability to the plugin. For the issues, two were addressed in their reply and one was an integration with someone else's plugin - that they resolved quickly. The support is outstanding.

From the user perspective - most of my clients using this plugin are retired volunteers and not computer savvy. I've been able to explain it to them once and they've understood how it works and had no problems using it.

This plugin is particularly powerful when combined with their Profile Builder - also easy to use and maintain. I use the pro version, which has additional add-ons that give me integration with other plugins to create easy-to-use paid membership sites, including membership mailings and store discounts. These two plugins are probably the best choice I've made for the sites I've built.

Hassle-free way to manage memberships

By elianoricci on October 8, 2024

The Paid Membership Subscriptions plugin makes managing memberships, recurring payments, and content restrictions super easy. It's user-friendly and perfect even if you're not tech-savvy.

What really stands out is the amazing support—the team is quick, helpful, and always there when you need them. If you want a hassle-free way to manage memberships on WordPress, this plugin is a great choice!

Great support

By marlos71 on September 5, 2024

Quick and great support

A Game Changer for Our Business

By urbanaidentity2018 on August 15, 2024

I was fortunate to find this option, and I have had it implemented on my platform for three years now. I can only say that both the support service and the results from this plugin have been highly beneficial for our business. I highly recommend it.

Veramente un ottimo plugin

By pryons on July 31, 2024

Un plugin per gestire i pagamenti veramente ben fatto, con tante funzioni ed un ottimo servizio clienti

Try other plugins too!

Expire User Passwords

Require certain users to change their passwords on a regular basis.

Try Demo More Details

WP Private Content Plus

Ultimate content restrictions plugin with private page, private user groups,private conetnt and restrictions on menu,widgets,search,downloads based on …

Try Demo More Details

Ultimate Member – Terms & Conditions

Add a terms and condition checkbox to your registration forms & require users to agree to your T&Cs before registering on your site.

Try Demo More Details
Screenshots
Author Site Author Site

Try Paid Membership Subscriptions – Effortless Memberships, Recurring Payments & Content Restriction With InstaWP

Contact Sales

Reach out to us to explore how InstaWP can benefit your business.