To test your various payment flows for a variety of scenarios, you can use the following test card numbers that Revolut provides.
Test cards will only work in the Sandbox environment.
Use the following test cards to simulate successful payments in the Sandbox environment. You can also use them to test the use case of charging a customer's saved payment method.
Use any 3-digit CVV
and any future expiry date
(MM/YY).
Card PAN | Brand |
---|---|
4929420573595709 | VISA |
5281438801804148 | MASTERCARD |
Use the following test cards to create payments that produce error codes in the Sandbox environment. This is useful when you want to:
Use any 3-digit CVV
and any future expiry date
(MM/YY).
The table lists test cards for error cases and their associated scenarios, including decline reasons and payment states.
Card PAN | Case | Decline reason | Payment state |
---|---|---|---|
4242424242424242 | Payment failed due to 3DS verification error. note Orders with an amount less than £25.00 (for GBP) or the equivalent of €30.00 (for other currencies) are exempt from 3DS verification, resulting in successful payments. To test the error case and simulate a 3DS verification failure, use orders with an amount of at least 2500 for GBP , 3000 for EUR , or the equivalent amount in other currencies. | customer_challenge_failed | failed |
4929573638125985 | Payment declined due to insufficient funds. | insufficient_funds | declined |
4532336743874205 | Payment declined due to card being expired. | expired_card | declined |
2720998837779594 | Payment declined due to Do Not Honour. This error happens when your customer's bank declines the transaction due to internal reasons. For example, their fraud rules might have been triggered, or a temporary hold may have been applied to this card. | do_not_honour | declined |
5215674115127070 | Payment failed due to the issuing bank needing additional verification. A message is returned from your bank that should be displayed to the cardholder. | customer_challenge_failed | failed |
2223000010479399 | Order and payment stuck in processing state. This card is useful to test what would happen with your implementation if the order took longer than expected to complete. | No decline_reason returned on payment details | authorisation_started |