Credit Transfer
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
SepaCreditTransferIn
type.When an account issues a SEPA Credit Transfer, the transaction will be the
SepaCreditTransferOut
type.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
paymentLevel=Limited
and the initiateCreditTransfers
mutation 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.
Use the
initiateCreditTransfer
mutation to initiate credit transfers by API. You need to be authenticated with an accessToken
, either in the name of the user that wants to make the payment, or with a project access token impersonating that user.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
initiateCreditTransfer
mutation has two possible returns:- 1.Swan requests user consent. In this case, the payment is created with
ConsentPending
status and a newly created consent resource carrying theconsentUrl
redirects the user to launch Swan's Strong Customer Authentication (Learn More). Once the consent process and Strong Customer Authentication is completed, the payment changes toInitiated
status. - 2.Swan estimates that the context of this payment doesn't require user consent. In this case, the payment is created with
Initiated
status.
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=SepaCreditTransfer
transaction is created with Pending
status. This will change to Booked
status 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=InternalCreditTransfer
transaction is created with Pending
status. This will change to Booked
status 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
requestedExecutionAt
input, we will create a transaction with Upcoming
status 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
Rejected
status, with the reason for rejection in the rejectedReasonCode
field.You can cancel a transaction only if its status is
Upcoming
. To do so, use the cancelTransaction
mutation 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
SepaCreditTransferOutReturn
type 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
SepaCreditTransferInReturn
type 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
SepaCreditTransferInRecall
type created in the Pending
status (and then moved to the Booked
status) under the same payment ID as the original SepaCreditTransferIn
transaction. 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
SepaCreditTransferOutRecall
type created in the Booked
status under the same payment ID as the original SepaCreditTransferOut
transaction.Last modified 1mo ago