WooCommerce payments usually fail because of the payment gateway plugin (Stripe, PayPal and the like), expired or wrong API keys, webhooks that no longer reach your site, or another plugin interfering with the checkout. Orders stuck on "Pending payment" while the money appears in Stripe point to webhooks.
Where to look
- WooCommerce, then Status, then Logs: the gateway's log shows the error each customer got.
- Your Stripe or PayPal dashboard: declined or failed payments, and webhook delivery attempts.
- Recent changes: a plugin update, a security plugin, a new caching setup.
In May 2025 the WooCommerce Stripe Gateway 9.5.0 update caused a wave of API problems, which shows how a single plugin update can stop checkouts.

Common fixes
- Update the gateway plugin and WooCommerce.
- Re-enter live API keys and reconnect the account.
- Check the webhook address in Stripe matches your site and isn't blocked by a firewall or caching.
- Exclude the checkout and cart pages from caching.
- Test with a real card and refund it.
Every hour down costs sales. Book a same-day checkout fix.



