We’ve run into quite a few issues in the last few months with member signup and payment in the RCP (Restrict Content Pro) plugin we’ve been using for years.1 We’ve decided to write a detailed list of how to troubleshoot these issues in the way which will solve the issue fastest. The goal is to ensure that troubleshooting causes as little pain as possible to the publisher.
We’re sharing this info to help any other developers deploying WordPress membership sites, troubleshoot their publishers sites more efficiently.
These steps are helpful if you get reports of the signup not working for some random users.
End-user Troubleshooting
First step – test on an alternative device and alternative network.
1 – Do you run into the issue on your mobile? Please try to sign up/pay on your computer too.
If the issue happens on both mobile and desktop, find out what browser the end user is using and ask him or her to try with a new browser, one without (or with very few) extensions installed. If the user is a Firefox user, suggest Brave. If the user is a Chrome user, suggest Firefox. If the user is a Safari user, suggest Brave. Opera is a wildcard browser which is fairly reliable and not too many users have installed.
2 – Please try with another browser where you do not have any browser extension.
All of the browsers above are free downloads so testing in another browser is the essential step which gets rid of any suspicion that it’s a user specific issue related to cookies or extensions. The user might be using some browser extension to enhance the privacy on the web which might in turn also block your payment gateway. This includes our favourite Brave, which allows users to fine-tune blocking. Services like SendGrid or even Tidal don’t work well with Brave blocking on.
3 – Please try with some other internet connection.
If you are using mobile internet you might be getting some extra data compression which might be breaking JavaScript. It’s rare, but we experienced such issues before. T-Mobile and Drei in Austria definitely use compression which can break sites. The solution here for users on mobile internet is to use a VPN. ProtonVPN has a free basic VPN which can be used for testing (we also use the paid version).
4 – Please try with a new user account.
The existing account might have some payment information attached which might be running into some strange issue with the payment gateway.
It may sound like this is giving up on diagnosing the issue properly. Not at all. When the user succeeds with a new user account it establishes that the issue is attached to their account and not to the device or the internet connection. Time to dig deeper and try to figure out what the issue was with the older account.
- Open developer tools and capture the JavaScript console logs.
This is really a last resort. It’s too much trouble for most users. Only suitable for tech-savvy enthusiastic users who truly love your website. It would be better to get the credentials of the end user and attempt the signup oneself.
Activate your JavaScript console and repeat the signup steps. There should be plenty of output in the console which will give the developers a chance to figure it all out.
Admin Troubleshooting
1 – Check all the membership plugin logs.
Enable its debug mode if not enabled. In that case you have to ask your user to try again.
2 – Check all the possible logs on your payment gateway.
Stripe can give you a lot of information. If you don’t see anything, it suggests the signup fails early on – before your membership plugin even loads the payment gateway for the user.
3 – Check the PHP error logs.
The failure might be caused by a warning or fatal error in the logs. Unfortunately some of the fatal errors are not logged, [which fatal errors] then you have to check your Apache or NginX logs too which do not show any error details.
4 – Figure out the user IP.
This can be done if you were contacted using a form submission plugin or you can ask the user to visit ip4.me and send the IP back to you.
Once you have the IP you can do a lot better check of the PHP logs to see if any requests have failed.
5 – Setup additional JavaScript logging.
Thanks to tools like Sentry.io, Loggly or New Relic you can get a trace of the user signup. It would contain all the events and JavaScript errors that occurred.
This saves you from asking your user to check the browser developer console. We’re not huge fans of allowing permanent root access to one’s server from an external service, nor of constant logging overhead. We’ve found that any logging which runs all the time is often mostly ignored. It’s better to turn on these tools when you plan to work actively with them.
I hope these tips on how to troubleshoot WordPress membership issues, both signup and payment. We may expand on them over time.
Image credit: LAFD Crews Staff Special Rescue Team at Northern California Wildfires
-
Sadly, since Sandhill Developments RCP was purchased by iThemes, there’s been effectively no advanced support and scant few improvements. We can’t recommend RCP to new developers at this point. ↩
Martin Viceník
Martin graduated as an engineer in Computer Science from Slovak Technical University in Bratislava. He grew up in Liptovský Mikuláš in northern Slovakia next to the beautiful Tatra mountains. He is the developer behind our FV Player.
Leave a Reply