card_expired
high intent
The customer is still willing to pay
Send a direct update-card path before a simple expiry becomes cancellation noise.
Stripe failed payment recovery
Dunlo turns raw Stripe decline events into a recovery workflow: the right customer email, the right retry moment, and founder escalation when an account is worth saving personally.
Failure-code logic
Generic payment failed emails flatten every problem into the same message. Dunlo keeps the response tied to the Stripe failure code.
card_expired
high intent
Send a direct update-card path before a simple expiry becomes cancellation noise.
insufficient_funds
timing
Wait, explain the issue, and retry when the payment has a better chance to clear.
do_not_honor
context
Tell the customer what the bank blocked and what to do before another retry burns trust.
If the card expired or the bank blocked the charge, another retry without context can train customers to ignore the problem.
Recovery operating system
Dunlo gives failed payments a clear owner, a customer-safe message, and a visible recovery state.
Messaging changes with the decline reason.
Follow-ups wait when waiting improves the outcome.
Recovered MRR is visible without spreadsheet work.
A Stripe failed payment is a charge, invoice, or payment intent that Stripe could not complete because the card, bank, customer, or authentication step blocked the transaction.
Yes. Many failed Stripe payments are recoverable when the customer is contacted quickly, the retry is timed around the failure reason, and the email explains the exact action needed.
Dunlo combines failure-code-specific recovery emails, smart timing, founder escalation, and recovered revenue tracking so SaaS teams can act on the reason each payment failed.
Free during beta
Connect Stripe, import existing failures, and start recovering revenue with customer-safe emails in minutes.