Account icon

Create and manage transfer limits for your balance platform

Set a limit on outgoing transfers from your balance platform.

Transfer limits create conditional logic that automatically approves or declines a transfer based on its amount. When a transfer limit is configured for your balance platform, it regulates the amount of funds that can be transferred externally from all the balance accounts in your platform.

Requirements

Before you begin, make sure that you complete the following requirements:

Requirement Description
Integration type Adyen for Platforms integration with business accounts.
API credential roles Make sure that you have access to the Configuration API with the following role:
  • Balance platform base role
Webhooks Subscribe to the following webhook(s):
Limitations Transfer limits are not supported for internal transfers, or incoming external transfers.
Setup steps Before you begin:

How it works

  1. You create a transfer limit by making a POST /balancePlatforms/{id}/transferLimits request. In your request, you must consider the scope and type of the transfer, and specify the time period in which the transfer limit is valid.
  2. The transfer limit is created with a scheduled status.
  3. On the start date of the transfer limit, the status of the transfer limit becomes active.
  4. While it is active, the transfer limit regulates the amount of funds being transferred externally from the balance account.
  5. When the end date of the transfer limit passes, it reaches an inactive state.

Create transfer limits

To create a new transfer limit:

  1. Make a POST /balancePlatforms/{id}/transferLimits request. Include the following parameters:

    Parameter Type Required Description
    id Path -white_check_mark- The unique identifier of your balance platform.
    amount.value Body -white_check_mark- The value, in minor units, for the transfer limit. This is the maximum amount allowed per transfer or per day based on the scope of the limit.
    amount.currency Body -white_check_mark- The currency in which you want to set the limit.
    startsAt Body The date, in ISO date and time format, when the transfer limit becomes active.

    Format: YYYY-MM-DDThh:mm:ss.sssTZD

    If you do not specify a start date, or set this to null, we default to the date and time of the request.

    If you specify a date in the future, we will schedule a transfer limit. You cannot schedule more than one limit in the future.
    endsAt Body The date and time, in ISO date and time format, when the transfer limit becomes inactive.

    Format: YYYY-MM-DDThh:mm:ss.sssTZD

    If you do not specify an end date, the limit stays active until you override it with a new limit.
    scope Body -white_check_mark- The scope on which the transfer limit applies. Possible values:
    • perTransaction: you set a maximum amount for each transfer made from the balance platform.
    • perDay: you set a maximum total amount for all transfers made from the balance platform in a day.
    reference Body Your reference for the transfer limit.
    transferType Body -white_check_mark- The type of transfer to which the limit applies. Possible values:
    • instant: the limit applies to transfers with an instant priority.
    • all: the limit applies to all transfers, regardless of priority.
    scaInformation.exemption Body -white_check_mark- The type of exemption for Strong Customer Authentication (SCA). Set this to setByPlatform.

    Here is an example request to create a transfer limit.

  2. Take note of the transferLimitId and status that is returned in the response. The status must be either active or scheduled depending on the start date of the limit.

View transfer limits

After you configure transfer limits for your balance platform, you can make GET requests to view the details of these limits.

View all transfer limits

To view all transfer limits configured for your balance platform:

  1. Make a GET /balancePlatforms/{id}/transferLimits request. To filter out transfer limits based on their characteristics, include any of the following query parameters in your request:

    Parameter Required Description
    scope The scope on which the transfer limit applies. Possible values:
    • perTransaction: you set a maximum amount for each transfer made from the balance platform.
    • perDay: you set a maximum total amount for all transfers made from the balance platform in a day.
    transferType The type of transfer to which the limit applies. Possible values:
    • instant: the limit applies to transfers with an instant priority.
    • all: the limit applies to all transfers, regardless of priority.
    status The status of the transfer limit. Possible values:
    • active: the limit is currently active.
    • inactive: the limit is currently inactive
    • scheduled: the limit is scheduled to become active at a future date.

    For example, you want to view all transfer limits configured on your balance platform that meet the following requirements:

    • scope: perDay
    • transferType: instant
    • status: active
  2. Take note of the array in the response that returns all the transfer limits on your balance platform that meet the queried requirements.

View a specific transfer limit

To view a specific transfer limit:

  1. Make a GET /balancePlatforms/{id}/transferLimits/{transferLimitId} request. Specify the following parameters in the path:

    Parameter Required Description
    id -white_check_mark- The unique identifier of your balance platform.
    transferLimitId -white_check_mark- The unique identifier of the transfer limit you want to view.

    Here is an example request to view a specific transfer limit:

  2. Take note of the response, which returns the details of the transfer limit.

Delete a transfer limit

You can only delete pending or scheduled transfer limits. After a transfer limit becomes active, it cannot be deleted. If you no longer want to apply an active limit to your balance platform, you must override it by creating a new transfer limit.

To delete a pending or scheduled transfer limit, make a DELETE /balancePlatforms/{id}/transferLimits/{transferLimitId} request. Specify the following parameters in the path:

Parameter Required Description
id -white_check_mark- The unique identifier of your balance platform.
transferLimitId -white_check_mark- The unique identifier of the transfer limit you want to delete.

Here is an example request to delete a specific transfer limit:

If the transfer limit is successfully deleted, you receive a HTTP 204 - No Content response.