
Polecenie zapłaty SEPA jest instrumentem płatniczym umożliwiającym realizację transakcji polecenia zapłaty w euro w strefie Jednolitego Obszaru Płatności w Euro (SEPA). Upraszcza transakcje w euro w całej Unii Europejskiej.


Umożliwia wierzycielom procesowanie opłat za pośrednictwem swojej instytucji finansowej w oparciu o autoryzację polecenia zapłaty wydaną wierzycielowi przez dłużnika. Zarówno Dłużnik, jak i Wierzyciel muszą posiadać rachunki w strefie SEPA.
Polecenie zapłaty SEPA obsługuje dwa schematy: CORE (dla konsumentów indywidualnych) oraz B2B (dla transakcji biznesowych). Wybór odpowiedniego schematu zależy od produktu finansowego aktywowanego dla danego sprzedawcy.
Polecenie zapłaty SEPA jest obsługiwane w następujących krajach:
| SEPA DD CORE | SEPA DD B2B |
|---|---|
| Austria | Austria |
| Belgia | Belgia |
| Czechy | – |
| Dania | – |
| Estonia | – |
| Finlandia | – |
| Francja | Francja |
| Niemcy | Niemcy |
| Irlandia | Irlandia |
| Włochy | Włochy |
| Łotwa | – |
| Litwa | – |
| Holandia | Holandia |
| Norwegia | – |
| Polska | Polska |
| Portugalia | Portugalia |
| Hiszpania | Hiszpania |
| Szwecja | Szwecja |
| Wielka Brytania | Wielka Brytania |
Jak korzystać z polecenia zapłaty SEPA
Polecenia zapłaty SEPA wykorzystuje proces weryfikacji „konto do konta”, umożliwiając dłużnikom autoryzację poleceń zapłaty bezpośrednio w bankowości internetowej i eliminując konieczność ręcznego wpisywania IBAN ani przesyłania podpisanych mandatów.
Krok 1: Wybierz lokalizację banku i język
Po wybraniu SEPA Direct Debit podczas finalizacji zakupu użytkownik zostanie poproszony o wskazanie kraju banku oraz preferowanego języka. Dzięki temu lista banków jest dostosowana do regionu użytkownika.
Krok 2: Autoryzacja weryfikacji konta
Przed kontynuacją użytkownik musi zaznaczyć pole potwierdzające, że wyraża zgodę na utworzenie mandatu SEPA DD. Następnie należy kliknąć „Kontynuuj”, aby przejść dalej.
Krok 3: Wybierz swój bank
Na podstawie kraju i języka wybranego w Kroku 1 zostanie wyświetlona lista dostępnych banków. Użytkownik powinien wybrać swój bank, aby rozpocząć proces weryfikacji konta.
Krok 4: Weryfikacja konta przez bankowość internetową
Użytkownik zostanie przekierowany do aplikacji lub strony internetowej banku, aby zalogować się i zweryfikować konto. Jeśli posiada kilka kont, będzie mógł wybrać, którego użyć. Po uwierzytelnieniu dane konta użytkownika (takie jak IBAN i nazwa właściciela konta) zostaną bezpiecznie pobrane.
Krok 5: Przejrzyj wstępnie wypełnione dane mandatu
Po pomyślnej weryfikacji użytkownik zostanie przekierowany z powrotem do formularza płatności, w którym automatycznie wyświetlą się dane pobrane z banku (nazwa, dane konta itp.). Te pola nie mogą być edytowane.
Krok 6: Pobierz i prześlij mandat
PDF mandatu jest automatycznie generowany na podstawie zweryfikowanych danych konta. Na stronie szczegółów mandatu dostępny jest przycisk „Pobierz mandat”, dzięki któremu użytkownik może zapisać kopię mandatu na swoim urządzeniu jako dowód jego utworzenia. Następnie użytkownik może kliknąć „Wyślij mandat”, aby zakończyć proces tworzenia mandatu.
Dodatkowy krok dla SEPA DD B2B
W przypadku mandatów B2B, po pobraniu PDF mandatu użytkownik musi również podpisać pobrany mandat i przesłać podpisany plik za pomocą przycisku „Prześlij mandat”. Akceptowane formaty to PDF, JPEG i PNG (maks. 1 MB).
Mandaty w formacie PDF są przechowywane w systemie SIBS Backoffice, a sprzedawcy mogą pobierać je w dowolnym momencie.
Jak to działa
Poniżej znajdziesz szczegółowy opis kroków niezbędnych do wdrożenia polecenie zapłaty SEPA:
Krok 1: Utwórz zamówienie
Krok 2: Utwórz upoważnienie do polecenia zapłaty SEPA
Krok 3: Przedstaw inkaso polecenia zapłaty SEPA
Krok 4: Uzyskaj szczegóły tokena SEPA DD
Krok 1: Utwórz zamówienie
Rozpocznij składanie zamówienia, wyznaczając polecenie zapłaty SEPA („SPDD”) jako preferowaną metodę płatności (transaction.paymentMethod). Upewnij się, że kwota transakcji (transaction.amount) jest ustawiona na 0. Ponadto pamiętaj o dodaniu obiektu zgodnie z poniższymi instrukcjami:
| Lokalizacja | Element danych | Typ | Stan | Opis |
|---|---|---|---|---|
| Treść żądania | zlecenie | zlecenie | Opcjonalnie | Informacje o szczegółach mandatu |
| Request Body.mandate | mandateId | Ciąg | Wymagane | Identyfikacja zasobu zezwolenia na polecenie zapłaty. Odnosi się do numeru autoryzacji polecenia zapłaty. Max35Text |
| Request Body.mandate | mandateDescription | Ciąg | Wymagane | Opis kontekstu zasobu upoważniającego do polecenia zapłaty. Max256Text |
| Request Body.mandate | częstotliwość | Ciąg | Opcjonalnie | Regularność, z jaką instrukcje mają być tworzone i przetwarzane. „OOFF” – „One-Off” (Instrukcja polecenia zapłaty, w której za zgodą dłużnika inicjuje się jedną pojedynczą transakcję polecenia zapłaty) „RCUR” – „Recurring” (Instrukcja polecenia zapłaty, w przypadku której wykorzystuje się autoryzację dłużnika do regularnych transakcji polecenia zapłaty inicjowanych przez wierzyciela) Exact4Text |
| Request Body.mandate | serviceType | ServiceTypeCode | Wymagane | Identyfikacja usługi Polecenia Zapłaty SEPA powiązanej z konkretnym Zleceniem Polecenia Zapłaty. Można to spełnić przy pomocy następujących wartości: „CORE” w przypadku usługi SEPA DD CORE; „BTOB” w przypadku usługi SEPA DD B2B. Exact4Text |
Krok 2: Utwórz upoważnienie do polecenia zapłaty SEPA
Po zakończeniu procesu tworzenia zamówienia i wybraniu przez klienta metody „SPDD” jako preferowanej opcji płatności, kolejnym krokiem jest wygenerowanie zasobu upoważniającego do polecenia zapłaty SEPA.
Zlecenie to dokument podpisany przez dłużnika, upoważniający wierzyciela do inkasa płatności i umożliwiający bankowi dłużnika realizację tych inkasów.
Ten wybór uruchamia dwie różne opcje tworzenia mandatu:
- Opcja 1: Utwórz zlecenie SEPA DD
- Opcja 2: Utwórz zlecenie SEPA DD z uwierzytelnieniem (przeznaczone dla klientów iDeal)
Opcja 1: Utwórz zlecenie SEPA DD
Proces ten obejmuje utworzenie upoważnienia do polecenia zapłaty SEPA, w którym wymagane są zarówno dane wierzyciela, jak i dłużnika. Klient musi wypełnić wszystkie dane rachunku dłużnika, dostarczyć dokument potwierdzający IBAN i swój podpis. Następnie zlecenie zostaje sfinalizowane i zarejestrowane.
W rezultacie klient ma teraz upoważnienie do polecenia zapłaty SEPA, które jest gotowe do wykorzystania w przyszłości w płatnościach z wykorzystaniem bieżącej operacji windykacyjnej SEPA Direct Debit, zainicjowanej przez Sprzedawcę.
Po omówieniu tego procesu zostaną przedstawione szczegółowe kroki wdrażania utworzenia upoważnienia do polecenia zapłaty SEPA:
Punkty końcowe:
| Środowisko | URL | Metoda działania i endpointy | Opis działania |
|---|---|---|---|
| PROD | api.sibsgateway.com | POST {version-id}/{id}/mandates/sepadd | Tworzy zasób upoważnienia SEPA DD określony w żądaniu. |
| TEST | stargate.qly.site[1|2].sibs.pt | POST {version-id}/{id}/mandates/sepadd | Tworzy zasób upoważnienia SEPA DD określony w żądaniu. |
Upewnij się, że uwzględniłeś te kluczowe elementy zgodnie z opisem:
| Lokalizacja | Element danych | Typ | Stan | Opis |
|---|---|---|---|---|
| Path | id | Ciąg | Wymagane | Służy do identyfikacji transakcji |
Parametry nagłówka:
| Lokalizacja | Element danych | Typ | Stan | Opis |
|---|---|---|---|---|
| Nagłówek żądania | Content-Type | Ciąg | Wymagane | application/json |
| Nagłówek żądania | Autoryzacja | Ciąg | Wymagane | Podsumowanie autoryzacji |
Parametry żądania:
| Lokalizacja | Element danych | Typ | Stan | Opis |
|---|---|---|---|---|
| Treść żądania | userAcceptanceIndicator | Wartość logiczna | Wymagane | Wskazuje, czy użytkownik zaakceptował Regulamin w celu kontynuowania płatności. |
| Request Body.info | deviceInfo | DeviceInfo | Wymagane | Obiekt definiujący informacje o urządzeniu klienta. |
| Request Body.info.deviceInfo | browserAcceptHeader | ciąg | Opcjonalnie | Browser Accept Header |
| Request Body.info.deviceInfo | browserJavaEnabled | ciąg | Opcjonalnie | Browser Java Enabled |
| Request Body.info.deviceInfo | browserLanguage | ciąg | Opcjonalnie | browser Language |
| Request Body.info.deviceInfo | browserColorDepth | ciąg | Opcjonalnie | Głębia kolorów przeglądarki |
| Request Body.info.deviceInfo | browserScreenHeight | ciąg | Opcjonalnie | Wysokość ekranu przeglądarki |
| Request Body.info.deviceInfo | browserScreenWidth | ciąg | Opcjonalnie | Szerokość ekranu przeglądarki |
| Request Body.info.deviceInfo | browserTZ | ciąg | Opcjonalnie | Strefa czasowa przeglądarki |
| Request Body.info.deviceInfo | browserUserAgent | ciąg | Opcjonalnie | Agent użytkownika przeglądarki |
| Request Body.info.deviceInfo | systemFamily | ciąg | Opcjonalnie | Rodzina systemowa |
| Request Body.info.deviceInfo | systemVersion | ciąg | Opcjonalnie | Wersja systemu |
| Request Body.info.deviceInfo | systemArchitecture | ciąg | Opcjonalnie | architektura systemu |
| Request Body.info.deviceInfo | deviceManufacturer | ciąg | Opcjonalnie | Producent urządzenia |
| Request Body.info.deviceInfo | deviceModel | ciąg | Opcjonalnie | Model urządzenia |
| Request Body.info.deviceInfo | deviceID | ciąg | Opcjonalnie | Unikalna identyfikacja urządzenia |
| Request Body.info.deviceInfo | applicationName | ciąg | Opcjonalnie | Nazwa aplikacji |
| Request Body.info.deviceInfo | applicationVersion | ciąg | Opcjonalnie | Wersja aplikacji |
| Request Body.info.deviceInfo | geoLocalization | ciąg | Opcjonalnie | Geolokalizacja |
| Request Body.info.deviceInfo | ipAddress | ciąg | Opcjonalnie | Adres IP |
| Treść żądania | zlecenie | zlecenie | Wymagane | Mandate information |
| Request Body.mandate | mandateId | Ciąg | Wymagane | Identyfikacja zasobu zezwolenia na polecenie zapłaty. Odnosi się do numeru autoryzacji polecenia zapłaty. Max35Text |
| Request Body.mandate | mandateDescription | Ciąg | Wymagane | Opis kontekstu zasobu upoważniającego do polecenia zapłaty. Max256Text |
| Request Body.mandate | częstotliwość | FrequencyTypeCode | Wymagane | Regularność, z jaką instrukcje mają być tworzone i przetwarzane. „OOFF” – „One-Off” (Instrukcja polecenia zapłaty, w której za zgodą dłużnika inicjuje się jedną pojedynczą transakcję polecenia zapłaty) „RCUR” – „Recurring” (Instrukcja polecenia zapłaty, w przypadku której wykorzystuje się autoryzację dłużnika do regularnych transakcji polecenia zapłaty inicjowanych przez wierzyciela) Exact4Text |
| Treść żądania | creditor | creditor | Wymagane | Informacje o wierzycielu |
| Request Body.creditor | creditorId | Ciąg | Wymagane | Identyfikacja Wierzycieli, m.in. identyfikator wierzyciela SEPA. Max35Text |
| Treść żądania | dłużnik | dłużnik | Wymagane | Informacje o dłużniku |
| Request Body.debtor | customerFullName | Ciąg | Wymagane | Imię i nazwisko klienta. Max140Text |
| Request Body.debtor | customerEmail | Ciąg | Wymagane | Email klienta. Max255Text |
| Request Body.debtor | customerAddress | Ciąg | Wymagane | Adres klienta. Max140Text |
| Request Body.debtor | customerAddressPostalCode | Ciąg | Wymagane | Kod pocztowy adresu klienta. Max16Text |
| Request Body.debtor | customerAddressCity | Ciąg | Wymagane | Miasto adresu klienta. Max35Text |
| Request Body.debtor | customerAddressCountry | Ciąg | Wymagane | Kraj adresu klienta. ISO Alpha2 |
| Request Body.debtor | debtorAccount | Numer konta | Wymagane | Informacje o koncie dłużnika |
| Request Body.debtor.debtorAccount | iban | IBAN | Wymagane | Międzynarodowy numer rachunku bankowego (dłużnika). Max34Text (IBAN ISO13616) |
| Request Body.debtor.debtorAccount | debtorAgent | BICFI | Opcjonalnie | Identyfikacja Wierzyciela (BIC SWIFT). Max11Text ISO9362 format |
| Request Body.debtor.debtorAccount | confirmationFile | Plik binarny | Wymagane | Dokument potwierdzający posiadanie konta (dowód posiadania konta – plik certyfikatu). 1MB Binary File |
| Request Body.debtor.debtorAccount | fileContentType | Ciąg | Wymagane | Typ zawartości pliku Możliwa wartość: application.jpeg application.png application.pdf |
| Request Body.debtor | customerSignature | Ciąg | Wymagane | Dane podpisu klienta |
| Request Body.debtor.customerSignature | local | Ciąg | Wymagane | Podpis klienta lokalny. Max35Text |
| Request Body.debtor.customerSignature | data | ISODate | Wymagane | Data podpisu klienta ISODate |
| Request Body.debtor.customerSignature | image | Plik binarny | Wymagane | Obraz podpisu klienta. 1MB Binary File |
| Request Body.debtor.customerSignature | fileContentType | Ciąg | Wymagane | Typ zawartości obrazu Możliwa wartość: application.jpeg application.tiff application.png application.gif |
Oto przykład tworzenia zlecenia:
{
"mandate": {
"mandateId": "mandateID",
"mandateDescription": "mandateDescription",
"frequency": "OOFF",
"serviceType": "CORE"
},
"creditor": {
"creditorId": "NL89ZZZOP4GBH51AL8LS3DY1QG"
},
"debtor": {
"customerFullName": "Testing Customer Name",
"customerEmail": "email@provider.com",
"customerAddress": "Full Address testing",
"customerAddressPostalCode": "1011AA",
"customerAddressCity": "TestCity",
"customerAddressCountry": "NL",
"debtorAccount": {
"iban": "NL27TUUk48tlEvz9tk6o9Q6Mxaiyz",
"confirmationFile": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD
+IlnWeJf4QbwKgtIlfEDb1GjbkJawN1uXWHnqZHsti+BfRKB51NDZaccTKMSx74mWseY2fmGVEV81BaSwOtRXnq8TXFeSFBMcwVPB+Zd06OpovGo4MVrApcXKVfMdwFDms0Ratq2qI20PUvA71iJd9TIMeoETUYKPHUcZcjiJSnWXMcxOeIy84aM5lW9epghC1YxcWrsm1Lc5lKfvNE6l/3caDsTMT5l7cp1LN6xFNxWTzUc24qvxHI80x8be2WKWxs+ZmlGDPuZaPeYGMYzcXVX6qYvXce6OcEtXrjEbz/9k=",
"fileContentType": "application.jpeg"
}
}
}
Opcja 2: Utwórz zlecenie SEPA DD z uwierzytelnieniem (przeznaczone dla klientów iDeal)
Proces ten obejmuje żądanie utworzenia zlecenia SEPA DD z uwierzytelnieniem, wspierającego weryfikację konta Klienta i uwierzytelnienie poprzez przetwarzanie płatności iDEAL (po którym następuje Zwrot płatności iDEAL). Ułatwia to uzupełnienie danych zlecenia, w szczególności danych rachunku dłużnika.
W rezultacie Klient otrzyma upoważnienie SEPA DD, które będzie gotowe do wykorzystania w przyszłości w płatnościach z wykorzystaniem Bieżącej Operacji odbioru SEPA DD, zainicjowanej przez Sprzedawcę.
Aby zainicjować tę operację, należy wykonać łącze API Get SEPA DD Payment Link.
Jak uzyskać łącze do płatności z poleceniem zapłaty SEPA
Konieczne jest pobranie łącza płatniczego SEPA Direct Debit, ponieważ jest ono integralną częścią realizacji transakcji.
Dalsze szczegóły dotyczące tego procesu opisano poniżej:
Punkty końcowe:
| Środowisko | URL | Metoda działania i endpointy | Opis działania |
|---|---|---|---|
| PROD | api.sibsgateway.com | POST {version-id}/payments/{id}/sepa/payment-link | Przeprowadzenie transakcji i przekierowanie użytkownika do hosta płatności. |
| TEST | stargate.qly.site[1|2].sibs.pt | POST {version-id}/payments/{id}/sepa/payment-link | Przeprowadzenie transakcji i przekierowanie użytkownika do hosta płatności. |
Upewnij się, że uwzględniono te istotne elementy, jak określono:
| Lokalizacja | Element danych | Typ | Stan | Opis |
|---|---|---|---|---|
| Path | id | Ciąg | Wymagane | Służy do identyfikacji transakcji |
Parametry nagłówka:
| Lokalizacja | Element danych | Typ | Stan | Opis |
|---|---|---|---|---|
| Nagłówek żądania | Content-Type | Ciąg | Wymagane | application/json |
| Nagłówek żądania | Autoryzacja | Ciąg | Wymagane | Podsumowanie autoryzacji |
Parametry żądania:
| Lokalizacja | Element danych | Typ | Stan | Opis |
|---|---|---|---|---|
| Treść żądania | userAcceptanceIndicator | Wartość logiczna | Wymagane | Wskazuje, czy użytkownik zaakceptował Regulamin w celu kontynuowania płatności. |
| Treść żądania | gatewayId | Ciąg | Wymagane | Identyfikator kanału płatności dla kanału, którego klient zamierza użyć do dokonania płatności. Możliwe wartosci to: ’ideal’ – iDEAL; |
| Treść żądania | info | Info | Wymagane | Obiekt definiujący dodatkowe informacje o transakcji. |
| Request Body.info | deviceInfo | DeviceInfo | Opcjonalnie | Obiekt definiujący informacje o urządzeniu klienta. |
| Request Body.info.deviceInfo | browserAcceptHeader | ciąg | Opcjonalnie | Browser Accept Header |
| Request Body.info.deviceInfo | browserJavaEnabled | ciąg | Opcjonalnie | Browser Java Enabled |
| Request Body.info.deviceInfo | browserLanguage | ciąg | Opcjonalnie | browser Language |
| Request Body.info.deviceInfo | browserColorDepth | ciąg | Opcjonalnie | Głębia kolorów przeglądarki |
| Request Body.info.deviceInfo | browserScreenHeight | ciąg | Opcjonalnie | Wysokość ekranu przeglądarki |
| Request Body.info.deviceInfo | browserScreenWidth | ciąg | Opcjonalnie | Szerokość ekranu przeglądarki |
| Request Body.info.deviceInfo | browserTZ | ciąg | Opcjonalnie | Strefa czasowa przeglądarki |
| Request Body.info.deviceInfo | browserUserAgent | ciąg | Opcjonalnie | Agent użytkownika przeglądarki |
| Request Body.info.deviceInfo | systemFamily | ciąg | Opcjonalnie | Rodzina systemowa |
| Request Body.info.deviceInfo | systemVersion | ciąg | Opcjonalnie | Wersja systemu |
| Request Body.info.deviceInfo | systemArchitecture | ciąg | Opcjonalnie | architektura systemu |
| Request Body.info.deviceInfo | deviceManufacturer | ciąg | Opcjonalnie | Producent urządzenia |
| Request Body.info.deviceInfo | deviceModel | ciąg | Opcjonalnie | Model urządzenia |
| Request Body.info.deviceInfo | deviceID | ciąg | Opcjonalnie | Unikalna identyfikacja urządzenia |
| Request Body.info.deviceInfo | applicationName | ciąg | Opcjonalnie | Nazwa aplikacji |
| Request Body.info.deviceInfo | applicationVersion | ciąg | Opcjonalnie | Wersja aplikacji |
| Request Body.info.deviceInfo | geoLocalization | ciąg | Opcjonalnie | Geolokalizacja |
| Request Body.info.deviceInfo | ipAddress | ciąg | Opcjonalnie | Adres IP |
| Treść żądania | sprzedawca | Sprzedawca | Opcjonalnie | Dane sprzedawcy |
| Request Body.merchant | merchantURL | ciąg | Wymagane | Adres URL sklepu sprzedawcy do przekierowania. |
| Request Body.merchant | appToAppURL | ciąg | Opcjonalnie | Niestandardowy adres URL aplikacji do przekierowania klienta z powrotem do aplikacji, co spowodowało płatność. |
| Request Body.info | accountInfo | Informacje o koncie | Opcjonalnie | Dane związane z kontem. Ma zastosowanie, gdy GatewayId jest „idealny”. |
| Request Body.info.accountInfo | holderName | Ciąg | Opcjonalnie | Nazwa właściciela konta. UTF-8 Format. Max100Text |
| Request Body.info.accountInfo | customerCountry | Ciąg | Opcjonalnie | Kod kraju klienta. Alpha2 |
| Treść żądania | transactionalScope | Ciąg | Wymagane | Identyfikacja konkretnego zakresu transakcyjnego żądania Payment Link. Możliwa wartość: ’SPDD’ (SEPA Direct Debits) Exact4Text |
| Treść żądania | zlecenie | zlecenie | Warunkowy | Występuje tylko wtedy, gdy zakres transakcyjny ma wartość „SPDD” (polecenie zapłaty SEPA) Mandate information |
| Request Body.mandate | mandateId | Ciąg | Wymagane | Identyfikacja zasobu zezwolenia na polecenie zapłaty. Odnosi się do numeru autoryzacji polecenia zapłaty. Max35Text |
| Request Body.mandate | mandateDescription | Ciąg | Wymagane | Opis kontekstu zasobu upoważniającego do polecenia zapłaty. Max256Text |
| Request Body.mandate | częstotliwość | FrequencyTypeCode | Wymagane | Regularność, z jaką instrukcje mają być tworzone i przetwarzane. „OOFF” – „One-Off” (Instrukcja polecenia zapłaty, w której za zgodą dłużnika inicjuje się jedną pojedynczą transakcję polecenia zapłaty) „RCUR” – „Recurring” (Instrukcja polecenia zapłaty, w przypadku której wykorzystuje się autoryzację dłużnika do regularnych transakcji polecenia zapłaty inicjowanych przez wierzyciela) Exact4Text |
| Treść żądania | creditor | creditor | Wymagane | Informacje o wierzycielu |
| Request Body.creditor | creditorId | Ciąg | Wymagane | Identyfikacja Wierzycieli, m.in. identyfikator wierzyciela SEPA. Max35Text |
| Treść żądania | dłużnik | dłużnik | Wymagane | Informacje o dłużniku |
| Request Body.debtor | customerFullName | Ciąg | Wymagane | Imię i nazwisko klienta. Max140Text |
| Request Body.debtor | customerEmail | Ciąg | Wymagane | Email klienta. Max255Text |
| Request Body.debtor | customerAddress | Ciąg | Wymagane | Adres klienta. Max140Text |
| Request Body.debtor | customerAddressPostalCode | Ciąg | Wymagane | Kod pocztowy adresu klienta. Max16Text |
| Request Body.debtor | customerAddressCity | Ciąg | Wymagane | Miasto adresu klienta. Max35Text |
| Request Body.debtor | customerAddressCountry | Ciąg | Wymagane | Kraj adresu klienta. ISO Alpha2 |
| Treść żądania | terminalCode | Liczba całkowita | Wymagane | Kod terminala MaxInclusive value=”999999999″ |
Oto przykład, jak utworzyć zlecenie za pomocą iDeal:
{
"terminalCode": {{TerminalIDPPRO}},
"gatewayId": "ideal",
"info": {
"deviceInfo": {
"browserAcceptHeader": "application/json, text/plain, */*",
"browserJavaEnabled": "false",
"browserLanguage": "en",
"browserColorDepth": "24",
"browserScreenHeight": "1080",
"browserScreenWidth": "1920",
"browserTZ": "-60",
"browserUserAgent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36",
"geoLocalization": "Lat: 38.7350528 | Long: -9.2143616",
"systemFamily": "Windows",
"systemVersion": "Windows",
"deviceID": "498bfd4c3a3645b38667a7037b616c18",
"applicationName": "Chrome",
"applicationVersion": "106"
},
"customerInfo": [
{
"key": "customerName",
"value": "Test Name"
},
{
"key": "customerEmail",
"value": "email@provider.com"
}
],
"accountInfo": {
"holderName": "User",
"customerCountry": "NL"
}
},
"mandate": {
"mandateId": "mandateID",
"mandateDescription": "mandateDescription",
"frequency": "OOFF",
"serviceType": "CORE"
},
"creditor": {
"creditorId": "NL89ZZZOP4GBH51AL8LS3DY1QG"
},
"debtor": {
"customerFullName": "Testing Customer Name",
"customerEmail": "email@provider.com",
"customerAddress": "Full Address testing",
"customerAddressPostalCode": "1011AA",
"customerAddressCity": "TestCity",
"customerAddressCountry": "NL"
},
"merchant": {
"merchantURL": "https://egadget2.azurewebsites.net/#/returns?id={{transactionId}}"
},
"transactionalScope": "SPDD"
}
Następnie możesz wykonać operację „Uzyskaj status”, aby sprawdzić status.
W rezultacie otrzymasz TokenValue, który zostanie wykorzystany w kolejnych krokach.
Nagłówek HTTP autoryzacji jest ustawiony na token okaziciela, tak jak był używany podczas początkowej realizacji transakcji.
GET {transactionID}/status
Adres URL żądania:
https://stargate.qly.site1.sibs.pt/api/v1/payments/{transactionID}/status
Nagłówki żądań:
Authorization: ‘Bearer <AuthToken>’
X-IBM-Client-Id: ‘<ClientId>’
Content-Type: application/json
Następnie konieczne jest szybkie przekierowanie użytkownika do Hosta płatności.
Krok 3: Przedstaw inkaso polecenia zapłaty SEPA
Operacja SEPA DD Collection polega na odzyskaniu informacji zgromadzonych podczas tworzenia zlecenia pomiędzy Wierzycielem a Dłużnikiem.
Interfejs, do którego ma mieć dostęp Akceptant, umożliwiający wykonanie operacji bieżącego odbioru polecenia zapłaty SEPA za pośrednictwem bramki płatniczej SIBS, z wykorzystaniem interfejsu API.
Po zainicjowaniu Present SEPA DD Collection pobierane są informacje zapisane podczas tworzenia pełnomocnictwa dotyczącego Wierzyciela i Dłużnika. Otrzymana odpowiedź wskazuje status transakcji.
Punkty końcowe:
| Środowisko | URL | Metoda działania i endpointy | Opis działania |
|---|---|---|---|
| PROD | api.sibsgateway.com | POST {version-id}/mandates/{token-id}/sepadd/collect | Żąda danych zarejestrowanych przy tworzeniu zlecenia przy użyciu metody SEPA DD Collection. |
| TEST | stargate.qly.site[1|2].sibs.pt | POST {version-id}/mandates/{token-id}/sepadd/collect | Żąda danych zarejestrowanych przy tworzeniu zlecenia przy użyciu metody SEPA DD Collection. |
Pamiętaj, aby uwzględnić następujące istotne elementy zgodnie z instrukcją:
| Lokalizacja | Element danych | Typ | Stan | Opis |
|---|---|---|---|---|
| Path | token-id | Ciąg | Warunkowy | Identyfikator transakcji |
Parametry nagłówka:
| Lokalizacja | Element danych | Typ | Stan | Opis |
|---|---|---|---|---|
| Nagłówek żądania | Content-Type | Ciąg | Wymagane | application/json |
| Nagłówek żądania | upoważnienie | Ciąg | Wymagane | Token okaziciela. W oparciu o uwierzytelnianie OAuth2 wykonywane w kroku wstępnym. |
| Nagłówek żądania | x-ibm-client-id | Ciąg | Wymagane | Token identyfikujący organizację klienta. Jest on dostarczany podczas procesu wdrażania i musi być używany w każdym połączeniu. |
Parametry żądania:
| Lokalizacja | Element danych | Typ | Stan | Opis |
|---|---|---|---|---|
| Treść żądania | info | Info | Wymagane | Obiekt definiujący dodatkowe informacje o transakcji. |
| Request Body.info | customData | customData | Wymagane | Tablica krotek wartości klucza. |
| Request Body.info.customData | klucz | ciąg | Opcjonalnie | |
| Request Body.info.customData | wartość | ciąg | Opcjonalnie | |
| Treść żądania | sprzedawca | sprzedawca | Wymagane | Obiekt definiujący merchanta. |
| Request Body.merchant | terminalId | ciąg | Wymagane | Identyfikacja Terminala merchanta. Maximum length is 10. |
| Request Body.merchant | merchantTransactionId | ciąg | Wymagane | Unikalny identyfikator używany przez sprzedawcę. Maksymalna długość to 35. |
| Request Body.merchant | transactionDescription | ciąg | Opcjonalnie | Krótki opis transakcji sprzedawcy. Maksymalna długość to 256. |
| Treść żądania | zlecenie | zlecenie | Wymagane | Szczegółowe dane dotyczące istniejącego zlecenia pomiędzy wierzycielem a dłużnikiem. |
| Request Body.mandate | tokenId | ciąg | Wymagane | Wartość tokenu powiązana z identyfikatorem zlecenia. Maksymalna długość to 35. |
| Request Body.mandate | kwota | kwota | Wymagane | Parametr z wartością i walutą transakcji. |
| Request Body.mandate.amount | wartość | liczba (podwójna) | Wymagane | Kwota do zebrania. |
| Request Body.mandate.amount | waluta | currencyCode | Wymagane | Waluta użyta w transakcji. ISO 4217 Alpha-3 Code. |
| Request Body.mandate | dueDate | ciąg | Wymagane | Termin odbioru. Data. |
Oto przykład wykonania kolekcji zleceń:
{
"merchant": {
"terminalId": "{{TerminalIDPPRO}}",
"channel": "web",
"merchantTransactionId": "7235666",
"transactionDescription": "transaction short description",
"shopURL": "https://mytest.e-shop.pl/"
},
"mandate": {
"tokenId": "{{tokenId}}",
"amount": {
"value": 1,
"currency": "EUR"
},
"dueDate": "{{dueDate}}"
},
"customer": {
"customerInfo": [
{
"key": "customerName",
"value": "Test Name"
},
{
"key": "customerEmail",
"value": "email@provider.com"
}
]
}
}
Wskazanie pomyślnej odpowiedzi technicznej obejmuje status HTTP-200 i „returnStatus.statusCode” o wartości „000” w odpowiedzi na zbiórkę SEPA DD.
Krok 4: Uzyskaj szczegóły tokena SEPA DD
Dodatkowo powinieneś wykonać operację „Uzyskaj szczegóły tokenu” zgodnie z poniższymi informacjami, aby w dowolnym momencie sprawdzić informacje dotyczące upoważnienia:
GET version-id/token/details
Nagłówki żądań:
Authorization: ‘Bearer <AuthToken>’
X-IBM-Client-Id: ‘<ClientId>’
Content-Type: application/json
Wskazanie pomyślnej odpowiedzi SEPA DD Collection obejmuje status HTTP-200. Zawiera także „status” tokena, który może mieć różne wartości, jak pokazano w poniższej tabeli.
| Token „status” | Krótki opis „statusu” tokena |
|---|---|
| INTT | Zapoczątkowany |
| PDNG | w trakcie |
| ACTV | Aktywny |
| INCT | Nieaktywny |
| SSPN | Zawieszony |
| EXPR | Wygasły |
| CNCL | Odwołany |
| RJCT | Odrzucony |
| RFSD | Odrzucony |