We Do Dev Work
We Do Dev Work
EmergencyE-commerceShopify
• 17 Oct 2026

Shopify or WooCommerce Checkout Not Working? What to Check

Shopify or WooCommerce Checkout Not Working? What to Check

If your Shopify or WooCommerce checkout stops working, first find out where it breaks: before payment (the checkout button or page), at payment (the payment provider), or after payment (orders not created or stuck on pending). Then check three things that cost nothing: the platform's and payment provider's status pages, the last change anyone made (an app, plugin, theme or setting), and whether the payment provider is still in test mode or has old keys. If checkout is still broken after 15 minutes and orders are being lost, call a developer who can start today. At We Do Dev Work a senior developer starts the same day for $85 per hour, with no minimum.

This guide covers both platforms side by side, plus the local payment methods your customers actually use. If your whole site is down rather than just checkout, start with my WordPress website went offline.

The first 15 minutes: what you can check yourself

Write down what you find, with times.

  1. Reproduce it. Try a checkout on your phone over mobile data and in a private browser window on a laptop. Note the exact step where it fails and screenshot any error.
  2. Check the status pages. Shopify publishes shopifystatus.com with a separate Checkout component, but notes that issues affecting a small percentage of stores may not show there. Check your payment provider too: Stripe, PayPal, Mollie, Adyen and Klarna all have one.
  3. Ask what changed. A new app or plugin, an update, a theme edit, a new tracking script, a caching or security setting, a currency or market change. Most checkout failures follow a change.
  4. Look at the order data. On Shopify, Shopify's payment troubleshooting guide points you to the abandoned checkout history and the order timeline for error details. On WooCommerce, open the order and read the order notes, and check WooCommerce > Status > Logs for a fatal-errors log, which WooCommerce keeps automatically.
  5. Check the payment settings. Is test mode switched off? Are the live API keys still valid? Shopify's guide lists wrong credentials as a common cause for third-party gateways, and a store with no active primary payment provider shows "This store is currently unable to accept payments".
  6. Check the certificate. A browser warning on the checkout page, or a padlock with a warning, means an SSL or mixed content problem. Most payment gateways require SSL.
  7. Offer another way to pay. If one method fails and others work, switch the broken one off for now so customers are not stuck on it.

Shopify: where checkout usually breaks

Shopify runs the checkout itself; what breaks is usually what you or your apps add to it.

  • Apps and checkout customizations. Apps can add blocks to the checkout, thank you and order status pages through the checkout and accounts editor; on Plus, apps can also customize the information, shipping and payment steps (Shopify docs). Remove or disable the most recently added app block and test again.
  • Legacy customizations that stopped. Shopify sunset checkout.liquid and additional scripts on the thank you and order status pages on 28 August 2025, and script tags there on 26 August 2026 for non-Plus stores (shopify.dev). If your conversion tracking or a post-purchase widget suddenly went quiet, this is the likely reason; checkout itself still works.
  • Theme edits on the cart page. If customers cannot get from the cart to checkout, the cart button in your theme is a suspect. Compare with an unedited copy of the theme or roll back the change.
  • Payment provider settings. Local methods have their own rules. iDEAL | Wero through Shopify Payments only shows when the customer has a Netherlands address and pays in EUR (Shopify). Shopify Payments is not available in Thailand, so Thai stores always use a third-party provider (supported countries).

WooCommerce: where checkout usually breaks

  • Plugin or theme conflict after an update. WooCommerce's own self-service guide says to switch to a default theme and deactivate everything except WooCommerce and the extension in trouble, then reactivate one by one. On a live shop, do this on staging, or with the Health Check plugin's troubleshooting mode, which disables plugins and switches the theme only for your own logged-in session.
  • Caching of cart and checkout. WooCommerce says the cart, checkout and my account pages must be excluded from caching because they show data for the current customer (WooCommerce docs). A new caching plugin, a CDN rule or a host-level cache can serve one customer's cart to another or freeze the checkout.
  • Payment webhooks not arriving. Many methods (iDEAL, Bancontact, PromptPay, bank redirects) confirm the payment afterwards by calling your site. If that call is blocked, customers pay but orders stay on pending. Mollie retries a failed webhook 10 times over 26 hours and then stops (Mollie docs); Stripe retries for up to three days in live mode and treats a redirect as a failure (Stripe docs). Firewalls, security plugins and redirects are the usual blockers.
  • SSL and mixed content. WooCommerce recommends running the whole store on https, and says mixed content warnings usually come from images, scripts or stylesheets still loaded over http (WooCommerce docs).
  • PHP errors. A blank page or endless spinner usually points to a PHP problem (WooCommerce payment errors guide). The fatal-errors log shows the file and line, which usually names the plugin at fault (finding PHP error logs).

Symptom, likely cause, what to do

What you seePlatformLikely causeWhat to do
Checkout errors for every customerShopifyPlatform incidentCheck shopifystatus.com, tell customers, wait
Cart button does nothing or loops back to cartBothTheme edit, app or plugin script, tag managerRoll back the last change, test in a private window
"This store is currently unable to accept payments"ShopifyNo active primary payment providerActivate a primary provider in Settings > Payments
A payment method is missingBothMarket, currency or address rules; method not activated; test modeCheck the method's requirements and the provider dashboard
Customer paid, order stays pendingWooCommerceWebhook blocked or failingCheck the provider's webhook log, firewall and redirects
Blank checkout or endless spinnerWooCommercePHP error, JavaScript conflict, cachingRead the fatal-errors log, exclude checkout from cache, conflict test on staging
Wrong cart contents or pricesWooCommerceCart or checkout page cachedExclude cart, checkout, my account from every cache layer
Browser security warningBoth (own domain)Expired certificate or mixed contentRenew the certificate, fix http links
Everything worked yesterday, broke after updatesWooCommercePlugin, theme or PHP version conflictRoll back on a backup, test the update on staging
Tracking stopped after checkoutShopifyLegacy scripts or script tags sunsetRebuild tracking with pixels or checkout extensions

Local payment methods and their status pages

Know which provider sits behind each method; that is where you look when one fails.

  • Netherlands and Belgium: iDEAL (now co-branded iDEAL | Wero, with a gradual move to Wero announced by iDEAL) and Bancontact, usually through Mollie, Stripe, Adyen or Shopify Payments.
  • France: Cartes Bancaires (CB), usually through Stripe, Adyen or a bank gateway.
  • Germany: PayPal and Klarna next to cards; both have their own status pages.
  • Thailand: PromptPay QR and cards through providers such as Omise (status.omise.co) or 2C2P. Omise documents that PromptPay must be requested separately and that the shop must handle the completion webhook before confirming the order (Omise docs).

How to test checkout safely

  • Shopify: use a test gateway or Shopify Payments test mode. While a provider is in test mode, customers cannot place live orders, so switch it back straight after (Shopify test orders). Some local methods such as iDEAL are not available in test mode.
  • WooCommerce: test on a staging copy with the gateway in sandbox mode, as WooCommerce recommends.
  • The final check: one small real order with a real card or iDEAL, then cancel and refund it. Shopify notes your processor may still charge fees. It is the only test that proves the live chain, including webhooks.

What to tell customers in the meantime

Put a short banner on the site: checkout is temporarily down, orders can be placed by email, phone or chat, and nobody has been charged twice. If customers paid but did not get a confirmation, tell them you will check every payment manually. Pause paid ads pointing at a broken checkout.

What downtime costs you

We have not found a reliable published figure for webshop checkout downtime, so use your own numbers: lost revenue per hour = orders per hour at that time of day x average order value. A shop that takes 6 orders an hour at $70 on a weekday evening loses about $420 for every hour checkout is down, plus the ad spend and customers who do not come back.

When to call a developer

  • The platform or provider is down: no. Communicate and wait.
  • Test mode, keys or a missing method: fix it yourself or with the provider's support.
  • It broke after an update or a new app and you cannot roll back cleanly: yes.
  • Customers pay but orders are not created: yes, today.
  • Blank pages, PHP errors, caching or firewall rules: yes. This is server and code work.
  • Your agency or freelancer cannot start today: that is what emergency help is for.

What to have ready

  • Staff or collaborator access to the Shopify or WordPress admin, hosting, and the payment provider dashboard (not the owner password).
  • When it started, the exact error, screenshots, which methods and countries are affected.
  • The list of recent changes and updates.
  • Order numbers of failed or pending orders and the matching payment IDs.
  • One person who can approve a rollback or switching off a payment method.

What it costs with us

OfferPrice (excl. VAT)StartBest for
Emergency help$85/hour, no minimum; weekends $127.50/hourSame day, also outside office hoursCheckout down right now
Strip card$1,050 for 14 hours (about $75/hour), valid 4 monthsWithin 24 hoursShops that need a developer now and then
Starter subscription$550/month for 8 hoursReply next business dayUpdates and monitoring
Growth subscription$2,200/month for 32 hours ($68.75/hour)Same-day responseShops where an hour of downtime costs more than an hour of work

A worked example: a plugin conflict that takes two hours to find and roll back costs $170 at our emergency rate. Subscriptions run at least 3 months. We sign NDAs, work in your accounts and repository, and explain afterwards what broke and how to avoid it. More detail on rates elsewhere is in our emergency developer cost guide.

How to prevent the next one

  • Staging first. Test plugin, theme and PHP updates on a copy of the shop, including a test checkout, before they go live.
  • An update policy. Update on a fixed weekday morning, never right before a weekend, a campaign or a sale, and keep a backup you have actually restored.
  • Monitor a test order. An uptime check tells you the homepage loads, not that people can pay. Have someone, or a script, run a checkout regularly and check the payment provider's webhook log.
  • Before peak season, get the whole flow checked. Our Black Friday checklist lists what to test, and our Black Friday check does it for you before the code freeze.
  • A developer who knows your shop. A strip card or subscription means the next call goes to someone who already has access and context. For a free look at security, performance and reliability, run EngineeringScore.

Checkout broken right now?

Send us what you see on the emergency help page, with the error and the last change you know of. You do not need to know the cause. A senior developer picks it up the same day at $85 an hour with no minimum and tells you what is going on before the hours add up. If this keeps happening, look at our prices for a strip card or subscription.

Frequently asked questions

Why is my Shopify checkout not working?

Check shopifystatus.com first, then any app or theme change you made recently, then your payment provider's settings and test mode. Shopify's abandoned checkout history and order timeline show the error details.

Why is my WooCommerce checkout not working after an update?

Most often a plugin or theme conflict, or a PHP error. Check the fatal-errors log under WooCommerce > Status > Logs and do a conflict test on staging, not on the live shop.

Customers paid but the order stays on pending. What is wrong?

Usually the payment provider's webhook cannot reach your site, because a firewall, security plugin or redirect blocks it. Check the webhook log in the provider dashboard.

Why is iDEAL not showing at checkout?

With Shopify Payments, iDEAL | Wero only shows for customers with a Netherlands address paying in EUR, and not in test mode. With Mollie or another provider, check that the method is activated in their dashboard.

How do I test checkout without charging customers?

Use Shopify's test gateway or Payments test mode, or a WooCommerce staging site with the gateway in sandbox mode. Finish with one small real order that you refund straight away.

How much does it cost to have a developer fix my checkout?

With us, $85 per hour with no minimum, starting the same day; weekend work is $127.50 per hour. Many checkout problems are found and rolled back within a few hours, but we do not promise a fixed time.

Got a dev problem?

You don't need to know exactly what's wrong. That's kind of the point.

Send the signal