Express Checkout Not Showing in WooCommerce? Causes & Fix
The Apple Pay or Google Pay button isn't rendering on your product, cart or checkout page. Before you start disabling plugins: half of these reports aren't bugs at all — the button was never going to show on the device you tested with. Here's how to tell the difference in one step.
Last updated: 16 Jul 2026 · ~7 min read
The most common real cause is a domain that isn't verified with Apple Pay — the .well-known/apple-developer-merchantid-domain-association file isn't being served — or express checkout simply isn't enabled in the gateway settings. But test in Safari on an Apple device with a card in Wallet first: Apple Pay is supposed to be invisible in desktop Chrome, and that's what most "missing button" reports actually are.
Why the button is missing on your screen but not everyone's
Express checkout buttons are conditional by design. The gateway's script asks the browser whether it can pay — is this Safari on a device with Apple Pay set up? is this Chrome with a Google Pay card saved? — and only renders the button if the answer is yes. There's no error, no console warning, no placeholder. The button just isn't there.
That's the trap. An owner opens their store in desktop Chrome on Windows, sees no Apple Pay button, and files a bug. Nothing is broken; Apple Pay was never available in that browser. So the first job isn't fixing anything — it's establishing whether the button is missing for a browser that should show it. Only then are you looking at a real fault.
The most common causes (most likely first)
- You're testing in a browser that can't show itNo Apple Pay button in Chrome or Firefox on desktop, or no Google Pay in Safari. Working exactly as designed — check in Safari on a Mac or iPhone with a card in Wallet before treating this as a fault. Ranked first because it's the most common report, not the most common bug.
- The domain isn't verified with Apple PayGoogle Pay shows, Apple Pay doesn't, even in Safari on a device with Wallet set up. Load
https://yourdomain.com/.well-known/apple-developer-merchantid-domain-associationin a browser — if you get a 404, a redirect, or a login wall instead of the file's contents, that's your cause. - Express checkout isn't enabled in the gateway settingsNeither button shows, in any browser, anywhere. The express checkout / payment request button section in the gateway's settings is off, or is enabled only on some page types — product, cart and checkout are usually separate toggles.
- The site isn't fully HTTPSThe certificate is invalid or expired, or the page has mixed content. Express checkout requires a valid secure context and will silently decline to render without one.
- The
.well-knownpath is being interceptedThe verification file exists on disk but doesn't load over the web. A security plugin, a server rule, a CDN, or a redirect (http→https, non-www→www) is rewriting or blocking the request, so Apple's checker never sees the file. - A JavaScript error is killing the gateway's scriptOpen the browser console on the page where the button should be: an unrelated error from a theme or another plugin appears, and the gateway's script never runs. Every other cause here is silent — this one leaves a trace.
Where to look first
- Test on the right device first. Open the page in Safari on a Mac or iPhone with a card in Wallet. Button appears? Nothing is broken — you were testing in a browser that never shows it (cause 1). Stop here.
- Load the verification file directly in a browser:
https://yourdomain.com/.well-known/apple-developer-merchantid-domain-association. A 404, a redirect, or anything other than the file contents means Apple can't verify the domain (causes 2 and 5). - Check the gateway settings. Open the gateway under
WooCommerce → Settings → Paymentsand confirm express checkout is enabled and switched on for the page types you're testing — product, cart and checkout are usually separate. - Check the domain list in the gateway's own dashboard. Your live domain needs to be registered there for Apple Pay. Staging domains, www vs non-www, and domains changed after setup are the usual misses.
- Open the browser console on the page. A JavaScript error from another plugin or the theme will stop the button rendering even when every setting is correct (cause 6) — and it's the only cause here that announces itself.
Is it broken, or is it just Chrome?
That's the whole diagnosis, and it's genuinely annoying to answer by hand — domain verification, gateway toggles, HTTPS, the .well-known path, and a console check, on a device you might not own. DiagnosticIQ's free dashboard checks the checkout path, and Checkout Guard is built around the buttons your customers are meant to see: if express checkout stops rendering after a migration or a domain change, that shouldn't be a mystery you solve twice.
Made by Prima Digital — the team behind this guide. Free forever; no card to install.
How to know you fixed it
In Safari on an Apple device with a card in Wallet, the Apple Pay button renders on the product, cart and checkout pages, and the verification file loads over HTTPS with a 200 and no redirect. A completed express order proves the whole path.
Frequently asked
Why can't I see Apple Pay in Chrome on my PC?
Because Apple Pay isn't available there. It needs Safari, or an Apple device with Apple Pay configured. This is by far the most common "missing button" report and it isn't a bug — test in Safari before changing anything.
Do I need to upload the domain association file myself?
Usually not — most gateway plugins register the domain and serve the file for you. Your job is confirming it's actually reachable at the .well-known URL, because that's what fails: the file gets blocked, redirected, or lost in a migration.
It worked before we moved the site. What changed?
Domain verification is tied to the domain. A move to a new domain, a switch between www and non-www, or a restore from staging leaves the verified domain pointing somewhere else — re-register the live domain in the gateway.
Will customers see the button if I can't?
Possibly — that's the awkward part. If the only fault is your test browser, your Safari and iPhone customers are checking out normally. Ask one customer on an iPhone, or test on a real device, before you touch production settings.