← All articles
June 24, 2026

WooCommerce Payment Gateway Not Working: How to Debug It

Customers reach checkout but can't complete payment. The gateway errors out, or the payment goes through but the order doesn't update. Here's how to find what's actually broken.

First: What Type of Failure Is This?

Payment issues in WooCommerce usually fall into one of three categories:

  1. Gateway doesn't load — payment form doesn't appear at checkout
  2. Payment fails at the bank/processor — customer gets an error from the payment provider
  3. Payment succeeds but order doesn't update — customer is charged, order stays "Pending"

Each has different causes.

Case 1: Gateway Doesn't Load at Checkout

The payment option just isn't appearing on the checkout page.

Check first:

  • Go to WooCommerce → Settings → Payments — is the gateway enabled?
  • Is there a currency mismatch? Most gateways only work with specific currencies.
  • Are there any JavaScript errors in the browser console? (Right-click → Inspect → Console)
  • Does the gateway have a minimum order amount set?

Common culprits:

  • JavaScript conflict from another plugin
  • Caching plugin serving a cached version of checkout without the payment scripts
  • Theme incompatibility with the payment widget

Test: deactivate your caching plugin and reload checkout. Also try switching to Storefront or Twenty Twenty-Three theme temporarily.

Case 2: Payment Fails at the Processor

The payment form loads but the transaction is declined or throws an error.

Things to check:

Symptom Likely cause
"Invalid API key" Wrong API keys in plugin settings (live vs. test)
"Card declined" from processor Bank-side rejection, try a different card
SSL error Your checkout page isn't loading over HTTPS
"Currency not supported" Your store currency isn't in the gateway's supported list
Works in test mode, fails in live Live keys not entered, or account not verified

Check your API keys:

Go to WooCommerce → Settings → Payments → [Your Gateway] → Manage

Make sure you're using live keys (not sandbox/test keys) and that they match exactly what's in your gateway dashboard. Even one extra space breaks it.

Case 3: Payment Goes Through But Order Stays Pending

This is the most confusing case. The customer's bank takes the money, but WooCommerce never updates the order status.

This is almost always a webhook/IPN failure. Payment gateways send a callback to your server after payment completes. If that callback fails, WooCommerce never "hears" that the payment succeeded.

How to debug:

  1. Check your payment gateway's dashboard for failed webhook deliveries
  2. Check your server error log for any 500 errors on the callback URL
  3. Make sure your site is accessible from the internet (not behind a VPN or staging firewall)

Common causes of webhook failures:

  • A security plugin blocking the gateway's IP
  • Firewall rules on your server
  • SSL certificate issue on the callback URL
  • WooCommerce session expiry issue (rare)
Stripe webhook URL format:
https://yoursite.com/?wc-api=WC_Stripe

Check this URL returns a 200 status code from outside your server.

Case 4: It Worked Yesterday, Broken Today

Check for:

  • Recent plugin or WooCommerce update
  • Recent PHP version change at your host
  • Expired or changed API keys (some gateways rotate keys annually)
  • SSL certificate expired

Checking Logs

WooCommerce has its own log system: WooCommerce → Status → Logs

Filter by your gateway name. You'll often see the exact API response that explains the failure.

Also enable WordPress debug logging:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

When to Bring in a Developer

If:

  • Logs show errors but you're not sure what they mean
  • Webhook debugging requires server-level access
  • You need a custom payment gateway integration that isn't available as a plugin

Payment gateway issues are high-stakes (broken checkout = zero revenue), so it's worth getting them fixed fast. Tell me what you're seeing and I can usually diagnose it from your error logs.

Need help with this?

DevCev Digital specialises in exactly this kind of work. Tell us what you need — we'll respond within a few hours.

Get free diagnostic →WooCommerce Fix & Development
← Back to blogGot a project? Let's talk →