An order in Failed status looks like a technical problem — but the expensive half of it is a lost customer. Official WooCommerce docs will help you fix the gateway; this guide covers the other half: how to get the money back, with the exact emails, links and timing that work.
WooCommerce marks an order Failed when payment was attempted and did not go through: the card was declined, the 3-D Secure window timed out, the gateway errored, or the session died mid-payment. The order exists, the customer wanted the product — only the money is missing. (For diagnosing gateway config issues, WooCommerce's own failed order guide is the right place; come back here when the gateway is fine but the payment still failed.)
Open WooCommerce → Orders → the failed order and read the order notes — the gateway writes the decline code there. It tells you what to say next:
| Decline reason | What it means | Best next move |
|---|---|---|
| Insufficient funds | Temporary | Retry in 1–2 days |
| Expired card | New card needed | Retry link + "update your card" |
| 3DS/SCA timeout | Popup closed | Retry link, mention the bank popup |
| Generic decline | Bank said no, reason hidden | Retry + offer another card |
| Gateway/timeout error | Your side or theirs | Retry — often succeeds first try |
Do not wait for the customer to notice — most never return on their own. A short email that links directly to payment for that order converts best. Copy-paste template:
Subject: Your payment didn't go through — order #1234
Hi {{customer.first_name}},
We tried to process your payment for order #1234, but the bank
declined it. Nothing is lost — you can complete the order in one click:
[Complete my payment]
If your card has expired or you'd like to use another one, the
checkout page lets you pick a different payment method.
— {{shop.name}}
The link must be the order's own payment page (the WooCommerce order-pay endpoint
with the order key). Anything that requires logging in and finding the order loses a large share
of customers who would otherwise have paid.
One email is a coin flip. A three-touch sequence over a week is the pattern that reliably recovers 15–30% of failed orders:
| Day | Message |
|---|---|
| Day 1 | Friendly reminder + one-click retry link (no discount) |
| Day 3 | Second reminder + single-use 5% coupon |
| Day 7 | Last call + single-use 10% coupon with expiry |
Why escalate: the first email tests whether the failure was temporary; the discount removes price friction only for the customers who hesitated. Lead with the link, not the coupon — and bind each coupon to one order with usage limit 1 so your coupon list stays clean.
Track four numbers per month:
| Failed payments | Orders → Failed |
| Recovered orders | Failed orders later marked Completed |
| Recovered revenue | Sum of those order totals |
| Recovery rate | Recovered ÷ failed |
Below 10%: your retry link is buried or timing is off. Above 30%: unusual — check whether your "failures" are mostly gateway glitches worth fixing at the source.
Steps 2–4 are exactly what the free PayRetry plugin automates: it watches for failed orders, sends the day 1/3/7 reminders with one-click retry links, and creates the escalating single-use coupons on schedule. Editable template and schedule; runs on WP-Cron; works with every gateway that fails orders in WooCommerce.
Install PayRetry — free See the ROI calculator
The first 24–48 hours convert best — the shopper still has the intent (and often the checkout tab). Day 1–7 is the practical window; after that most orders are cold.
WooCommerce returns held stock to inventory when an order moves to Failed, so nothing is permanently reserved — but the revenue is gone until someone retries. (See WooCommerce's order status docs.)
Yes — every unpaid order has an order-pay URL with an order key. Emailing that link is the whole trick: one click, no re-shopping.
No. Most declines are card problems, not price problems. Test with a plain retry first, then escalate: 5% on day 3, 10% on day 7, single-use, expiring.
No — abandoned carts are shoppers who never checked out; failed payments are shoppers whose card was declined after checkout. Different emails, different links. The details are in our main recovery guide, and what to do about declines themselves.