SEPA Credit Transfer (SCT) lets you transfer euros between accounts situated in the SEPA zone (all EU countries + the UK, Iceland, Lichtenstein, Norway, and Switzerland).
When an account receives a SEPA Credit Transfer, the transaction will be the
When an account issues a SEPA Credit Transfer, the transaction will be the
SepaCreditTransferOuttype.To validate the provided IBAN in the SCT out we execute multiple checks :
- Is the IBAN size greater or equal to five?
- Are the third and fourth characters numeric?
- Is the country code an existing one?
- Does the IBAN size match the country's IBAN size?
- Is the IBAN checksum correct?
An Internal Credit Transfer is the same as a SEPA Credit Transfer except that it is instant between the two accounts.
Credit transfers can't be sent if the account holder verification is still in progress. While waiting for verification to be finalized, the account has the
initiateCreditTransfersmutation returns an error.
You can initiate credit transfers (Internal or SEPA) :
- #nocode: use the white-labeled Web banking; the deeplink URL is available in your dashboard under the tab White-label #nocode.
- by API: integrate payments into your product using our API.
With just one call to this mutation you can initiate multiple credit transfers (supporting bulk and batch payments) from the same account towards different accounts, and for different amounts. Take note: this allows to make just one consent request for multiple transactions. This is helpful for setting up monthly payroll, or paying weekly bills.
A request from the
initiateCreditTransfermutation has two possible returns:
- 1.Swan requests user consent. In this case, the payment is created with
ConsentPendingstatus and a newly created consent resource carrying the
consentUrlredirects the user to launch Swan's Strong Customer Authentication (Learn More). Once the consent process and Strong Customer Authentication is completed, the payment changes to
- 2.Swan estimates that the context of this payment doesn't require user consent. In this case, the payment is created with
Once the consent process and Strong Customer Authentication is completed, Swan checks that the available balance is sufficient to cover the total payment amount. If this is the case, a
paymentProduct=SepaCreditTransfertransaction is created with
Pendingstatus. This will change to
Bookedstatus once the transaction is processed into the SEPA Network and approved by Swan's financial security.
If you specify in the mutation that the target account is a Swan account, a
paymentProduct=InternalCreditTransfertransaction is created with
Pendingstatus. This will change to
Bookedstatus once the transaction is approved by Swan's financial security. If you do not specify it, but Swan detects that the target account is a Swan account in the same project, we will follow the same process.
If you specify in the mutation
requestedExecutionAtinput, we will create a transaction with
Upcomingstatus and execute it on the requested date. It can be scheduled up to 1 year ahead.
If the amount is insufficient, a transaction is created with
Rejectedstatus, with the reason for rejection in the
You can cancel a transaction only if its status is
Upcoming. To do so, use the
cancelTransactionmutation with the transaction id.
Once a transaction has been processed, it can no longer be canceled, even if its status is still
Pending. If a credit transfer was made by error, you must request a recall.
Once a credit transfer is initiated, there can be other transactions for the same payment linked to exterior events.
When an issued payment is returned because the account doesn't exist, or is closed, or for whatever reason won't receive the payment, a second transaction is created with the
SepaCreditTransferOutReturntype to credit the account.
When a credit transfer that has already been received and credited to the account is refused by the account owner, a second transaction is created with the
SepaCreditTransferInReturntype to debit the account.
To simulate these exterior events in the Sandbox we have added the tab Event Simulator to your dashboard. It lets you test different scenarios.
When the issuer of a SEPA Credit Transfer towards a Swan account asks their bank to recall the transaction, for example because it was issued by mistake, Swan receives the request and asks the Swan account holder whether they accept the recall request or not. When the Swan account holder accepts the recall request and if the available balance of the concerned account is sufficient, funds are debited back from the Swan account, through a transaction with the
SepaCreditTransferInRecalltype created in the
Pendingstatus (and then moved to the
Bookedstatus) under the same payment ID as the original
When a user asks Swan to recall a SEPA Credit Transfer that was previoulsy issued for example by error, Swan transfers the request to the bank that received the initial credit transfer so that the bank can ask the beneficiary whether they accept the recall request or not. When the beneficiary accepts the recall request, funds are credited back on the Swan account, through a transaction with the
SepaCreditTransferOutRecalltype created in the
Bookedstatus under the same payment ID as the original