Do not honor declines: the recovery playbook

By Palash Sarker, Founder & Software Architect, Revenue Recovery Labs4 min read Verified by RRLabs

What `do_not_honor` actually means

The issuer gives no reason, so treat it as a soft block and offer a different card early.

Treating it like every other decline is the mistake: a fixed day-1/day-3/day-7 cadence sends the wrong message at the wrong moment and trains the issuer to keep refusing.

Retry timing

Retry at 36 hours. Earlier attempts land before the underlying condition clears; later attempts arrive after the customer has mentally cancelled.

Cap total attempts at three to four across 7-10 days. Beyond that, incremental recovery is under two points and the fraud-signal cost rises.

Decline code to retry window decision treeDark-mode SVG decision tree by Palash Sarker (Founder & Software Architect, RRLabs) mapping the insufficient_funds, expired_card and do_not_honor decline codes to their retry windows and recovery channels.DECLINE CODE ROUTINGDecline code receivedinsufficient_fundsretry in 48haligned to payday liquidityexpired_cardno retry — 24h askone-tap card update linkdo_not_honorretry in 72hescalate to alternate cardEvery branch pairs the retry with a WhatsApp or email touch timed to the same window.
Decline code decision tree: insufficient_funds, expired_card and do_not_honor mapped to their retry windows.

How much of your involuntary churn is recoverable?

Compares a 40% single-channel baseline against the 63.8% RRLabs platform average.

At risk / month
$5,600
Extra recovered / month
$1,333
Annualised, less $3,000 plan
$12,994

Message framing that converts

Ask for an alternate payment method in the first message rather than the third.

Dispatch over Email + WhatsApp. The channel decision matters more than the subject line: a message that is never opened cannot convert regardless of copy quality.

What to measure

Track recovery rate for `do_not_honor` in isolation, not blended. A blended 60% can hide a 25% do not honor bucket that is quietly the largest churn source in the account.

Log model, latency and recovery score per message so you can attribute lift to copy changes rather than seasonality.

Frequently asked questions

How many times should I retry a do not honor decline?
Three to four attempts across 7-10 days, with the first at 36 hours.
What recovery rate is realistic for `do_not_honor`?
30-45% within 14 days is a healthy range with reason-specific messaging on two channels.
Does the channel change the outcome?
Yes. For this decline reason we default to Email + WhatsApp, because delivery speed and open rate dominate copy quality.