"Dunning" sounds like accounting jargon from the19th century — and it kind of is — but in 2026 it is simply the name for the automated follow-up that gets declined payments paid. Here is what it is, what a good dunning sequence looks like, and how to switch it on in a WooCommerce store in ten minutes.
Payment dunning is the structured process of recovering unpaid invoices: detect the failed payment, retry it if the failure was temporary, and contact the customer on a schedule until the money arrives or the order is written off. For subscriptions it means chasing expired cards; for a store it means chasing declined checkout payments — orders already paid-for in intent, failed in execution.
| Mechanism | What it does | Catches |
|---|---|---|
| Auto-retry | Re-attempts the charge silently | Temporary soft declines |
| Dunning | Retries + scheduled customer emails | Soft declines + expired/wrong cards |
| Abandoned-cart emails | Remind shoppers who never checked out | People who left before paying |
Dunning covers a different funnel step than cart recovery: the customer already finished checkout — the bank said no. The mechanics differ (retry links vs cart links), so cart tools don't substitute for dunning. Details in the recovery guide.
| Touch | Content |
|---|---|
| Day 1 | "Payment didn't go through" + one-click retry link |
| Day 3 | Follow-up + single-use 5% coupon |
| Day 7 | Last call + single-use 10% coupon with expiry |
Core email — short, one link, zero blame:
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]
— {{shop.name}}
Three touches over a week is the practical ceiling for one-off purchases; subscription dunning often runs longer (card updater + retries for30–60 days) because the relationship continues.
| Failed payments | Per period |
| Recovery rate | Recovered ÷ failed — target 15–30% |
| Recovered revenue | Sum of recovered order totals |
| Time to recovery | Hours from failure to payment — the faster, the better |
WooCommerce has no built-in dunning — a failed order just sits as Failed. Setup with the free PayRetry plugin:
No cron to configure, no code — it runs on WP-Cron. Paid tiers are not required for the sequence itself.
Install PayRetry — free Declined-card playbook
Automated recovery of failed payments: detect the decline, retry it, and email the customer on a schedule until the order is paid or written off.
For e-commerce failed payments, recovering 15–30% of declined revenue with a three-touch sequence over seven days is a normal, healthy range.
Three over seven days (see the sequence above). More touches train customers to ignore you; fewer leave money on the table.
A retry re-attempts the charge (covers temporary soft declines). Dunning is the whole process — retries plus customer emails — so it also covers expired cards and 3DS timeouts that only the customer can fix. More on decline types in the declined-card playbook.
No — collections chase money already owed after delivery; dunning chases payments that failed at the moment of purchase, before the order ships.