# Stripe decline codes Learn about Stripe decline codes and how to resolve them when a charge fails. Stripe uses its own decline codes, which cover many of the same potential reasons as the traditional [issuer decline codes](https://docs.stripe.com/declines/network-codes.md), but define the problem more clearly. Use the following tables to help resolve issues relating to Stripe decline codes. > Stripe provides the guidance formerly communicated in deprecated decline codes in [advice codes](https://docs.stripe.com/declines/card.md#retrying-issuer-declines) instead. ## Card Decline Codes These are the Stripe decline codes that are used for card payments: | Decline code | Description | Next steps | | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `authentication_required` | The card was declined because the transaction requires authentication such as *3D Secure* (3D Secure (3DS) provides an additional layer of authentication for credit card transactions that protects businesses from liability for fraudulent card payments). | 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* (A payment is described as off-session if it occurs without the direct involvement of the customer, using previously-collected payment information), you might need to request the customer to retry. If the card issuer returns this [decline code](https://support.stripe.com/questions/authenticated-payment-declined-with-an-authentication-required-decline-code) despite a successfully authenticated transaction, the customer needs to contact their card issuer for more information. | | `authentication_not_handled` | Related to `authentication_required`. You tried to proceed without performing the required authentication, so the issuer declined again. | Run the EMV 3D Secure (3DS) or strong customer authentication (SCA) flow. For off-session payments, collect and prepare authentication on-session first, then fall back to on-session if needed. | | `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 doesn’t 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 doesn’t 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. | | (deprecated)`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 or Adaptive Acceptance [blocked the payment](https://docs.stripe.com/declines.md#blocked-payments). | The customer needs to contact their card issuer for more information. | | `incorrect_address` | The address entered by the customer is incorrect. | The customer needs to try again using the correct address. | | `incorrect_cvc` | The CVC number is incorrect. | The customer needs to try again using the correct CVC. | | `incorrect_number` | The card number is incorrect. | The customer needs to try again using the correct card number. | | `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. | | (deprecated)`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. | ## LPM Decline Codes These are the Stripe decline codes that can be used for LPM (Local Payment Method) payments: | Decline code | Charge outcome reason | Seller message | API error message | | ----------------------------- | ------------------------------- | ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `partner_generic_decline` | `partner_generic_decline` | The payment provider has declined the payment. | The payment provider has declined the payment. | | `invalid_customer_account` | `invalid_customer_account` | We can’t charge the customer’s account. | We can’t charge the customer’s account. Retry attempts might succeed after the customer takes action to resolve the issue with their account. | | `payment_limit_exceeded` | `payment_limit_exceeded` | The order exceeds a limit on the customer’s account. | The order exceeds a limit on the customer’s account. Retry attempts might succeed after the customer takes action to resolve the issue with their account. | | `invalid_billing_agreement` | `invalid_billing_agreement` | The customer’s billing agreement is invalid. | The customer’s payment method is invalid due to an invalid billing agreement. Retries won’t succeed. | | `expired_card` | `partner_expired_card` | The card registered with the payment provider has expired. | The card registered with the payment provider has expired. Retry attempts might succeed after the customer takes action to resolve the issue with their account. | | `processing_error` | `partner_processing_error` | The payment provider encountered a processing error. | The payment provider encountered a processing error. | | `insufficient_funds` | `partner_insufficient_funds` | The customer has insufficient funds with the payment provider. | The customer has insufficient funds with the payment provider. Retry attempts might succeed after the customer takes action to resolve the issue with their account. | | `currency_not_supported` | `partner_invalid_currency` | The payment provider doesn’t support this currency. | The payment provider doesn’t support this currency. Retries won’t succeed. | | `invalid_amount` | `partner_invalid_amount` | The payment provider doesn’t allow the amount. | The payment provider doesn’t allow the amount. Retries won’t succeed. | | `invalid_business_account` | `invalid_business_account` | The business account is deactivated. | The business account you’re trying to use for processing a payment or issuing a refund is deactivated and incapable of sending or receiving funds. If the account is reactivated, retry attempts might succeed. | | `partner_high_risk_customer` | `partner_high_risk_customer` | The payment provider labeled this customer as high risk. | The payment provider labeled this customer as high risk. | | `compliance_violation` | `compliance_violation` | The payment violates terms of service, program rules, or applicable laws. | The payment violates terms of service, program rules, or applicable laws. Retries won’t succeed. | | `payment_disputed` | `payment_disputed` | There’s a dispute over the payment. | There’s a dispute over the payment. If the dispute resolves in favor of the business, retry attempts might succeed. | | `invalid_authorization` | `invalid_authorization` | The authorization is invalid or has been revoked. | The payment didn’t receive authorization or has revoked its authorization. Retries won’t succeed. | | `invalid_payment_information` | `invalid_payment_information` | The payment has invalid information. | The payment has invalid information. Retries won’t succeed. | | `partner_payment_not_found` | `partner_payment_not_found` | The payment provider can’t find this payment. | The payment provider can’t find this payment. | | `expired_payment_information` | `expired_payment_information` | The underlying payment instrument is expired. | The payment has expired information. Retries may succeed after the customer updates their payment information. | | `duplicate_transaction` | `partner_duplicate_transaction` | A recent transaction with identical details was submitted recently. | A recent transaction with identical details was submitted recently to the partner. |