← Back to Blog
WooCommerce Troubleshooting

Payment Methods Not Showing in WooCommerce

November 10, 2026 12 views Amanur Rahman
Payment methods missing at checkout cost you orders every minute. Here are nine fixes in the order that saves the most time, including the block checkout issue many guides skip.

A customer fills their cart, reaches checkout, and finds no way to pay. Sometimes the payment area is blank. Sometimes WooCommerce says there are no payment methods available. Sometimes only one method appears when you enabled three. Every minute this lasts is lost revenue, and the cause is usually one of a small set of settings, compatibility gaps or caching problems.

This guide explains how WooCommerce decides which payment methods to show, then walks through the nine most common reasons a gateway disappears from checkout, in the order that saves the most time. It also covers the block checkout versus classic checkout issue, which many older guides skip.

Before you change anything: take a full backup, and make changes on a staging copy when you can. Payment settings affect live orders, so test with a real low-value order or your gateway's test mode after each change. Our WooCommerce staging site guide shows how to set one up.

Quick answer: the most common causes are a gateway that is enabled but not fully set up, a gateway that does not support the block-based checkout, a currency or country restriction, a cart total of zero, and caching or script optimization breaking the payment section. Check those first, in that order, before suspecting a plugin conflict.

What's in this guide

  1. How WooCommerce decides which payment methods to show
  2. Five-minute triage checks
  3. Fix 1: The gateway is not fully enabled or set up
  4. Fix 2: Test mode, live mode and API keys
  5. Fix 3: Block checkout versus classic checkout
  6. Fix 4: Currency and country restrictions
  7. Fix 5: Zero total, virtual orders and shipping rules
  8. Fix 6: Caching and script optimization
  9. Fix 7: Wrong checkout page or a broken checkout block
  10. Fix 8: Theme template overrides
  11. Fix 9: Plugin conflicts
  12. Causes at a glance
  13. For developers: see which gateways WooCommerce considers available
  14. How to stop it happening again
  15. When to hire a developer
  16. FAQ

How WooCommerce decides which payment methods to show

A payment method does not appear at checkout just because it is switched on. WooCommerce builds the list in stages. First, the gateway has to be enabled in the Payments settings. Second, the gateway itself has to report that it is available for this particular order, which depends on things such as the store currency, the customer's country, the cart total and whether the gateway's own keys and settings are complete. Third, the checkout screen has to be able to display that gateway. With the block-based checkout, that means the gateway must have registered support for blocks. Finally, the page has to load without caching or script problems getting in the way.

A failure at any stage produces the same symptom: the method is missing. That is why the most efficient approach is to test each stage in turn rather than guessing.

Five-minute triage checks

Run these before opening any settings screens. They tell you which fix to jump to.

  1. Test in a private window. Open checkout in a private browser window, logged out. If the methods appear there, the cause is caching or something specific to your logged-in session.
  2. Test with a different product. If methods appear for one product but not another, look at product type, virtual or shipping settings, and price.
  3. Test with a different country. Change the billing country at checkout. If methods appear for some countries only, you have a location restriction.
  4. Check the cart total. If a coupon brings the total to zero, WooCommerce correctly skips payment.
  5. Look at the browser console. Right-click the page, choose Inspect, and open the Console tab. Red JavaScript errors point towards a script or optimization problem.

Fix 1: The gateway is not fully enabled or set up

Symptom: you turned a gateway on, but it never shows.

Cause: the toggle is on, but the gateway's own setup is incomplete. Many gateways stay hidden until required fields such as account keys, merchant IDs or a connected account are filled in.

  1. Go to WooCommerce, then Settings, then Payments.
  2. Click Manage on the missing gateway and read every setting on the screen.
  3. Complete any connect or authorize step, save, and reload checkout.
  4. If the gateway offers a "Payment methods" or "Enabled payment methods" list inside its settings, confirm the specific method you expect is ticked there too.

Some gateways also cache which methods are enabled for a short time. If you changed a setting and nothing happened, wait a few minutes or reopen the gateway's settings page to refresh it.

Fix 2: Test mode, live mode and API keys

Symptom: payment methods appeared during testing, then disappeared after going live, or the reverse.

Cause: the gateway is in the wrong mode, or the live keys are missing or incorrect. In live mode, many gateways also require the site to load over HTTPS.

  1. Open the gateway's settings and check whether test mode is on.
  2. If you are going live, paste the live keys, not the test ones, and confirm there are no extra spaces.
  3. Confirm your store loads on https and that checkout has no mixed content warnings.
  4. Check WooCommerce, then Status, then Logs for entries from the gateway. A log line about an invalid key usually names the problem directly.

Fix 3: Block checkout versus classic checkout

Symptom: the gateway worked on your old checkout, then vanished after an update or after rebuilding the checkout page.

Cause: recent WooCommerce versions use a block-based checkout by default on new setups. A payment gateway has to declare support for it. A gateway built for the older shortcode checkout may not appear in the block version until its developer adds block support.

  1. Update the gateway plugin to its latest version and check its documentation for "block checkout" or "Checkout block" compatibility.
  2. If the gateway has no block support, ask its developer, or look for an alternative gateway that does.
  3. As a stopgap, switch the checkout page to the classic version. Edit the checkout page and replace the checkout block with a Shortcode block containing [woocommerce_checkout], then save.
  4. Test a full order on the classic checkout. Also test any express payment buttons on the cart and product pages, because those are separate from the main list.

Treat the classic checkout as a bridge, not a permanent answer, since new gateway features are usually built for the block version first.

Stages a payment method must pass to appear at checkout Five stages in order: enabled and set up, available for this order, supported by the checkout type, page loads cleanly, then it appears at checkout. 1. Enabledand set up 2. Available forthis order 3. Supported bycheckout type 4. Page loadscleanly 5. Shown atcheckout A method disappears when any one stage fails
The five stages every payment method has to pass before a customer sees it.

Fix 4: Currency and country restrictions

Symptom: methods show for some customers or some currencies, not others.

Cause: every gateway supports a limited set of currencies, and many restrict by country or require the store's base country to match the account. Buy-now-pay-later methods often add minimum and maximum order amounts on top.

  1. Check WooCommerce, then Settings, then General, and confirm the store currency is one your gateway supports.
  2. Open the gateway's settings and look for allowed countries, supported regions or amount limits.
  3. If you use a currency switcher or multi-currency plugin, test checkout in each currency, because some plugins filter gateways per currency.
  4. Confirm your selling and shipping locations under General include the customer's country.

Fix 5: Zero total, virtual orders and shipping rules

Symptom: no methods show for certain carts only.

Cause: WooCommerce hides payment when nothing needs to be paid, for example after a 100 percent coupon. Separately, Cash on Delivery has its own rules: it can be limited to specific shipping methods and may not accept virtual orders unless you allow it.

  1. Remove any coupon and confirm the cart total is above zero.
  2. Open Cash on Delivery settings and review "Enable for shipping methods" and "Accept for virtual orders".
  3. If a local pickup or free shipping method is selected, confirm it is included in that list.
  4. Check whether a shipping method is actually selected. Our guide to the no shipping options found error covers the case where shipping itself is missing.

Fix 6: Caching and script optimization

Symptom: methods show for you in a private window but not for visitors, or they appear after a refresh.

Cause: checkout is a dynamic page. If a caching plugin, server cache or CDN stores it, customers can be served a stale version. Optimization features that delay, combine or minify JavaScript can also stop gateway scripts from loading.

  1. Exclude the cart, checkout and account pages from page caching in your caching plugin and any CDN rules.
  2. Temporarily turn off JavaScript delay, defer and combine options, then test checkout.
  3. Clear the plugin cache, server cache and CDN cache after each change.
  4. If turning an option off fixes it, add the gateway's scripts to that option's exclusion list instead of leaving it off for the whole site.

Fix 7: Wrong checkout page or a broken checkout block

Symptom: the payment area is blank or the page looks incomplete after a migration, an import or a theme demo install.

Cause: WooCommerce is pointing at the wrong page as the checkout, or the checkout page's block or shortcode is damaged.

  1. Go to WooCommerce, then Settings, then Advanced, and check the checkout page under Page setup.
  2. Open that page in the editor and confirm it contains the checkout block or the checkout shortcode.
  3. If it looks damaged, create a fresh page, add the checkout block, and assign it as the checkout page.

Fix 8: Theme template overrides

Symptom: methods appear with a default theme but not with yours.

Cause: a theme or child theme can override WooCommerce templates such as the payment section. An outdated override can leave out parts of the payment list.

  1. Open WooCommerce, then Status, and scroll to the template overrides section in the system report.
  2. Note any overridden checkout templates marked as outdated.
  3. On staging, switch to a default theme and test checkout. If methods return, the theme is the cause.
  4. Update the theme, or ask its developer to bring the overrides up to date.

Fix 9: Plugin conflicts

Symptom: nothing above explains it, or the problem started right after installing or updating a plugin.

Cause: checkout editors, currency switchers, security plugins and optimization plugins can all interfere with gateways.

  1. On staging, deactivate everything except WooCommerce and the gateway.
  2. Test checkout. If methods appear, reactivate plugins in small groups until the problem returns.
  3. When you find the culprit, update it, check its settings, or replace it.

The full process is in our guide to diagnosing a WordPress plugin conflict.

Causes at a glance

What you seeMost likely causeGo to
Gateway enabled but never showsSetup incomplete or missing keysFix 1
Worked in testing, gone on liveWrong mode or live keys, HTTPS issueFix 2
Vanished after an update or checkout rebuildGateway lacks block checkout supportFix 3
Shows for some countries or currencies onlyCurrency, country or amount limitsFix 4
Missing only on certain cartsZero total, virtual or shipping rulesFix 5
Fine when logged in, missing for visitorsCaching or script optimizationFix 6
Blank payment area after migrationWrong checkout page or damaged blockFix 7
Works with default themeOutdated template overrideFix 8
Started after a plugin changePlugin conflictFix 9

For developers: see which gateways WooCommerce considers available

If you are comfortable with code, this tells you whether the problem is on the server side (the gateway reports itself unavailable) or on the display side (the gateway is available but not rendered). Add it to a child theme or a snippets plugin on staging, load checkout as an administrator, and view the page source.

add_action( 'wp_footer', function () {
	if ( is_checkout() && current_user_can( 'manage_options' ) ) {
		$gateways = WC()->payment_gateways()->get_available_payment_gateways();
		echo '<!-- Available gateways: ' . esc_html( implode( ', ', array_keys( $gateways ) ) ) . ' -->';
	}
} );

If your gateway's ID is in that list but still not visible, the problem is display-side: block support, scripts, caching or a template. If it is missing from the list, the gateway reported itself unavailable for this order, so look at currency, country, totals, shipping rules and its own settings. Remove the snippet when you are done.

How to stop it happening again

  • Test checkout after every update. Place a real low-value order or run a test-mode order after updating WooCommerce, a gateway or your theme.
  • Use staging for updates. Apply major updates on a copy first.
  • Keep caching rules documented. Cart, checkout and account pages stay excluded from page caching.
  • Watch gateway announcements. Gateway developers publish compatibility notes when WooCommerce changes the checkout.
  • Monitor orders. A sudden drop in orders with normal traffic is often the first sign that checkout is broken.

When to hire a developer

You can handle Fixes 1 to 7 yourself. Call a developer when the gateway appears in the available list but will not render, when the cause is a theme override or a plugin conflict you cannot isolate, or when checkout is losing orders right now and you cannot afford more trial and error. A focused diagnosis and fix for a missing payment method is typically a small job. Our price list for small WooCommerce jobs shows typical ranges, and the wider guide to the WooCommerce payment gateway setup covers choosing and configuring gateways in the first place. If the whole checkout is failing, start with our guide to fixing a WooCommerce checkout that is not working.

FAQ

Why are my WooCommerce payment methods not showing at checkout?

The usual causes are an incomplete gateway setup, a gateway that does not support the block checkout, a currency or country restriction, a zero cart total, and caching or script optimization. Work through the triage checks first to narrow it down.

Why does WooCommerce say there are no payment methods available?

It means no enabled gateway reported itself available for that order. Check the store currency, the customer's country, any amount limits, the cart total and whether the gateway's own keys and settings are complete.

Why is Cash on Delivery not showing?

Cash on Delivery can be restricted to specific shipping methods, and it may reject virtual orders unless allowed. Review its "Enable for shipping methods" and "Accept for virtual orders" settings and confirm a shipping method is selected.

Why do payment methods show in test mode but not live?

Usually the live keys are missing or wrong, the gateway is still in test mode, or the live site is not loading cleanly over HTTPS. Re-enter the live keys and review the gateway logs in WooCommerce, then Status, then Logs.

Will switching to the classic checkout fix it?

If the gateway does not support the block checkout, yes, the classic shortcode checkout often brings it back. Use it as a bridge while you update the gateway or move to one that supports blocks.

Can caching hide payment methods?

Yes. If the checkout page is cached, or scripts are delayed or combined, the payment section can fail to load for visitors. Exclude cart, checkout and account pages from caching and test with delay and combine options turned off.

How much does it cost to have a developer fix a missing payment method?

Many cases are small jobs. As a rough planning range, a checkout or payment display problem often falls between about $75 and $350, depending on whether the cause is a setting, a theme override, a plugin conflict or a gateway compatibility gap.

Need payment methods back at checkout?

If your payment methods are missing and orders are slipping away, send me your gateway name, a screenshot of the checkout and your theme and plugin list. I will find the cause and give you a clear scope and price. Start on the hire a WooCommerce developer page or use the contact form.

Tags: woocommerce payment methods payment gateway not showing woocommerce checkout block checkout woocommerce troubleshooting
About the Author

Amanur Rahman

I'm a freelance WordPress & WooCommerce developer with 14+ years of experience and 240+ projects delivered for clients in the US, UK and Canada. I build custom plugins, fast WooCommerce stores and Elementor websites, and I'm a Top Rated Plus freelancer on Upwork.

Explore more: Services · Hire a WooCommerce Developer · Portfolio · Contact

Need Help with Your WordPress Project?

Let's discuss how I can help you build something amazing!

Get in Touch →
← Back to Blog