stripe
Stripe API Error Codes
Error and decline codes returned by the Stripe payment API. Decline codes appear in the decline_code field of a card_error and indicate why a card issuer declined the charge.
15 codes
· All codes 15 codes
- authentication_required Authentication Required The card was declined because the transaction requires authentication (3D Secure / SCA). Retry the payment using Stripe's confirmCardPayment to trigger the authentication challenge instead of a server-side charge.
- card_declined Card Declined The card has been declined for an unspecified reason. The specific reason is usually in the decline_code field. Ask the customer to contact their card issuer or try a different payment method.
- card_velocity_exceeded Card Velocity Exceeded The customer has exceeded the balance, credit limit, or velocity limit on their card. Ask the customer to use a different card or wait before retrying.
- do_not_honor Do Not Honor The issuing bank declined the payment without specifying a reason. This is a generic issuer decline. Ask the customer to contact their bank or use a different payment method.
- expired_card Expired Card The card has expired. Ask the customer to use a different card or update their payment method with a valid expiry date.
- fraudulent Fraudulent Stripe's fraud prevention system (Radar) suspects this payment is fraudulent and blocked it. Do not reveal this reason to the customer. This code is also returned when a Stripe Radar rule blocks the payment.
- incorrect_cvc Incorrect CVC The card's security code (CVC/CVV) is incorrect. Ask the customer to re-enter their card details, paying close attention to the security code printed on the card.
- incorrect_number Incorrect Card Number The card number is incorrect. Ask the customer to re-enter their card number carefully. Stripe validates the Luhn checksum client-side, so this usually means a transcription error.
- insufficient_funds Insufficient Funds The card has insufficient funds to complete the transaction. Ask the customer to use a different card or payment method, or to add funds to their account before retrying.
- invalid_expiry_month Invalid Expiry Month The card's expiration month is invalid. Ask the customer to check and re-enter the expiration date. Valid values are 1–12.
- invalid_expiry_year Invalid Expiry Year The card's expiration year is invalid. Ask the customer to check and re-enter the expiration date.
- invalid_request_error Invalid Request Error The request to the Stripe API contained invalid parameters. Check the error's param field to identify which parameter is invalid. This is a programming error in the integration that should be corrected in code, not surfaced to the end user.
- lost_card Lost Card The payment was declined because the card has been reported lost. Do not reveal this specific reason to the customer. Ask them to use a different payment method.
- rate_limit Rate Limit Too many requests hit the Stripe API too quickly. Implement exponential backoff with jitter when retrying API calls. If rate limiting occurs frequently, review request patterns or contact Stripe to discuss limits.
- stolen_card Stolen Card The payment was declined because the card has been reported stolen. Do not reveal this specific reason to the customer. Ask them to use a different payment method.