Last updated June 2026 · 5 min read

Stripe card_velocity_exceeded: Causes and Recovery Steps

card_velocity_exceeded means the issuer is rate-limiting the card. Here's how to recognize it, why retrying inside 24h fails, and the right recovery sequence.

What card_velocity_exceeded means

The issuer enforces velocity controls — limits on how many charges a card can run, how much it can spend, or how many attempts can hit a single merchant in a rolling window. When you trip one, Stripe surfaces decline_code = "card_velocity_exceeded". The card is valid; the issuer is throttling.

Why it shows up in SaaS billing

  • Customer's card just paid several other subscriptions on the same day.
  • Smart Retries (yours or another merchant's) burned through the per-merchant attempt cap.
  • Annual renewal hit the per-day amount ceiling on a corporate card.

The recovery play

  • Hold retries for 24 hours. Velocity windows are rolling — hitting the issuer inside the window resets nothing.
  • Email a hosted update-card link. If the cardholder can pay with a different card or push the bank to raise the limit, you recover today instead of tomorrow.
  • Retry once after 24 hours. If it fails again, the customer has hit a hard limit and needs to swap cards.

Frequently asked questions

What does card_velocity_exceeded mean?

The card has hit a usage limit set by the issuer — too many charges in a short window, too high a cumulative amount, or too many attempts at one merchant. The bank is rate-limiting, not refusing the card.

How long until I can retry card_velocity_exceeded?

Most issuer velocity windows reset on a 24-hour rolling basis. Retrying inside the window will almost always fail with the same code. Wait at least 24 hours, and if it fails again, ask the customer to use a different card.

Does Smart Retries help with card_velocity_exceeded?

Partially. Smart Retries will eventually retry outside the velocity window, but it has no view into when the window actually resets. A focused 24-hour retry plus customer outreach offering an alternative card recovers faster.

Want to know how many of your last 90 days of failed payments were card_velocity_exceeded? The Safe Mode audit computes it from your own Stripe ledger, read-only, in 60 seconds, no emails sent.

Run the revenue audit