All recovery guides

Failed-payment guideStripe decline reason: insufficient_funds

How to recover insufficient_funds failed payments in Stripe

insufficient_funds is the most recoverable Stripe decline. When to wait for Stripe's retry, when to email, and the exact recovery email to send.

What insufficient funds means

The card is valid and active, but the account behind it did not have enough balance (or available credit) at the moment Stripe attempted the charge. Nothing is wrong with the card itself — the timing was.

Why it happens

  • The charge landed just before payday or between account top-ups.
  • A prepaid or debit card is used for subscriptions and runs dry.
  • The customer's bank holds a temporary block that reads as insufficient balance.

What Stripe does on its own

Stripe retries these automatically, and its retry timing is genuinely good at catching the account after a deposit. If the invoice shows a next_payment_attempt in the future, the machine is still working.

The recovery playbook

  1. Wait out Stripe's scheduled retry first. Emailing before a retry that would have succeeded anyway costs goodwill for nothing — MRRdue's queue times its nudges after next_payment_attempt for exactly this reason.
  2. If the retry fails (or there is none scheduled), send a short, friendly note with the Stripe-hosted invoice link so the customer can pay the moment their balance allows.
  3. For high-MRR accounts, escalate to a personal note from the founder after 3–4 days unpaid — this is the segment where a human touch visibly beats automation.
  4. Mark the case as contacted so recovery attribution can tell you whether outreach is what closed it.

Highest recovery rate of all decline reasons — the customer usually wants to keep paying and just needs the charge to land at the right time.

The email to send

This is the exact template MRRdue's recovery assistant suggests for insufficient_funds cases — copy it, swap the details, and send it from your own address.

Subject: Action needed to keep your subscription active

Hi Alex,

Your $49.00 subscription payment is still unpaid, and we want to help you avoid an interruption.

You can use Stripe's secure payment page to update the payment method and retry the invoice:
https://invoice.stripe.com/i/…

If anything looks wrong, reply to this email and we will take a look.

Thanks,
Your SaaS

More variants (and retention-risk templates) in the free recovery email template gallery.

Stop working declines from a spreadsheet

MRRdue imports your failed payments with a read-only Stripe key, ranks them by recoverable dollars and decline reason, and drafts this email for every case — you stay the sender.

View live demo Estimate your leak