Error codes

Soft decline

Stripe

card_velocity_exceeded

The customer has exceeded the balance, credit limit, or transaction amount limit available on their card.

What does card_velocity_exceeded mean?

The card_velocity_exceeded decline code is returned when the cardholder has exceeded a balance, credit limit, daily spending cap, or transaction frequency limit set by the issuing bank. The card itself is valid and the customer has not been blocked — they have simply hit one of the ceiling values the bank applies to manage risk or protect the account.

Is it a soft or hard decline?

card_velocity_exceeded is a soft decline. The issue is temporary by definition — limits reset on a daily, weekly, or statement-cycle basis. Retrying after the appropriate reset window recovers most of these transactions without any customer involvement.

Common root causes

  • Daily spending limit reached (common with debit cards)

  • Weekly or monthly transaction count limit hit

  • Credit limit exceeded on the card

  • Balance limit exceeded on a prepaid or debit card

  • Velocity rules triggered by unusual activity patterns, even below the stated limit

Recommended recovery steps

  1. Wait at least 24 hours before the first retry — most velocity limits reset daily.

  2. For weekly limits, wait longer — 3 to 7 days depending on the issuer.

  3. Align retries with the end of the card's statement cycle for monthly limits, if that information is available.

  4. Consider backup payment methods if the customer has another card on file — a different card will not have the same velocity counter.

  5. Only escalate to dunning after automated retries fail — the customer is usually unaware of internal limit structures.

How FlyCode handles card_velocity_exceeded

FlyCode analyzes historical decline patterns for each customer to determine when velocity limits are most likely to reset. Rather than retrying on a fixed schedule that may hit the same block twice, FlyCode's AI engine predicts the optimal retry window based on:

  • The specific issuer's typical limit reset patterns

  • The customer's prior transaction frequency

  • Network-level authorization data from Visa and Mastercard

  • Time of day and day of week effects on issuer risk models

This adaptive approach recovers card_velocity_exceeded declines that fixed retry schedules consistently miss — without contacting the customer or requiring code changes to existing Stripe integrations.

What does card_velocity_exceeded mean?

The card_velocity_exceeded decline code is returned when the cardholder has exceeded a balance, credit limit, daily spending cap, or transaction frequency limit set by the issuing bank. The card itself is valid and the customer has not been blocked — they have simply hit one of the ceiling values the bank applies to manage risk or protect the account.

Is it a soft or hard decline?

card_velocity_exceeded is a soft decline. The issue is temporary by definition — limits reset on a daily, weekly, or statement-cycle basis. Retrying after the appropriate reset window recovers most of these transactions without any customer involvement.

Common root causes

  • Daily spending limit reached (common with debit cards)

  • Weekly or monthly transaction count limit hit

  • Credit limit exceeded on the card

  • Balance limit exceeded on a prepaid or debit card

  • Velocity rules triggered by unusual activity patterns, even below the stated limit

Recommended recovery steps

  1. Wait at least 24 hours before the first retry — most velocity limits reset daily.

  2. For weekly limits, wait longer — 3 to 7 days depending on the issuer.

  3. Align retries with the end of the card's statement cycle for monthly limits, if that information is available.

  4. Consider backup payment methods if the customer has another card on file — a different card will not have the same velocity counter.

  5. Only escalate to dunning after automated retries fail — the customer is usually unaware of internal limit structures.

How FlyCode handles card_velocity_exceeded

FlyCode analyzes historical decline patterns for each customer to determine when velocity limits are most likely to reset. Rather than retrying on a fixed schedule that may hit the same block twice, FlyCode's AI engine predicts the optimal retry window based on:

  • The specific issuer's typical limit reset patterns

  • The customer's prior transaction frequency

  • Network-level authorization data from Visa and Mastercard

  • Time of day and day of week effects on issuer risk models

This adaptive approach recovers card_velocity_exceeded declines that fixed retry schedules consistently miss — without contacting the customer or requiring code changes to existing Stripe integrations.

What does card_velocity_exceeded mean?

The card_velocity_exceeded decline code is returned when the cardholder has exceeded a balance, credit limit, daily spending cap, or transaction frequency limit set by the issuing bank. The card itself is valid and the customer has not been blocked — they have simply hit one of the ceiling values the bank applies to manage risk or protect the account.

Is it a soft or hard decline?

card_velocity_exceeded is a soft decline. The issue is temporary by definition — limits reset on a daily, weekly, or statement-cycle basis. Retrying after the appropriate reset window recovers most of these transactions without any customer involvement.

Common root causes

  • Daily spending limit reached (common with debit cards)

  • Weekly or monthly transaction count limit hit

  • Credit limit exceeded on the card

  • Balance limit exceeded on a prepaid or debit card

  • Velocity rules triggered by unusual activity patterns, even below the stated limit

Recommended recovery steps

  1. Wait at least 24 hours before the first retry — most velocity limits reset daily.

  2. For weekly limits, wait longer — 3 to 7 days depending on the issuer.

  3. Align retries with the end of the card's statement cycle for monthly limits, if that information is available.

  4. Consider backup payment methods if the customer has another card on file — a different card will not have the same velocity counter.

  5. Only escalate to dunning after automated retries fail — the customer is usually unaware of internal limit structures.

How FlyCode handles card_velocity_exceeded

FlyCode analyzes historical decline patterns for each customer to determine when velocity limits are most likely to reset. Rather than retrying on a fixed schedule that may hit the same block twice, FlyCode's AI engine predicts the optimal retry window based on:

  • The specific issuer's typical limit reset patterns

  • The customer's prior transaction frequency

  • Network-level authorization data from Visa and Mastercard

  • Time of day and day of week effects on issuer risk models

This adaptive approach recovers card_velocity_exceeded declines that fixed retry schedules consistently miss — without contacting the customer or requiring code changes to existing Stripe integrations.

Understanding This Decline Code

Extended content body

Frequently Asked Questions

Is card_velocity_exceeded a soft or hard decline?

When should I retry card_velocity_exceeded?

Wait at least 24 hours for daily limits, 3–7 days for weekly limits, or until the next statement cycle for monthly credit limits. Retrying too soon will just hit the same block.

How does FlyCode handle card_velocity_exceeded?

FlyCode analyzes each customer's card history to detect when velocity limits are likely to reset, then schedules retries accordingly. This recovers transactions that fixed retry schedules miss because they happen while the limit is still active.

FlyCode partnered with Stripe, to turn failed payment intro revenue.

With our newest Stripe app, you can stop chasing your customers about their failed payments and recover more payments with zero development work.

With our newest Stripe app, you can stop chasing your customers about their failed payments and recover more payments with zero development work.

Giving Back

Partnering with organizations that promote women in technology and families in need is something we are proud to do.

Text graphic displaying "SPE CODES; NEXT LEVEL" in a bold, stylized font on a solid background.
Logo featuring a stylized text "Catching" with an orange accent, set against a simple background.

2026 FlyCode © All Right Reserved.

Giving Back

Partnering with organizations that promote women in technology and families in need is something we are proud to do.

Text graphic displaying "SPE CODES; NEXT LEVEL" in a bold, stylized font on a solid background.
Logo featuring a stylized text "Catching" with an orange accent, set against a simple background.

2026 FlyCode © All Right Reserved.