Skip to content

Reducing card declines before they happen

5 min read

The cheapest failed payment is the one that never happens. A good part of renewal failures can be seen coming weeks in advance: an expiry date, an annual renewal on an old card, a customer who has never confirmed a payment with their bank. Here is what you can do before the charge, most of it inside Stripe.


Start with what Stripe does for you

Two features are worth checking before anything else, because they cost nothing to switch on.

  • Automatic card updates. When a bank issues a new card, card networks can pass the new number or expiry date to merchants. Stripe applies these updates to saved cards automatically for participating issuers. Coverage is not complete: it depends on the bank and the network, and it never covers a card the customer cancelled themselves.
  • Emails about expiring cards. In your Billing settings, Stripe can email customers whose card is about to expire, with a link to update it. Turn it on and check what the email looks like and which language it uses.

Remind customers before their card expires

If you prefer to send the reminder yourself, in your company's name, keep it simple. Send it in the month before expiry, only to customers with an active subscription that will renew after the card's last valid day, and skip it if the card has already been updated.

Reminder before a card expiresSubject: Your card for [Company] expires soon
Hi [First name], The card you use for your [Plan] subscription expires at the end of [month]. To avoid any interruption, you can add the new one here: [Update my card] If you have already done it, you can ignore this message. [Your name], [Company]

Do not send this reminder to everyone with an old card. A card that expires in two years needs nothing today, and too many messages train customers to ignore yours.

Make 3-D Secure painless

Under European strong customer authentication rules, banks can ask the cardholder to confirm a payment. For subscriptions, the first payment usually goes through this step; renewals are generally exempt, but not always. Three things reduce the friction:

  • Collect the card with Stripe's own components or Checkout, which save it for future off-session payments and handle authentication at signup.
  • When a renewal requires authentication, make sure the customer receives a link right away. Stripe can send one, or your own follow-up can link to the hosted invoice page.
  • Say clearly in that email that the bank is asking for a confirmation. Customers are used to it; what confuses them is a vague 'payment problem'.

Announce annual renewals

Annual plans fail in a particular way. The card was entered a year ago, the amount is larger than a monthly charge, and the customer may have forgotten the date. A short renewal notice a few weeks before the charge, with the amount, the date and a link to update the card or manage the subscription, prevents both failures and surprise disputes.

Offer more than one way to pay

Cards are not the only option. Depending on your market, direct debit from a bank account or bank transfer for invoices can suit some customers better, especially businesses on annual plans. Bank debits do not expire like cards do, although they have their own failure reasons and timings.

You do not need to offer everything. Look at who fails most often in your data: if most failures are on large business invoices, a bank-based option for that segment may help more than any email.

Keep billing contacts up to date

In business-to-business subscriptions, the card often belongs to a person, not to the company. When that person leaves, the card stops working and nobody reads the emails sent to their address. Asking for a billing email address separate from the user's login, and letting customers add a second contact, removes a whole category of failures.

Check the signup flow

Many renewal failures start at signup. A few checks are worth doing once:

  • Is the card saved for future payments when the customer subscribes, so that renewals can be charged without them being present?
  • Is the customer's email address verified, so that payment emails reach a real inbox?
  • Is the language of the account recorded, so that every later message, including payment emails, is in the right language?
  • For businesses, is there a field for a billing contact or a VAT number, which also tells you that a company, not a person, is paying?

Reduce false fraud declines

Some generic declines come from the bank's fraud systems. You cannot control those systems, but you can avoid looking suspicious: use a clear statement descriptor that customers recognise on their bank statement, keep the billing date stable, and avoid charging the same card many times in a short period.

Then measure what is left

Prevention lowers the number of failures but never brings it to zero. What remains needs a follow-up adapted to the decline code, described in why Stripe payments fail and our dunning templates.

To see where you stand today, Reclaiva's free audit reads 90 days of your Stripe history, read-only, and shows the failed payments per currency, what Stripe recovered on its own and what is still open. It does not change anything in your account.

All articles