Guides • Manage Accounts
Send money via transfer

Send money via transfer

caution

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.

tip

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:

  1. A transaction is created.

  2. 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.

Make 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"
}'
note

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:

See the API reference: Create a payment

caution

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.

Was this page helpful?