WordPress membership plugin enabling content restriction, member management, and payment processing through multiple payment gateways.
Installing v260325 (not latest)
Subscribe to connect and install
Or view the latest versionS2Member Pro is a membership management plugin for WordPress that integrates with user roles and capabilities to manage member access and content restrictions. It provides tools for creating membership levels, processing payments, and controlling user permissions across your WordPress site.
S2Member Pro is designed for WordPress site owners who need to create membership-based business models, including subscription services, paid content platforms, and digital product sales. It works well for organizations that require flexible member access controls, multiple membership tiers, and integrated payment processing without requiring a separate e-commerce platform.
- (Framework) **Fix:** Improved PayPal Checkout webhook idempotency to prevent duplicate processing during repeated/concurrent webhooks, while preserving normal behavior. - (Framework) **Fix:** Resolved a PayPal IPN issue where some `subscr_cancel` notifications were ignored because the cancellation handler failed before it had fully identified the recurring subscription. - (Framework) **Improvement:** Added IPN Signup Var lookups for missing PayPal cancellation IPN values like `period1`, `period3`, `item_number`, `item_name`, and `payer_email`, preventing valid `subscr_cancel` notifications from being ignored. - (Framework) **Improvement:** Moved s2Member's translation files to `/languages`, following the WordPress standard, and updated `.mo` loading to support that directory while continuing to support the standard and legacy WordPress locations. - (Framework) **Improvement:** Hardened PayPal Standard IPN endpoint response handling and added debug logging for hosts/security layers that incorrectly return HTTP 403 after successful processing. - (Framework) **Enhancement:** Added `ukpostcode` as an expected-value option for Custom Registration/Profile Fields, with matching server-side and client-side validation for UK postcode input. The validation is designed to be reasonably broad, including standard UK formats and related special cases. Thanks to Gerard Earley for contributing the patch. See [thread 12200](https://f.wpsharks.com/t/12200) - (Framework) **Enhancement:** Added a new __General Options > s2Get Shortcode__ setting to allow `user_id` for whitelisted user fields, defaulting to current-user. Also updated the s2Get KB article accordingly. - (Pro) **Fix:** Updated Stripe card charge and PaymentIntent requests to use `statement_descriptor_suffix` instead of `statement_descriptor`, fixing card-payment errors where Stripe no longer accepts `statement_descriptor` for card payments. - (Pro) **Fix:** Corrected Stripe subscription checkout so resumed PaymentIntent flows no longer go through the wrong intent-status handler. - (Pro) **Fix:** Stripe now stops cleanly after card declines, instead of continuing into secondary intent/payment-method errors. - (Pro) **Fix:** Improved Stripe recurring-payment setup to better support future-charge authorization requirements, fixing failures in countries with stricter payment rules, including India. - (Pro) **Fix:** Stripe now updates recurring default payment methods only after a successful intent result, instead of earlier in checkout. - (Pro) **Fix:** Billing-update SetupIntent creation failures in Stripe now return the proper error response. - (Pro) **Fix:** Prevent duplicate/retried Stripe webhook events from being processed more than once, including near-simultaneous retries of the same Stripe event ID - (Pro) **Fix:** prevent Stripe billing modification/replacement from triggering EOT behavior for the cancelled old subscription while s2Member is still updating the member account with the new subscription. - (Pro) **Fix:** Removed a trailing-comma syntax issue in Stripe subscription update code that could cause PHP compatibility errors on older supported PHP versions. - (Pro) **Fix:** s2Member now cleans up incomplete subscriptions left behind by failed 3D Secure authentication attempts during Stripe checkout, and gives the customer a more clear payment failure message. - (Pro) **Improvement:** Added dedicated s2 Stripe log entries for non-fatal failures while updating the default payment method after successful intent completion.
Premium Plugins
Get access to S2Member Pro – A Powerful Membership Plugin For Wordpress and 5,000+ more plugins with a subscription.
Subscribe to connect and install
This plugin is distributed under GPL license. Zeebrar is not affiliated with or endorsed by the original developer.
WP Rocket is a full cache plugin that comes with many features: Simplicity & Speed Don’t waste your time struggling with complex plugin settings.
Astra Pro is all in one plugin that extends the theme and adds more features
Rank Math Pro is a Search Engine Optimization plugin for WordPress that makes it easy for anyone to optimize their content with built-in suggestions based on widely-accepted best practices.
Customise WordPress with powerful, professional and intuitive fields.
The Most Popular WordPress SMTP and PHP Mailer Plugin
Backup and restore: take backups locally, or backup to Amazon S3, Dropbox, Google Drive, Rackspace, (S)FTP, WebDAV & email, on automatic schedules.