Have you ever had any problems while you were just about to finish an online purchase? I mean all was going smoothly, you had already put in your cart all the items you wanted to buy so badly, but then on that last page (the checkout page), nothing happened. Maybe you got an error message, 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 your checkout page in your WooCommerce store isn't working as it's supposed to do.

Given how critical are checkout pages 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 see!

Think backward

The checkout page stopped working all of a sudden, or at least you've just been informed about that. Well, as with many other issues, the very first thing to do is to try to think or trace back what new actions, edits, and changes have been done 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.

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 your side, the first place I would look at is your hosting configuration. One of the best way 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 it's your hosting the one 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 2017 as your theme, 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.

Next thing to investigate is your payment gateway.

Check your payment gateway

Which payment gateway are you using? If the payment service you have installed is not working, chances are that your checkout will also not function. 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 the 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 check whether your server uses an unsupported encryption type because - to put it simply - not all secure 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.

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:

  1. If your server uses an unsupported encryption type (to PayPal), the Instant Payment Notifications might not work, hence your checkout won't complete.
  2. 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.

Run a troubleshooting routine

If you haven't found anything yet that might be causing the issues with your checkout, then it's time to unroll the typical WordPress troubleshooting routine. 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 plugin you're using, you'll have better chances to pinpoint the faulty "element" raising the problems.

Wrapping Up

A failing checkout can cause your customers to leave abruptly from your WooCommerce store, taking their wallet 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 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.