Decline codes
A decline code is typically a two-digit, alphanumeric error code that indicates a reason for the decline. While the code can originate from a number of sources, it often comes from the issuing bank, payment processor, or credit network.
Stripe decline codes
Stripe uses its own decline codes, which cover many of the same potential reasons as the traditional decline codes, but define the problem more clearly. Use the following table to help resolve issues relating to decline codes:
Decline code | Description | Next steps |
---|---|---|
| ||
authentication_required | The card was declined because the transaction requires authentication such as . | When using Stripe’s front ends, in most cases a soft decline from an issuer triggers an authentication flow, allowing the customer to try again and authenticate their card. In some cases, such as off-session payments, you might need to request the customer to retry. If the card issuer returns this despite a successfully authenticated transaction, the customer needs to contact their card issuer for more information. |
approve_with_id | The payment can’t be authorized. | Attempt the payment again. If you still can’t process it, the customer needs to contact their card issuer. |
call_issuer | The card was declined for an unknown reason. | The customer needs to contact their card issuer for more information. |
card_not_supported | The card does not support this type of purchase. | The customer needs to contact their card issuer to make sure their card can be used to make this type of purchase. |
card_velocity_exceeded | The customer has exceeded the balance, credit limit, or transaction amount limit available on their card. | The customer needs to contact their card issuer for more information. |
currency_not_supported | The card does not support the specified currency. | The customer needs to check with the issuer whether the card can be used for the type of currency specified. |
do_not_honor | The card was declined for an unknown reason. | The customer needs to contact their card issuer for more information. |
do_not_try_again | The card was declined for an unknown reason. | The customer needs to contact their card issuer for more information. |
duplicate_transaction | A transaction with identical amount and credit card information was submitted very recently. | Check to see if a recent payment already exists. |
expired_card | The card has expired. | The customer needs to use another card. |
fraudulent | The payment was declined because Stripe suspects that it’s fraudulent. | Don’t report more detailed information to your customer. Instead, present it in the same manner as generic_decline below. |
generic_decline | The card was declined for an unknown reason or Stripe Radar . | The customer needs to contact their card issuer for more information. |
incorrect_number | The card number is incorrect. | The customer needs to try again using the correct card number. |
incorrect_cvc | The CVC number is incorrect. | The customer needs to try again using the correct CVC. |
incorrect_pin | The PIN entered is incorrect. This decline code only applies to payments made with a card reader. | The customer needs to try again using the correct PIN. |
incorrect_zip | The postal code is incorrect. | The customer needs to try again using the correct billing postal code. |
insufficient_funds | The card has insufficient funds to complete the purchase. | The customer needs to use an alternative payment method. |
invalid_account | The card, or account the card is connected to, is invalid. | The customer needs to contact their card issuer to check that the card is working correctly. |
invalid_amount | The payment amount is invalid, or exceeds the amount that’s allowed. | If the amount appears to be correct, the customer needs to check with their card issuer that they can make purchases of that amount. |
invalid_cvc | The CVC number is incorrect. | The customer needs to try again using the correct CVC. |
invalid_expiry_month | The expiration month is invalid. | The customer needs to try again using the correct expiration date. |
invalid_expiry_year | The expiration year is invalid. | The customer needs try again using the correct expiration date. |
invalid_number | The card number is incorrect. | The customer needs try again using the correct card number. |
invalid_pin | The PIN entered is incorrect. | The customer needs to try again using the correct PIN. |
issuer_not_available | The card issuer couldn’t be reached, so the payment couldn’t be authorized. | Attempt the payment again. If you still can’t process it, the customer needs to contact their card issuer. |
lost_card | The payment was declined because the card is reported lost. | The specific reason for the decline shouldn’t be reported to the customer. Instead, present it as a generic_decline. |
merchant_blacklist | The payment was declined because it matches a value on the Stripe user’s block list. | Don’t report more detailed information to your customer. Instead, present it in the same manner as generic_decline below. |
new_account_information_available | The card, or account the card is connected to, is invalid. | The customer needs to contact their card issuer for more information. |
no_action_taken | The card was declined for an unknown reason. | The customer needs to contact their card issuer for more information. |
not_permitted | The payment isn’t permitted. | The customer needs to contact their card issuer for more information. |
offline_pin_required | The card was declined because it requires a PIN. | The customer needs to try again by inserting their card and entering a PIN. |
online_or_offline_pin_required | The card was declined as it requires a PIN. | If the card reader supports Online PIN, prompt the customer for a PIN without creating a new transaction. If the card reader doesn’t support Online PIN, the customer needs to try again by inserting their card and entering a PIN. |
pickup_card | The customer can’t use this card to make this payment (it’s possible it was reported lost or stolen). | They need to contact their card issuer for more information. |
pin_try_exceeded | The allowable number of PIN tries was exceeded. | The customer must use another card or method of payment. |
processing_error | An error occurred while processing the card. | The payment needs to be attempted again. If it still can’t be processed, try again later. |
reenter_transaction | The payment couldn’t be processed by the issuer for an unknown reason. | The payment needs to be attempted again. If it still can’t be processed, the customer needs to contact their card issuer. |
restricted_card | The customer can’t use this card to make this payment (it’s possible it was reported lost or stolen). | The customer needs to contact their card issuer for more information. |
revocation_of_all_authorizations | The card was declined for an unknown reason. | The customer needs to contact their card issuer for more information. |
revocation_of_authorization | The card was declined for an unknown reason. | The customer needs to contact their card issuer for more information. |
security_violation | The card was declined for an unknown reason. | The customer needs to contact their card issuer for more information. |
service_not_allowed | The card was declined for an unknown reason. | The customer needs to contact their card issuer for more information. |
stolen_card | The payment was declined because the card is reported stolen. | Don’t report more detailed information to your customer. Instead, present it in the same manner as generic_decline below. |
stop_payment_order | The card was declined for an unknown reason. | The customer needs to contact their card issuer for more information. |
testmode_decline | A Stripe test card number was used. | A genuine card must be used to make a payment. |
transaction_not_allowed | The card was declined for an unknown reason. | The customer needs to contact their card issuer for more information. |
try_again_later | The card was declined for an unknown reason. | Ask the customer to attempt the payment again. If subsequent payments are declined, the customer needs to contact their card issuer for more information. |
withdrawal_count_limit_exceeded | The customer has exceeded the balance or credit limit available on their card. | The customer needs to use an alternative payment method. |