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.
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.
If the payment is made between Revolut accounts, the transaction is executed instantly, and skips the pending
state.
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: Business API - Create a payment.
Pay a counterparty:
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"
}'
Response for an instantly processed payment:
{
"id": "d56dd396-523b-4613-8cc7-54974c17bcac",
"state": "completed",
"created_at": "2017-10-01T10:10:10.0Z",
"completed_at": "2017-10-01T10:10:10.0Z"
}
Response for a payment that is processed asynchronously or is scheduled for processing in the future:
{
"id": "d56dd396-523b-4613-8cc7-54974c17bcac",
"state": "created",
"created_at": "2017-10-01T10:10:10.0Z"
}
Create a payment using the /pay
endpoint.
If you make the payment to another Revolut account, either business or personal, the transaction is executed instantly.
When you make the payment to a business counterparty, you must specify the account_id
under receiver
.
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.