The webhook-mismatch scenario is the one worth checking first even though it feels like the least obvious cause, since it’s the only one on this list that can result in a customer being charged without WooCommerce ever knowing, which is a refund headache waiting to happen if it goes unnoticed for a day. If you manage a catalog and site operations together, StoreAgent can help track down which orders were affected once the root cause is fixed.
WooCommerce
Debug a WooCommerce checkout that broke after a payment gateway plugin update
A triage prompt for a checkout stuck on Processing Payment right after a Stripe gateway plugin update, covering the webhook and API key traps that cause silent order failures.
Works with Claude / GPT2,050 uses★ 4.6
The prompt
woocommerce-checkout-broken-after-gateway-update
A WooCommerce store's checkout broke immediately after updating a payment gateway plugin. Here's what's known: SITE: [WooCommerce 9.x, WooCommerce Stripe Gateway updated from 7.4.0 to 8.0.2 this morning] SYMPTOM: [checkout spins on "Processing payment" for 30+ seconds then shows a generic "error processing your payment, please try again" message] IMPORTANT DETAIL: [some customers report their card WAS charged, but the order in WooCommerce still shows as Pending payment] Walk through a triage in this order, and for each step state what result would confirm or rule out that cause: 1. Check the WooCommerce > Status > Logs for a fatal-error or gateway-specific log entry from today, since a plugin update can introduce a fatal PHP error on the checkout template that a generic front-end error message hides. 2. Confirm whether the gateway is still correctly pointed at live mode API keys and not accidentally reset to test-mode keys during the update, which is a common cause of "payment declined" errors that look like a broken integration. 3. Check whether the webhook endpoint URL or webhook signing secret changed in this version, since Stripe (and most gateways) uses webhooks to confirm payment success asynchronously. If the signing secret is now mismatched, Stripe can successfully charge the customer's card while WooCommerce never receives the confirmation and leaves the order stuck on Pending, which is the exact "charged but order says pending" symptom described above and the highest-priority thing to rule out first, since it risks the customer being charged twice if they retry checkout. 4. Rule out a caching conflict: confirm the checkout page itself isn't being served from a page cache that predates the plugin update, and that no full-page cache is caching the nonce or cart total. 5. If none of the above resolves it, roll back to the prior gateway plugin version on a staging copy of the site and re-test checkout there before doing it on the live store, to confirm the update itself is the cause rather than a coincidental timing issue. Replace the bracketed plugin, version numbers, and symptom with your own site's details.