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?

Send the site and the symptom. A senior WordPress engineer opens it, tells you what is actually broken, and replies within one business hour. No card, no sales call, no obligation.

A WordPress engineer replies within 1 business hour. 150+ WordPress sites managed by founder at Pearl Lemon No card, no contract

Free. No sales pitch. If we are not the right fit, we will tell you who is.

Secure and private 30 day money back No lock in contract
Emergency Book a call