WooCommerce Checkout Not Working? Here's How to Fix It Fast

WordPress

WooCommerce Checkout Not Working? Here's How to Fix It Fast

WooCommerce checkout broken? Most failures come down to caching, page assignments, URL mismatches, or a plugin conflict. Here's the short fix list.

By Xenoy··Updated September 15, 2026
WooCommerce Checkout Not Working? Here's How to Fix It Fast

A broken checkout stops customers at the worst moment. The spinner spins forever, the Place Order button does nothing, or shipping options never appear. Most of the time, it's caching, a page assignment, or a plugin conflict. Here's the short fix list.

Fix 1: Exclude Cart and Checkout From Caching (Most Common Cause)

If the checkout spinner spins forever, caching is the likely culprit. Cart and checkout pages hold customer session data. Full-page caching serves a stale copy and breaks the checkout.

Exclude these URLs from your caching plugin, host cache, and CDN:

/cart/
/checkout/
/my-account/

Also exclude these WooCommerce cookies:

woocommerce_items_in_cart
woocommerce_cart_hash
wp_woocommerce_session_

Then purge the cache. Test in a private window.

For more on this, see the WooCommerce guide on endless checkout spinners.

Fix 2: Check Page Assignments

Go to WooCommerce → Settings → Advanced. Confirm that Cart, Checkout, and My Account each have the correct page selected.

Then open the checkout page in the editor. Make sure it contains either:

  • The shortcode [woocommerce_checkout], or
  • The Checkout Block

If you recently switched from shortcode to block (or the other way), some payment gateways may stop working. Switch back and test.

Fix 3: Check URLs and SSL

Go to Settings → General. WordPress Address (URL) and Site Address (URL) must match exactly. Same domain. Same https://. Same www or no www.

If they don't match, checkout AJAX requests get blocked. Fix the URLs. Then go to Settings → Permalinks and click Save Changes.

Fix 4: Test One Payment Gateway at a Time

If one gateway fails and another works, the problem is that integration—not WooCommerce itself.

  • Check the gateway is set to Live Mode (or Test Mode if testing).
  • Verify API keys and secret keys.
  • Check webhooks in your Stripe or PayPal dashboard. If webhooks fail, WooCommerce never gets the payment confirmation.

Use the gateway's test mode. Don't place real orders repeatedly.

Fix 5: Check the Browser Console

Press F12 in your browser. Open the Console and Network tabs. Click Place Order.

Look for a red JavaScript error. It usually names the file and plugin causing the crash.

In the Network tab, look for a failed request to:

?wc-ajax=checkout

If that request returns 403 or 500, a security plugin, Cloudflare WAF, or a PHP timeout is blocking it. Click the request to see the server response.

Fix 6: Run a Quick Conflict Test

On staging, switch to a default theme (Storefront or Twenty Twenty-Four). Deactivate all plugins except WooCommerce and your payment gateway. Test checkout.

If it works, reactivate plugins one at a time. Test after each one. The plugin that breaks checkout is the culprit.

Start with these usual suspects:

  • Checkout field editors
  • Custom fee or discount plugins
  • Currency switchers
  • Shipping calculators
  • Minification and script-delay tools
  • Security plugins

After the Fix: Test One Full Order

Don't just assume it's fixed. Place one real order with a live payment method. Refund yourself after.

Check that:

  • Order status changes from Pending Payment to Processing or Completed
  • Customer and admin emails fire
  • Refunds process correctly

If all three work, the checkout is fixed.

That's It

Most checkout problems come down to caching, page assignments, URL mismatches, or a plugin conflict. Work through the fixes in order. Change one thing at a time. Test after each change.

X

About the author

Xenoy

View profile

Continue reading

WooCommerce Checkout Not Working? Here's How to Fix It Fast | ThemesGallery