WooCommerce payment gateway failing? How to diagnose and fix it
A failing payment gateway is the most expensive way a WooCommerce checkout can break: customers do everything right, reach the last step, and cannot pay. The failure takes one of five shapes, and each one points somewhere different.

Which failure do you have?
The gateway does not appear at all. The payment box appears but stays empty or spins. The Apple Pay or Google Pay button is missing. The customer enters card details and gets an error. Or payment succeeds with the provider, but the order stays “Pending payment” in WooCommerce.
Try a purchase yourself and note which one you see. Then open WooCommerce → Status → Logs and pick the log for your gateway (for example “stripe” or “ppcp”) for the same minute — most gateways log the exact error returned by the provider.
The gateway does not show up
Check WooCommerce → Settings → Payments: the method must be enabled, and many gateways hide themselves when they are misconfigured — missing API keys, test keys in live mode, an unsupported currency, or a minimum or maximum order amount.
If you use the block-based Checkout, confirm the gateway plugin supports it; older gateways only work with the classic [woocommerce_checkout] shortcode. Also check for plugins that restrict payment methods by country, shipping method or user role. More in why payment methods disappear.
The payment box is empty or spinning
This is almost always JavaScript. Look in the browser console for a blocked or failed script from the provider’s domain. The usual culprits are optimisation plugins that defer or combine the gateway’s script, a Content Security Policy that does not allow the provider, or an ad blocker in your own browser.
Exclude the gateway’s scripts from any JS optimisation, add the provider’s domains to your CSP, and test again in a clean private window.
Find out your checkout broke before your customers do.
Real checkout checks for Magento and WooCommerce · 14 days free · no card requiredThe Apple Pay or Google Pay button is missing
Wallet buttons only appear when every condition holds: the site runs on HTTPS, the browser and device support the wallet and have a card saved, and the feature is enabled in the gateway settings. Apple Pay also needs your domain registered with the provider; after a domain change or a new subdomain, the button disappears until you register it again.
Test on a device with a card in its wallet before you conclude anything: a missing button on a desktop without one is normal. See express checkout wallets for the full list.
Card errors and declines for everyone
If every customer gets declined, the problem is not their cards. Check that live API keys are current and belong to the right account, that the account is fully activated and not restricted in the provider’s dashboard, and that 3-D Secure / SCA is handled by an up-to-date plugin version.
The provider’s own dashboard usually shows the failed attempts with a reason. That reason, next to the WooCommerce gateway log, normally tells you exactly what to change. A sudden wave of small declines from many cards is a different problem: card testing. For PayPal, see WooCommerce PayPal Payments problems.
Paid, but the order stays pending
Here the payment worked; the confirmation did not reach your store. Gateways confirm payments through webhooks. Check in the provider’s dashboard that the webhook URL points to your current domain and that recent deliveries succeeded.
Failed deliveries usually mean a firewall or security plugin blocking the provider, an expired SSL certificate, a maintenance mode, or a changed domain. Fix the cause, then resend the failed webhooks from the provider’s dashboard.
Catch the next one in minutes
Gateway failures rarely announce themselves: the store loads, only the last step fails, and WooCommerce records nothing because no order was created. The first sign is usually a quiet sales report.
A scheduled checkout check that reaches the payment step and confirms a payment method is ready turns that silence into an alert with the step, the error and a screenshot. To check once, right now, run the free WooCommerce checkout checker. If the problem is earlier in the checkout, start from WooCommerce checkout not working.
For Greek banks and card redirects, read card redirect failures in Greek stores.
When totals or shipping do not refresh, see WooCommerce update_checkout not working.
Common questions
Why is my payment method not showing at WooCommerce checkout?
It is disabled, misconfigured (missing or test API keys in live mode), not enabled for that country, currency or cart total, or not compatible with the block checkout. The gateway log under WooCommerce → Status → Logs usually says which.
Why are all payments declined on my WooCommerce store?
When every customer is declined, check the live API keys, whether the provider account is restricted, and whether the gateway plugin is up to date for 3-D Secure. The provider’s dashboard shows the reason for each failed attempt.
Why do paid orders stay on Pending payment?
The payment worked but the provider’s webhook did not reach the store. Check the webhook URL and recent deliveries in the provider’s dashboard, fix the cause (firewall, SSL, changed domain) and resend the failed ones.
Why does the Apple Pay button not appear?
Apple Pay needs HTTPS, a supported device with a card in its wallet, the feature enabled in the gateway, and your domain registered with the provider.
How do I know the payment step works without buying?
Go through checkout as a guest to the payment step and confirm a method is ready, or run the free WooCommerce checkout checker, which does it in a real browser and stops before paying.