Paid Memberships Pro

Descripción

The most complete member management and membership subscriptions plugin for WordPress

Paid Memberships Pro is designed for premium content sites, clubs/associations, subscription products, newsletters and more! The plugin adds a new revenue source to your site and is flexible enough to fit the needs of almost all online and offline businesses.

Simple to install and get running – deeply customizable!

  • Unlimited Levels with Flexible Membership Pricing
  • 6 Popular Payment Gateways Included
  • Extensive Options for Content Restriction
  • Customizable Reports and Member Dashboards
  • Over 60 Premium Add Ons to Extend and Customize
  • 100% GPL and Integrated with Third Party Services

Sites running Paid Memberships Pro use it to:

  • Manage professional organizations with thousands of members.
  • Get paid for e-learning and digital courseware.
  • Accept recurring payment for content, podcasts, video, and more.
  • Create private social communities for unique interest groups.
  • Develop robust directory or listings sites by topic or region.
  • Offer product subscriptions or members-only product discounts.

Choose from Top Payment Gateways.

All of our payment gateways are included in the plugin. Choose from PayPal, Stripe, Authorize.net, Braintree or 2Checkout.

Infinitely Configurable, Unlimited Membership Levels.

Set up the membership levels that best fit your business, whether they are one-time payments or recurring subscriptions (annual, monthly, weekly, daily). You can even offer custom trial periods including Free Trials, Custom-length Trial, or ‘Introductory’ Pricing trials.

Membership levels provide restricted access to members-only content (including pages, posts, categories, videos, forums, downloads, support, single “a la carte” page access, and more).

Control the user-experience from start to finish.

Your members can update their billing information or cancel their account directly on your site. Any active subscription will be cancelled at the payment gateway for you.

Add Ons to help you do more.

Extend the features of your membership site or integrate with third-party services through our library of over 60 add ons. Our library of free or paid Add Ons allow you to:

  • Integrate members with email marketing platforms including Mailchimp, Constant Contact, AWeber and GetResponse.
  • Restrict access to forums, groups, courses, downloads, events, and product.
  • Allow affiliates to get credit for membership checkouts.

View the Add-Ons

Paid Memberships Pro is a free membership plugin for WordPress

Our plugin is 100% GPL and available from the WordPress repository or on our site at http://www.paidmembershipspro.com. The full version of the plugin is offered with no restrictions or additional licenses required. Developers should get involved at our GitHub page.

Capturas

  • Set up the membership levels that best fit your business, whether they are Free, Paid, or Subscriptions (Annual, Monthly, Weekly, Daily). Offer Custom Trial Periods (Free Trial, Custom-length Trial, 'Introductory' Pricing)
  • Easy to use Membership Access Settings by Page, Post, or Category. Shortcodes to display restricted content inline. Developer-friendly hooks to restrict access any way you need.
  • Members are WordPress Users. PMPro provides a unique interface to view, filter and search Members or export your Members List.
  • Offer Membership Discounts with specific price rules (restricted by level, unique pricing for each level, # of uses, expiration date.)
  • Filterable Sales Revenue Reports (reports also included for Visits, Views, Logins, Signups, Cancellations, and other Membership Stats).
  • Advanced settings for updating non-member messages, optionally show excerpts or filter content, use reCAPTCHA, and a Terms of Service checkbox.
  • Membership levels selection page, filter the shortcode with additional attributes using add ons or the Memberlite theme.
  • Membership Account page, display all sections or show specific sections using shortcode attributes.

Instalación

Download, Install and Activate!

  1. Go to Plugins > Add New to install Paid Memberships Pro, or
  2. Download the latest version of the plugin.
  3. Unzip the downloaded file to your computer.
  4. Upload the /paid-memberships-pro/ directory to the /wp-content/plugins/ directory of your site.
  5. Activa el plugin desde el menú ‘Plugins’ de WordPress.

Complete the Initial Plugin Setup

Go to Memberships in the WordPress admin for a step-by-step initial setup, including:

  1. Membership Levels: Add one or more Membership Levels
  2. Page Settings: Generate or assign the Pages
  3. Payment Gateway: Select and configure your Gateway and SSL
  4. Email: Customize Email Settings
  5. Advanced Settings: Update non-member messages, optionally show excerpts or filter content.

More Installation and Setup Documentation

Preguntas frecuentes

Installation Instructions

Download, Install and Activate!

  1. Go to Plugins > Add New to install Paid Memberships Pro, or
  2. Download the latest version of the plugin.
  3. Unzip the downloaded file to your computer.
  4. Upload the /paid-memberships-pro/ directory to the /wp-content/plugins/ directory of your site.
  5. Activa el plugin desde el menú ‘Plugins’ de WordPress.

Complete the Initial Plugin Setup

Go to Memberships in the WordPress admin for a step-by-step initial setup, including:

  1. Membership Levels: Add one or more Membership Levels
  2. Page Settings: Generate or assign the Pages
  3. Payment Gateway: Select and configure your Gateway and SSL
  4. Email: Customize Email Settings
  5. Advanced Settings: Update non-member messages, optionally show excerpts or filter content.

More Installation and Setup Documentation

I need help installing, configuring, or customizing the plugin.

Please visit our support site at http://www.paidmembershipspro.com for more documentation and our support forums.

I found a bug in the plugin.

Please post it in the WordPress support forum and we’ll fix it right away. Thanks for helping.

My site is broken or blank or not letting me log in after activating Paid Memberships Pro

This is typically caused by a conflict with another plugin that is trying to redirect around the login/register pages or trying to redirect from HTTP to HTTPS, etc.

To regain access to your site, FTP to your site and rename the wp-content/plugins/paid-memberships-pro folder to wp-content/plugins/paid-memberhsips-pro-d (or anything different). Now WP will not be able to find PMPro, and you can gain access to /wp-admin/ again. From there, visit the plugins page to fully deactivate Paid Memberships Pro. (You’ll want to rename the folder back to paid-memberhsips-pro again.)

Long term, you will need to find and fix the conflict. We can usually do this for you very quickly if you sign up for support at http://www.paidmembershipspro.com/pricing/ and send us your WP admin and FTP credentials.

Does PMPro Support Multisite/Network Installs?

“Supporting multisite” means different things to different people.

Out of the box PMPro will basically act as a stand alone plugin for each site. Each site has its own list of membership levels, members, payment settings, etc.

Our Network/Multisite Add On allows members to choose a site name and title at checkout and will set up a network site at checkout.

Our Network Membership Add On allows you to manage memberships at the ‘Main’ Network site and provide or restrict access on other Network Subsites.

If you would like more help using PMPro on a network install, sign up for support at http://www.paidmembershipspro.com.

Does PMPro Support X?

Not sure? You can find out by doing a bit a research.

  1. Check our compatibility page.
  2. Check our add ons.
  3. Do a search on our site.
  4. Ask in the forums here.

Reseñas

Superb support and a great plugin! 5/5

I was looking for a paid membership plugin and stumbled across PMPro. I had a quite specific requirement for my website so I contacted their support. Shortly after I got a reply and decided to try it out.

PMPro is a powerful tool in itself, but when one can also get a multitude of add ons, it is simply one of the best tools on the market. 5/5

Easy to Use and Good Support for Members

Overall I have found PaidMembershipsPro (PMP) to be very easy to use. It includes quite a few add-ons including an integration with MailChimp, the functionality to use both Stripe and PayPal (Express) for payment gateways, and even cool features like dropdowns that include country, state, province, etc. for the billing information just to name a few. I find it to be quite comprehensive.

Additionally, PMP is frequently sending out updates and “how to” posts. The Members Support is excellent through its paid service. Considering what a developer typically charges per hour, PMP’s fee is very reasonable and affordable. They have helped with quite a few custom code snippets for the plugin for our website. These are very easy to add through PMP’s Customization plugin.

I do not know PHP at all and only have an intermediate understanding of HTML and CSS. PMP support has always been helpful even though this is not my area of expertise.

Great all around

Super simple and straight forward. Works with Stripe and WooCommerce. Lightning speed on addressing issues.

Leer todas las 245 reseñas

Colaboradores y desarrolladores

“Paid Memberships Pro” es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

“Paid Memberships Pro” ha sido traducido a 8 idiomas. Gracias a los traductores por sus colaboraciones.

Traduce “Paid Memberships Pro” a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN , o suscríbete al log de desarrollo por RSS .

Registro de cambios

1.9.4.2 – 2017-12-07

  • BUG FIX: Avoid double-encoding the API version in PayPal Standard gateway
  • BUG FIX: The update billing page now checks the gateway of the user’s last order instead of the default gateway settings in case multiple gateways are in use or the default gateway has changed.
  • BUG FIX: Fixed bug where discount codes were not being applied properly if the pmpro_default_level custom field was set and used on a page.
  • BUG FIX: Credit card expiration emails were being to sent to members with PayPal Express orders.
  • BUG FIX: Now correctly unslashing instructions for the check gateway.
  • BUG FIX: Fixed issue with creating pages from the page settings page.
  • BUG FIX/ENHANCEMENT: Improved submit button and processing message position for default and RTL on checkout page.
  • BUG FIX/ENHANCEMENT: Added invoice total and total billed breakdown back to confirmation and invoice single views.
  • BUG FIX/ENHANCEMENT: Avoid double-encoding the PayPal API version number
  • ENHANCEMENT: Improved submit button and processing message position for default and RTL on checkout page.
  • ENHANCEMENT: Switched order of Publishable and Secret Key fields and added validation check.
  • ENHANCEMENT: Conditionally update members list headings for expired, cancelled, or old members.

1.9.4.1 – 2017-10-31

  • BUG FIX: Fixed serious bug where payment fields weren’t showing up for the Braintree gateway.
  • BUG FIX: Fixed issue where Braintree webhook notifications were failing. We now allow the Braintree library to sanitize the incoming data since our sanitizing efforts were breaking the validation.
  • BUG FIX/ENHANCEMENT: The webhook URL given for Braintree now goes through admin-ajax.php instead of a direct link to a php file within our plugin.
  • BUG FIX/ENHANCEMENT: Updates to the Recaptcha library. (Thanks, Corin Simpson-Bryars)
  • ENHANCEMENT: Made the cancelation failed error email easier to read.

1.9.4 – 2017-10-26

  • BUG FIX: Fixed issue where PayPal was not working for amounts over $1000.
  • BUG FIX: Non-decimal currencies now handled correctly with Stripe.
  • BUG FIX: Fixed issue where updating a Stripe subscription from the edit user page could cancel the subscription once the webhook fired.
  • BUG FIX: Fixed issue where “admin_cancelled” memberships weren’t being calculated correctly in membership reports.
  • BUG FIX: Fixed issue where users could not drag and drop to change the order of membership levels.
  • BUG FIX: pmpro_getMembershipLevelsForUser() would sometimes return duplicate levels in the array if the user had multiple active entries in the pmpro_memberships_users table.
  • BUG FIX: Updated includes/metaboxes.php to call pmpro_getAllLevels() instead of relying on the $membership_levels global which is problematic.
  • BUG FIX: Fixed a few strings that weren’t wrapped for translation or were using the old text domain.
  • BUG FIX: Fixed redirect error that occured when the levels page was not set.
  • BUG FIX: Updated getfile.php to support file names with urlencoded characters (e.g. spaces) in them. (Thanks, florent from PMPro blog)
  • BUG FIX: Fixed notice when use the getfile.php script due to using add_filter instead of apply_filters in the mimetype class.
  • BUG FIX: Fixed the all time views column for the logins report.
  • BUG FIX: Fixed fatal error on the logins report, member shortcode and other issues when using PHP7.1+.
  • BUG FIX: Fixed issue with saving arrays using pmpro_setOption()
    up the lines of text.
  • BUG FIX: Fixed typo in the string “Are you sure you want to do that? Try again.”
  • BUG FIX: Fixed a few strings that used the wrong text domain or weren’t wrapped correclty for translation.
  • BUG FIX/ENHANCEMENT: Now bundling Google’s jsapi.js file for use in the reports.
  • BUG FIX/ENHANCEMENT: Fixed issue where some emails (e.g. the password reset email) would not have wpautop applied to them, crunching
  • BUG FIX/ENHANCEMENT: Better checking for Theme My Login compatibility when handling login redirects.
  • BUG FIX/ENHANCEMENT: Better error handling for Braintree.
  • BUG FIX/ENHANCEMENT: Membership stats widget now shows first 3 levels based on level order.
  • BUG FIX/ENHANCEMENT: Added the pmpro_member_shortcode_access filter
  • ENHANCEMENT: Updated the Stripe PHP library to version 5.2.2 and updated Stripe to use the latest version of their API, 2017-08-15.
  • ENHANCEMENT: Changed frontend pages (e.g. checkout.php) to use a div-based layout instead of tables. Important information here if you are using custom page templates or notice UI issues after upgrading:
  • ENHANCEMENT: Added pagination to the discount codes page in the admin. Also sorting codes in descending order by ID. Use the pmpro_discount_codes_per_page filter to change the per page limit from 15.
  • ENHANCEMENT: Updated plugin admin pages with better links to documentation and support.
  • ENHANCEMENT: Updated plugin frontend pages checkout, billing, confirmation, and single invoice to remove most table based layouts.
  • ENHANCEMENT: Better error message if trying to checkout using an existing user’s email address.
  • ENHANCEMENT: Added the pmpro_report_levels filter to let users change levels and order of levels for the memberships.php report.
  • ENHANCEMENT: Updated video and copy for readme.txt.
  • ENHANCEMENT: Added user display name to Memberlist search query
  • ENHANCEMENT: Added Russian Ruble as a currency.
  • ENHANCEMENT: Changed the dated term “CVV” to “Security Code (CVC)” when shown on the frontend.
  • ENHANCEMENT: Added .doc and .docx to the mimetype class.
  • ENHANCEMENT: Added Portuguese language files. (Thanks, Secundino Correia)
  • ENHANCEMENT: Updated plugin admin pages with better links to documentation and support.

1.9.3 – 2017-07-06

  • SECURITY: Fixed sanitization of inputs and added nonces in several places to protect against XSS attacks.
  • BUG FIX: Showing correct error message when trying to update a PMPro Plus add on with a Core license installed.
  • BUG FIX: Fixed issue where subscription and payment transaction IDs were not being saved correctly when copying an order in the dashboard. (Thanks, Pippin Williamson)
  • BUG FIX: Fixed fatal errors that occurred in certain PHP versions.
  • BUG FIX: Fixed issue where ProfileStartDate was being calculated incorrectly in the test, check, and Cybersource gateways.(Thanks, David Parker)
  • ENHANCEMENT: Added a pmpro_sanitize_with_safelist() function that is used to sanitize inputs that have a limited number of exact options.
  • ENHANCEMENT: Updated the pmpro_setOption() and pmpro_getParam() functions to take a new last parameter $sanitize_function, which defaults to ‘sanitize_text_field’.

1.9.2.2 – 2017-06-13

  • BUG FIX: Fixed warnings on the Network Dashboard’s sites page.
  • BUG FIX: Skipping update scripts that require the Stripe library if the system doesn’t support the minimum requirements for the Stripe API. This avoids warnings and errors during upgrade.

1.9.2.1 – 2017-06-05

  • BUG FIX: Fixed issues with activation on single sites.
  • BUG FIX: Starting PHP sessions earlier to fix issues with PayPal/PayPal Express checkouts.

1.9.2 – 2017-06-03

  • BUG FIX: Fixed issue where Braintree checkouts were failing with a CVV error when existing users checked out.
  • BUG FIX: Fixed issue loading the Stripe library in PHP 5.6.
  • BUG FIX: Member List CSV export was ignoring search parameter.
  • BUG FIX: Discount codes weren’t being remembered during the “review” step of a PayPal Express checkout. (Thanks, Rafe Colton)
  • ENHANCEMENT/FIX: Search Filter would trigger incorrectly for REST API request by slug.
  • ENHANCEMENT/FIX: Didn’t always identify MasterCard cards correctly to set the CardType with some gateways.
  • ENHANCEMENT/FIX: Some custom code or add ons (e.g. the Prorating and Auto-renewal Checkbox add ons) would sometimes break PayPal Website Payments Pro and PayPal Express subscriptions by trying to set the “Profile Start Date” longer than 1 year out. We now limit the Profile Start Date to 1 year out and try to squeeze up to 1 additional year into a trial if it’s not already being used. This bug affects PayPal Standard as well, but the fix is different and not included in this release.
  • ENHANCEMENT: Tested up to WordPress 4.8.
  • ENHANCEMENT: Made countries translatable.
  • ENHANCEMENT: Improved performance via PHP $_SESSION management improvements. We now only open the session before we set session vars and close the session when we are finished with it.
  • ENHANCEMENT: Added to code to stop network activation of Paid Memberships Pro. (Thanks, Paul Barthmaier)

1.9.1 – 2017-05-11

  • BUG FIX: Fixed the code checking if the Stripe library is already loaded to compatability issues with other plugins bundling the Stripe API library.
  • BUG FIX: Cancel code now properly uses preg_replace when sanitizing the list of level ids to cancel.
  • FIX/ENHANCEMENT: Removed test/doc code from Stripe and Braintree libraries.
  • ENHANCEMENT: Now pausing the license nag for the first week of use and removed the “invalid” error if no key is being used.

1.9 – 2017-04-26

  • BUG: Fixed issue with cancelling 2Checkout recurring subscriptions. Now using the payment_transaction_id to find/cancel the sale’s recurring subscription since no subscription_transaction_id is being saved.
  • BUG: Fixed issue where old membership levels were not listed correctly in the cancellation email. (Thanks, Mike from Migrating Eye)
  • BUG: Fixed issue where “custom trial” values were not saving for discount codes.
  • BUG: Fixed issue where checkouts were still processing even if there were errors with the discount code used.
  • BUG: Fixed bug where settings added via the pmpro_custom_advanced_settings were not being saved to DB unless they were prefixed with custom_.
  • BUG: Fixed other formatting issues with settings added via pmpro_custom_advanced_settings.
  • BUG: Fixed issue where the sendInvoiceEmail method of the email class was expecting $order->discount_code to be a string, but it was sometimes a discount code object. (Thanks, Bill Stoltz)
  • FEATURE: Added the pmpro_member shortcode. See the Paid Memberships Pro website for documentation.
  • ENHANCEMENT: Added pmpro_account_membership_expiration_text filter to filter the expiration text that shows ona user’s membership account page.
  • ENHANCEMENT: Updated our Stripe and Braintree libraries to use their latest versions. This update allows our gateway integrations to support PHP7 and also removes support for PHP 5.2 and 5.3.
  • ENHANCEMENT: The Braintree level compatibility check now also looks for a properly named plan.
  • ENHANCEMENT: Better error handling when trying to update plugins that update against the PMPro license server.
  • ENHANCEMENT: Improved Italian translation. (Thanks, Francesco Pezzotti)
  • ENHANCEMENT: Improved German tranlsation. (Thanks, Simon)
  • ENHANCEMENT: Added a Sweedish tranlsation. (Thanks, Mathias Persson)
  • ENHANCEMENT: Added a “Chinese/Cantonese (Hong Kong SAR China)” tranlsation. (Thanks, Kai Chan)

1.8.13.6

  • BUG: Fixed bug where credit card expiration emails would be sent to users with PayPal Express orders.
  • BUG: Fixed bug when updating billing with Stripe.
  • BUG: Fixed bug where the archive/search filter was not running for logged out users.
  • ENHANCEMENT: Updated Finnish translations. (Thanks, JP Jakonen)
  • ENHANCEMENT: Added filter for modifying the order description in Stripe. (Thanks, Rafe Colton)

1.8.13.5

  • BUG: Fixed notifications.php to make sure it really only checks once per day. Also updated the URL checked to notifications.paidmembershipspro.com, which runs on its own server.

1.8.13.4

  • BUG/ENHANCEMENT: Changed the pmpro_button shortcode to pmpro_checkout_button. (The old pmpro_button will also still work. checkout_button works if you have Register Helper installed.)

1.8.13.3

  • BUG: Fixed bug when using a secondary gateway (e.g. PayPal Express) with Stripe as your primary gateway.

1.8.13.2

  • BUG: Fixed bug with updating credit cards through Braintree.
  • BUG: Fixed bug with updating credit cards through Stripe.
  • BUG: Fixed SQL warnings when generating the pmpro_membership_levelmeta table. (Thanks, itibet on GitHub)
  • BUG/ENHANCEMENT: Moved some update billing and checkout related code from the preheaders and page templates into the Braintree and Stripe classes.
  • ENHANCEMENT: Added pmpro_billing_order filter that functions similar to pmpro_checkout_order.
  • ENHANCEMENT: Added pmpro_billing_before_submit_button hook that functions similar to the pmpro_checkout_before_submit_button hook.
  • ENHANCEMENT: Clicking on a report widget no longer takes you to the details page. You have to click the details button. This allows us to add additional functionality to the widgets.
  • ENHANCEMENT: Updated reports widgets so the “details” button only shows if a page function is defined for that report. You can now have report widgets without details pages.
  • ENHANCEMENT: You can now click on a heading in the Membership Stats report widget to see data for up to 3 of your levels. The first 3 levels per the level ordering are shown.

1.8.13.1

  • BUG: Fixed issue where end dates were being set/saved incorrectly from the edit user/profile page in the dashboard.
  • BUG: Fixed warnings in the Braintree PHP library. (Thanks, Travis Shivers)
  • BUG: Fixed issue where the filtered $mypost object was not being used in the content filter if the post type was “page”. (Thanks, James)
  • BUG: Removed the extra class=”input” attribute on the CVV field when the Stripe gateway is used. (Thanks, Rafe Colton)
  • BUG/ENHANCEMENT: Changed the number of X placeholders for masked credit cards to 12 (+ the last 4 stored) instead of 13. (Thanks, Rafe Colton)

1.8.13

  • FEATURE: The Stripe Webhook has been updated to process subscriptions cancelled from Stripe. PMPro will now cancel memberships for these users instead of sending an email to the admin.
  • BUG: Fixed various bugs in the PayPal IPN handler.
  • BUG: Fixed search on discount codes page in dashboard. (Thanks, Debjit Saha)
  • BUG: Fixed bug in Cancellations report where all-time cancellations were always 0.
  • BUG: Fixed link to payment settings on checkout notice. (Thanks, Coen Jacobs)
  • BUG: Timezone magic on edit user page in the dashboard to make sure the expiration date you select is the one set.
  • BUG: Swapped out deprecated uses of eregi_replace and split.
  • BUG/ENHANCEMENT: Now using add_query_arg in the pmpro_url() function. (Thanks, Debjit Saha)
  • ENHANCEMENT: Updating stylesheet for WordPress 4.7 and new Twenty Seventeen theme support.
  • ENHANCEMENT: Now longer warning of membership levels with cycle numbers > 1 when using the Payflow Pro gateway since Payflow now supports cycle numbers (frequencies) > 1.
  • ENHANCEMENT: Updated da_DK translation. (Thanks, bopdoq on GitHub)
  • ENHANCEMENT: Added pmpro_include_payment_option_for_paypal filter, which can be set to false to use PayPal WPP without the PayPal Express option.
  • ENHANCEMENT: Better dependency checking for Stripe and Braintree gateways.
  • ENHANCEMENT: Updated IPN handler and Stripe Webhook handler to use pmpro_cancelMembershipLevel instead of pmpro_changeMembershipLevele. This improves support for the MMPU addon.

1.8.12.1

  • BUG: Fixed bug when using the testing gateway.
  • BUG: Avoiding issues where is_user_logged in is not yet available for the pmpro_search_filter() function. (Thanks, d_enajetic)
  • ENHANCEMENT: Updated Italian translation. (Thanks again, Angelo)
  • ENHANCEMENT: You can now define(‘PMPRO_USE_SESSIONS’, false); in your wp-config.php to force PMPro to skip the call to session_start. Note that PayPal Express and some addons require sessions to function.

1.8.12

  • BUG: Fixed issue where “expiring soon” emails were sometimes sent more than needed.
  • BUG: Fixed issue where PayPal Standard IPN requests were being rejected if a tax amount was set in PayPal.
  • BUG: Fixed issue with Stripe subscription “updates” that were set to fire on “next payment”, e.g. if you used Stripe with levels with a non-zero trial amount. When the update processed and created a new subscription, the old subscription was not being deleted and the new subscription ID was not being saved as a new order for future tracking purposes. If you use this feature, please check in Stripe to make sure your users don’t have extra subscriptions.
  • BUG: Fixed setting in PayPal/PayPal Express API calls from AUTOBILLAMT to AUTOBILLOUTAMT. This setting is set to AddToNextBilling, meaning that failed payment amounts are added to the next billing cycle’s amount if left unpaid. In most cases, a retry of the original billed amount goes through or the user’s subscription is cancelled. But just in case, this makes sure that outstanding balances are paid. (Thanks, jubstuff on GitHub)
  • BUG: Fixed warnings in the setGateway method of the MemberOrder class for cases where the gateway is missing or the class file is not found.
  • BUG/ENHANCEMENT: Moved the pmpro_before_change_membership_level hook to fire a little bit earlier to make it easier to determine the old level status/end date/etc before it gets updated. (Thanks, MrVibe on GitHub)
  • ENHANCEMENT: Replaced the Force SSL option with an explanation if the entire site is over HTTPS. We are already ignoring the option in these cases.

1.8.11.2

  • BUG: Fixed a bug introduced in 1.8.11 that kept PMPro from tracking coupon code uses. Any checkout with a discount code while running 1.8.11 won’t have properly tracked the discount code use. You may want to adjust your “uses” numbers for your codes, and hand check any reporting/etc that relied on discount codes. Users of the Sponsored Members addon will have been affected too. Discount codes will need to be made manually for any sponsor who checked out.
  • BUG: Fix to the expiration warnings code. Making sure it finds all members who are expiring soon while also keeping track of when emails are sent so users don’t get too many emails.
  • BUG: Fixed issue where pmpro_before_change_membership_level was running after levels had been changed.
  • BUG: Fixed some warnings.
  • ENHANCEMENT: Updated Italian translations. (Thanks, Angelo)

1.8.11.1

  • BUG: Fixed issue introduced in 1.8.11 where the pmpro_default_level custom field was being ignored at checkout.
  • BUG: Fixed bugs in DB calls made for the compatibility checks for various gateways.
  • BUG: Now sending a FREQUENCY parameter for PayPal Payflow orders.

1.8.11

  • BUG: Fixed URL used when checking for addon updates.
  • BUG: Now enqueueing the jquery.creditCardValidator.js file in Billing preheader.
  • BUG: Fixed issues where PayPal IPN updates would sometimes log $0 instead of the actual billing amount.
  • BUG: Fixed warnings in the PayPal IPN handler.
  • BUG/ENHANCEMENT: Added pmpro_checkout_level filter and now using that filter to apply the_content filters to the level description at checkout. This allows you to turn off the the_content filters (e.g. processing shortcodes) by using remove_filter(‘pmpro_checkout_level’, ‘pmpro_pmpro_checkout_level’); in a custom plugin.
  • BUG/ENHANCEMENT: Using the pmpro_confirmation_message filter on the confirmation page whether there is an invoice or not. Now also adding the the_content filters to the confirmation message. You can disable this by using remove_filter(‘pmpro_confirmation_message’, ‘pmpro_pmpro_confirmation_message’); in a custom plugin.
  • ENHANCEMENT: Now tracking IPN event ids in order notes for recurring orders.
  • ENHANCEMENT: Added pmpro_subscription_ipn_event_processed hook to IPN handler.
  • ENHANCEMENT: Added pmpro_set_message filter to edit PMPro error messages. Passes the message and type.
  • ENHANCEMENT: Now listing categories in hierarchical format in the Content Settings section of Membership Levels.
  • ENHANCEMENT: Added pmpro_areLevelsFree() function to check if all levels in an array of levels are free.
  • ENHANCEMENT: Added pmpro_getLevelsCost() – with an s – function to get the combined cost of multiple levels in an array.
  • ENHANCEMENT: Added pmpro_getLevelsExpiration() – with an s – function to get the combined expiration text for multiple levels in array.
  • ENHANCEMENT: Created the pmpro_getLevelAtCheckout function that modularizes some of the logic of creating the pmpro_level global at checkout.
  • ENHANCEMENT: Added pmpro_members_list_user filter used on the admin members list and members list CSV export.
  • ENHANCEMENT: Added a 4th parameter $cancel_level to pmpro_changeMembershipLevel(). If set, that level will definitely be cancelled locally and at the gateway. This parameter is also passed to the pmpro_before_change_membership_level and pmpro_after_change_membership_level hook.
  • ENHANCEMENT: Added a new function pmpro_cancelMembershipLevel($level_id, $user_id, $old_level_status) that acts as a wrapper to pass the $cancel_level param to pmpro_changeMembershipLevel().
  • ENHANCEMENT: Updated the cancel page on the frontend to support the Multiple Memberships per User addon. All memberships are shown. You can cancel individual memberships separately. The language of the confirm button mentions memberships vs account.
  • ENHANCEMENT: Added pmpro_getMemberOrdersByCheckoutID($checkout_id) function to support Multiple Memberships per User and others using the checkout_id.
  • ENHANCEMENT: Added a refund($order, $transaction_id) method to the PMPro_stripe class. This will be used by the Multiple Memberships per User addon and eventually used in other areas by the core pluginn.

1.8.10.4

  • BUG: Fixed issue where non-decimal currencies (e.g. Japanese Yen) were sending invalid amounts to the Stripe gateway.
  • BUG/ENHANCEMENT: If an invalid discount code is applied at checkout, we now set the code_level JS var to false. Along with updates to the Pay by Check addon, this fixes issues with the Pay by Check addon where users could not checkout when using a discount code that reduced the price to free.
  • BUG/ENHANCEMENT: Fixed HTML validation issue in CVV field of the checkout page.
  • BUG/ENHANCEMENT: Now using the current_time function in profile.php to avoid off-by-one errors when changing members’ expiration dates.

1.8.10.3

  • BUG: Fixed bug where users could not confirm PayPal Express payments if the main gateway was Stripe or Braintree.
  • BUG: Fixed issue where the billing address and/or credit card fields were not showing up on the Update Billing page.

1.8.10.2

  • BUG: Fixed bug in invoices query in the pmpro_account shortcode.
  • BUG: Fixed issue where the orders table was not being created on brand new installs.
  • BUG: Fixed responsive styling of ReCaptcha.
  • ENHANCEMENT: Added Hebrew language support. Thanks, Nadav Waisbrod.
  • ENHANCEMENT: Update to Italian translation. (Thanks again, Angelo Giammarresi)
  • ENHANCEMENT: Added a text domain and path to the plugin header.

1.8.10.1

  • BUG: Fixed bugs in pmpro_hasMembershipLevel that caused shortcodes like [membership levels=”0″] and [membership levels=”-1″] to stop working.

1.8.10

  • SECURITY: Patched a cross site scripting (XSS) vulnerability on the Memberships -> Addons page in the dashboard. Thanks to Burak Kelebek for the discovery and responsible disclosure of this vulnerability.
  • BUG: Added pmpro_btn-submit-checkout class to the PayPal checkout buttons.
  • BUG: Updated Stripe and Braintree gateways to load billing fields and JavaScript when it’s the default gateway (if not the current gateway specified).
  • BUG: Fixed bug where cancelation emails weren’t being sent to users if they originated from PayPal.
  • BUG: Fixed bug where unsucessful invoices were shown on the Membership Account page. We aren’t showing refunded invoices here now either, but plan to in the future.
  • BUG: The update billing page now uses the pmpro_include_billing_address_fields filter so gateways and addons can properly override the payment fields when needed.
  • BUG: The update billing page now uses the validatecreditcard.js script to set the Card Type in the background, just like checkout. Fixes some issues with updating credit cards on certain gateways.
  • BUG: Reintroduced the pmpro_members_list_sql filter.
  • BUG/ENHANCEMENT: Switched the Japanese Yen and South Korean Won to not use decimals by default. (Thanks, flatworld21 on wp.org)
  • ENHANCEMENT: Added an option to skip the confirmation step with PayPal Express.
  • ENHANCEMENT: Added the pmpro_membership_levels_table filter on the membership levels page of the dashboard to allow addons (like the upcoming MMPU addon) to override the HTML for the table shown.
  • ENHANCEMENT: Added the checkout_id column to the pmpro_membership_orders table. This will be used by addons and possible core in the future to track multiple orders that happen during the same checkout process.
  • ENHANCEMENT: Added support for the Serian language. (Thanks, Sasa Trifkovic)
  • NOTE: We are planning to remove the certificate_id and certificate_amount columns from the pmpro_membership_orders table. Please contact us if you are using this column for something to come up with a work around.

1.8.9.3

  • BUG: Fixed bug introduced in 1.8.9.2 where member start and end dates weren’t being set correctly. Includes an update script to fix past users affected by this.
  • BUG: Fixed warnings on new order page in the dashboard.
  • BUG/ENHANCEMENT: Fixed the pmpro_checkout_default_submit_button() methods of the PayPal Express to no longer check if the current gateway is a paypal one. The method is only called when the gateway is loaded anyway or when another addon (e.g. the pmpro-pay-by-check addon) adds the hook.
  • BUG/ENHANCEMENT: Moved check instructions code into the check gateway class so it can be overriden by addons (e.g. an update to the pmpro-pay-by-check addon).

1.8.9.2

  • BUG: Fixed SQL in pmpro_changeMembershipLevel that caused issues with some MySQL setups.
  • BUG: Fixed URL PayPal Express and PayPal standard redirect to at checkout. (Although the incorrect URL was still working on the PayPal side.)
  • BUG: Addon page now passes $status to the plugin_row_meta filter to fix warnings that were sometimes showing up. (Thanks, jawhite)
  • BUG: Fixed typo in the pmpro_orders_csv_extra_columns filter introduced in 1.8.9.1. (Thanks, Johannes Jokelin)

1.8.9.1

  • BUG: Fixed bug where some recurring orders members who checked out with Stripe in very old versions of PMPro would show up as orders with a blank user_id and membership_id. This update includes a fix for this and an update script to fix old orders affected by this.
  • BUG: Fixed bug where the Stripe class activation/deactivation methods were setup too late to actually run on activation/deactivation.
  • BUG: Updated the Stripe class to use the same language and markup in the Payment Information section as the default checkout.
  • BUG: Now forcing pmpro_getMembershipLevelForUser() in admin change emails.
  • BUG: Fixed warning in comments_array and comments_open filters. (Thanks, Mihail Chepovskiy)
  • BUG: Fixed format error for dates when saving orders. (Thanks, EmreErdogan)
  • BUG: Fixed bug that was causing issues in the cancellations report.
  • BUG: Fixed the pmpro_cron_expiration_warnings script to properly skip deleted and already expired members.
  • BUG: Reverted code to generate the CVV popup URL.
  • BUG: Fixed a couple bugs in the pmpro_loadTemplate function.
  • BUG/ENHANCEMENT: Updated URL used in the IPN Handler API calls to match the latest PayPal docs. (Thanks, pbaylies)
  • BUG/ENHANCEMENT: Overhauled the orders list CSV export for improved performance. There is still scaling work to be done on the exports, but timeouts and memory errors will happen much less often.
  • ENHANCEMENT: Added Greek (el_GR) translation. (Thanks, Alexandros Karypidis)
  • ENHANCEMENT: Added $order as a parameter to the pmpro_orders_user_row_actions hook. (Thanks, SquareLines)
  • ENHANCEMENT: Added a warning to backup your database to the update notice.

1.8.9

  • BUG: Fixed bug with recurring orders and TwoCheckout.
  • BUG: Fixed bug where some non-members (membership_id was 0 or NULL) were being processed for expiration.
  • BUG: Fixed bug where the address/street wasn’t showing up when printing orders from the dashboard.
  • BUG: Fixed bug where the Stripe class would sometimes show its billing and payment fields even if a secondary gateway was chosen.
  • BUG: Making sure $this->total is set for new orders and available to the pmpro_add_order, pmpro_added_order filters.
  • BUG: Fixed bug where email templates were not being loaded out of the /paid-memberships-pro/languages/email/ directory. (Thanks, menardmam on wordpress.org)
  • BUG: No longer showing a “renew” link on the membership account or membership levels pages if the user’s level is not allowing sign ups.
  • BUG: Fixed bug where the expiration script might try to run on deleted or expired users.
  • BUG/ENHANCEMENT: Change membership shortcode to call pmpro_hasMembershipLevel when checking for level=”” as well. This ensures the pmpro_has_membership_level filter runs, which some addons/etc need.
  • ENHANCEMENT: Updated categories list on the edit levels page to show nested categories.
  • ENHANCEMENT: Now adding a pmpro-no-access class (similar to the pmpro-has-access class) to the post element if a user doesn’t have access to that post.
  • ENHANCEMENT: Added pmpro_checkout_end_date filter, similar to pmpro_checkout_start_date. Takes params $enddate, $user_id, $pmpro_level, $startdate.