WooCommerce fixes / payment methods not showing

WooCommerce Payment Methods Not Showing at Checkout? Causes & Fix

The gateway says Enabled in your settings, and checkout still shows no way to pay — or shows every method except the one you need. Enabled and available are two different things in WooCommerce, and the gap between them is where this bug lives.

Last updated: 16 Jul 2026 · ~7 min read

Quick answer

The gateway is enabled but not available — most often because your store currency isn't one it supports. WooCommerce asks each gateway "are you available for this cart?" on every checkout render, and a gateway that says no simply doesn't appear — with no error anywhere. Check your currency first (WooCommerce → Settings → General), then the gateway's own log for a key or account problem.

Why "Enabled" doesn't mean it will show

Every time checkout renders, WooCommerce loops through your installed gateways and asks each one a single question: are you available right now, for this cart, for this customer? Only the ones that say yes get rendered. The base answer is just "am I enabled, and is the cart under my maximum" — but almost every real gateway overrides that with its own checks: is the store currency supported, are the API keys present and valid, is the account onboarded, is the customer's country allowed.

None of that surfaces in your admin. The Payments settings screen shows the toggle you set, not the answer the gateway gives at checkout. So a gateway can sit there reading Enabled forever while quietly declining to appear on every single page load. That's why this bug feels like WooCommerce is ignoring you — you're reading a switch, and checkout is reading a question.

The most common causes (most likely first)

  1. Your store currency isn't supported by the gatewayThe gateway shows Enabled and never renders — for every cart, every customer, every time. Check WooCommerce → Settings → General against the gateway's supported currency list. This is the classic one after a store changes currency, and it fails completely silently.
  2. The gateway's own availability check is failing — keys, account or countrySettings save without complaint, but the method never appears. The gateway is refusing itself: missing or mismatched API keys, an account that isn't finished onboarding, a restricted account, or an unsupported store country. Go to WooCommerce → Status → Logs and read the gateway's own log — that's where the real reason is written.
  3. The gateway has no Blocks support and your checkout is a blockThe method appears on the old shortcode checkout and not on the block one. Temporarily switch the Checkout page to the classic [woocommerce_checkout] shortcode — if the gateway reappears, it has no Blocks integration and needs updating (or the classic checkout).
  4. A conditional-gateway plugin is filtering it outIt shows for some carts, customers or countries and not others. Anything that hides gateways by role, country, product or cart total hooks the same filter WooCommerce uses to build the final list. Deactivate the conditional plugin and see if the method returns.
  5. A shipping class or product restriction in the gateway's own settingsEmpty your cart, add one cheap simple item, and check out. If the method appears now but disappears when you add the real product, the restriction is keyed to that product or its shipping class — not to the gateway itself.
  6. The cart total is 0, or above the gateway's maximumAll payment methods disappear at once and checkout asks for no payment — that's a zero total (a 100% coupon, a free item), and it's working as designed. If only the expensive carts lose one method, that gateway has a maximum order amount set.

Where to look first

Tired of gateways that fail without saying so?

The hard part here isn't fixing it — it's that nothing tells you a gateway declined to appear. You end up toggling settings, comparing currency lists and reading gateway logs line by line to find out that an API key was for the wrong mode. DiagnosticIQ's free dashboard checks which gateways are actually available versus merely enabled, and names the reason each one is withholding itself — wrong currency, failing keys, unsupported country. It watches after the fix too, so if a gateway drops off your checkout at 2am you hear it from DiagnosticIQ rather than from a customer who couldn't pay.

Get the free plugin

Made by Prima Digital — the team behind this guide. Free forever; no card to install.

How to know you fixed it

Verify

Load checkout as a customer with a real product in the cart, at your live currency, and the method should render in the payment list — then place one small live order through it to confirm the gateway is genuinely available and not just visible.

Frequently asked

The gateway says Enabled. Why isn't WooCommerce listening?

It is. Enabled is your request; available is the gateway's answer at checkout. WooCommerce asks on every page load, and a gateway that says no is dropped from the list without any notice to you.

No payment methods show at all and I can still place the order. Is that broken?

Probably not. A cart totalling 0 needs no payment, so WooCommerce hides the whole section. Check for a 100% coupon or a free item before you touch any gateway settings.

Why does it show for me but not for a customer?

Because availability depends on the cart and the customer — country, role, products, total. Test with an incognito window and a customer-like address rather than your own admin session.

Can I lose orders while this is happening?

Yes, and silently. Customers reaching a checkout with no way to pay just leave, and nothing is logged as an error. This is worth verifying after any currency, gateway or checkout-page change.

>_
John O'Keane — Founder, Prima Digital · LinkedIn
Contributions by David Zhang · LinkedIn
I build DiagnosticIQ, the WooCommerce diagnostic plugin, and I've spent longer than I'd admit staring at a gateway marked Enabled that had quietly decided my store's currency wasn't its problem.