Stripe automatic card updates, and their limits | RecoverFlow

Guide

Stripe updates expired cards for you, sometimes

Last updated 28 July 2026 · written by Bruce McGinley, who builds RecoverFlow

Short answer

Stripe works with the card networks to automatically update saved card details when a customer gets a new card, whether through expiry, reissue, or a lost and stolen replacement. It is on by default and needs no configuration.

It is also not guaranteed. It requires the issuing bank to participate, and Stripe states plainly that it is not possible to identify in advance which cards support it. That gap is why you still see expired_card declines.

What it does

When a customer's card is replaced, the networks can push the new details to merchants who have the old card on file. Stripe participates in this on your behalf and updates the saved payment method without you doing anything.

Coverage in the United States is wide, spanning American Express, Visa, Mastercard and Discover. Internationally it varies by country. The binding constraint everywhere is the issuer: automatic card updates require card issuers to participate with the network and provide the information.

This is genuinely valuable and it is free, which makes it one of the better arguments for keeping cards on file in Stripe rather than anywhere else.

Why you still get expired card declines

If this worked every time, expired_card would not appear in anyone's dashboard. It appears in everyone's.

Three reasons. The issuer may not participate. The update may not arrive before your renewal does. And the customer may have been reissued a card by a bank that treats the replacement as a new account rather than an update.

The planning consequence: treat automatic updates as something that reduces your expired card volume, not something that eliminates it. Any recovery process that assumes cards fix themselves will be wrong for the remainder, and the remainder is where the churn is.

This also explains an oddity covered elsewhere on this site: expired_card is not one of the nine codes Stripe refuses to retry. Stripe will genuinely retry it, and occasionally that retry succeeds precisely because an update landed in between. The expired card guide goes into when that is worth waiting for.

Knowing when it happens

Two events tell you a saved card changed:

Both include the card's new expiration date and last four digits so you can keep your own records straight. That last point is more useful than it sounds. If you show customers "your card ending 4242" in billing emails and you cached that value at signup, an automatic update will silently make your emails wrong, and a customer who cannot find the card you are describing is a customer who does not update it.

What to do about the part it does not cover

The lever you control is time. A card's expiry date is not a secret: it is on the payment method as exp_month and exp_year, and you can see a failure coming weeks out.

Stripe will send a card expiry email roughly a month ahead if you enable it, and that costs nothing. Beyond that, the useful move is to query for cards expiring in the next cycle and reach the customers whose renewal date falls after their expiry date. That is a small population and a high value one, because you are asking before anything has broken rather than after.

Note the limits of the API here: an update call can change the name, billing address, expiration date or metadata on a card. Anything else means the customer supplies a new card. You cannot patch your way out of a genuinely dead payment method.

Questions people actually ask

Does Stripe automatically update expired cards?

Often, yes. Stripe works with the card networks to automatically attempt to update saved card details when a customer receives a new card. It requires no configuration. It is not guaranteed, because the issuing bank has to participate with the network and provide the information.

Which card networks support automatic updates in Stripe?

In the United States, support is wide across American Express, Visa, Mastercard and Discover. International support varies by country. In all cases the individual issuer must participate.

Can I tell which of my customers' cards will update automatically?

No. Stripe states that it is not possible to identify cards that support automatic updates. You find out when it happens, or when it does not and you get a decline.

How do I know when Stripe updates a card?

Listen for payment_method.automatically_updated, which fires on network-driven updates. payment_method.updated covers changes you made through the API. Both include the new expiration date and last four digits.

Does automatic card updating cost extra?

Stripe's documentation does not list a cost for it. It works as part of keeping cards on file, with no separate setup step.

Where this came from

Checked against primary sources on 28 July 2026. If Stripe changes something and this page has not caught up, tell us and it gets fixed.

If you would rather not build this yourself

RecoverFlow watches your Stripe account for failed subscription payments, stops retrying the ones that cannot succeed, and emails the customers whose card simply needs replacing. It charges 25% of what it actually recovers, with a $29 monthly floor, and nothing at all if it recovers nothing.

It is early. It is run by one person. If Stripe's own free retry settings are enough for you, use those instead, and there is a page on this site that says exactly when that is the right call.

See how the pricing works