Your payment gateway is enabled in WooCommerce, yet customers cannot see it at checkout. Sometimes every method disappears; sometimes only one option vanishes after the shopper changes their address or adds a subscription. The right fix depends on why the method is unavailable—not simply whether the plugin is installed.
This guide walks through 12 checks for WooCommerce payment methods not showing in 2026, including Checkout block compatibility, classic checkout, currency restrictions, shipping rules, subscriptions, JavaScript errors and custom gateway integrations. Start with the least disruptive checks and test every change on staging when possible.
First: identify which WooCommerce checkout you use
Open WooCommerce → Settings → Advanced and note the assigned Checkout page. Edit that page. If it contains the Checkout block, you use the block-based checkout. If it contains , you use the classic shortcode checkout.
This distinction is critical. WooCommerce made Cart and Checkout blocks the default for newly created stores starting with version 8.3. A payment gateway that works with the classic shortcode is not automatically compatible with the Checkout block. WooCommerce explicitly documents that incompatible gateways may be absent from the block checkout. See the official Cart and Checkout documentation.
1. Confirm the gateway is enabled and fully configured
Go to WooCommerce → Settings → Payments. Confirm the relevant gateway is enabled, then open its configuration screen. Some extensions have separate switches for the main gateway, card payments, local methods and express buttons. An enabled plugin is not necessarily an enabled payment method.
Check account connection, API credentials, merchant activation, test/live mode and any gateway-specific onboarding requirements. A method may be hidden while the provider account is incomplete or disconnected.
2. Check Checkout block compatibility
When a payment option appears with the classic shortcode but disappears in the Checkout block, compatibility is a leading suspect. In the Checkout editor, select the Payment Options inner block and inspect its settings. WooCommerce can identify extensions that declare themselves incompatible and offer a route back to classic checkout.
Update the payment extension to a version that explicitly supports Cart and Checkout blocks. Do not assume that “compatible with WooCommerce” means “compatible with Checkout blocks.” Verify the installed version against the vendor’s documentation and changelog.
If the extension has no block support, a controlled switch to the classic checkout can be a temporary workaround. Back up the existing page first, and follow WooCommerce’s guidance to evaluate both Cart and Checkout together. Test shipping, taxes, coupons, guest checkout and order placement before going live.
3. Verify the correct Checkout page is assigned
Stores sometimes have multiple pages named “Checkout,” especially after a migration or redesign. Under WooCommerce → Settings → Advanced → Page setup, confirm the assigned page is the one your customers actually reach.
Then test the full journey from cart to checkout in a private browser window. A custom button, theme redirect or stale menu link may point to an old page even when WooCommerce’s setting is correct.
4. Test currency, billing country and shipping country
Payment providers commonly restrict which currencies and countries they serve. A gateway can be correctly installed but intentionally unavailable for a shopper whose address or store currency falls outside those limits.
Test with a supported billing country, shipping country and the store’s normal currency. Change one variable at a time. If the gateway appears after the country changes, inspect its eligibility settings instead of forcing the payment method to display for unsupported customers.
5. Check shipping-method restrictions, especially Cash on Delivery
WooCommerce’s built-in Cash on Delivery gateway can be limited to selected shipping methods and can be configured separately for virtual orders. If the selected delivery method is not eligible, Cash on Delivery may not appear.
Open the gateway settings and compare the allowed shipping methods with the actual rate selected at checkout. The WooCommerce Cash on Delivery guide documents these controls.
For third-party payment methods, inspect conditional payment rules based on shipping zone, delivery rate, cart total, product category or customer role.
6. Check whether the cart requires subscription-compatible payments
A gateway that handles one-time purchases may not support automatic recurring charges. If the cart contains a subscription, WooCommerce Subscriptions can filter the available gateways according to the required renewal capabilities and store settings.
Test the same checkout with a normal product and then a subscription product. If the method disappears only for subscriptions, check whether the gateway supports the required automatic renewal flow—or whether manual renewals are permitted. Do not treat successful one-time card payments as proof of recurring-payment support.
The official subscriptions gateway matrix distinguishes manual payments, automatic renewals and individual gateway features.
7. Check zero-value carts and product eligibility
Some checkouts do not require a payment when the payable total is zero. Other payment extensions apply minimum and maximum order amounts or exclude particular product types. A gateway can therefore disappear for a fully discounted cart while appearing for a normal order.
Repeat the test with a standard physical product, no coupon and a non-zero total. Then add discounts, virtual products or other special conditions one at a time. Record exactly which cart change removes the gateway.
8. Inspect checkout JavaScript and network requests
Open your browser’s developer tools, then load checkout with the Console and Network panels visible. Look for uncaught JavaScript errors, failed script loads, blocked API calls, content-security-policy violations and unexpected 403/500 responses.
In a Checkout block integration, a failed front-end registration script can prevent a gateway from appearing. If the checkout uses the Store API, inspect failing requests without assuming that every failed request is caused by the payment provider.
Test without browser extensions and compare desktop with mobile. Capture the exact error, request path and timestamp before making changes.
9. Exclude checkout and cart from inappropriate caching
Full-page caches and CDN rules can serve stale checkout content or interfere with session-dependent responses. Make sure cart, checkout, account and relevant WooCommerce session/API behavior follow your cache provider’s WooCommerce recommendations.
Clear the site’s cache and the CDN cache after configuration changes, then retest in a private window. Avoid disabling every optimization permanently: isolate the problematic cache rule, script delay or JavaScript combination setting instead.
Performance work should preserve dynamic checkout behavior. Our WooCommerce hosting requirements guide explains why PHP workers, database performance and background jobs matter alongside caching.
10. Look for conflicts with checkout and conditional-payment extensions
Checkout-field plugins, shipping extensions, fraud tools, currency switchers and custom snippets can alter payment-method availability. A plugin may filter gateways according to a rule that is no longer valid after an update.
Reproduce the problem on staging, then temporarily disable nonessential checkout-related extensions one by one. Keep WooCommerce and the payment gateway active. If the method returns after one extension is disabled, inspect that extension’s settings and compatibility rather than leaving the store with a broad set of features disabled.
WooCommerce’s payment troubleshooting guide also recommends checking logs and isolating plugin or theme conflicts.
11. Read gateway logs and WooCommerce order notes
When a gateway appears but checkout fails after submission, the problem may be different from a missing gateway. Enable the gateway’s diagnostic logging if available, reproduce a test payment and inspect WooCommerce → Status → Logs. Also check the corresponding order notes.
Look for account authentication failures, rejected payment requests, unsupported currencies, callback errors and inconsistent test/live credentials. Remove sensitive customer or payment information before sharing logs. Disable verbose logging after the issue is resolved unless ongoing monitoring requires it.
If orders are created but the payment status does not update, investigate the provider’s callback/webhook path separately. Our WooCommerce REST API and webhook troubleshooting guide covers delivery failures, retries and duplicate events.
12. For custom gateways, verify both PHP and Checkout block registration
Custom gateway developers must distinguish the classic WC_Payment_Gateway integration from the Checkout block integration. Registering a gateway in PHP alone does not supply the block’s front-end payment method.
WooCommerce’s payment method integration documentation describes the two sides: a server-side class extending AbstractPaymentMethodType, registered through the payment method registry, and a client-side method registered using registerPaymentMethod.
Check that the client-side payment method ID matches the intended server-side gateway ID, that the script is loaded, and that canMakePayment and supported features match the current cart. A method can be registered correctly yet remain unavailable because its own eligibility callback returns false.
WooCommerce also provides registerPaymentMethodExtensionCallbacks for conditional visibility logic in the Checkout block. Use documented extension points rather than relying on fragile DOM manipulation or CSS to force a hidden method into view.
Fast diagnosis: symptom to likely cause
| Symptom | First checks |
|---|---|
| Gateway works in classic checkout but not the Checkout block | Block compatibility, front-end registration, supported features |
| Gateway disappears after entering an address | Country, currency, shipping or conditional rules |
| Cash on Delivery disappears for one shipping option | Allowed shipping methods and virtual-order settings |
| Method disappears only for subscriptions | Recurring-payment support and renewal settings |
| All payment methods disappear after an update | Extension conflicts, JavaScript errors, gateway connections |
| Payment appears but order submission fails | Gateway logs, API responses, credentials, callbacks |
Safe testing checklist before restoring the live checkout
After finding a likely fix, test at least four scenarios: a standard paid order, a discounted order, an address/shipping combination that previously failed, and a mobile checkout. Add subscription renewals, guest checkout and multiple currencies if your store supports them.
Use the payment provider’s test environment where available. Confirm the order total, payment status, customer-facing confirmation and order emails. For custom integrations, also verify that retries or repeated callbacks do not create duplicate financial actions.
FAQ
Why does WooCommerce say “There are no payment methods available”?
One possible cause is that the enabled gateways do not support the Checkout block. Other causes include disabled or disconnected methods, country/currency restrictions, subscription requirements or conditional rules. Identify the checkout type and test eligibility before replacing plugins.
Can I switch from the Checkout block to the classic shortcode?
Yes. WooCommerce documents a path back to classic checkout when an extension is incompatible. Treat it as a tested migration rather than a blind edit, and check Cart and Checkout together.
Why is a payment method visible for one customer but not another?
Gateways may evaluate billing country, shipping destination, cart total, selected shipping method, product types, customer role and subscription support. Compare the two carts and addresses systematically.
Does enabling a gateway in WooCommerce guarantee it will appear?
No. The gateway must also be available for the current cart and, for block checkout, correctly integrated with the block payment system.
Should I force a missing payment gateway to appear with code?
Not before finding the cause. Forcing an unsupported method into checkout can lead to rejected transactions or broken renewals. Correct the compatibility or eligibility condition first.
Fix the condition, not just the symptom
A missing WooCommerce payment gateway is usually a compatibility, configuration or eligibility problem. The fastest reliable path is to identify the checkout implementation, reproduce the failing cart, inspect restrictions and logs, and apply the smallest verified change.
For stores with custom payment flows, subscriptions or complex third-party integrations, WebCraft Masters provides custom WooCommerce development and integration support. A targeted checkout audit is generally safer than replacing the entire payment stack without a diagnosis.