Create an international payment consent
Create an international payment consent described in the Open Banking API documentation: Account and Transaction API Specification.
Use international payments for international SWIFT payments in all currencies supported by Revolut.
:::note Only the payments with InstructedAmount in the same currency as CurrencyOfTransfer are supported.
However, users can select which account they want to be charged in the consent authorization UI even if the selected account is in a different currency.
In such a case, the ExchangeRateInformation response field contains information about the ExchangeRate between SourceCurrency and CurrencyOfTransfer. If the user doesn't have enough funds on the selected account, the consent authorization is rejected. :::
:::note For international payment initiation consents, we recommend including the creditor's name and address. Otherwise, the API may return the error Address is required for this beneficiary if the address is not provided for international payments. :::
When you make the API call, ensure that you pass the corresponding JSON Web Signature (JWS) in the x-jws-signature request header. Note:
- The JWS is generated from the request body with the TPP signing key that is specified in the JWS header.
- The JWS consists of a header and a signature in the <jws_header>..<jws_signature> format.
To see how to create a JWS, see the guide: Work with JSON Web Signatures.
See also Tutorials: Initiate your first payment.
Request
- Base URLhttps://oba-auth.revolut.com
- AuthAPI key in header Authorization and API key in header x-jws-signature
Headers
The unique ID of the ASPSP that the request is issued to. The ID of Revolut is 001580000103UAvAAM.
An RFC4122 UUID used as a correlation ID.
The access token that you've generated. For more information, see Generate an access token.
Each request is processed only once per x-idempotency-key. The idempotency key is valid for 24 hours.
A detached JWS signature of the body of the payload.
The user agent that the PSU is using.
Request body
Example request
{
"Data": {
"Initiation": {
"CreditorAgent": {
"SchemeName": [
"UK.OBIE.IBAN"
]
},
"CreditorAccount": {
"SchemeName": "UK.OBIE.IBAN"
},
"DebtorAccount": {
"SchemeName": "UK.OBIE.IBAN"
}
}
}
}Response
International Payment Consents Created
Example response
{
"Data": {
"Initiation": {
"CreditorAgent": {
"SchemeName": [
"UK.OBIE.IBAN"
]
},
"CreditorAccount": {
"SchemeName": "UK.OBIE.IBAN"
},
"DebtorAccount": {
"SchemeName": "UK.OBIE.IBAN"
}
}
}
}Changes
No recorded changes to this operation across all 2 revisions of this API.