What this problem looks like
Each WooCommerce gateway plugin talks to an external API. Failures happen when keys expire, currencies mismatch, or the server cannot reach the provider because of firewall rules.
Generic checkout errors rarely mean the customer's card is bad. They often mean your store never completed the server-to-server step after the browser form looked fine.
Collect evidence from WooCommerce logs
Enable logging for your gateway under WooCommerce → Settings → Payments → [Gateway] → Enable logging. Place a test order, then download the newest log file. Look for HTTP 401, 403, or SSL certificate errors.
Common API and mode mistakes
- Live keys on a staging site or test keys on production.
- Restricted keys missing required permissions for charges or refunds.
- Currency not enabled in the gateway dashboard.
- Account still in pending verification with payout holds.
Webhook and IPN setup
Many gateways rely on webhooks to mark orders paid. If your security plugin blocks POST requests to wp-json or wc-api endpoints, orders stay on-hold forever.
- Copy the webhook URL from gateway settings or WooCommerce docs.
- Add it in the provider dashboard and send a test event.
- Confirm your site returns HTTP 200, not 301 loops or 403 forbidden.
- Whitelist provider IP ranges if your host uses a WAF.
SSL and TLS requirements
Gateways require TLS 1.2 or newer. Outdated server OpenSSL versions cause handshake failures that appear as generic errors. Your host can confirm cipher support. WordPress site URLs must use https.
Plugin conflicts on checkout
Checkout field editors, EU VAT plugins, and subscription add-ons can remove fields gateways require. Deactivate them temporarily and retest. If multiple gateway plugins load conflicting JavaScript, enable only one gateway at a time.
When to stop DIY and hire help
Gateway debugging crosses WooCommerce, hosting firewalls, and PCI boundaries. Hire help if webhooks fail with no clear log entry, if you process high value orders, or if custom checkout code is involved. BugShield integrates Stripe, PayPal, and UK merchant gateways on live shops.