Stripe · Decline codes
What does the Stripe card_velocity_exceeded decline code mean?
Checked
Stripe's card_velocity_exceeded decline code means the customer has exceeded the balance, credit limit, or transaction amount limit available on their card. The card works, but the bank will not approve more spending on it right now. Stripe says the customer needs to contact their card issuer for more information. Waiting until the limit resets or a payment posts to the account, or using another card, are the usual ways through.
- Type
- Soft decline (limit reached)
- Who declined
- The card's bank
- Retry
- Later, after the limit resets; not immediately
- Shopper action
- Use another card, or ask the bank about the limit
- Merchant action
- Suggest another payment method; space out any retry
What PlatformDTC does
At checkout PlatformDTC shows the hint "This card is over its spending limit right now. Try another card or contact your bank." and does not offer a backup processor, because another processor reaches the same bank and the same limit. With Smart retry on, a renewal is treated as a temporary decline: retried 2, 5 and 8 days after the first decline, at most 4 attempts, then held past due rather than cancelled.
Why it happens
Banks set limits on how much can be spent and how often, per transaction, per day or per billing period. Reaching any of them produces this decline until the limit clears.
What the shopper can do
Pay with a different card, or pay down the card or wait for the limit to reset and try again. Your bank can tell you which limit was hit.
What the store can do
Do not retry straight away. For renewals, spacing attempts over several days gives the limit time to reset. Visa allows up to 20 reattempts in 30 days on limit declines such as raw codes 61 and 65.
For developers
On Visa, check network_decline_code: 61 is "exceeds approval amount limit" and 65 "exceeds withdrawal frequency limit", both Visa Category 2 (reattempt permitted).
Frequently asked questions
- Is card_velocity_exceeded the same as insufficient funds?
- Not exactly. Stripe's description covers the balance, credit limit or transaction amount limit, so it can be a limit rather than an empty account. Either way the card cannot take more right now.
- When should I retry card_velocity_exceeded?
- After some days, not minutes. Limits reset over time, so an immediate retry is usually declined again.
Sources
Related
- withdrawal_count_limit_exceeded — The customer has gone over the balance or credit limit available on the card.
- insufficient_funds — The card doesn't have enough money or credit for this payment.
- invalid_amount — The payment amount is invalid or above what the card allows.
- currency_not_supported — The card can't be charged in the currency of the payment.
- do_not_honor — The bank declined the card without saying why.
- do_not_try_again — Deprecated code: declined for an unknown reason; don't charge this card again.
- duplicate_transaction — An identical payment on the same card was submitted moments ago.
- expired_card — The card is past its expiry date.