SEPA Instant Limits allow customers to define and manage how much they can send using SEPA Instant Credit Transfers. In line with regulatory requirements, customers must be able to set:
- A daily limit: The total amount that can be sent via SEPA Instant in a single day.
- A per-transaction limit: The maximum amount allowed per individual SEPA Instant transfer.
This feature provides customers with enhanced security and greater control over their account activity. To be able to implement SEPA Instant Limits, you must be offering the SEPA Instant Credit Transfers feature to your customers. In case you do, it is required you also implement the SEPA Instant Limits feature.
Customers must be able to configure per-transaction and/or daily spending limits for SEPA Instant Credit Transfers on a per-account basis. These limits should be fully customizable by the customers according to their preferences. Please note that this customization is constrained by the overall Risk limitation defined in your Solaris account configuration.
SEPA Instant Limits apply to all SEPA Instant Credit Transfers, regardless of their initiation payment method. This includes scheduled transfers, reference account payouts, and batch transfers executed via SEPA Instant Credit Transfers.
It's important to understand the default limits applied to an account and the maximum values that can be set by a customer.
By default, every customer account is configured with the following limits:
- Per-Transaction Limit: EUR 10,000
- Daily Limit:
null(no daily limit is set)
These can be adjusted at any time via the API.
There is a maximum value a customer can set for their per-transaction limit. This maximum depends on the account type:
- For natural persons and sole proprietors: EUR 100,000
- For businesses: EUR 5,000,000
If a customer tries to set a limit that exceeds the allowed maximum, the API will return an error and the limit will not be changed.
There is no maximum value for the daily limit.
Daily Limit: Tracks the total amount of all successfully executed SEPA Instant transfers from 00:00:00 to 23:59:59 UTC. If a transfer is returned on the same day, it does not count against the daily limit.
Per-Transaction Limit: Sets a cap on the maximum amount for a single SEPA Instant transfer.
If a customer attempts to execute a transfer that exceeds their configured SEPA Instant limit, the transfer fails immediately. You will receive the INSTANT_SEPA_CREDIT_TRANSFER_FAILED webhook, with a rejection reason indicating the limit was exceeded.
To avoid failed transfers, display the current limits—or remaining available amounts, to the customer during the transfer setup process. It is required by the European Payments Council (Regulation 260/2012, Article 5a, paragraph 6) that where a customer's order for SEPA Instant Credit Transfer exceeds, or leads to exceeding of the set limit, you must not proceed with the payment execution and shall inform the Customer on how to view and modify their limits.
Let your customers set a per-transaction, and/or daily spending limit for SEPA Instant Credit Transfers per a single account. This can be done by sending a request to the PATCH Update specific SEPA Instant limits for an account endpoint. This endpoint allows for modifying the daily and per-transaction limit both at once, or just one or the other at a time. To modify both, the request should look like the example below:
PATCH v1/accounts/{account_id}/sepa_instant_limits{
"daily_limit": {
"value": 1000000,
"unit": "cents",
"currency": "EUR"
},
"per_transaction_limit": {
"value": 500000,
"unit": "cents",
"currency": "EUR"
}
}To set or modify just the daily_limit or per_transaction_limit, only include the type of limit you want to modify in the request, as shown in the example below:
Request example
{
"daily_limit": {
"value": 1000000,
"unit": "cents",
"currency": "EUR"
}
}To unset a previously configured limit, send null as the value. When the per_transaction_limit is unset, it reverts to the maximum allowed value detailed in the Default and Maximum Limits section.
Request example
{
"daily_limit": null
}To fetch the current SEPA Instant limits for a specific account, use the GET /accounts/{account_id}/sepa-instant-limits endpoint
This endpoint returns the following properties:
daily_limit: The current daily SEPA Instant limit set for the specified account.daily_used: The total amount spent today via SEPA Instant transfers from the specified account (00:00:00–23:59:59 UTC).daily_remaining: The remaining amount available for SEPA Instant transfers today, based on the daily limit.per_transaction_limit: The maximum allowed amount per individual SEPA Instant transfer for the account.
GET /v1/accounts/{account_id}/sepa_instant_limitsThe response looks like this:
{
"daily_limit": {
"value": 1000000,
"unit": "cents",
"currency": "EUR"
},
"daily_used": {
"value": 350000,
"unit": "cents",
"currency": "EUR"
},
"daily_remaining": {
"value": 650000,
"unit": "cents",
"currency": "EUR"
},
"per_transaction_limit": {
"value": 500000,
"unit": "cents",
"currency": "EUR"
}
}If a per_transaction_limit has not been set by the customer, this endpoint returns the maximum allowed value for the account type, as detailed in the Default and Maximum Limits section.
In case the daily_limit is not set, the endpoint will return null.
{
"per_transaction_limit": {
"value": 10000000,
"unit": "cents",
"currency": "EUR"
},
"daily_limit": null
}