Due to PSD2 Strong Customer Authentication regulations, the Payments (/pay
) endpoint is only available for customers on Revolut Business Company plans.
If you're a freelancer and wish to use the Payments endpoint, we advise that you instead leverage our Payment Drafts (/payment-drafts
) endpoint.
This tutorial walks you through the steps of making an instant payment and scheduling a payment.
To make a payment without knowing the banking details of the recipient, see how to send money via link instead.
An incoming or outgoing payment is represented as a transaction. A transaction is processed in two stages:
A transaction is created.
The transaction is processed in either of the following ways:
Credit/debit on both sides of the transaction made between Revolut accounts.
Payments between Revolut accounts (either business or personal) execute instantly.
Posted to an external payment network, for example, Faster Payments, SEPA, SWIFT, etc.
If the payment is made to an external payment network, when the transaction is created, the payment is in the pending
state. When it's processed, it has one of the following states:
completed
failed
reverted
declined
For more information about the transaction states, see the state
response parameter in Business API: Create a payment.
To pay a counterparty, create a payment using the /pay
endpoint:
curl -X POST https://b2b.revolut.com/api/1.0/pay
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <your access token>' \
-d '{
"request_id": "e0cbf84637264ee082a848b",
"account_id": "bdab1c20-8d8c-430d-b967-87ac01af060c",
"receiver": {
"counterparty_id": "5138z40d1-05bb-49c0-b130-75e8cf2f7693",
"account_id": "db7c73d3-b0df-4e0e-8a9a-f42aa99f52ab"
},
"amount": 123.11,
"currency": "EUR",
"reference": "Invoice payment #123"
}'
When you make the payment to a business counterparty, you must specify the account_id
under receiver
.
If the payment is processed instantly, the response includes its completed_at
date.
If it is processed asynchronously or is scheduled for processing in the future, this date is not returned in the response.
To see example requests and responses:
To ensure that a payment is not processed multiple times if there are network or system errors, the same request_id
should be used for requests related to the same payment.