WooCommerce Checkout Not Working
Your shop looks fine, but customers can't finish buying — the checkout page is blank, the button does nothing, or payments fail. Here is how to find out fast and what usually breaks it.
Common signs of this issue
- The checkout page loads blank, half-loaded, or with fields missing, while the rest of the shop looks normal.
- Customers click "Place order" and nothing happens — no error, no spinner, no confirmation.
- Cards are being declined for everyone, or the payment step never appears at all.
- Orders arrive but sit stuck on "Pending payment" even though the customer says they paid.
- Your Orders screen has gone quiet — no new orders for days from a shop that normally gets them.
- Customers email or call to say they "couldn't check out," often without being able to say exactly what went wrong.
- It started after an update — a plugin, the theme, WooCommerce itself, or a new optimization or caching plugin.
Safe checks you can do yourself
None of these require sharing passwords with anyone.
- Place a real test order yourself, right now. Use your cheapest product, a real card, and refund it afterward. This is the single fastest way to see exactly what your customers see, and it tells you whether the problem is everyone or just one person.
- Open your Orders screen (WooCommerce, then Orders) and look at the dates. If the most recent order is older than your normal rhythm, orders have quietly stopped — that changes this from a nuisance into an emergency.
- On that same screen, look for orders marked Failed or stuck on Pending payment. A cluster of those, all starting around the same date, points at the payment side rather than the page itself.
- Log in to your payment gateway's own dashboard — Stripe, PayPal, Square, whichever you use. It records attempts your site never sees: declined charges, blocked requests, expired credentials, or a warning that the account needs attention.
- Try the checkout in a private or incognito window, and again on your phone using mobile data. If it works there but not in your normal browser, caching is involved. If it fails everywhere, the site itself is broken.
- Check the address bar on the checkout page for the padlock. Payment providers refuse to process cards on a page that is not securely served, so an expired SSL certificate can kill payments while everything else looks fine.
- Write down what changed recently — plugin updates, theme updates, a new speed or minify plugin, edits to the checkout page in a page builder. Checkout breakage almost always has a start date, and the start date almost always matches a change.
- If you use a caching plugin or your host caches pages, check whether the cart and checkout pages are excluded from caching. Most caching tools exclude them by default; a settings reset or a new plugin can quietly undo that.
What this usually means
A broken checkout is the most expensive kind of WordPress problem, because it fails silently. The shop front looks perfect, product pages load, and nothing warns you — the orders just stop. Plenty of owners discover a dead checkout weeks later, from a bank statement or a customer complaint, which is why the first move is always to test a purchase yourself rather than to stare at the homepage.
The causes sort into a few families. A blank or mangled checkout page is usually a conflict — a plugin or theme update that clashes with WooCommerce, or a page builder that has damaged the block or shortcode that draws the checkout form. A "Place order" button that does nothing is almost always a JavaScript error, very often introduced by an optimization plugin that combines or minifies scripts. Payments that fail belong to the gateway: expired or regenerated API keys, a gateway accidentally left in test mode, or an SSL problem that makes the payment provider refuse the connection. And orders stuck on "Pending payment" usually mean the gateway's confirmation message back to your site — the webhook — is being blocked, often by a security plugin or firewall rule.
This sorting matters because each family has a different fixer. Page conflicts and script errors are WordPress work. Gateway declines are settled inside the payment provider's dashboard, sometimes with their support team. Blocked webhooks can involve your host or firewall. Working out which family you are in — using the safe checks above, without touching code — is most of the diagnosis, and it is exactly what a professional would do first anyway.
What not to do
- Don't assume no news is good news. A checkout can be dead for weeks while the site looks perfect — test a real purchase instead of waiting for complaints.
- Don't start deactivating plugins at random on a live shop. On a store, a wrong guess can take payments or shipping down with it; change one thing at a time and note what you changed.
- Don't regenerate or replace your payment gateway API keys just to see if it helps. If the old keys were fine, you have now broken a working connection.
- Don't switch the gateway into test mode on the live site to experiment — real customers will sail through a checkout that takes no real money.
- Don't delete or rebuild the checkout page. WooCommerce ties that specific page to the checkout process, and recreating it wrong adds a second problem.
- Don't ignore orders stuck on "Pending payment" — some of those customers were charged and expect their goods, and every day unanswered turns into refunds and disputes.
When to get help
Get help quickly if the checkout is down and you cannot tell which family the problem is in — every hour is unrecovered revenue, and checkout diagnosis is fast, familiar work for someone who does it often, typically a matter of reading the browser's error console and the gateway's logs rather than anything exotic. It is also the sensible route if the failure sits between systems: orders stuck pending, payments taken but not recorded, or a gateway blaming the site while the site blames the gateway. Someone who has seen the pattern before can usually pin it down in an hour or two, and on a store that takes orders daily, that is cheap. Whatever you do, have your test-order results, the start date, and your list of recent changes ready — they turn a vague investigation into a short one.
Not sure what to do next?
Answer a few short questions and we'll point you to the safest next step — DIY, a freelancer, or a direct review. No passwords required.
Is this a business website? If this issue may be costing you leads, sales, or trust, you may want a direct review instead of trial and error.
Frequently asked questions
Why is my WooCommerce checkout page blank?
Usually a conflict — a plugin or theme update clashing with WooCommerce, or a page builder that has damaged the checkout block or shortcode on that page. If the page went blank right after an update, that update is the prime suspect.
Why does the Place Order button do nothing when clicked?
That is almost always a JavaScript error on the page. Optimization plugins that combine or minify scripts are the most common trigger, followed by plugin conflicts introduced by a recent update. The error is visible in the browser's console, which is where a professional will look first.
Why are payments suddenly failing for every customer?
Check three things: whether the gateway's API keys expired or were regenerated, whether the gateway is accidentally in test mode, and whether the site's SSL certificate is valid. Payment providers refuse to process cards over an insecure connection, so an expired certificate stops payments even when the page loads.
Why are WooCommerce orders stuck on Pending payment?
The customer paid, but the gateway's confirmation message back to your site — the webhook — never arrived. Security plugins, firewalls, and some host settings can block it. The gateway's dashboard will usually show the failed delivery attempts.
How do I find out if my checkout is actually broken?
Place a real order yourself with your cheapest product and a real card, then refund it. Also check the Orders screen: if the newest order is much older than your usual pattern, the checkout has likely been failing since around that date.
Can caching break a WooCommerce checkout?
Yes. Cart and checkout pages must never be cached, because they are different for every customer. Most caching plugins exclude them automatically, but a new caching plugin, a settings reset, or host-level caching can undo that and cause blank pages, wrong totals, or failed orders.