WooCommerce Checkout Not Working
WooCommerce Store Fixes
The last click of the sale is the one that fails.
Customers reach checkout and cannot finish. The Place Order button spins forever or does nothing, fields fail validation for no reason, or the page reloads with an error that names nothing specific.
What it actually means
Checkout is the most fragile page on a store because it is the only one doing several difficult things at once — validating fields in the browser, calculating tax and shipping, talking to a payment gateway, and creating an order — all inside a single request.
That also makes it the most expensive page to leave broken. Every other fault costs you traffic. This one costs you customers who had already decided to buy, and it usually fails silently: the customer leaves, and no order appears to tell you anything happened.
What usually causes it
Most likely first.
- 1
A JavaScript error blocking submission
Checkout depends heavily on scripts. One error from any plugin stops the button working, and the browser console names it immediately.
- 2
Checkout pages being cached
Cart, checkout, and account pages must never be cached. A cached checkout serves another customer's state or a stale nonce, and validation fails.
- 3
A payment gateway misconfiguration
Expired API keys, a gateway left in test mode, or a webhook that stopped being reachable after a site move.
- 4
A plugin conflict
Shipping, tax, and checkout-field plugins all hook into the same process, and any of them can break it after an update.
- 5
An expired nonce or session problem
The customer sat on the page too long, or session handling broke, so the security token no longer validates.
How to fix it
Work through these in order. Take a backup before you change anything.
Step 1 — Place a test order yourself
Do it on the live site with the browser console open. The console names the failing script or request directly, which beats every other diagnostic step.
Step 2 — Exclude checkout from caching
Confirm cart, checkout, and my-account are excluded at the caching plugin, the host, and the CDN. Every layer has to agree.
Step 3 — Check the gateway
Verify API keys are current and live rather than test, and that webhooks point at the correct URL. Gateways silently stop working after a domain change.
Step 4 — Disable plugins in a staging copy
Never on a live store. Switch off non-essential plugins on staging and reintroduce them until checkout breaks again.
Step 5 — Check WooCommerce status and logs
WooCommerce, Status shows template overrides and system problems, and its Logs tab records gateway errors with real detail.
When to stop and call someone
Call immediately if checkout is failing on a live store — this is the one fault where diagnosis time converts directly into lost revenue. Also call if orders are being created but payments are not captured, since that mismatch can leave you shipping goods nobody paid for.
Frequently asked
The most common causes are a JavaScript error from a conflicting plugin, checkout pages being cached when they should never be, or a payment gateway with expired or test-mode credentials. Opening the browser console during a test order usually names the failure in seconds.
Yes, and it is one of the most frequent causes. Cart, checkout, and account pages are unique to each customer and contain security tokens, so serving a cached copy causes validation failures or shows one customer another's session. These pages must be excluded at every caching layer.
Put the gateway in test or sandbox mode and use the provider's test card numbers, ideally on a staging copy. Remember to switch back to live mode afterward — a gateway left in test mode is itself a common cause of checkout failing.
Usually a webhook problem: the gateway took the payment but its confirmation never reached your site, so the order was never completed. Check the gateway's webhook configuration and delivery log, particularly after any domain or hosting change.
Every visitor who intended to buy and could not, and you have no record of them. That makes it more expensive than any traffic problem, because these are customers who already chose you and left without leaving a trace.
If you’d rather not
We do this work every week. These are the services that cover it.
- eCommerce DevelopmentBuild a store that makes buying feel simple. We shape product pages, checkout, payments, tracking, and store workflows so customers can act with confidence.
- Forms & Scripts Not WorkingA form that quietly fails is the most expensive bug on a website — you never see the leads you lost. We fix it, then prove the message arrives.
- Fixing WordPress PluginsOne bad plugin can take your whole site down. We fix plugin conflicts, fatal errors, and security holes fast — and build custom plugins when the off-the-shelf ones fall short.
See exactly what’s holding your website back.
Get a free audit of your site — speed, SEO, mobile, and security — with the fixes that matter most, delivered as a PDF to your inbox.