| Metoda płatności | Kategoria | Kraje | Waluty | Funkcje | Integracja |
|---|---|---|---|---|---|
| SEPA CT | Przelew bankowy | Strefa SEPA | EUR | Inicjacja, śledzenie statusu, powiadomienia (webhooki) | API |
| Region | Kraje |
|---|---|
| Strefa SEPA | Austria, Belgia, Bułgaria, Chorwacja, Cypr, Czechy, Dania, Estonia, Finlandia, Francja, Niemcy, Grecja, Węgry, Irlandia, Włochy, Łotwa, Litwa, Luksemburg, Malta, Holandia, Polska, Portugalia, Rumunia, Słowacja, Słowenia, Hiszpania, Szwecja |
| Dodatkowe kraje SEPA | Islandia, Liechtenstein, Norwegia, Albania, Andora, Mołdawia, Monako, Czarnogóra, Macedonia Północna, San Marino, Serbia, Szwajcaria, Wielka Brytania, Watykan |
SEPA Credit Transfer umożliwia inicjowanie przelewów na rachunki bankowe SEPA poprzez przekazanie danych odbiorcy i szczegółów przelewu za pomocą API.
1. Podanie danych odbiorcy i przelewu
Merchant inicjuje przelew, podając następujące informacje:
- IBAN odbiorcy – międzynarodowy numer rachunku bankowego
- BIC odbiorcy – kod identyfikacyjny banku
- Kraj banku odbiorcy – musi należeć do SEPA
- Kwota – wartość przelewu (maks. 1 000 000 €)
- Waluta – tylko EUR
- Szczegóły biznesowe – pole tekstowe na informacje o płatności
- Data inicjacji płatności – data wysłania (zgodnie z zasadami SIBS Pagamentos)
2. Walidacja żądania
Przed przyjęciem żądania system SIBS Gateway weryfikuje:
- Poprawność formatu IBAN i BIC
- Obecność i poprawność wymaganych pól SEPA:
- EndToEndId
- Debtor
- Creditor
- Kwota Waluta (EUR)
- Informacje o przelewie
Niepoprawne lub niekompletne żądania są odrzucane.
3. Przetwarzanie płatności i powiadomienia
Po walidacji:
- żądanie trafia do przetwarzania
- merchant otrzymuje powiadomienia przez webhooki
- status można również sprawdzać przez API
SEPA CT w SIBS Backoffice
Jeśli sklep posiada aktywną umowę SEPA CT, będzie ona widoczna w Configurations > Agreements.
Typy transakcji dostępne w Business > Transactions:
| Typ transakcji | Status | Wyzwalacz |
|---|---|---|
| Żądanie przelewu | Initiated | Wysłanie żądania przez merchant |
| Potwierdzenie | Accepted | Odpowiedź banku/CSM |
| Odrzucenie | Rejected | Odpowiedź banku/CSM |
- Metoda płatności: SEPA Credit Transfer (SEPA CT)
- Produkt finansowy: zgodny z konfiguracją onboardingową
- Transakcje dostępne w eksporcie
- Transakcje zaakceptowane mają wartość ujemną (przelewy wychodzące)
Integracja
SEPA CT umożliwia realizację przelewów w euro w strefie SEPA poprzez SIBS Gateway.
Wymaga wcześniejszego utworzenia transakcji z metodą płatności „SPCT”.
Jak to działa
To integrate SEPA Credit Transfer, follow these steps:
- Inicjacja przelewu
- Śledzenie statusu
- (Opcjonalnie) odbieranie webhooków
Krok 1: Inicjacja przelewu SEPA
Wymagane dane:
- IBAN odbiorcy
- BIC odbiorcy
- EndToEndId
- Kwota
- Waluta (EUR)
System waliduje dane i zwraca odpowiedź techniczną.
Endpointy
| Environment | URL | Operation Method & Endpoint | Operation Description |
|---|---|---|---|
| PROD | api.sibsgateway.com | POST {version-id}/payments/{id}/sepa/credit-transfer | Initiates a SEPA CT payment resource specified in the request. |
| TEST | stargate.qly.site[1|2].sibs.pt | POST {version-id}/payments/{id}/sepa/credit-transfer | Initiates a SEPA CT payment resource in the test environment. |
Nagłówki
Przed wysłaniem żądania upewnij się, że zawiera ono następujące nagłówki.
| Pole | Typ | Wymagane | Opis | Example |
|---|---|---|---|---|
| Content-Type | String | Tak | Typ danych (application/json) | application/json |
| Authorization | String | Tak | Bearer token | Bearer xxxxxxxx |
| x-ibm-client-id | String | Tak | Identyfikator klienta | 123456789 |
Parametry żądania
Żądanie składa się z następujących głównych obiektów. Każdy obiekt jest szczegółowo opisany w kolejnych sekcjach.
| Field | Type | Condition | Description | Example |
|---|---|---|---|---|
| merchant | Object | Mandatory | Object that defines the merchant information | – |
| beneficiaryAccount | Object | Mandatory | Object containing the beneficiary account information | – |
| amount | Object | Mandatory | Object with the transaction amount and currency | – |
| transferMethod | string (Exact4Text) | Mandatory | Transfer method for the payment | ‘SPCT’ |
| businessDetails | string (≤512) | Optional | Free-text field for merchant business information | Payment for Order #123 |
| paymentExecutionDate | ISODate | Mandatory | Execution date for the transfer | 2026-04-05 |
| deviceInfo | Object | Mandatory | Object that defines the customer device information | – |
beneficiaryAccount (object) – Mandatory
| Field | Type | Condition | Description | Example |
|---|---|---|---|---|
| beneficiaryAccount.iban | String | Mandatory | Beneficiary IBAN | PT50000201231234567890154 |
| beneficiaryAccount.bic | string (≤11) | Optional | Beneficiary Bank Identifier Code | BCOMPTPL |
| beneficiaryAccount.bankCountry | string (3-letter ISO) | Optional | Country of the beneficiary bank | PRT |
| beneficiaryAccount.name | string (≤128) | Mandatory | Beneficiary name | João Silva |
merchant (object) – Mandatory
| Field | Type | Condition | Description | Example |
|---|---|---|---|---|
| merchant.terminalId | numeric (≤10) | Mandatory | Merchant terminal identifier | 47215 |
| merchant.channel | String | Mandatory | Channel used for the transaction | Web |
| merchant.merchantTransactionId | string (≤1000) | Mandatory | Unique merchant transaction ID | ORDER_123 |
| merchant.transactionDescription | string (≤4000) | Optional | Description of transaction | Payment for order #001 |
amount (object) – Mandatory
| Field | Type | Condition | Description | Example |
|---|---|---|---|---|
| amount.value | number (double) | Mandatory | Transaction amount | 1000.00 |
| amount.currency | String | Mandatory | Currency in ISO 4217 format (must be EUR) | EUR |
deviceInfo (object) – Mandatory
Obiekt deviceInfo dostarcza dodatkowego kontekstu dotyczącego środowiska klienta i jest zalecany do zapobiegania oszustwom oraz analizy ryzyka.
| Field | Type | Condition | Description | Example |
|---|---|---|---|---|
| browserAcceptHeader | string | Optional | Browser Accept Header | text/html |
| browserJavaEnabled | string | Optional | Browser Java Enabled | True |
| browserJavascriptEnabled | string | Optional | Browser Javascript Enabled | True |
| browserLanguage | string | Optional | Browser language | en-US |
| browserColorDepth | string | Optional | Browser Color Depth | 24 |
| browserScreenHeight | string | Optional | Browser Screen Height | 1080 |
| browserScreenWidth | string | Optional | Browser Screen Width | 1920 |
| browserTZ | string | Optional | Browser Time Zone | GMT+1 |
| browserUserAgent | string | Optional | Browser User Agent | Mozilla/5.0… |
| systemFamily | string | Optional | System Family | Windows |
| systemVersion | string | Optional | System Version | 10 |
| systemArchitecture | string | Optional | System Architecture | x64 |
| deviceManufacturer | string | Optional | Device Manufacturer | Dell |
| deviceModel | string | Optional | Device Model | XPS 15 |
| deviceID | string | Optional | Device Unique ID | 1234567890 |
| deviceFingerprint | string | Optional | Device Fingerprint Identification | ABCDEF123456 |
| applicationName | string | Optional | Application Name (Form:applicationName) | Form:Edge |
| applicationVersion | string | Optional | Application Version (formVersion:applicationVersion) | 2.0:130 |
| geoLocalization | string | Optional | Geolocation | 38.7169,-9.139 |
| ipAddress | string | Optional | IP Address | 192.168.1.1 |
Poniżej znajduje się przykład, jak zainicjować 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
Po pomyślnym wysłaniu żądania system zwraca następującą odpowiedź:
| Field | Type | Condition | Description | Example |
|---|---|---|---|---|
| returnStatus | Object | Mandatory | Defines the status of the processed transaction | – |
| returnStatus.statusCode | String | Mandatory | Identifier code of the processed transaction status („000” for success) | „000” |
| returnStatus.statusMsg | String | Mandatory | Message of the processed transaction status | „Success” |
| returnStatus.statusDescription | String | Mandatory | Description of the processed transaction status | „Transaction accepted” |
| transactionId | String | Conditional | Transaction ID returned when statusCode = „000” | 1234567890 |
Response Example
{
"returnStatus": {
"statusCode": "000",
"statusMsg": "Success",
"statusDescription": "Transaction accepted"
},
"transactionId": "TRX123456789"
}
Krok 2 – Pobierz status płatności
Ten krok jest niezbędny do monitorowania postępu transakcji, ponieważ przelewy SEPA Credit Transfer są przetwarzane asynchronicznie.
Parametry odpowiedzi
| Field | Type | Condition | Description | Example |
|---|---|---|---|---|
| status | string | Mandatory | Current status of the payment | PDNG |
Wartości statusu płatności
| Status | Description |
|---|---|
| INIT | Initiated – żądanie wysłane |
| PDNG | Pending – wysłane do systemu rozliczeniowego (CSM) |
| ACPT | Accepted – potwierdzona przez bank |
| RJCT | Rejected – Odrzucona – odrzucona przez bank |
Krok 3: Odbieranie powiadomień
SEPA CT obsługuje mechanizmy powiadomień, które informują merchantów o wynikach płatności w czasie rzeczywistym w formie webhooków.
Więcej informacji o webhookach można znaleźć tutaj.
Webhooks
Payment Gateway powiadamia merchanta za pomocą webhooków w następujących przypadkach:
- Otrzymanie przelewu – potwierdzenie, że przelew został odebrany przez bank odbiorcy;
- Błędy SEPA i walidacja – powiadomienie o wszelkich błędach lub niepowodzeniach walidacji podczas przetwarzania.
- Otrzymanie wyniku rozliczenia – zmiana statusu na zaakceptowane rozliczenie.
