When a payment for an order is unsuccessful, it will transition to declined
or failed
state. You can check the reason why the payment was unsuccessful in the payments.decline_reason
field 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 value | Description |
---|---|
3ds_challenge_failed_manually | The customer has failed the 3DS challenge manually. |
insufficient_funds | The account associated with the payment method used doesn't have sufficient funds to make the payment. |
transaction_not_allowed_for_cardholder | The customer's bank doesn't allow the cardholder to make the payment. |
high_risk | The transaction has been declined due to high risk. This can be a trigger from both the issuing bank and internal Revolut tools. |
cardholder_name_missing | The cardholder name is missing. This is a required parameter to make a card payment. |
unknown_card | The card can't be identified. Ensure that you don't use a test card in the production mode. |
customer_challenge_abandoned | The customer has abandoned the 3DS challenge without completing it. |
customer_challenge_failed | The customer has failed the 3DS challenge. |
customer_name_mismatch | The 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_honour | The customer's bank declines the payment because it fails the authorization process. The most common reasons are:
|
expired_card | The card provided has expired. |
invalid_address | The billing address is invalid. |
invalid_amount | The transaction amount provided is invalid. |
invalid_card | The card number provided is invalid. |
invalid_email | The email provided doesn't have a valid format. |
invalid_country | The country code provided was invalid. |
invalid_cvv | The provided CVV is invalid. |
invalid_expiry | The card's expiration date is invalid. |
invalid_merchant | Your 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_phone | Phone number is not on file for the cardholder. |
invalid_pin | The provided PIN is incorrect. |
issuer_not_available | The 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_card | The 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_customer | The transaction was rejected by the cardholder. The most common reasons are:
|
restricted_card | The issuing bank has a restriction on the card. Ask the customer to contact their bank for more details. |
technical_error | A general technical error occurred during the transaction process. Try again later. If the issue persists, contact support. |
withdrawal_limit_exceeded | The withdrawal limit for a specific card or account has been reached or exceeded. Ask the customer to contact their bank to extend this limit. |
issuer_decline | The card issuer has declined the transaction for an unspecified reason. |
suspected_fraud | The transaction is suspected of being fraudulent. |
lost_card | The card has been reported as lost. |
stolen_card | The card has been reported as stolen. |
security_violation | The transaction violates security protocols. |
law_violation | The transaction violates legal regulations. |
transaction_not_allowed | The transaction is not allowed. |
authentication_required | Authentication is required to complete the transaction. |
invalid_account | The account associated with the card is invalid. |
invalid_transaction | The transaction is invalid. |
no_such_issuer | The issuer of the card does not exist. |
currency_not_supported | The currency used in the transaction is not supported. |
new_card_not_unblocked | The new card has not been unblocked by the issuer. |
withdrawal_frequency_exceeded | The frequency of withdrawals has exceeded the allowed limit. |
pin_try_exceeded | The number of PIN attempts has exceeded the allowed limit. |
pin_required | A PIN is required to complete the transaction. |
customer_verification_failed | The customer verification process failed. |
card_not_enrolled_to_three_ds | The card is not enrolled in 3DS. |
no_common_supported_three_ds_version | No common supported 3DS version is found. |
payment_attempt_blocked | The payment attempt has been blocked. |
unknown | The payment was unsuccessful for an unknown reason. This value is used as a fallback if none of the other reasons can be returned. |