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.
Test for successful payments
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 |
Test for error cases
Use the following test cards to create payments that produce error codes in the Sandbox environment. This is useful when you want to:
- See how different errors are shown to your customers.
- Implement custom error handling.
Use any 3-digit CVV and any future expiry date (MM/YY).
When testing payments with authorisation_type: pre_authorisation, use a successful test card. Error test cards are declined or failed as usual and cannot complete a pre-authorised payment.
For more information on testing incremental authorisation in Sandbox, see: Incremental authorisation.
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 |
|---|---|---|---|
| 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 |