Error rescue

WooCommerce Checkout Not Working: Fix (2026)

By Ali Yasin Jatoi 6 min readUpdated July 2, 2026
Reviewed by Ali Yasin Jatoi, Founder & Lead Engineer· Updated July 2, 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 #1 — Place Order button does nothing (JavaScript error)

The Console shows a JS error, typically "jQuery is not defined" or a plugin script conflict. Most common cause: a page builder (Elementor, WPBakery) or optimization plugin (Autoptimize, WP Rocket) deferring or combining jQuery.

In WP Rocket / Autoptimize, exclude jQuery from combine/defer. In Elementor, disable "Improved Asset Loading" temporarily. Refresh checkout — try placing the order again.

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.

Want this handled for you?

Book a call and we will review your site before recommending anything.

Call Book a call