> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yapily.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Revolut

## Links

* [Developer Portal](https://developers.revolut.com/)

## Scopes

* Account Information 🔒
* Payment Initiation 🔒

## Live Environment

### Retail + Business Accounts

#### Revolut (For UK-only registrations)

**Precondition**: To connect to live Open Banking entities, whether you are accessing account information or initiating payments, your business must have the right regulatory permissions and go through the process to obtain Open Banking Certificates as per the [UK Prerequisites](/getting-started/integration-setup/registration).

1. [Upload your ***OB WAC*** (transport) and ***OB SEAL*** (signing) certificates (PEMs) created in the Open Banking directory](/getting-started/integration-setup/registration), along with the keys into Yapily's [certificate vault](https://console.yapily.com/certificates).

2. Add **Revolut** to your Dashboard application and add your `Organisation Id`, `Software Statement Id`, `Signing key Id` which can be obtained from the Open Banking Directory

3. Select your ***OB WAC*** (transport) and ***OB SEAL*** (signing) from the relevant drop-downs lists then click *Next*.

4. Login/register at [https://developers.revolut.com/apps](https://developers.revolut.com/apps) and add your Open Banking Organisation ID to your 'Profile'.

5. **Click to register** to auto-register with the bank. If registration is successful, the `key` and `secret` will be populated from the institution's response.

6. Make sure to click *Save* in order to preserve these credentials, as a further registration attempt with the same Open Banking software statement is likely to fail.

#### Revolut EU (For EU accounts)

**Precondition**: To connect to live Open Banking institutions, whether you are accessing account information or initiating payments, your business must have the right regulatory permissions and go through the process to obtain eIDAS Certificates as per the [European Prerequisites](/getting-started/integration-setup/registration).

1. En-roll with [Open Banking Directory](/getting-started/integration-setup/registration) if not already done

2. Ensure you have and [select the entity in the Open Banking directory](/getting-started/integration-setup/registration) for your **European** AISP/PISP (You may need to request this to be done, or access from the Primary Technical Contact in the Open Banking Directory)

3. Upload your [eIDAS certificates to the Open Banking Directory](/getting-started/integration-setup/registration) - this is your **QWAC** (transport) and your **QSEAL** (signing) files

4. Create [a new software statement](/getting-started/integration-setup/registration) in the Open Banking Directory

5. Assign [your eIDAS certificates to the software statement](/getting-started/integration-setup/registration) in the Open Banking Directory

6. [Upload your **Q\_WAC\_** (transport) and **Q\_SEAL\_** (signing) certificates (PEMs) issued by your QTSP](/getting-started/integration-setup/registration), along with the keys into Yapily's [certificate vault](https://console.yapily.com/certificates).

7. Add **Revolut** to your Dashboard application and supply your `Organisation Id`, `Software Statement Id`, `Signing key Id` which can be obtained from the Open Banking Directory.

8. Login/register at [https://developers.revolut.com/apps](https://developers.revolut.com/apps) and add your Open Banking Organisation ID to your 'Profile'.

9. **Click to register** to auto-register with the bank. If registration is successful, the `key` and `secret` will be populated from the institution's response.

10. Make sure to click *Save* in order to preserve these credentials, as a further registration attempt with the same Open Banking software statement is likely to fail.

**Note**: It is possible to use a self-signed software statement to register Revolut instead of the one issued by Open Banking Directory **for EU registrations with eIDAS** certificates however, Yapily will not be able to support customers who choose to register with Revolut in this way. See the following [guide](https://developer.revolut.com/docs/build-banking-apps/register-your-application-using-dcr/register-your-application-using-dcr) from Revolut for more information.

## Sandbox Environment

### Retail + Business Accounts

To connect to the Revolut sandbox, follow the above steps while selecting **Revolut** from the **sandbox** tab in step 2. The institution Id for this is `revolut-sandbox`.

## Payments

### Payment Types

#### DOMESTIC PAYMENTS

The following scenarios will require you to initiate a Yapily payment with the `paymentType` as a `DOMESTIC_PAYMENT`:

* Revolut EUR Pocket → Revolut EUR Pocket
* Revolut GBP Pocket → Non-Revolut UK GBP Account

#### INTERNATIONAL PAYMENTS

The following scenarios will require you to initiate a Yapily payment with the `paymentType` as an `INTERNATIONAL_PAYMENT`:

* Revolut EUR Pocket → Italian EUR Account (We use `INTERNATIONAL_PAYMENT` because it is dependent on whether the bank supports SEPA or not)
* Revolut EUR Pocket → UK GBP Account
* Revolut Account → any other currency account (non EUR and non GBP)

When making a payment, if you use `EUR` as the currency you wish to pay for then the payee account identification needs to be `IBAN` e.g.

The payment authorisation request body for a DOMESTIC PAYMENT in Euros:

```json theme={null}
{
    "applicationUserId": "Yapily Italy  Payment",
    "institutionId": "revolut",
    "paymentRequest": {
        "paymentIdempotencyId": "e8de92dfb82f46948db502abdbe3452",
        "amount": {
            "amount": "0.10",
            "currency": "EUR"
        },
        "reference": "Yapily Test",
        "type": "DOMESTIC_PAYMENT",
        "payee": {
            "name": "Joao Martins",
            "address": {
                "country": "GB"
            },
            "accountIdentifications": [
                {
                    "type": "IBAN",
                    "identification": "GB19 REVO 0099 7071 1390 49"
                }
            ]
        }
    }
}
```

## Support

If you require technical support with certificate management, please contact [Support](/resources/support).
