WooCommerce Checkout Not Working: Fix (2026)
Quick answer
WooCommerce checkout failures are almost always one of: (1) a JavaScript error blocking the Place Order button, (2) a payment gateway plugin conflict, (3) cart-fragment caching, or (4) a broken permalink/REST API. Diagnose by opening the browser Console tab on the checkout page — the first red error line usually names the plugin or file responsible. Fix by isolating the plugin (rename its folder via SFTP), clearing cache, and rechecking payment-gateway API keys.
Diagnose first, fix second
"Checkout not working" hides a dozen different failures. Before touching plugins, open the checkout page in an incognito window, open browser DevTools (F12) → Console tab, and try to place a test order.
The first red error line tells you the file causing the problem. That single check saves hours of guess-and-check.
Fix #2 — Payment gateway rejecting the order
If you get to "Processing…" and then an error, the payment gateway failed. Check the WooCommerce logs at WooCommerce → Status → Logs — Stripe, PayPal, Square all write detailed failure reasons here.
Common causes: expired API keys, live-mode toggle mismatch (test keys in production), or a webhook URL misconfigured after a migration. Rotate keys in the gateway dashboard, paste them into WooCommerce → Settings → Payments, save.
Prefer we just fix it?
Broken checkout and missing order emails cost revenue every hour. Our e-commerce maintenance covers WooCommerce + Shopify with same-day SLA — from $149/mo. Learn more about e-commerce website maintenance or grab a slot below.
Fix #3 — Cart fragments / caching
If the cart empties or item counts are wrong on checkout, cache is serving stale HTML. Every serious WooCommerce site excludes /cart/, /checkout/, /my-account/, and the woocommerce_items_in_cart cookie from cache.
In WP Rocket: Cache → Never Cache (URLs) — add all three page slugs. In LiteSpeed Cache: Cache → Excludes → URIs. In Cloudflare APO or a page-rules cache, add matching exclusions there too.
Fix #4 — Conflict-test with a default theme + core plugins only
The classic WordPress diagnosis. Switch temporarily to Storefront (WooCommerce's default theme). Deactivate every non-essential plugin (keep only WooCommerce, your payment gateway, and Storefront). Try checkout.
If it works: reactivate plugins one at a time, testing checkout after each. The plugin that breaks it is your problem.
If it still fails on Storefront + WooCommerce only, the issue is WooCommerce core, the payment gateway, or the server (memory, PHP version). Read the debug log next.
Fix #5 — Enable WooCommerce logging + PHP debug
WooCommerce → Status → Logs. Enable Fatal Errors logging. Reproduce the checkout failure. Any PHP fatal that occurred during checkout is now in the log with a file path and line number.
Also enable WP_DEBUG_LOG in wp-config.php to catch anything WooCommerce didn't log.
When to call for help
Checkout downtime = revenue loss per minute. If your store is broken right now and the diagnostics above aren't pointing at anything obvious, our emergency e-commerce rescue starts at $149 with typical resolution in under 30 minutes.
Common questions
Why is my WooCommerce checkout not working?+
Open the checkout page in incognito, open browser DevTools → Console tab, and try to place a test order. The first red error line tells you which plugin or file is failing. Most cases are: (1) a JavaScript conflict blocking the Place Order button, (2) a payment gateway API key issue, or (3) cache serving stale cart data.
How do I stop caching WooCommerce checkout page?+
Exclude /cart/, /checkout/, and /my-account/ from your caching plugin. In WP Rocket: Cache → Never Cache (URLs). In LiteSpeed Cache: Cache → Excludes → URIs. Also exclude the woocommerce_items_in_cart cookie. Cache serving stale cart HTML is the #1 cause of "cart empties on checkout" complaints.
Why does the WooCommerce Place Order button do nothing?+
A JavaScript error is blocking the click handler. Open DevTools → Console and reload the page — the first red error line names the culprit. Usually a page-builder or optimization plugin combining or deferring jQuery. Exclude jQuery from your optimization plugin's combine/defer settings.
How do I test WooCommerce for plugin conflicts?+
Switch to Storefront theme, deactivate everything except WooCommerce and your payment gateway. Try checkout. If it works, reactivate plugins one at a time until it breaks — the last plugin activated is the culprit. This 15-minute test saves hours of guessing.
Want help with this?
The pages below go deeper, by service and by city.
Services
Want this handled for you?
Book a call and we will review your site before recommending anything.