Skip to content

SOFORT

Zacznij akceptować płatności za pośrednictwem SOFORT, SOFORT, szeroko stosowanej metody w Europie.

Umożliwia ona klientom dokonywanie płatności bezpośrednio z ich kont bankowych przy użyciu danych bankowości internetowej. Po dokonaniu zakupu otrzymują oni potwierdzenie transakcji, co umożliwia szybkie przetworzenie zamówienia.

Opcja płatnościKategoriaKrajWalutaFunkcjeIntegracje
SOFORTBankowość onlineNiemcy, Holandia, Polska, HiszpaniaEURCzęściowy zwrot
Zwrot
Anulowanie
API
Forma płatności
Wtyczka Prestashop
Wtyczka WooCommerce
Wtyczka Magento

Jak używać SOFORT

Oto jak przebiega ten proces:

  1. Na stronie internetowej sprzedawcy klient wybiera SOFORT jako wybraną metodę płatności.
  2. Klient jest przekierowywany na stronę, na której może wyszukać i wybrać preferowany bank z listy.
  3. Następnie są przekierowywani do środowiska online wybranego banku.
  4. Klient loguje się na swoje konto bankowe przy użyciu swoich danych logowania.
  5. Następnie klient sprawdza szczegóły płatności przed potwierdzeniem transakcji poprzez wprowadzenie kodu autoryzacji transakcji.
  6. Na koniec klient jest płynnie przekierowywany z powrotem na stronę sprzedawcy.
  7. Sprzedawca otrzymuje powiadomienie o płatności.

Jak to działa

Poniżej znajduje się niezbędny przewodnik przedstawiający kluczowe kroki niezbędne do integracji metody płatności SOFORT.

Krok 1: Utwórz zamówienie
Krok 2: Uzyskaj link do płatności
Krok 3: Uzyskanie statusu płatności
Krok 1: Utwórz zamówienie

Upewnij się, że zainicjowałeś żądanie zamówienia z SOFORT („SFRT”) jako wybraną metodą płatności (transaction.paymentMethod) i ustaw preferencje językowe klienta w customerInfo.customerLanguage.

Krok 2: Uzyskaj link do płatności

Postępuj zgodnie z poniższymi instrukcjami, aby uzyskać link do płatności, aby przekierować klienta na bezpieczną stronę płatności w celu uwierzytelnienia i autoryzacji płatności.

Należy pamiętać, że poniższe żądanie wymaga nagłówka autoryzacji zawierającego podpis transactionSignature uzyskany w poprzednim kroku.

Punkty końcowe (Endpoints):
EnvironmentURLOperation Method & EndpointOperation Description
PRODapi.sibsgateway.comPOST {version-id}/payments/{id}/pbl/payment-linkPerform the transaction and redirect user to Payment Host.
TESTstargate-cer.qly.site[1|2].sibs.ptPOST {version-id}/payments/{id}/pbl/payment-linkPerform the transaction and redirect user to Payment Host.

Upewnij się, że zawierasz te niezbędne elementy, jak określono:

LocationData ElementTypeConditionDescription
PathidStringMandatoryUsed to identify the transaction
Parametry nagłówka:
LocationData ElementTypeConditionDescription
Request HeaderContent-TypeStringMandatoryapplication/json
Request HeaderAuthorizationStringMandatoryAuthorization Digest
Parametry żądania:
LokalizacjaElement danychTypWarunekOpis
Request BodyuserAcceptanceIndicatorBooleanObowiązkoweWskazuje, czy użytkownik zaakceptował Regulamin w celu kontynuowania płatności.
Request BodygatewayIdStringObowiązkoweIdentyfikator kanału płatności dla kanału, którego klient zamierza użyć do dokonania płatności.
Warość:
’directpay’ – Sofort;
Request BodyinfoInfoObowiązkoweObiekt definiujący dodatkowe informacje o transakcji.
Request Body.infodeviceInfoDeviceInfoOpcjonalneObiekt definiujący informacje o urządzeniu klienta.
Request Body.info.deviceInfobrowserAcceptHeaderstringOpcjonalneNagłówek akceptacji przeglądarki
Request Body.info.deviceInfobrowserJavaEnabledstringOpcjonalnePrzeglądarka z włączoną obsługą Java
Request Body.info.deviceInfobrowserLanguagestringOpcjonalneJęzyk przeglądarki
Request Body.info.deviceInfobrowserColorDepthstringOpcjonalneGłębia kolorów przeglądarki
Request Body.info.deviceInfobrowserScreenHeightstringOpcjonalneWysokość ekranu przeglądarki
Request Body.info.deviceInfobrowserScreenWidthstringOpcjonalneSzerokość ekranu przeglądarki
Request Body.info.deviceInfobrowserTZstringOpcjonalneStrefa czasowa przeglądarki
Request Body.info.deviceInfobrowserUserAgentstringOpcjonalneAgent użytkownika przeglądarki
Request Body.info.deviceInfosystemFamilystringOpcjonalneSystem
Request Body.info.deviceInfosystemVersionstringOpcjonalneWersja systemu
Request Body.info.deviceInfosystemArchitecturestringOpcjonalneArchitektura systemu
Request Body.info.deviceInfodeviceManufacturerstringOpcjonalneProducent urządzenia
Request Body.info.deviceInfodeviceModelstringOpcjonalneModel urządzenia
Request Body.info.deviceInfodeviceIDstringOpcjonalneUnikalny identyfikator urządzenia
Request Body.info.deviceInfoapplicationNamestringOpcjonalneNazwa aplikacji
Request Body.info.deviceInfoapplicationVersionstringOpcjonalneWersja aplikacji
Request Body.info.deviceInfogeoLocalizationstringOpcjonalneGeolokalizacja
Request Body.info.deviceInfoipAddressstringOpcjonalneAdres IP
Request BodycustomerInfoCustomerInfoOpcjonalneWartość klucza dla tablicy krotek
Request Body.customerInfokeystringObowiązkoweUżywane do podania „customerName”, „customerEmail”.
Request Body.customerInfovaluestringObowiązkoweUżywane do podania „customerName”, „customerEmail”.
Request BodymerchantMerchantOpcjonalneDane sprzedawcy
Request Body.merchantmerchantURLstringObowiązkoweAdres URL sklepu sprzedawcy do przekierowania.
Request Body.infoaccountInfoAccountInfoOpcjonalneDane związane z kontem.
Ma zastosowanie, gdy gatewayId zawiera 'directpay’.
Request Body.info.accountInfoholderNameMax100TextOpcjonalneNazwa posiadacza rachunku. UTF-8 Format.
Request Body.info.accountInfocustomerCountryCountry CodeOpcjonalneKod kraju klienta. Alpha2

Oto przykład, jak uzyskać link do płatności:

{
 "userAcceptanceIndicator": true,
 "gatewayId": "directpay",
 "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": "Test Name",
 "customerCountry": "NL"
 }
 },
 "merchant": {
 "merchantURL": https://egadget2.azurewebsites.net/#/returns?id={{transactionId}}
 }
}

Po pomyślnym zakończeniu operacji pojawi się komunikat „pending” paymentStatus .

Użytkownik jest następnie przekierowywany do środowiska potwierdzenia płatności, a następnie płynnie powraca do adresu URL sprzedawcy.

Krok 3: Uzyskanie statusu płatności

Możesz wykonać operację „Get Status”, aby sprawdzić status w dowolnym momencie.

Nagłówek HTTP Authorization jest ustawiony na token Bearer, który został użyty w początkowym Checkoucie.

GET {transactionID}/status
Żądanie URL:
https://stargate-cer.qly.site1.sibs.pt/api/v1/payments/{transactionID}/status
Nagłówki żądań:
Authorization: ‘Bearer <AuthToken>’
X-IBM-Client-Id: ‘<ClientId>’
Content-Type: application/json

Pomyślna odpowiedź techniczna składa się ze statusu HTTP-200 i returnStatus.statusCode=”000″.

Oto kilka przykładów możliwych kodów wyników:

Result CodestatusMsgDescriptionAction
HTTP-200SuccessSuccess responseN/A
HTTP-400Bad RequestThe JSON payload is not matching the API definition or some mandatory HTTP headers are missing.Please check in API Market for the correct syntax.
HTTP-401UnauthorizedOn the Authorization, Bearer token is invalid/expired or not associated with the Terminal used.Please check in SIBS Backoffice under the Credentials if the token is valid and create a new one if needed.
HTTP-403ForbiddenThe ClientID set on the X-IBM-Client-Id HTTP header is not valid or does not possess a valid subscription to the API.Please check in SIBS Backoffice under the SPG APP 2.0 if the ClientID is correct. If the problem persists contact SIBS Gateway support for a ClientID reset.
HTTP-405Method Not AllowedThe HTTP Method used is not matching any of the API definitions available.Please check in API Market for the correct HTTP Method.
HTTP-429Too Many RequestsThe API calls rate limit has been exceeded.Please check in API Market for information on the rate limits that apply to the API.
HTTP-500Internal Server ErrorThe API call has failed… and its most likely on our side.You should retry the operation, and if the problem persists contact SIBS Gateway support for assistance.
HTTP-503Service UnavailableThe API call is not currently available. Usually we are always on, but short availability issues may occur during scheduled maintenance.You should wait and try again later.