SEPA Credit Transfers

This page contains all of the relevant information about SEPA Credit Transfers, including key concepts and the necessary endpoints you need to integrate in your solution.

What is a SEPA Credit Transfer?

SEPA Credit Transfer (SCT) is a payment scheme that defines a set of standards and rules for credit transfers in Euro between banks located in the SEPA zone.

A SEPA Credit Transfer is a simple money transfer that can be used for one-off or recurring payments. They can be made individually or in bulk. In contrast to a SEPA Direct Debit (SDD), an SCT is initiated by the sender, and the beneficiary generally receives the payment within one business day after the transaction is executed. Additionally, a SCT doesn't require a signed mandate.

Both the sender and the recipient (and their respective banks) are identified through an International Bank Account Number (IBAN). In some cases, the Bank Identifier Code (BIC) is also required.

A SEPA Credit Transfer works like a normal domestic transfer in that the recipient receives the full transferred amount without hidden costs (i.e., the cost of a SEPA cross-border transfer is the same as the cost of a local transfer).

info

See the overview page to learn more about SEPA and the different types of SEPA payment schemes.

How does a SEPA Credit Transfer work?

  1. The customer logs in to your solution and chooses the option to send a SCT to another account. In your frontend, they provide the necessary transaction details, such as the recipient IBAN, name, amount, and transaction description.
  2. The customer authorizes the transaction using two-factor authentication (2FA) via an SMS OTP or a device signing challenge.
  3. Before executing a SCT, Solaris checks the account's available_balance to ensure that there are sufficient funds and then creates a reservation on the sender's account.
  4. Solaris executes the transaction, which creates a booking on the sender's account with the booking type SEPA_CREDIT_TRANSFER.
  5. The beneficiary generally receives the money within one business day from the transaction's execution.
note

SEPA Credit Transfers must be authorized using 2FA.

Execution rules

  • Solaris executes SEPA Credit Transfers on banking days every hour between 07:00 - 20:00.
  • If an execution date falls on a bank holiday or a weekend, the beneficiary receives the transfer on the next banking day.

Types of SEPA Credit Transfers

Standing orders

A standing order is a type of SEPA Credit Transfer suitable for recurrent payments. It allows customers to schedule and authorize transactions to be executed automatically at specific regular intervals.

Click here to read more about standing orders.

Timed orders

A timed order allows customers to schedule and authorize a one-off transaction to be executed automatically at specific date.

Click here to read more about timed orders.

Batch orders

A batch order allows customers to create and authorize up to 1,000 SCTs at once.

Click here to read more about batch orders.

Prerequisites

You must implement the following features before you can use SEPA Credit Transfers in your solution:

API reference documentation

To implement SEPA Credit Transfers, integrate the following endpoints in your solution:

How to create a SEPA credit Transfer for retail customers

POST Create a SEPA credit Transfer

To create a SCT on a retail customer's account, call the following endpoint and provide the following properties in the request body:

  • reference: Your unique reference for the transaction. Acts as an idempotency key.
  • recipient_name: The name of the transaction's recipient.
  • recipient_iban: The IBAN of the recipient.
  • recipient_bic: The Bank Identifier Code of the recipient bank account. Optional, could be required for cross-border transactions.
  • amount: The transaction amount in Euro, cents.
  • description: A description for the transaction, which's visible to both the sender and the recipient.

Request URL

Copy
Copied
POST /v1/persons/{person_id}/accounts/{account_id}/transactions/sepa_credit_transfer

Response example (before transaction authorization)

The customer must first authorize the transaction using the 2FA in place (SMS OTP or device signing challenge). The following example shows the payload for a device signing challenge.

Copy
Copied
202
{
  "id": "d6c778822b2d7bd3b778935bcfd0d1d3csc",
  "status": "CONFIRMATION_REQUIRED",
  "updated_at": "2022-04-21T13:59:52+00:00",
  "url": "https://example.com/authorize"
}

Response example (after transaction authorization)

After the customer successfully authorizes the transaction, the payload will include the transaction details, including important fields such as the SCT unique id, status, etc.

Copy
Copied
200
{
  "id": "45bd0881-a79a-4054-9286-f11060d5511f",
  "status": "EXECUTED",
  "reference": "8880a72c-2675-482d-8d88-70a02c608592",
  "amount": {
    "value": 1000,
    "unit": "cents",
    "currency": "EUR"
  },
  "description": "string",
  "recipient_iban": "DE87110101001000057123",
  "recipient_name": "Max Mustermann",
  "recipient_bic": "SOBKDEB2XXX",
  "end_to_end_id": "END2ENDREJ",
  "batch_id": "null",
  "created_at": "2021-01-01T20:37:50Z"
}