Break/fix scenarios I set up on my own WooCommerce and Stripe test stores, then diagnosed, fixed, and wrote up. Each one is based on a problem real stores run into. They show the hands-on side of my technical writing.
Stripe webhooks rejected by WooCommerce
WooCommerce / Stripe · WebhooksThe situation
Checkout worked and orders showed up, but every webhook Stripe sent was being rejected with a 401. The signing secret saved in WooCommerce no longer matched the one in Stripe, so refunds, disputes, and status updates had no way to reach the store.
What I worked on
Traced the 401s in Stripe's delivery log to signature verification, compared the saved signing secret with the one in the Stripe dashboard, updated it, and re-sent test events until WooCommerce accepted them.
Live checkout stuck in Stripe test mode
WooCommerce / Stripe · CheckoutThe situation
The store looked live, but every real card was declined with a generic error and no orders were recorded. Nothing on the checkout page pointed to the cause.
What I worked on
Found test mode still switched on in the gateway settings and confirmed it in the gateway log (livemode: false). Switched to live mode with live API keys, then checked that a payment recorded correctly in both WooCommerce and Stripe.
Post-launch Stripe configuration audit
WooCommerce / Stripe · AuditThe situation
A store that seemed to be running fine had four hidden gaps: only one of the required webhook events registered, a blank statement descriptor, gateway logging turned off, and test mode still enabled.
What I worked on
Registered the missing webhook events, set a recognizable statement descriptor, turned logging back on, and switched to live keys. Then triggered a test refund to confirm the webhook reached WooCommerce.