All playbooks
Playbook

Insufficient funds

Card is valid but the bank refused for funds. Often timing, not intent.

The signal in Stripe

The charge fails with the decline code insufficient_funds. The card is valid, the customer is real, and the bank simply refused because the account could not cover the amount at that moment. Of all the ways a subscription payment can fail, this one says the least about intent and the most about timing.

Why it happens

Consumer and small-business accounts breathe in cycles: salaries land, rent leaves, invoices clear. A renewal that bills on the 28th can miss a payday by two days and fail on a customer who fully intends to pay. Business cards hit credit limits at month-end for the same reason. None of this is churn. It only becomes churn if your response treats the customer like a debtor.

What happens if you do nothing

Default retry schedules re-attempt on a fixed cadence that knows nothing about the customer's cash cycle. Retrying an empty account on day 1, day 3, and day 5 can produce three more declines, three more failure emails, and a customer who now associates your product with overdraft anxiety. Repeated blind retries can also raise your decline rate with the issuer, which makes future charges more likely to be refused.

The play, step by step

Chaser, the Stripe-native failed-payment recovery tool, holds further retries the moment it classifies the decline, then asks instead of assuming. The customer gets one message offering a retry date that suits them: the 1st, the 15th, their payday. If the invoice is large, the message can offer to split it into installments. The case snoozes until the chosen date, the retry runs once at the right moment, and the outcome is written back to Stripe. If the chosen-date retry fails too, the case escalates to a human in the command center with the full history attached.

The email that works

Non-judgmental and concrete. "Want us to try again on the 1st?" beats "Your payment has failed" in tone and in recovery. The message names the amount, offers two or three dates as one-click choices, and never implies fault. The customer keeps their dignity; you keep the customer.

The operator card

The signal

Card is valid but the bank refused for funds. Often timing, not intent.

What to do

Reach out and agree a retry date that suits the customer (payday, end of month). Don't assume they need to change cards.

Drawer action

Log contact with the agreed retry date as the snooze; queue a retry recovery email on that date.

Email strategy

If you reach out outside Chaser, non-judgemental wording wins. 'Want us to try again on the 1st?' beats 'Your payment failed'.

Snooze default

Until the agreed retry date (default 5 days).

Chaser does this automatically

Stop running the "Insufficient funds" play by hand.

Chaser classifies every failed payment into a named play, drafts the right email, queues the right human action, and tracks recovery  without your team digging through Stripe. Join the Founding Partner Beta: the first 10 companies lock in 50% off for life and a direct line to the founder.

Personally reviewed by the founder · Reply within 24h

Next playbook
3DS required