Duplicate WooCommerce Orders: Causes and a Permanent Fix
Customers charged twice or two orders for one purchase. How the checkout creates orders, the retries and webhook overlaps that duplicate them, and the fix.
Writing
14 write-ups from production, newest first. Each one is a problem hit on a real project and how it was diagnosed and fixed.
Customers charged twice or two orders for one purchase. How the checkout creates orders, the retries and webhook overlaps that duplicate them, and the fix.
A gateway is enabled and absent from the checkout. The decision tree: block support, availability rules, currency and country, SSL, JavaScript errors, caching.
The checkout is the page a cache cannot help. Where WooCommerce checkout time goes, the scripts and cart fragments that slow it, and the fixes that work.
Why WooCommerce order emails land in spam or vanish, the SPF, DKIM and DMARC records that fix it, and how to move store mail off the web server.
Payments succeed in Stripe but WooCommerce orders stay on hold. How the webhook flow works, why signatures fail, and a diagnostic that finds the break fast.
How abandoned cart recovery works in WooCommerce, what heavy plugins cost in checkout speed, and a lean build using the checkout block and transactional email.
A working checklist for moving a live WooCommerce store to HPOS: what breaks, the queries to grep for, how to test on staging, and how to roll back.
WooCommerce checkout block placing the same order twice and charging cards twice? Here is why the second submit fires and the idempotency fix that holds.
WooCommerce checkout block ignoring your validation hook? Here is why classic filters silently skip the block and the fix that actually blocks bad orders.
WooCommerce cart block goes empty after a guest logs in mid-checkout? Here is what corrupts the session merge during login and the fix that restores items.
WooCommerce coupon not applying on the checkout block? Fix the silent validation failure, missing apply_coupon hook, and Store API rejection with code.
WooCommerce Checkout Block hiding shipping rates at the address step? Fix the broken store API call, session handle, and shipping zone match with code.
WooCommerce throwing "Sorry, this product cannot be purchased" at checkout? The eight real causes and the working fix for each, with WP-CLI debug code.
WooCommerce Checkout Block showing no payment methods after 9.x? Fix missing Stripe, PayPal, and COD options by enabling block support and cache rules.
Fixed price for a defined scope, on live sites, with a rollback path. Agencies and in-house teams welcome.
Hire me for Checkout