Decline codes
A decline code tells you why a payment was declined, so you know whether to retry it or ask the customer for another payment method. It’s the decline_code on the payment error, whose customer_message is safe to show the customer. Test payment methods produce declines in a sandbox.
Bias retries a declined subscription or invoice charge unless the decline can’t succeed on retry. After a decline such as expired_card, lost_card or debit_not_authorized, Bias also deactivates the saved payment method. The subscriptions guide covers retries.
Codes
| Code | Meaning | What to do |
|---|---|---|
account_closed | The card account or bank account is closed. | Ask the customer for a different payment method. |
authentication_required | The issuer requires the cardholder to authenticate the payment. | Ask the customer to pay again or use a different card. Don’t retry it yourself. |
call_issuer | The issuer declined and asks the cardholder to contact them. | Ask the customer to contact their card issuer, or to use a different card. |
card_not_supported | The card doesn’t support this kind of purchase. | Ask the customer to use a different card. |
card_velocity_exceeded | The customer has gone over the card’s balance, credit limit or transaction limit. | Retry later, or ask the customer to use a different card. |
currency_not_supported | The card doesn’t support the payment’s currency. | Ask the customer to use a different card. |
debit_not_authorized | The account holder told their bank the debit wasn’t authorized, or revoked their authorization. | Don’t debit the account again. Ask the customer for a new payment method. |
do_not_honor | The issuer declined without giving a reason. | Ask the customer to contact their card issuer, or to use a different card. |
duplicate_transaction | A payment with the same amount and card was just made. | Check whether the earlier payment succeeded before trying again. |
expired_card | The card has expired. | Ask the customer for a new card. |
fraudulent | The issuer suspects the payment is fraudulent. | Review the order before trying again. The issuer may approve a later attempt. |
generic_decline | The payment was declined for an unspecified reason, or a bank returned the debit without a known reason. | Ask the customer to contact their issuer or bank, or to use a different method. |
incorrect_address | The billing address doesn’t match the issuer’s records. | Ask the customer to check their billing address. |
incorrect_cvc | The security code is incorrect. | Ask the customer to check the security code. |
incorrect_number | The card number is incorrect or doesn’t belong to any issuer. | Ask the customer to check the card number. |
incorrect_postal_code | The billing postal code doesn’t match the issuer’s records. | Ask the customer to check their postal code. |
insufficient_funds | The card or bank account doesn’t have enough funds or available credit. | Retry later, or ask the customer to use a different payment method. |
invalid_account | The card or bank account number is invalid. | Ask the customer to check their details or use a different payment method. |
issuer_not_available | The issuer couldn’t be reached. | Retry the payment. |
lost_card | The card was reported lost. | Ask the customer to use a different card. |
new_account_information_available | The card or account has new details, such as a new number or expiry date. | Ask the customer for their updated card details. |
no_action_taken | The issuer couldn’t process the payment. | Ask the customer to contact their card issuer, or to use a different card. |
no_account | The bank account doesn’t exist or can’t be found. | Ask the customer to check their account details or use a different method. |
not_permitted | The issuer doesn’t allow this payment on the card. | Ask the customer to use a different card. |
offline_pin_required | The card requires a PIN, which can’t be entered online. | Ask the customer to use a different card. |
online_or_offline_pin_required | The card requires a PIN, which can’t be entered online. | Ask the customer to use a different card. |
pickup_card | The issuer wants the card taken out of use, for example because it was reported lost or stolen. | Ask the customer to use a different card. |
pin_try_exceeded | The cardholder entered an incorrect PIN too many times. | Ask the customer to use a different card. |
processing_error | An error occurred while processing the payment. | Retry the payment. If it keeps failing, try again later. |
reenter_transaction | The issuer asks for the payment to be tried again. | Retry the payment. |
restricted_card | The issuer has restricted the card. | Ask the customer to use a different card. The issuer may approve it later. |
security_violation | Risk rules declined the payment before it reached the issuer. | Don’t retry. A different card is unlikely to get past the same rules. |
service_not_allowed | This kind of payment isn’t allowed for the card or for your account. | Ask the customer to use a different card. If every card fails, contact support. |
stolen_card | The card was reported stolen. | Ask the customer to use a different card. |
stop_payment_order | The customer asked their issuer or bank to stop this payment, or all recurring payments to you. | Don’t charge the payment method again. Ask the customer for a new one. |
transaction_not_allowed | This payment isn’t allowed on the card or bank account, such as a frozen account or one without debits. | Ask the customer to use a different payment method. |
try_again_later | The payment was declined temporarily. | Retry later. |
withdrawal_count_limit_exceeded | The customer has gone over the card’s limit on the number or amount of purchases. | Retry later, or ask the customer to use a different card. |
The network_decline_code property holds the raw response code from the network, when available.