Guides • Accept Payments
Failure reasons
doc

Failure reasons

A payment towards an order can be declined or failed for a reason. You can check it from the decline_reason field under payments in the response of the Retrieve an order operation.

The following table lists the most common reasons that are mapped to human-readable values:

decline_reason valueDescription
3ds_challenge_failed_manuallyThe customer has failed the 3DS challenge manually.
insufficient_fundsThe account associated with the payment method used doesn't have sufficient funds to make the payment.
transaction_not_allowed_for_cardholderThe customer's bank doesn't allow the cardholder to make the payment.
high_riskThe transaction has been declined due to high risk. This can be a trigger from both the issuing bank and internal Revolut tools.
cardholder_name_missingThe cardholder name is missing. This is a required parameter to make a card payment.
cardholder_name_missingThe cardholder name is missing. This is a required parameter to make a card payment.
unknown_cardThe card can't be identified. Ensure that you don't use a test card in the production mode.
customer_challenge_abandonedThe customer has abandoned the 3DS challenge without completing it.
customer_challenge_failedThe customer has failed the 3DS challenge.
customer_name_mismatchThe name provided in the order doesn't match the name associated with the customer.
note
This value is only returned for merchants who use Revolut's name validation feature.
do_not_honourThe customer's bank declines the payment because it fails the authorization process. The most common reasons are:

  1. The bank's fraud rules are triggered.
  2. The bank has placed a temporary hold on the customer's card.
  3. The purchase session is locked due to multiple declined payments.
  4. The seller is located in a different country from that of the card issuing bank.
expired_cardThe card provided has expired.
high_riskThe transaction has been declined due to high risk. This can be a trigger from both the issuing bank and internal Revolut tools.
insufficient_fundsThe account associated with the used payment method doesn't have sufficient funds to make the payment.
invalid_addressThe billing address is invalid.
invalid_amountThe transaction amount provided is invalid.
invalid_cardThe card number provided is invalid.
invalid_cardThe card number provided is invalid.
invalid_emailThe email provided doesn't have a valid format.
invalid_countryThe country code provided was invalid.
invalid_cvvThe provided CVV is invalid.
invalid_emailThe provided email is invalid.
invalid_expiryThe card's expiration date is invalid.
invalid_merchantYour business is not supported on the cardholder's account. Certain cards have usage restrictions for specific purposes, and certain Merchant Category Codes (MCC) may be blocked. Instruct the cardholder to contact their bank.
invalid_phonePhone number is not on file for the cardholder.
invalid_pinThe provided PIN is incorrect.
issuer_not_availableThe card issuer is currently unavailable to authorize the transaction. Try again later. If the issue persists, instruct the customer to contact their card issuer.
pick_up_cardThe card has been reported as lost or stolen. The issuing bank has given the instruction to pick up the card and notify the issuing bank so that it can be returned to its rightful owner.
rejected_by_customerThe transaction was rejected by the cardholder. The most common reasons are:

  1. The customer did not approve the payment.
  2. Debit transactions are not approved on the bank account.
  3. The customer has stopped the payment with their bank.
Check with the customer to ensure they have not actively declined the transaction or if they have any issues with their card issuer.
restricted_cardThe issuing bank has a restriction on the card. Ask the customer to contact their bank for more details.
restricted_cardThe issuing bank has a restriction on the card. Ask the customer to contact their bank for more details.
expired_cardThe card provided has expired.
technical_errorA general technical error occurred during the transaction process. Try again later. If the issue persists, contact support.
transaction_not_allowed_for_cardholderThe customer's bank doesn't allow the cardholder to make the payment.
unknown_cardThe card can't be identified. Ensure that you don't use a test card in the production mode.
withdrawal_limit_exceededThe withdrawal limit for a specific card or account has been reached or exceeded. Ask the customer to contact their bank to extend this limit.
withdrawal_limit_exceededThe withdrawal limit for a specific card or account has been reached or exceeded. Ask the customer to contact their bank to extend this limit.
Was this page helpful?