WooCommerce / Payments
WooCommerce payment problems
Most WooCommerce payment problems are not in the payment itself but in the handoff around it: the browser to the gateway, the gateway's notification back to the store, and what WooCommerce does after it marks an order as paid.
Short answer
Compare the payment provider's event log with the WooCommerce order notes and the gateway log for the same order. If the provider shows a successful payment and the store shows nothing, the notification or webhook did not arrive or was rejected. If the store received it, look for a PHP error while the order was being updated.
Specific problems
Common payment failures
Customer charged, order failed
The payment succeeded; the order is failed, pending or missing.
Payment failed for valid cards
Configuration, currency, amounts or API errors returned as declines.
Orders stuck in pending payment
The confirmation never reached the store, or was rejected.
Webhook problems
Wrong endpoint, blocked requests, signature mismatches, retries processed twice.
3D Secure loops
Customers returned to checkout after authenticating, or stuck on the challenge.
Redsys notifications
Merchant notification URL not reachable, signature or configuration errors.
The four handoffs
- Browser → gateway: payment fields, the provider's scripts and the 3D Secure challenge. Script optimisers, consent tools and theme JavaScript can break this step.
- Gateway → store: the provider confirms the result with a redirect and, more reliably, a server-to-server notification or webhook. Firewalls, CDN rules, forced redirects, maintenance modes and basic authentication on staging all block it.
- Store processing: WooCommerce records the payment and runs everything hooked to it — stock, emails, integrations. An error in any of those hooks can interrupt the update.
- After payment: captures, refunds and renewals, often processed later through scheduled actions.
Signs the confirmation is not reaching the store
- The provider's dashboard shows notifications or webhooks with failed deliveries, timeouts or 3xx/4xx/5xx responses.
- The gateway log has no entry for the order after the customer returned from the payment page.
- The problem started after a domain change, an HTTPS migration, a new CDN or WAF rule, or a security plugin update.
Frequently asked questions
Why was the customer charged but the order failed?
Because the payment and the order update are two separate steps. If the provider's confirmation does not reach the store, is rejected, or a PHP error interrupts the order update, the money is taken but the order never becomes paid.
Why do orders stay in pending payment?
Pending means WooCommerce is still waiting for the gateway to confirm. If the confirmation never arrives, the order stays pending and, with stock management enabled, may be cancelled automatically after the hold-stock time.
Is WooRescue HQ affiliated with any payment provider?
No. WooRescue HQ is independent and not affiliated with Stripe, PayPal, Redsys or any other provider.
$ describe the problem
Have a WooCommerce problem?Request a diagnosis.
Tell us what is failing, what changed recently and the business impact. We review every request and recommend the appropriate next step.
Never send passwords, API keys or card data through the form.