If orders stop suddenly, or a run of Failed and Pending payment orders appears, assume your WooCommerce checkout is not working until a test proves otherwise. Normal cart abandonment is steady and gradual: people leave, but some still buy. The quickest way to tell the difference is a proper test order on every device and payment method, followed by a look at your order notes and logs.
Key takeaways
- About 70% of online carts are abandoned, so some loss is normal. A sudden drop to zero isn’t.
- Test as a real shopper: logged out, on a phone and a computer, with every payment method.
- Failed orders mean a payment was attempted and didn’t go through. Pending payment orders mean the money hasn’t been confirmed.
- Order notes, WooCommerce logs and your payment provider’s dashboard usually point to the cause.
Is it normal for shoppers to abandon their carts?
Yes. Baymard Institute’s average across 50 studies puts the online cart abandonment rate at 70.22% (Baymard Institute). Many of those people were just browsing. Others left over extra costs: 40% of US shoppers who abandoned a cart named shipping, tax or fees as the reason.
The same research found 17% left because of website errors or crashes. So a slice of “abandonment” is really a broken site, and shoppers rarely tell you. They just buy somewhere else.
What are the signs your checkout is broken?
Abandonment is a slow, steady leak. A broken checkout is a sudden change. Watch for these signals:
- Orders stop overnight, especially after a plugin update, a theme change or a new payment setting.
- Failed or Pending payment orders pile up in WooCommerce, then Orders.
- Customers contact you to say the button spins, the page reloads or their card “didn’t work”.
- One group is affected: only phone users, only one browser, or only one payment method.
- Visits to the checkout page continue in your analytics, but thank-you page visits fall away.
How do I test my WooCommerce checkout properly?
Testing while logged in as the admin proves very little. Your browser has saved sessions and you may skip steps a shopper can’t. Test the way a stranger would buy.
- Use a private window. Open one on a phone and one on a computer, logged out.
- Shop like a customer. Add a product, change the quantity, apply a coupon and enter a delivery postcode. Check that shipping and totals update.
- Pay with every method you offer. Card, PayPal, Afterpay or bank transfer can each fail on their own.
- Test a decline as well. A declined card should show a clear message, not a blank page or endless spinner.
- Check what happens after payment. You should see the thank-you page, the order in WooCommerce with the right status, both emails, and the stock count reduced.
Be careful with live payments. Stripe, for example, prohibits testing in live mode with real card details. It asks you to use test mode and test card numbers instead (Stripe). The safest way is a staging copy of your shop with the gateway in test mode. WooCommerce recommends a staging site for troubleshooting payment errors too.

How do I read failed and pending orders?
WooCommerce’s order statuses tell you a lot. A Failed order means “the payment was attempted but didn’t go through” (WooCommerce). A Pending payment order was created, but the money hasn’t been confirmed.
Open the order and read the order notes at the side. They record each status change and often the gateway’s reason, such as a card decline or an authentication problem. WooCommerce says a build-up of pending orders “often points to issues with notification URLs or plugin conflicts” (WooCommerce docs).
For more detail, turn on logging in your payment method’s settings. Then read the entries under WooCommerce, then Status, then Logs. Turn logging off again when you’re done, because logs keep growing.
Tip: Check your payment provider’s dashboard too. A payment can succeed there while WooCommerce marks the order failed. Confirm the money arrived before you refund or ship.
What usually breaks a WooCommerce checkout?
In our experience, the cause is usually one of a short list:
- Page caching. WooCommerce says the Cart, Checkout and My Account pages “need to stay dynamic” and should be excluded from caching (WooCommerce developer docs). A cached checkout can show the wrong cart or refuse to submit.
- An update conflict. A new version of a plugin, the theme or WooCommerce itself clashes with something else.
- Expired or changed gateway keys. Someone reset a password or API key at the payment provider.
- Security rules. A firewall or anti-spam tool blocks the request that sends the order.
- Server problems. PHP errors, a full disk or a slow server time out the payment step.
If an update caused it, roll back that one plugin and retest. If you suspect something worse, such as card-skimming code, our guide to ecommerce website security covers what to look for.

How do I stop it happening again?
Most checkout failures follow a change, so make changes carefully. Back up before updates, test them on staging first, and place a test order after every round. A regular WooCommerce maintenance checklist keeps that routine on paper rather than in someone’s head.
Hosting matters as well. Shops need more server memory than brochure sites, and slow servers make payment timeouts more likely. Specialised WooCommerce hosting is set up with that in mind.
If you’d rather not own this job, our WooCommerce maintenance service tests the store after updates and fixes what breaks. You can compare all our website maintenance plans to see which level fits your shop.
Frequently asked questions
Why does my WooCommerce checkout keep spinning?
A spinning checkout usually means the page sent the order but never got a proper reply. Common causes are a cached checkout page, a JavaScript clash from a plugin or theme, a security rule blocking the request, or a PHP error on the server. Check the browser console and your WooCommerce logs, then test with recent updates rolled back.
How can I see who abandoned their cart?
WooCommerce doesn’t show abandoned carts on its own. You need an abandoned cart plugin or your email marketing tool’s integration, which records carts from shoppers who entered an email address. Use one alongside your analytics. It tells you who left, while test orders tell you whether they could have paid.
Can I place a real order to test my checkout?
Check your payment provider’s rules first. Stripe prohibits testing in live mode with real card details and provides test cards for its test mode. The safer approach is a staging copy of your shop with the gateway in test mode, then watching the first genuine orders closely after any change.
Should I ship a Failed order if the customer says they paid?
Not until you’ve checked your payment provider’s dashboard. Sometimes the payment succeeds but WooCommerce never hears about it, so the order shows Failed or Pending. If the money is there, update the order and note why. If it isn’t, ask the customer to try again.
How often should I test my checkout?
After every update round, after any change to payments, shipping or security settings, and at least once a month even when nothing has changed. Payment providers change their requirements over time, and a quiet failure can cost weeks of sales before anyone notices.
Sources
- Cart abandonment rate statistics, Baymard Institute, updated October 2026
- Testing, Stripe documentation
- Understanding and troubleshooting failed orders, WooCommerce
- Troubleshoot payment errors, WooCommerce documentation
- Configuring caching plugins, WooCommerce developer docs


