Have you ever had any checkout errors while you were just about to finish an online purchase? Maybe everything was going smoothly, you had already put in your cart all the items you wanted to buy, but then on that checkout page, nothing happened? Maybe you got an error message, or you were unable to complete the payment, or worse, you felt confused because of a redirect to the homepage with no warning.
I’m sorry I had to recall that painful trace in your memory (consumerism, what have you done to us!), but that’s what your customers experience when you have WooCommerce checkout errors in your own store.
Given how critical checkout pages are for all store owners and managers, we’ve talked with WordPress developer and Codeable expert Robin Scott to explore some of the probable causes of a failing checkout and collected insights on how to go about them.
So, what do you need to do when your WooCommerce checkout isn’t working properly?
Let’s first look at the most common WooCommerce checkout errors people find when checking out.
Most Common WooCommerce Checkout Errors
Errors, unfortunately, are inevitable, so having a go-to list for debugging and troubleshooting errors is key to keeping your eCommerce store tip-top. The most common checkout errors experienced on WooCommerce are related to the checkout page reloading, empty cart redirections, and unknown or fatal errors.
1. WooCommerce checkout page keeps loading
If you’re getting endless reloading, there are a few things you can check to identify the issue.
- – Your WordPress settings. WooCommerce checkout errors often have WordPress settings to blame. In most cases, they’re producing an AJAX error when the site address and WordPress address don’t match. When the URLs. aren’t identical, the AJAX request fails, and the page keeps reloading.
- Check if this is the problem by going into your WordPress > Settings > General to revise the URLs and change them.
- – Problems with Transactional emails. Another reason why you might have a checkout page reload constantly is an issue with your checkout-related transactional emails. To solve this, simply add a filter to send emails only once the order’s been completed.
- – The index.html file. The index.html file can also be causing an AJAX issue. To see, go into the XHR tab (XMLHttpRequest) of the developer console and check whether the response is HTML. It should be JSON, so if it’s not, the easiest way to fix is to delete the file or, via the server settings, change the indexes directive to prioritize index.php over index.html.
2. Empty cart redirections
Sometimes your checkout page could be redirecting to an empty cart because your current hosting is somehow incompatible with WooCommerce. This could occur if you enabled a force https on your checkout, where then the problem could be a result of a PHP setting gone wrong.
As Robin suggests:
If you haven’t changed anything on your side, the first place I would look at is your hosting configuration. One of the best ways to check that is to look in the WooCommerce status and see if you’ve got all ticks in there. Check if there’s anything like a template out of date or if it says something about your server configuration which is out of date. That’s definitely something that we want to investigate.
To confirm whether your hosting is causing the checkout error, you should be able to put a copy of your website onto the same hosting and then disable all plugins but WooCommerce and your current theme. Leaving just WooCommerce and using the standard WordPress theme Twenty Twenty-One, you can now put through a transaction and see what happens:
With the standard WordPress theme and just WooCommerce active, if you’ll find your checkout page still not working, we know there’s something wrong with the hosting setup.
3. Unknown or fatal errors
Possibly one of the most frustrating errors to see is one that is “Uknown.” When these appear, it’s likely that the issue is in the PHP script in WooCommerce. To fix look into the following potential causes:
- – Plugin incompatibility
- – Hosting that supports WooCommerce AJAX endpoints
These are generally the culprits of this kind of unidentified or fatal errors often seen on checkout pages, but if the error is only occurring
4. Broken links In confirmation emails
Sometimes, too many transactional emails can be to blame for checkout page errors. To avoid this, modify settings so you can send emails after order completion and speed up the checkout process. This solution has proven to help in many cases and is worth trying before moving on to higher-level checks on your site.
How to troubleshoot Your WooCommerce Checkout (Step-by-Step)
1. Update WordPress and WooCommerce to the latest versions
If the checkout page stopped working all of a sudden, the very first thing to do is to make sure your WordPress and WooCommerce have been updated to the latest versions. If not, update them right away. This should become a part of your WooCommerce regular maintenance to avoid sales downtime in the future.
- Make sure WordPress is updated by going to your Dashboard > Updates and looking for a notification that says, “an updated version of WordPress is available”. If so, click “Update Now,” and you’re done.
- Update WooCommerce by selecting Plugins from your Dashboard and selecting “Update Plugins.” Check the box next to WooCommerce and click “Update Plugins.”
Additionally, try to think or trace back what new actions, edits, and changes have been made recently. As Robin puts it:
The first thing to have a look at is how recently your checkout page stopped working and also what things you might have changed in between the time when it was working and when it stopped.
If you don’t have records of past changes, or you actually didn’t change anything, then the next thing to do is to start looking into your hosting setup.
2. Check your hosting configuration
Sometimes your checkout page could be misbehaving because your current hosting is somehow incompatible with WooCommerce. This could occur if you enabled a force https on your checkout where then the problem could be a result of a PHP setting gone wrong.
As Robin suggests:
If you haven’t changed anything on your side, the first place I would look at is your hosting configuration. One of the best ways to check that is to look in the WooCommerce status and see if you’ve got all ticks in there. Check if there’s anything like a template out of date or if it says something about your server configuration which is out of date. That’s definitely something that we want to investigate.
To confirm whether your hosting is causing the problem, you should be able to put a copy of your website onto the same hosting and then disable all plugins but WooCommerce and your current theme. Leaving just WooCommerce and using the standard WordPress theme Twenty Twenty-One, you can now put through a transaction and see what happens:
With the standard WordPress theme and just WooCommerce active, if you’ll find your checkout page still not working, we know there’s something wrong with the hosting setup.
The next thing to investigate is your payment gateway.
3. Update your payment gateway to the latest version
Which payment gateway are you using? If the payment service you have installed, such as WooCommerce Payments, is not working, chances are that your checkout will also not function, regardless of whether customers are paying with PayPal or Stripe. Make sure you’re using the latest version of your payment gateway.
At times the payment gateway could just not be showing up on the checkout page, or an authentication error occurs every time you try to check out. In the first scenario, your payment option probably just requires an SSL certificate. In second, there could be a problem with the connection between your store and your payment gateway service provider. Specifically, you (or your developer) might need to run an SSL check to see whether your server uses an unsupported encryption type because – to put it simply – not all security is equal.
Explains Robin:
You server might be secure, but using “weak” encryption. This is like comparing Fort Knox with razor wire to your own double lock and burglar alarm. Ecommerce transactions require higher standards. And, if your hosting provider doesn’t meet these criteria, you either need to move host or change your security setup.
4. Delve into Paypal Instant Payment Notifications
If you’re one of the many using PayPal to collect money on your store, there’s something that could negatively affect the completion of your checkout, and that has to do with PayPal Instant Payment Notifications (IPN). It’s a bit more technical than usual, I know, but I’ll try to make it as easy as possible.
The are two main things important for you to understand here:
- If your server uses an unsupported encryption type (to PayPal), the Instant Payment Notifications might not work; hence your checkout won’t complete.
- If your server configuration is missing a specific “thing”, which should be there instead, your checkout won’t complete.
In Robin’s words:
PayPal has a thing called IPN, which is Instant Payment Notifications. If your server uses an unsupported encryption type, the Instant Payment Notifications might not work. Another thing that it could be the reason here is if either the SoapClient or CURL isn’t installed on your server. You’ll find that one in your WooCommerce status page: you’ll see an X next to it saying that this is required for PayPal Instant Payment Notification.
Don’t despair, though, if you’ve felt lost for a moment. Just be aware that there’s this plugin to test whether your system is compatible with the current types of encryption accepted by PayPal.
5. Run a troubleshooting routine
If you haven’t found anything yet that might be causing your WooCommerce checkout errors, then it’s time to unroll the typical troubleshooting routine for common WordPress errors. As you did it to check whether it was your hosting causing the issues, you should do the same to see if it’s something related to one of your plugins or your theme.
Highlights Robin:
Once you know your server is configured correctly because you’ve put in a successful test transaction, the next step is to try isolating the issue to something in your plugins or your theme that’s preventing checkouts from completing. Firstly, try by disabling your theme. If the transaction doesn’t complete, it sure has to do with your current theme. If it doesn’t, then it might be a plugin. The quick way to find out which one is turning on each plugin and then test your checkout each time.
By disabling and then enabling back your theme and each of the plugins you’re using, you’ll have better chances to pinpoint the faulty “element” raising the problems.
Fix Your Broken WooCommerce Checkout
WooCommerce checkout errors can cause your customers to leave your WooCommerce store abruptly, taking their wallets elsewhere. An incomplete checkout leads to a disappointed potential customer. And if your store is experiencing issues, there are several areas you – and your developers – should look into, like the one outlined above. As always, hiring a WooCommerce specialist is always the best solution when you have none available in-house or just want things to be fixed as quickly as possible.
But there’s a process you could start doing right this second that will have a tremendous impact on how likely your store will have issues in the future. One action, which is more of an approach to better managing and running a website: test everything before making it go live.
This blog post features Robin Scott, an experienced WordPress developer who’s also one of the founders of Silicon Dales, an agency focused on WordPress, WooCommerce, and a variety of other services. Robin has specialized in several areas, such as Custom Plugins, Gravity Forms, Hosting Transfer, Maintenance, and WooCommerce Extensions, just to name a few.