WooCommerce vs Shopify vs Custom Ecommerce: Which Platform Is Right?
Choosing the right ecommerce platform can save thousands in rebuild costs later. Here’s a practical comparison of WooCommerce, Shopify, and custom ecommerce builds.
Read article →If WooCommerce checkout is broken (spinning button, errors, payment fails), here’s a practical checklist to diagnose and fix it fast — without guessing.
“WooCommerce checkout not working” usually means one of a few things: the pay button spins forever, the page reloads with no order created, a payment fails, or you get a vague error.
The good news: most checkout issues come from conflicts, caching, or broken scripts — and can be diagnosed quickly. Here’s the checklist I use on real client sites.
If checkout is business-critical, this is exactly the kind of issue covered by my WooCommerce development and website maintenance work.
?wc-ajax=checkoutOpen DevTools → Console/Network and look for red errors. Specifically check the request to:
/ ?wc-ajax=checkout/wp-admin/admin-ajax.phpIf you see a 500 error, it’s usually a PHP/plugin problem. If you see 400/403, it can be security rules, caching, or missing nonce/session.
Most checkout breakages are caused by one plugin interfering with checkout scripts, validation, or sessions.
If disabling a plugin fixes it, you’ve found your culprit. Then you either:
WooCommerce checkout pages must not be cached. If you’re caching checkout, users can get mismatched sessions, missing nonces, or “invalid order key” style issues.
/cart//checkout//my-account//?add-to-cart=/?wc-ajax=Also exclude WooCommerce cookies from cache variation if your caching layer supports it.
If your theme overrides WooCommerce templates, outdated overrides can break checkout on Woo updates.
Check for overrides at:
wp-content/themes/YOUR_THEME/woocommerce/
For Stripe/PayPal failures:
If checkout returns 500, check:
wp-content/debug.log (if enabled)A common cause: a fatal error in a custom plugin or functions file.
wc-ajax=checkout errorsIf you’re stuck, send me the site link + what you’re seeing ↗. I can usually identify the root cause quickly and fix it without trial-and-error.
Send the issue, URL or rough idea. I’ll tell you what I think the sensible next step is.