Failed payments and retries in subscriptions (dunning)
In a subscription business, some cancellations are not voluntary: they are payments that fail. A good retry process wins them back.
In any subscription business, some of the customers you lose never wanted to leave: their card expired, there were insufficient funds or the bank asked for an authentication that nobody completed. Recovering them is called dunning.
Why a payment fails
- Card expired or replaced.
- Insufficient funds.
- The bank requires authentication (SCA) on a charge that should go through without the customer.
- With SEPA: account closed, wrong IBAN or a return requested by the customer.
Retry schedule
Do not retry five times on the same day. A typical schedule: day 0, day 3, day 5 and day 7, ideally at different times. Some payment gateways offer smart retries that choose the best moment.
Notifying the customer
- Immediate notice: “We could not charge your subscription”, with a link to update the payment method.
- A reminder before the last retry.
- A notice of pause or cancellation, with an easy way to reactivate it.
The technical side
- Every attempt logged with its result and the gateway's error code.
- The subscription status (active, unpaid, paused, cancelled) visible in the back office.
- Idempotent retries: a cron job that runs twice must not charge twice.
- A payment forecast report, so you know what is going to be charged and what is at risk.