Skip to main content
Partner logo
Revolut
Revolut Pay is Revolut's wallet payment method, built on top of the Revolut Business Merchant API. The customer authorizes the payment either directly from the Revolut app (debiting their Revolut account) or by entering a card in the Revolut Pay popup.
Source: https://developer.revolut.com/docs/guides/merchant/accept-payments/online-payments/revolut-pay/web

Available integrations

Embed
Redirection
Pop-in

Available operations

OperationTotalPartialMultiple
Capture
Refund
Void
Information
  • CAPTURE requires the order to be in the authorised state (capture_mode: manual). Partial capture is supported, but any uncaptured remainder is automatically cancelled - there is no multiple capture, an order can only be captured once.
  • REFUND is only possible once the order is completed. Partial and multiple refunds are supported, cumulatively capped at the original order amount.
  • VOID is only possible while the order is pending or authorised. Once the order is completed, cancellation must go through a refund instead.

Payment Method specifics

Payment flow (capture_mode: automatic)1-step Payment flow
Payment flow (capture_mode: manual)2-step Payment flow

How to test?

Information

Test cards only work in the Sandbox environment (https://sandbox-merchant.revolut.com). Use any 3-digit CVV and any future expiry date (MM/YY) with every card below. When testing with authorisation_type: pre_authorisation, all cards - including the error cards below - result in an authorised payment state in Sandbox: the normal declined/failed outcomes are bypassed at both the authorisation and capture steps.

Test cards for successful payments

Card PANBrand
4929420573595709
5281438801804148

Test cards for error cases

Card PANCaseDecline reasonPayment state
4242424242424242Payment failed due to a 3DS verification error. Orders below GBP 25.00 (or the equivalent, e.g. EUR 30.00) are exempt from 3DS and succeed instead - use an amount of at least 2500 (GBP), 3000 (EUR), or the equivalent in other currencies, to trigger the failure.customer_challenge_failedfailed
4929573638125985Payment declined due to insufficient funds.insufficient_fundsdeclined
4532336743874205Payment declined due to the card being expired.expired_carddeclined
2720998837779594Payment declined due to Do Not Honour - the customer's bank declined the transaction for internal reasons (e.g. fraud rules triggered, temporary hold).do_not_honourdeclined
5215674115127070Payment failed because the issuing bank requires additional verification; a message is returned from the bank that should be displayed to the cardholder.customer_challenge_failedfailed
2223000010479399Order and payment stuck in the processing state - useful to test behaviour when an order takes longer than expected to complete.(none returned)authorisation_started