Business API
Create a payout link
api
post
/payout-links

Create a payout link

Create a payout link to send money even when you don't have the full banking details of the counterparty.
After you have created the link, send it to the recipient so that they can claim the payment.

note

This feature is available in the UK and the EEA.

For more information, see the guides: Send money via payout link.

Access Token

Each Business API request must contain an authorization header in the following format to make a call: Bearer <your_access_token>.

The access token will be obtained the first time you set up your application and has an expiration of 40 minutes. During setup, a refresh_token will also be obtained which allows to obtain a new access_token.

danger

Never share your client-assertion JWT (JSON web token), access_token and refresh_token with anyone, as these can be used to access your banking data and initiate transactions.

Access tokens can be issued with four security scopes and require a JWT (JSON Web Token) signature to be obtained:

  • READ: Permissions for GET operations.

  • WRITE: Permissions to update counterparties, webhooks, and issue payment drafts.

  • PAY: Permissions to initiate or cancel transactions and currency exchanges.

  • READ_SENSITIVE_CARD_DATA: Permissions to retrieve sensitive card details.

    caution

    If you enable the READ_SENSITIVE_CARD_DATA scope for your access token, you must set up IP whitelisting. Failing to do so will prevent you from accessing any Business API endpoint.

    IP whitelisting means that you must specify an IP or a set of IPs which will be the only IPs from which requests to the API will be accepted. To do so:

    1. Go to the Revolut Business web app settings -> APIs -> Business API.
    2. Select the corresponding API certificate.
    3. In Production IP whitelist, provide the IP(s) which should be whitelisted, and save.

To configure your JWT and obtain the refresh and first access tokens, complete the following steps:

  1. Sign up for a Revolut Business account
  2. Prepare your Sandbox environment
  3. Make your first API request

Request

Payout link to create

Request body
Body object

The name of the counterparty provided by the sender.

Default value: false

Indicates whether to save the recipient as your counterparty upon link claim. If false then the counterparty will not show up on your counterparties list, for example, when you retrieve your counterparties. However, you will still be able to retrieve this counterparty by its ID.

If you don't choose to save the counterparty on link creation, you can do it later from your transactions list in the Business app.

The ID of the request, provided by the sender.

caution

To ensure that a link 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 link.

The ID of the sender's account.

The amount of money to be transferred.

note

The amount must be between £1 and £2,500, or equivalent in the selected currency.

Possible values: Value must match regular expression ^[A-Z]{3}$

ISO 4217 currency code in upper case.

The reference for the payout transaction, provided by the sender.

Possible values: [revolut, bank_account, card]

Default value: revolut,bank_account

The list of payout methods that the recipient can use to claim the payout, where:

  • revolut: Revolut peer-to-peer (P2P) transfer
  • bank_account: External bank transfer
  • card: Card transfer

Possible values: >= P1D and <= P7D

Default value: P7D

The period after which the payout link expires if not claimed before, provided in ISO 8601 format.

The default and maximum value is 7 days from the link creation.

The reason code for the transaction. Transactions to certain countries and currencies might require you to provide a transfer reason. You can check available reason codes with the getTransferReasons operation.

If a transfer reason is not required for the given currency and country, this field is ignored.

Response

Created payout link details

Response body
Body object

The ID of the payout link.

Possible values: [created, failed, awaiting, active, expired, cancelled, processing, processed]

The state that the payout link is in. Possible states are:

  • created: The payout link has been created, but the amount has not yet been blocked.
  • failed: The payout link couldn't be generated due to a failure during transaction booking.
  • awaiting: The payout link is awaiting approval.
  • active: The payout link can be redeemed.
  • expired: The payout link cannot be redeemed because it wasn't claimed before its expiry date.
  • cancelled: The payout link cannot be redeemed because it was cancelled.
  • processing: The payout link has been redeemed and is being processed.
  • processed: The payout link has been redeemed and the money has been transferred to the recipient.

The date and time the payout link was created in ISO 8601 format.

The date and time the payout link was last updated in ISO 8601 format.

The name of the counterparty provided by the sender.

The ID of the counterparty created based on the recipient's details.

note

By default, the newly created counterparty is hidden from your counterparties list.

To automatically save it when the link is claimed, pass the save_counterparty parameter set to true.

Alternatively, you can add the recipient to your counterparties later from the list of transactions in the Business app.

Default value: false

Indicates whether you chose to save the recipient as your counterparty upon link claim. If false then the counterparty will not show up on your counterparties list, for example, when you retrieve your counterparties. However, you can still retrieve this counterparty by its ID.

If you didn't choose to save the counterparty on link creation, you can still do it from your transactions list in the Business app.

The ID of the request, provided by the sender.

Possible values: >= now + 1 day and <= now + 7 days

Default value: now + 7 days

The date and time after which the payout link expires in ISO 8601 format. If the recipient doesn't claim the money before then, the payout link expires and is no longer available.

The default and maximum value is the date and time of creating the link + 7 days.

Possible values: [revolut, bank_account, card]

The list of payout methods that the recipient can use to claim the payout, where:

  • revolut: Revolut peer-to-peer (P2P) transfer
  • bank_account: External bank transfer
  • card: Card transfer

The ID of the sender's account.

The amount of money to be transferred.

note

The amount must be between £1 and £2,500, or equivalent in the selected currency.

Possible values: Value must match regular expression ^[A-Z]{3}$

ISO 4217 currency code in upper case.

The ID of the created transaction. Returned only if the payout has been claimed.

The URL of the payout link. Returned only for active payout links.

The reference for the payout transaction, provided by the sender.

The reason code for the transaction. Transactions to certain countries and currencies might require you to provide a transfer reason. You can check available reason codes with the getTransferReasons operation.

If a transfer reason is not required for the given currency and country, this field is ignored.

Possible values: [too_many_name_check_attempts]

The reason for which the payout link was cancelled.

Was this page helpful?
Loading...