This guide provides troubleshooting steps if your site is failing to create user accounts at checkout.
The same troubleshooting steps apply when your site is successfully processing membership payments or freezing at checkout entirely. You will know that this is happening if users report a white screen at checkout or if you see Orders in the Memberships > Orders admin page with the “User” listed as
Why is this happening?
I’m 99% sure that your WordPress site has more than just the core Paid Memberships Pro plugin installed and activated. Each plugin in your membership site is there to support or extend the member experience you are hoping to create. The downside of this is that every plugin in the WordPress world has not been tested for compatibility with PMPro. Occasionally, a plugin you are using will throw errors or attempt to interact with the checkout process and user account creation…and that interference can mean that user records fail to insert into your database.
The steps below will help you identify which plugin is causing the error so that your developer or our support team can work to resolve the issue.
Troubleshooting User Account Creation at Checkout
Before you being troubleshooting, it is highly recommended to enabled debugging for your site. This guide will show you how to use the WordPress’ built-in WP_DEBUG features.
If this is a live site, consider running the test on a staging site that has the same set of active plugins. Just be sure not to copy your full member database or connect to your live payment gateway. Staging sites can delete and expire members, so it is very important that you check into features of the Developer’s Toolkit Add On before proceeding with a full clone of your live site for staging.
If along this process you see errors output by the
WP_DEBUG setting, note the errors and take steps to resolve them before proceeding.
User Account Testing Scenarios
Your default PMPro installation is throwing an error.
Test checkout when all other plugins are deactivated except PMPro. This first step will allow you to see if the error is caused by PMPro or is caused by a plugin incompatibility. The errors may be theme related, so this is when you can also see issues that occur with only PMPro and your active theme enabled.
Free member checkouts work, but paid do not.
Test checkout for a free level. Sometimes the issue is gateway related, so testing a checkout on a free level can help you get more information about what cases fail, and which do not.
Paid checkouts with my chosen payment gateway are failing.
Test checkout with the gateway set to “Testing Only”. Using this built-in testing gateway is another way to see whether the issue is gateway related or related to something failing with paid checkouts as a whole.
Only new users are affected, existing members can renew or change levels.
Test a renewal or level change when logged in as an existing user. This step will tell you whether the bug is related to all checkouts, or just new member checkouts that need a new user account created.
Everything works so far. It’s probably a plugin incompatibility.
Reenable plugins one by one and test checkout each time. Do not bulk activate your plugins. The last plugin active before the issue returns is the culprit. If you know of one specific plugin that interacts with user registration, try reenabling that plugin first. It will save yourself some time in debugging.
You’ve identified the incompatibility. What next?
Now that you are certain which plugin is causing the error, you will need to move on to a more advanced level of debugging. Advanced developer experience with WordPress is needed to tackle this phase. In most cases,
WP_DEBUG will output specific errors and help you narrow in on the issue.
If the error is related to a certain plugin and you do not have the developer skills to repair it, ask yourself if you really need that additional plugin. What features is it adding to your membership site and can you find another plugin to replace it?
The world of debugging plugin issues like this is highly complex. Even the most advanced WordPress developers will occasionally find themselves in a moment of confusion. We use this same troubleshooting process in our development workflow, and if you open a ticket in our support area we may point you to this article so that you can narrow in on the issue before we work to tackle it.