Stripe's Automatic Card Updater: What It Actually Fixes (and What It Silently Misses)
Stripe's automatic card updater quietly fixes expired and reissued cards. Here's what it covers, what it misses, and why you still need dunning.

The 30-second answer
Stripe's automatic card updater refreshes saved cards when the customer's bank reissues them — new expiry date, new card number, whatever changed. It's free, it's on by default for most accounts, and it works without the customer lifting a finger. What it does not do: fix insufficient funds, closed accounts, or cards from banks that don't participate in the updater programs. It handles one failure reason out of many.
That last sentence is where most founders get it wrong. They hear 'Stripe updates cards automatically' and mentally check the failed-payment box. Then they look at their MRR six months later and wonder where the leaks went. Let's walk through what's actually happening.
What the updater actually does
When your customer saves a card, Stripe stores the card details against a payment method. Behind the scenes, the card networks — Visa, Mastercard, Amex — run account updater programs. When that customer's bank reissues the card (expiry rolled over, card replaced after fraud, bank switched portfolios), the network tells Stripe the new details. Stripe updates the saved payment method. Your next scheduled charge goes through like nothing happened.
This is genuinely good technology. Before updaters existed, every expired card was a failed payment and an awkward email. Now a big chunk of expiry-related churn just... doesn't happen. If you want the network-level mechanics — Visa VAU, Mastercard ABU, how the data flows — I wrote that up separately. This post is about the Stripe-specific reality.
The part nobody tells you: it's silent
Here's what bothered me when I first dug into this. The updater works invisibly. You don't get a dashboard notification saying 'heads up, 40 of your subscribers would have churned this month but we saved them.' The customer doesn't get asked. The card just keeps working.
That sounds like a feature. It's actually a blind spot. Because the updater handles the easy failures silently, the failures that DO hit your dashboard are disproportionately the hard ones — and most founders don't realize the mix has changed. What's left after the updater does its job is not a random sample of payment failures. It's the concentrated residue: empty bank accounts, dead cards, people who ghosted their bank.
What the updater cannot fix
- •Insufficient funds. The card details are perfectly valid — there's just no money behind them. This is the single most common soft decline, and the updater does absolutely nothing for it. The fix is retry timing, not card details.
- •Closed accounts. If the customer closed the account entirely — not reissued, closed — there's no new card to update to. That subscriber is functionally gone unless you reach them.
- •Non-participating issuers. The updater programs depend on the bank playing along. Big banks mostly do. Smaller banks, credit unions, prepaid cards, and some international issuers often don't. Their cards expire and fail like it's 2010.
- •Cards not saved through Stripe. Obvious but worth saying: if the payment method isn't on file with Stripe, Stripe can't update it.
- •Everything that isn't a card-detail problem. Fraud blocks, spending limits, 3DS authentication requirements, do-not-honor responses from a suspicious bank. Wrong tool entirely.
Read that list again. The updater covers exactly one line item: reissued cards at participating banks. Everything else still lands in your failed payments queue, and every one of those is a subscriber who's about to churn without ever deciding to leave.
The false-confidence trap
I call this the updater trap. A founder connects Stripe, sees that automatic card updates are enabled, maybe even flips on Smart Retries, and concludes that involuntary churn is handled. The tooling is good enough that this conclusion feels reasonable.
But think about what 'handled' means here. Card updater: handles reissues, silently, only at participating banks. Smart Retries: retries the charge at ML-picked times, but never tells the customer anything — if the retry doesn't land, the subscription just dies quietly. Neither one sends a single word to the human who owns the card. And for the failures that remain — the insufficient funds, the closed accounts, the non-participating banks — the human is the only fix that works. They need to update a card, move money, or tell you the account is dead.
"The card updater is the floor, not the ceiling. It stops the failures that were easy. What remains is exactly the stuff that needs a person to act."
How to actually layer this
The sane setup treats the updater as one layer in a stack, not the whole stack:
- •Layer 1 — the updater. Leave it on. It's free and it silently absorbs expiry churn at participating banks. Zero effort, real savings.
- •Layer 2 — smart retries. Also leave on. For insufficient funds and other soft declines, a well-timed retry recovers a meaningful share without any customer contact.
- •Layer 3 — pre-dunning for the gaps. For cards approaching expiry at banks where the updater might not reach, a heads-up email before the failure beats a recovery email after it.
- •Layer 4 — actual dunning. When a payment still fails, the customer gets a clear, human email with a working link to fix it. This is the layer that recovers the revenue the first three can't touch.
Most Stripe accounts run layers 1 and 2 and stop there. Which means every failure that survives the silent automation — the hard failures, remember — gets zero follow-up. That's the leak.
Does it work internationally?
Mostly, with holes. The updater programs are strongest with US and UK issuers. Coverage in parts of Europe, Asia, and Latin America is patchier — participation is decided issuer by issuer, and neither Stripe nor the card networks publish a clean list of who's in. If your customer base is global, assume a slice of your international cards expire straight into failures every month, and plan your pre-dunning accordingly.
How to check it's actually on: in your Stripe dashboard, open your payment and billing settings and look for automatic card updates — for most accounts it's enabled by default and there's nothing to configure. While you're in there, confirm Smart Retries is enabled too. Two checkboxes, five minutes, and your baseline recovery just went up.
One more honest limitation: Stripe doesn't give you actionable reporting on updater activity. You can't easily see 'these 30 cards were updated this month' or 'these 5 failed because the bank doesn't participate.' You see outcomes — charges that succeed, charges that fail — and infer the rest. Which is another reason the residual failures deserve your full attention: they're the only part of this system you can actually observe.
How to check your own exposure
Open your Stripe dashboard and pull your failed payments from the last 90 days. Bucket them by decline code. If insufficient_funds and generic soft declines dominate — and they usually do — then the updater was never going to save those anyway, and the question becomes what your recovery flow looks like for them. If the honest answer is 'Stripe retries a few times and then the subscription cancels,' you now know where your involuntary churn lives.
Full disclosure: this gap is exactly why I built StayPaid. Stripe's automation handles the silent stuff, and StayPaid handles the human stuff — the recovery email from your own address, the card-update link, the retry logic that respects what the decline code actually means. Not because Stripe's tooling is bad. Because it was never meant to do that part. If you're not ready for a tool, fine — but at minimum, send the emails yourself. The updater won't.
FAQ
Is Stripe's automatic card updater free?
Yes. Stripe does not charge separately for Automatic Card Updates. It's on by default for most accounts and works in the background on saved cards.
Does Stripe's card updater fix insufficient funds declines?
No. The updater only refreshes card details when a bank reissues a card. If the card is valid but the balance is empty, there is nothing to update — you need retries and customer emails.
How do I know if Stripe updated a customer's card?
You mostly don't. The update happens silently between the card network and Stripe. Your customer isn't asked and you aren't notified in any useful way.
Does the card updater work for every bank?
No. Participation depends on the issuer. Big banks are usually covered, but smaller banks, prepaid cards, and some regions fall through the cracks.
Keep reading
Robert
Founder at StayPaid
Want to recover failed payments like a founder?
Start Free — First 3 recoveries