Home โ†’ Blog โ†’ WooCommerce Payment Issues
WooCommerce

WooCommerce Payment Gateway Not Working โ€” How to Fix It

By Global Website Designerยท10 min readยทJune 2025

When your WooCommerce payment gateway stops working, every minute costs you sales. This guide covers the most common causes for Stripe, PayPal and other gateways โ€” and how to fix them fast.

๐Ÿ”ด Checkout not working = direct revenue loss. If this is live on your store, contact us immediately for emergency fix while you diagnose.

Check 1: Test Mode vs Live Mode

The most common "payment not working" issue is the gateway still being in test/sandbox mode after going live. In WooCommerce โ†’ Settings โ†’ Payments โ†’ your gateway, check if "Enable test mode" or "Sandbox mode" is active. Disable it and use your live API keys instead. Also verify you're using the correct live API keys โ€” not the test ones.

Check 2: Verify API Keys Are Correct

Wrong or expired API keys are the second most common cause. For each gateway:

  • Stripe: Log in to dashboard.stripe.com โ†’ Developers โ†’ API keys. Copy the live Secret Key and Publishable Key. They start with sk_live_ and pk_live_
  • PayPal: Log in to developer.paypal.com โ†’ My Apps & Credentials. Use the live credentials, not the sandbox ones
  • Razorpay / Others: Regenerate keys in your gateway dashboard and update in WooCommerce

Check 3: SSL Certificate is Valid

Payment gateways require HTTPS. If your SSL certificate has expired or is showing a browser warning, payments will fail. Check your site URL โ€” it must start with https://. Visit your site in Chrome and look for a lock icon in the address bar. No lock = SSL issue.

Fix: Renew your SSL certificate in Hostinger panel โ†’ SSL โ†’ Free Let's Encrypt certificate (renews automatically if auto-renew is on).

Check 4: Plugin Conflict with Payment Gateway

Other plugins can break payment gateways โ€” especially caching plugins, page builders, and security plugins. Test by:

  1. Disabling your caching plugin temporarily
  2. Trying a test payment
  3. If it works, re-enable caching and configure it to exclude the checkout page

For WP Rocket: Exclusions โ†’ Exclude URLs โ†’ add /checkout/ and /cart/

For LiteSpeed Cache: Cache โ†’ Exclude โ†’ URI: /checkout, /cart

Check 5: Webhook Issues (Stripe)

Stripe uses webhooks to tell WooCommerce when payments complete. If webhooks aren't configured or the URL changed, orders get stuck as "Pending". In your Stripe dashboard โ†’ Developers โ†’ Webhooks, check that the webhook endpoint URL points to your current domain and is not returning errors.

Your WooCommerce Stripe webhook URL: https://yourdomain.com/?wc-api=wc_stripe

Check 6: Currency Mismatch

Payment gateways only work with currencies they support. If you have WooCommerce set to a currency your gateway doesn't accept (e.g., PayPal doesn't support all currencies), payments will fail silently. Check your WooCommerce โ†’ Settings โ†’ General โ†’ Currency matches what your gateway supports.

Check 7: Server Requirements

WooCommerce payment plugins require specific PHP settings:

  • cURL enabled (required to communicate with payment APIs)
  • OpenSSL enabled (required for HTTPS API calls)
  • PHP 7.4 or higher

Check in WooCommerce โ†’ Status โ†’ System Status. Any red rows in this report indicate server configuration issues.

Check 8: WooCommerce Logs

WooCommerce logs every payment attempt. Go to WooCommerce โ†’ Status โ†’ Logs. Select your payment gateway from the dropdown and look at the most recent entries. The log will show the exact error message from the payment API โ€” this is the fastest way to diagnose obscure failures.

Common Error Messages and Fixes

  • "Your card was declined" โ€” Usually a customer issue, but also occurs if Stripe's Radar fraud filters are too aggressive. Check Stripe Radar settings.
  • "No such customer" โ€” Stripe customer ID mismatch. Clear WooCommerce's Stripe customer data in the user profile.
  • "PayPal IPN not working" โ€” Update PayPal to use Webhooks instead of IPN (IPN is legacy).
  • "Order stays pending" โ€” Webhook not firing. Check your site's firewall isn't blocking incoming POST requests.

WooCommerce Checkout Still Broken?

We fix WooCommerce payment issues same-day. Every hour the checkout is down is lost revenue.

Get Emergency Payment Fix โ†’
GW
Global Website DesignerWooCommerce Payment Specialists

We fix Stripe, PayPal and all WooCommerce gateways. WhatsApp us for same-day help.