Skip to content
itsorted.online
Payments guide

Failed Subscription Payments: Set Up Dunning That Recovers

Some subscription payments fail every month: cards expire, hit limits or get replaced after fraud. Dunning is the process that recovers them: retry the charge at sensible times, tell the customer in a friendly way, give them a one-click link to update their card, and decide what happens to their access if nothing works. Stripe Billing has most of this built in, but the defaults are not always right for a Singapore gym, studio or software subscription. This guide shows how to set up retries, reminder emails and messages, grace periods and the pause-or-cancel decision, plus what to do for customers who pay by PayNow.

By IT Sorted teamReviewed 7 min readHow we write guides
in

Key takeaways

  • Stripe's recommended Smart Retries default is 8 tries within 2 weeks; you can choose 1 week to 2 months.
  • Stripe can email customers 1 month before their saved card expires, with a link to update it.
  • After retries end, Stripe can cancel, mark unpaid, leave overdue, or pause eligible subscriptions.
  • Stripe's PayNow docs say PayNow cannot automatically charge invoices; use send-invoice collection instead.
  • Send reminders with a one-click card update link before access changes, so customers are never surprised.
In this guide · 8 sections
  1. 01Why subscription payments fail
  2. 02Step 1: set up retries in Stripe
  3. 03Step 2: card updates and expiring-card emails
  4. 04Step 3: a reminder sequence customers do not mind
  5. 05Grace periods: pause vs cancel
  6. 06PayNow and other non-card payments
  7. 07Do it yourself or get help?
  8. 08Frequently asked questions

Short answer

Turn on Stripe Smart Retries (Stripe recommends 8 tries within 2 weeks), switch on failed-payment and expiring-card emails with a link to update the card, add a short grace period, and pause rather than cancel where you can. PayNow cannot be charged automatically, so send invoices with reminders instead.

Why subscription payments fail

Most failures are not customers trying to avoid paying. They fall into two groups, and they need different handling.

TypeCommon causesWhat recovers it
Soft declineInsufficient funds, daily limit, temporary bank issue, 3D Secure neededRetrying at a better time; asking the customer to confirm the payment
Hard declineExpired card, card replaced, account closed, card reported lostCustomer updates their card; automatic card updates where supported
Customer-sideCustomer forgot, changed bank, wants to pauseClear reminders, a pause option, an easy portal

A good dunning set-up handles all three automatically, so staff only deal with the few that need a conversation.

Step 1: set up retries in Stripe

Stripe's Smart Retries use a machine-learning model to pick the best times to retry a failed payment. You set how many tries over what period: 1 week, 2 weeks, 3 weeks, 1 month or 2 months. Stripe's recommended default is 8 tries within 2 weeks, and you can also set custom retry rules instead.

  1. Open revenue recovery settings

    In the Stripe Dashboard, go to Billing settings, then the revenue recovery or retries section.

  2. Turn on Smart Retries

    Start with the recommended 8 tries in 2 weeks. A monthly membership may want 3 weeks; a weekly class pack may want 1 week.

  3. Choose what happens when retries run out

    Cancel, mark as unpaid, leave overdue, or pause if eligible. See the section on pausing below.

  4. Check where the payment method is stored

    Stripe retries on the payment method attached to the subscription. When a customer updates their card, make sure it replaces the right default, or retries keep failing on the old one.

  5. Listen for the events

    If your website or member app controls access, use Stripe's webhook events for failed and paid invoices so access changes automatically.

Step 2: card updates and expiring-card emails

Card networks run updater services that tell Stripe when a saved card is replaced. Stripe's card documentation says this is widely supported for US-issued cards, that international support varies by country, and that you cannot tell in advance which cards support it. For Singapore customers, do not rely on it alone.

The dependable fix is to ask the customer before the card expires. Stripe's customer email settings include an option to send an email 1 month before the saved card expires, plus failed-payment notifications. Both can include a link to the Stripe-hosted Customer Portal or your own page, where the customer updates the card in a minute.

Step 3: a reminder sequence customers do not mind

Retries work quietly in the background. Reminders are what the customer sees, so make them helpful rather than threatening.

WhenChannelMessage
Day 0, first failureEmail (Stripe)Payment did not go through; here is a link to update your card. No action needed if you already have
Day 3EmailFriendly reminder with the same link; mention the date access would change
Day 7WhatsApp or SMSShort note with the update link, from your business number
Day 12EmailLast reminder before the grace period ends; offer to pause instead
After retries endEmailAccess paused or ended, how to restart, and who to contact
Example schedule for a monthly membership with retries over 2 weeks. Adjust to your billing cycle.

WhatsApp reminders need the WhatsApp Business API and an approved message template, and the customer must have opted in. Our WhatsApp Business API cost guide explains the set-up and per-message charges.

Grace periods: pause vs cancel

Decide what a customer keeps during retries and what happens if nothing works. When retries are exhausted, Stripe lets you cancel the subscription, mark it unpaid (invoices keep being created as drafts), leave it overdue (invoices keep being generated and charged on your retry settings) or, for eligible subscriptions, pause it. Stripe's changelog of 30 September 2026 added automatic pausing after the first failed renewal or after retries end, for subscriptions in flexible billing mode.

Pause when

  • The customer has paid for months and probably has a card problem
  • You want to keep their history, plan and price
  • Restarting should be one click
  • Service delivery can simply stop, like a gym or app

Cancel when

  • The plan is low-value or a trial that never converted
  • You hold stock, bookings or capacity for them
  • The customer asked to stop
  • Unpaid invoices would otherwise pile up

During the grace period, many businesses keep access on for a week, then limit booking or downloads, then pause. Write the rule into your terms so customers know what to expect; our gym membership website guide shows how studios phrase it.

PayNow and other non-card payments

Many Singapore customers prefer PayNow, but it is not a card you can charge in the background. Stripe's PayNow documentation says PayNow payments do not support automatically charging invoices, so subscriptions and invoices must use the send-invoice collection method. The customer receives an invoice each period and pays it themselves.

  • Use send-invoice subscriptions for PayNow customers, with Stripe's unpaid recurring invoice reminders switched on
  • Set a sensible due date, such as 7 days, and a reminder before and after it
  • Offer card or another automatic method as the default, with PayNow as an option
  • For fixed monthly fees such as school or preschool fees, GIRO may suit better; see our GIRO and online fee collection guide

Stripe also notes that it does not retry failed payments made with local payment methods by default; you turn that on separately if your methods support it.

Do it yourself or get help?

If you already run subscriptions in Stripe, switching on Smart Retries, expiring-card emails, failed-payment emails and the Customer Portal takes under an hour. Test with Stripe's test cards that simulate declines before you trust it. Our Stripe subscription billing guide covers the initial set-up, and Stripe fees in Singapore lists what Billing costs.

If you want it configured for you, our Subscriptions & Recurring Billing package (S$490) sets up plans and prices in Stripe, a sign-up page or payment links, the customer portal, failed-payment retries and reminder emails, and a monthly revenue report.

Frequently asked questions

Dunning is the process of recovering failed recurring payments. It combines automatic retries of the charge, reminder emails or messages to the customer with a link to update their payment method, a grace period, and a rule for what happens to the subscription if payment still fails, such as pausing or cancelling.

Stripe's recommended Smart Retries default is 8 attempts within 2 weeks, with the timing chosen by its model. You can choose a window from 1 week to 2 months. Match it to your billing cycle: shorter for weekly plans, up to 3 weeks or a month for monthly memberships.

Not as an automatic charge through Stripe. Stripe's documentation says PayNow payments do not support automatically charging invoices, so PayNow subscriptions must use the send-invoice collection method, where the customer pays each invoice. Turn on reminder emails, or offer card or GIRO for automatic collection.

Pausing keeps the customer's plan and history, so restarting is easy once the card is fixed. Stripe can now pause eligible subscriptions automatically after a failed renewal or once retries run out. Cancel when the plan is low-value, the customer asked to stop, or you hold capacity for them.

Turn on Stripe's expiring-card emails, which go out 1 month before a saved card expires, with a link to update it. Card networks' automatic updaters help with some cards, but Stripe notes international support varies, so do not rely on them alone for Singapore customers.

Rather have it done for you?

Fixed price, set up in your own accounts.

Order online, get a written scope, and keep full ownership of everything we set up. Questions first? Ask us in writing.