Skip to content

SEPA Credit Transfer

SEPA Credit Transfer is a payment instrument for executing credit transfer transactions in euros within the Single Euro Payments Area (SEPA) zone.

It enables merchants to send payments to a beneficiary’s bank account across the EU.

SEPA Credit Transfer operates as a single scheme covering all SEPA-compliant countries where the euro is used as the local currency.

Payment MethodCategoryCountriesCurrenciesFeaturesIntegrations
SEPA CTBank TransferSEPA ZoneEURInitiation, Status Tracking, Notifications (Webhooks)API
Supported markets

SEPA Credit Transfer is supported across all SEPA-compliant countries:

RegionCountries
SEPA ZoneAustria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden
Additional
SEPA
Iceland, Liechtenstein, Norway, Albania, Andorra, Moldova, Monaco, Montenegro, North Macedonia, San Marino, Serbia, Switzerland, United Kingdom, Vatican City

How to Use SEPA CT

SEPA Credit Transfer allows merchants to initiate payments to SEPA bank accounts by providing beneficiary details and transfer information through an API.

1. Provide beneficiary and transfer details

The merchant initiates the credit transfer by supplying the following information:

  • Beneficiary IBAN – the recipient’s International Bank Account Number
  • Beneficiary BIC – the recipient’s Bank Identifier Code
  • Bank destination country – must be a SEPA country
  • Amount – transfer value (maximum €1,000,000)
  • Currency – only EUR is supported
  • Business details – a free-text field for the merchant to include business or remittance information
  • Payment initiated-date – the date the payment is submitted (processing follows SIBS Pagamentos rules)
2. Request validation

Before accepting the payment request, the SIBS Gateway validates:

  • The provided IBAN and BIC formats to ensure they conform to required standards
  • That all mandatory SEPA fields are provided and correctly formatted, including:
    • EndToEndId
    • Debtor
    • Creditor
    • Amount
    • Currency (must be EUR)
    • Remittance Information

Invalid or incomplete requests are rejected at this stage.

3. Payment processing and notification

Once validated:

  • The payment request is submitted for processing;
  • The merchant receives status notifications via webhooks;
  • The merchant can also check the status of the transaction via API as the transfer progresses through each stage.

SEPA CT in SIBS Backoffice

When a store has a SEPA CT agreement associated, it appears on SIBS Backoffice under Configurations > Agreements.

The following transaction types are visible under Business > Transactions:

Transaction TypeStatusTrigger
Transfer requestInitiatedWhen the merchant submits the request
Transfer confirmationAcceptedBased on the CSM/bank response
Transfer rejectionRejectedBased on the CSM/bank response
  • The payment method associated with these transactions is identified as SEPA Credit Transfer (“SEPA CT”).
  • The financial product corresponds to the one created during onboarding.
  • All standard transaction fields are populated, and transactions are included in the existing exportable file from the Transactions menu.
  • Accepted transactions are presented with negative representation in the Dashboard, reflecting the outgoing nature of credit transfers.

Integration

SEPA Credit Transfer (SEPA CT) allows merchants to execute credit transfers in euros across the SEPA zone using the SIBS Gateway.

This operation requires a previously created transaction where SEPA CT (“SPCT”) was selected as the payment method.

The payment method must be designated as “SPCT” when initiating a transaction.

How it works

To integrate SEPA Credit Transfer, follow these steps:

  1. Initiate the credit transfer
  2. Track the payment status
  3. Optionally receive notifications via webhooks

Step 1: Initiate SEPA Credit Transfer

To initiate a SEPA Credit Transfer (SEPA CT) through the SIBS Gateway, the merchant must send the following mandatory payment information:

  • Beneficiary IBAN
  • Beneficiary BIC
  • EndToEndId
  • Transaction amount
  • Currency (EUR)

The system validates the format of IBAN and BIC, the EndToEndId, and that the amount and currency are correctly set. Once these checks pass, a technical response is returned confirming the request has been successfully received.

EnvironmentURLOperation Method & EndpointOperation Description
PRODapi.sibsgateway.comPOST {version-id}/payments/{id}/sepa/credit-transferInitiates a SEPA CT payment resource specified in the request.
TESTstargate.qly.site[1|2].sibs.ptPOST {version-id}/payments/{id}/sepa/credit-transferInitiates a SEPA CT payment resource in the test environment.
Info

Important – Test credentials

If a merchant intends to integrate in TEST environment, dedicated TEST credentials must be requested. Production credentials must not be used in TEST environments.

Header Parameters

Before sending the request, ensure the following headers are included.

FieldTypeRequiredDescriptionExample
Content-TypeStringMandatoryDefines the content type of the requestapplication/json
AuthorizationStringMandatoryBearer token for authenticationBearer xxxxxxxx
x-ibm-client-idStringMandatoryToken identifying the client organization, provided during onboarding123456789
General Request Parameters

The request is composed of the following main objects. Each object is detailed in the subsequent sections.

FieldTypeConditionDescriptionExample
merchantObjectMandatoryObject that defines the merchant information
beneficiaryAccountObjectMandatoryObject containing the beneficiary account information
amountObjectMandatoryObject with the transaction amount and currency
transferMethodstring (Exact4Text)MandatoryTransfer method for the payment‘SPCT’
businessDetailsstring (≤512)OptionalFree-text field for merchant business informationPayment for Order #123
paymentExecutionDateISODateMandatoryExecution date for the transfer2026-04-05
deviceInfoObjectMandatoryObject that defines the customer device information
beneficiaryAccount (object) – Mandatory
FieldTypeConditionDescriptionExample
beneficiaryAccount.ibanStringMandatoryBeneficiary IBANPT50000201231234567890154
beneficiaryAccount.bicstring (≤11)OptionalBeneficiary Bank Identifier CodeBCOMPTPL
beneficiaryAccount.bankCountrystring (3-letter ISO)OptionalCountry of the beneficiary bankPRT
beneficiaryAccount.namestring (≤128)MandatoryBeneficiary nameJoão Silva
merchant (object) – Mandatory
FieldTypeConditionDescriptionExample
merchant.terminalIdnumeric (≤10)MandatoryMerchant terminal identifier47215
merchant.channelStringMandatoryChannel used for the transactionWeb
merchant.merchantTransactionIdstring (≤1000)MandatoryUnique merchant transaction IDORDER_123
merchant.transactionDescriptionstring (≤4000)OptionalDescription of transactionPayment for order #001
amount (object) – Mandatory
FieldTypeConditionDescriptionExample
amount.valuenumber (double)MandatoryTransaction amount1000.00
amount.currencyStringMandatoryCurrency in ISO 4217 format (must be EUR)EUR
deviceInfo (object) – Mandatory

The deviceInfo object provides additional context about the customer environment and is recommended for fraud prevention and risk analysis.

FieldTypeConditionDescriptionExample
browserAcceptHeaderstringOptionalBrowser Accept Headertext/html
browserJavaEnabledstringOptionalBrowser Java EnabledTrue
browserJavascriptEnabledstringOptionalBrowser Javascript EnabledTrue
browserLanguagestringOptionalBrowser languageen-US
browserColorDepthstringOptionalBrowser Color Depth24
browserScreenHeightstringOptionalBrowser Screen Height1080
browserScreenWidthstringOptionalBrowser Screen Width1920
browserTZstringOptionalBrowser Time ZoneGMT+1
browserUserAgentstringOptionalBrowser User AgentMozilla/5.0…
systemFamilystringOptionalSystem FamilyWindows
systemVersionstringOptionalSystem Version10
systemArchitecturestringOptionalSystem Architecturex64
deviceManufacturerstringOptionalDevice ManufacturerDell
deviceModelstringOptionalDevice ModelXPS 15
deviceIDstringOptionalDevice Unique ID1234567890
deviceFingerprintstringOptionalDevice Fingerprint IdentificationABCDEF123456
applicationNamestringOptionalApplication Name (Form:applicationName)Form:Edge
applicationVersionstringOptionalApplication Version (formVersion:applicationVersion)2.0:130
geoLocalizationstringOptionalGeolocation38.7169,-9.139
ipAddressstringOptionalIP Address192.168.1.1

Here’s an example of how to Initiate the SEPA Credit Transfer:

Request Example
</>JSON {

"deviceInfo": {

"deviceID": "DEVICE12345",

"browserUserAgent": "Mozilla/5.0",

"browserAcceptHeader": "text/html,application/xhtml+xml",

"browserJavaEnabled": "false",

"browserJavascriptEnabled": "true"

},

"merchant": {

"terminalId": "47215",

"merchantTransactionId": "ORDER_123",

"transactionDescription": "Payment for order #001"

},

"beneficiaryAccount": {

"iban": "PT50000201231234567890154",

"bic": "BICPTPLX",

"bankCountry": "PT",

"name": "John Doe"

},

"amount": {

"value": 50.00,

"currency": "EUR"

},

"transferMethod": "SPCT",

"businessDetails": "Order #123 - Electronics",

"paymentExecutionDate": "2026-04-05"

}
Response Parameters

Upon successful request submission, the system returns the following response:

FieldTypeConditionDescriptionExample
returnStatusObjectMandatoryDefines the status of the processed transaction
returnStatus.statusCodeStringMandatoryIdentifier code of the processed transaction status (“000” for success)“000”
returnStatus.statusMsgStringMandatoryMessage of the processed transaction status“Success”
returnStatus.statusDescriptionStringMandatoryDescription of the processed transaction status“Transaction accepted”
transactionIdStringConditionalTransaction ID returned when statusCode = “000”1234567890
Notification

Note: A request is considered successful when HTTP status 200 is returned and returnStatus.statusCode = “000”.

Response Example
{

"returnStatus": {

"statusCode": "000",

"statusMsg": "Success",

"statusDescription": "Transaction accepted"

},

"transactionId": "TRX123456789"

}

Step 2 – Get Payment Status

This step is essential to monitor the progress of the transaction, as SEPA Credit Transfers are processed asynchronously.

Response Parameters
FieldTypeConditionDescriptionExample
statusstringMandatoryCurrent status of the paymentPDNG
Payment Status Values
StatusDescription
INITInitiated – request submitted
PDNGPending – sent to clearing system (CSM)
ACPTAccepted – confirmed by the bank
RJCTRejected – refused by the bank

Step 3: Receive Notifications

SEPA CT supports notification mechanisms to keep merchants informed about payment outcomes in real time in the form of webhooks.

You can find more information about webhooks here.

Webhooks

The Payment Gateway notifies the merchant via webhook in the following scenarios:

  • Credit transfer reception – confirmation that the transfer has been received by the beneficiary’s bank;
  • SEPA errors and validation – notification of any errors or validation failures during processing.
  • Receipt of compensation result – status change to accepted liquidation.
Privacy Overview
blank

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.