Version 2.4 of Paid Memberships Pro is out with a handful of bug fixes. We have also added two new features related to Stripe Webhook setup and email deliverability via SendWP.
The bug fixes and enhancements in this release have the potential to hinder sales, so be sure to upgrade.
Stripe Webhook: One-Click Setup
v2.4+ of Paid Memberships Pro now includes a button to create and validate the correct webhook for membership sites using the Stripe gateway.
After inserting your Stripe live or test API keys, you should click the “Create Webhook” button. If your API keys are correct, the webhook will be created in your Stripe account with all of the required events for Paid Memberships Pro.
By default, all transactional email sent through your WordPress site is routed through the mail server configured by your hosting environment. If you are having issues with email delivery from your server, please read our email troubleshooting guide here. We also occasionally recommend the Email Log plugin, which allows you to track what emails are being sent through your site.
There are several third-party services that provide improved delivery rates, tracking, and reporting for websites hosted on WordPress. Paid Memberships Pro now offers built-in integration for SendWP, an optional third-party service for transactional email in your WordPress site.
The full list of updates is below.
- FEATURE: Now detecting if the Stripe webhook is set up correctly. You can now create or disable the webhook from the payment settings page in the WP admin dashboard.
- FEATURE: Added a link to use and set up SendWP for more reliable email sending from WP. [docs]
- BUG FIX: Fixed further issues with dates and timezones.
- BUG FIX: Fixed issue where reports would cause white screens on some server set ups. We had some report start dates set to 1960, which caused issues. (Thanks, Sam “gausam” on GitHub)
- BUG FIX: Fixed issue with the query to find expiring memberships that happened on certain MySQL setups.
- BUG FIX: Fixed issue that was caused if other code called
- BUG FIX: Fixed an error in the
- BUG FIX: Fixed a fatal error that was happening in PHP 5.2 or earlier due to code syntax that was not supported then. We noticed a few other cases as well, but decided we won’t support PHP 5.2 consistent with WP and other plugins.
- BUG FIX: Fixed the URL used when using 2Checkout in sandbox mode.
- BUG FIX: Fixed issue where the dummy $0 orders created when using the “Stripe Updates” feature weren’t saving with the updated
subscription_transaction_id. This would prevent future payments from being linked to that user and could prevent subscriptions cancellations from being synchronized. When updating to PMPro 2.4, an update script will run to try to restore these
subscription_transaction_idvalues. However, any recurring orders that occured when the id was missing will not be added to PMPro. You will have to update them manually.
- BUG FIX/ENHANCEMENT: Showing expiration date as text when it is set as a readonly field. (Thanks, Rodmar “rodmarzavala” on GitHub)
- BUG FIX/ENHANCEMENT: Now checking if headers were already sent before trying to start the PHP session. If headers are sent before PMPro tries to start the session, there is usually another error somewhere on the WP site that needs to be fixed. But at least we aren’t adding to the confusion by trying to start the session late causing another error in the log.
- BUG FIX/ENHANCEMENT: Updated misleading hint for the PayPal Express IPN URL on the payment settings page.
- BUG FIX/ENHANCEMENT: Fixed invalid key description in the SQL in
includes/setup.sql. The actually query used to set up table in PMPro was correct though. The
setup.sqlfile is included for reference and developers who want to create the tables “manually” in MySQL.
- BUG FIX/ENHANCEMENT: The
pmpro_search_filter_post_typeshook now supports cases where post_type set in
WP_Queryis an array.
- BUG FIX/ENHANCEMENT: Fixed warning that showed when a user with no levels visited the frontend account page.
- BUG FIX/ENHANCEMENT: Fixing warnings that would be logged at checkout in certain cases.
- BUG FIX/ENHANCEMENT: Better handling of cases where users who checked out using a gateway different from the current setting are shown a message that they cannot update their billing information. They should instead checkout again to renew their membership.
- ENHANCEMENT: Updated to use the latest version of the Stripe API and SDK.
- ENHANCEMENT: More detailed logging for Braintree webhook debug emails.
- ENHANCEMENT: Added a
getTransactionStatusmethod to the PayPal and PayPal Express payment gateway classes. (Thanks, Mirco Babini)
- ENHANCEMENT: Added a
checkout_levelAPI call. This will be used in the future to update the price total at checking using JS and is also needed to implement support for Google Pay and Apple Pay through Stripe.
- ENHANCEMENT: Cleaned up the email settings page.
- ENHANCEMENT: Better handling of some login and password reset errors.
- ENHANCEMENT: Added links to the PMPro YouTube and Facebook profiles.
- REFACTOR: Cleaned up some code in
includes/content.php, especially around the
- REFACTOR: Removed the
package-lock.jsonfile from the repository.