Web shop
Web shop checkout problems? How to avoid lost orders
Web shop checkout problems usually have one of eight causes. Learn how to spot them, test your checkout safely and stop losing orders.
- By IT bugsolutions
- 7 min read
Checkout problems on a web shop usually come from one of a few places: the payment provider connection, a failed webhook, test keys left on a live shop, a 3-D Secure step that breaks, an SSL error, a cached checkout page, a plugin conflict or a broken shipping rule. Test your own checkout every week with a real small order, and you will find most of them before a customer does.
- A broken checkout rarely announces itself. Visitors leave quietly and you see fewer orders, not an error.
- The usual suspects are payment settings, webhooks, caching, SSL, plugin conflicts and shipping rules.
- Test the full path, from cart to confirmation email, after every update.
- Take a backup before you change anything on a live checkout.
Why do checkouts fail without anyone noticing?
A customer fills their cart, clicks Pay, and nothing happens. They click again, wait, and then close the tab. You never see an error message. All you see is a quiet day.
That is what makes checkout problems expensive. Your homepage can look perfect while the one page that earns money is broken. Lost orders are invisible by nature: nobody reports them, and most customers do not come back to try again.
The cost is not only the missed sale. A customer who was ready to buy and hit a wall also remembers it. Some will never return, and some will tell others.
What are the most common causes of a broken checkout?
1. Payment provider settings
The link between your shop and the payment provider (Stripe, Mollie, PayPal, Adyen and others) depends on API keys, enabled payment methods and a working merchant account. An expired key, a disabled method or an account that is still under review can stop payments without any visible warning on your site.
2. Test keys on a live shop
This one happens after a migration or when a developer copies a staging site to live. The shop still uses test keys, so customers can go through the motions but no real money moves. The reverse is also common: live keys on a staging site, which creates real charges while you test.
3. Webhooks that fail
After a customer pays, the payment provider sends a message back to your shop: a webhook. It tells the shop the payment succeeded so it can mark the order as paid. If that message is blocked by a firewall, a security plugin, a redirect or a server error, the customer is charged but your shop never creates a paid order.
- Cart
- Payment provider
- Webhookfails here
- Paid order
This is the nastiest failure, because money arrives at the provider while your shop shows nothing.
4. 3-D Secure and bank authentication
Many card payments in Europe require an extra step at the customer's bank (3-D Secure). If your return URL is wrong, if a redirect loop or cached page interrupts the return, or if a pop-up is blocked, the customer authenticates but lands on an error page.
5. SSL and mixed content
Browsers warn visitors loudly when a certificate has expired or when a secure page loads insecure resources. A warning on a checkout page is usually the end of that order. See our guide to the SSL certificate error for the symptoms.
6. Caching of pages that must not be cached
Cart, checkout and account pages are personal. If a cache plugin, CDN or server cache stores them, customers can see an old cart, a wrong total or an expired security token, and the order fails on submit. Most shop plugins document which pages to exclude. Make sure those exclusions still work after a change.
7. Plugin and theme conflicts
An update to a security plugin, a page builder, a currency switcher or a checkout add-on can break the form on its own or only together with another plugin. This is why checkout problems often start right after an update. If that matches your case, read about a site that broke after an update.
8. Shipping and tax rules
If no shipping method matches a customer's address, many shops show an empty list and no way to continue. A deleted zone, a changed weight rule or a country missing from your selling list is enough.
How can you test your own checkout safely?
You do not need a developer for a basic test. You need ten minutes and a routine. Do it weekly, and always after updates, a theme change or a payment settings change.
- Open your shop in a private window on a phone and a computer, so you see what a new visitor sees.
- Add a cheap product, go to checkout and fill in the form as a customer would.
- Try every shipping method and each country you sell to, at least once in a while.
- Pay with each major payment method. Use the provider's test mode on a staging copy, or place a real low-value order on the live shop and refund it afterwards.
- Check that you receive the order, that its status is paid, and that the customer confirmation email arrives (also in spam).
- Check the payment provider dashboard. Every payment there should match an order in your shop.
Never paste live payment keys into a staging site, and never swap keys on the live shop without a fresh backup. Use the provider's test mode for experiments. A wrong switch can send real charges to the wrong place or stop payments entirely.
Also look at your numbers. If visits are normal but orders fall, or if the payment provider shows more successful payments than your shop has orders, something between the two is broken.
What should you do the moment you suspect a checkout problem?
Don't
- Change payment keys or settings at random
- Update every plugin in a panic
- Wait to see whether it fixes itself
- Refund or ignore paid orders you cannot find
Do
- Make a backup first
- Reproduce the problem yourself and write down the steps
- Check the provider's status page and dashboard
- Note which recent change came before it (update, plugin, migration)
Write down the exact moment it breaks: after clicking Pay, after the bank page, or on the confirmation page. That one detail narrows the cause a lot. A failure before the payment page points to the shop. A failure on return points to webhooks, redirects or caching.
What do lost orders cost you?
Do not guess a number. Look at your own data: normal orders per day on a similar day, compared with the days the problem existed. The gap is a fair estimate of the direct loss.
Then add what is harder to count. Customers who paid but got no confirmation will write to support, ask for refunds or dispute the charge with their bank. Disputes cost time and can affect your standing with the payment provider. Repeated failures also make advertising money less effective, because you pay for visitors who cannot buy.
How do you prevent checkout problems in the first place?
- Test the full checkout after every update and every payment or shipping change
- Test updates on a staging copy first, with a backup of the live shop
- Watch the shop with uptime monitoring and a regular order check
- Get alerts for certificate and domain expiry
- Keep payment provider emails and notices in an inbox someone reads
- Keep a short note of which pages must never be cached
Our care plans cover several of these: uptime checks with alerts, SSL and domain expiry alerts, updates with a rollback option and daily off-site backups. They cannot replace a manual test order, but they remove most of the surprises. For more on outages that hit the whole shop, read what to do when your web shop crashes.
When should you call in help?
Call for help when a test shows payments failing, orders missing, or customers charged without an order. These cases involve money and records, so guessing is risky.
We repair web shops remotely. The first diagnosis is free, you get a fixed price before any work starts (web shop repairs from €450 excl. VAT), we make a backup before every change, and you pay after the diagnosis. Be aware of our limits: we cannot fix a payment provider's own outage or a merchant account the provider has blocked. In that case we tell you clearly what you need to ask the provider. Start with our page on checkout and payment not working, or contact us with the steps you wrote down.
Frequently asked questions
Also see