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ści | Kategoria | Kraj | Waluta | Funkcje | Integracje |
---|---|---|---|---|---|
SOFORT | Bankowość online | Niemcy, Holandia, Polska, Hiszpania | EUR | Częściowy zwrot Zwrot Anulowanie | API Forma płatności Wtyczka Prestashop Wtyczka WooCommerce Wtyczka Magento |
Jak używać SOFORT
Oto jak przebiega ten proces:
- Na stronie internetowej sprzedawcy klient wybiera SOFORT jako wybraną metodę płatności.
- Klient jest przekierowywany na stronę, na której może wyszukać i wybrać preferowany bank z listy.
- Następnie są przekierowywani do środowiska online wybranego banku.
- Klient loguje się na swoje konto bankowe przy użyciu swoich danych logowania.
- Następnie klient sprawdza szczegóły płatności przed potwierdzeniem transakcji poprzez wprowadzenie kodu autoryzacji transakcji.
- Na koniec klient jest płynnie przekierowywany z powrotem na stronę sprzedawcy.
- 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):
Environment | URL | Operation Method & Endpoint | Operation Description |
---|---|---|---|
PROD | api.sibsgateway.com | POST {version-id}/payments/{id}/pbl/payment-link | Perform the transaction and redirect user to Payment Host. |
TEST | stargate-cer.qly.site[1|2].sibs.pt | POST {version-id}/payments/{id}/pbl/payment-link | Perform the transaction and redirect user to Payment Host. |
Upewnij się, że zawierasz te niezbędne elementy, jak określono:
Location | Data Element | Type | Condition | Description |
---|---|---|---|---|
Path | id | String | Mandatory | Used to identify the transaction |
Parametry nagłówka:
Location | Data Element | Type | Condition | Description |
---|---|---|---|---|
Request Header | Content-Type | String | Mandatory | application/json |
Request Header | Authorization | String | Mandatory | Authorization Digest |
Parametry żądania:
Lokalizacja | Element danych | Typ | Warunek | Opis |
---|---|---|---|---|
Request Body | userAcceptanceIndicator | Boolean | Obowiązkowe | Wskazuje, czy użytkownik zaakceptował Regulamin w celu kontynuowania płatności. |
Request Body | gatewayId | String | Obowiązkowe | Identyfikator kanału płatności dla kanału, którego klient zamierza użyć do dokonania płatności. Warość: ’directpay’ – Sofort; |
Request Body | info | Info | Obowiązkowe | Obiekt definiujący dodatkowe informacje o transakcji. |
Request Body.info | deviceInfo | DeviceInfo | Opcjonalne | Obiekt definiujący informacje o urządzeniu klienta. |
Request Body.info.deviceInfo | browserAcceptHeader | string | Opcjonalne | Nagłówek akceptacji przeglądarki |
Request Body.info.deviceInfo | browserJavaEnabled | string | Opcjonalne | Przeglądarka z włączoną obsługą Java |
Request Body.info.deviceInfo | browserLanguage | string | Opcjonalne | Język przeglądarki |
Request Body.info.deviceInfo | browserColorDepth | string | Opcjonalne | Głębia kolorów przeglądarki |
Request Body.info.deviceInfo | browserScreenHeight | string | Opcjonalne | Wysokość ekranu przeglądarki |
Request Body.info.deviceInfo | browserScreenWidth | string | Opcjonalne | Szerokość ekranu przeglądarki |
Request Body.info.deviceInfo | browserTZ | string | Opcjonalne | Strefa czasowa przeglądarki |
Request Body.info.deviceInfo | browserUserAgent | string | Opcjonalne | Agent użytkownika przeglądarki |
Request Body.info.deviceInfo | systemFamily | string | Opcjonalne | System |
Request Body.info.deviceInfo | systemVersion | string | Opcjonalne | Wersja systemu |
Request Body.info.deviceInfo | systemArchitecture | string | Opcjonalne | Architektura systemu |
Request Body.info.deviceInfo | deviceManufacturer | string | Opcjonalne | Producent urządzenia |
Request Body.info.deviceInfo | deviceModel | string | Opcjonalne | Model urządzenia |
Request Body.info.deviceInfo | deviceID | string | Opcjonalne | Unikalny identyfikator urządzenia |
Request Body.info.deviceInfo | applicationName | string | Opcjonalne | Nazwa aplikacji |
Request Body.info.deviceInfo | applicationVersion | string | Opcjonalne | Wersja aplikacji |
Request Body.info.deviceInfo | geoLocalization | string | Opcjonalne | Geolokalizacja |
Request Body.info.deviceInfo | ipAddress | string | Opcjonalne | Adres IP |
Request Body | customerInfo | CustomerInfo | Opcjonalne | Wartość klucza dla tablicy krotek |
Request Body.customerInfo | key | string | Obowiązkowe | Używane do podania „customerName”, „customerEmail”. |
Request Body.customerInfo | value | string | Obowiązkowe | Używane do podania „customerName”, „customerEmail”. |
Request Body | merchant | Merchant | Opcjonalne | Dane sprzedawcy |
Request Body.merchant | merchantURL | string | Obowiązkowe | Adres URL sklepu sprzedawcy do przekierowania. |
Request Body.info | accountInfo | AccountInfo | Opcjonalne | Dane związane z kontem. Ma zastosowanie, gdy gatewayId zawiera 'directpay’. |
Request Body.info.accountInfo | holderName | Max100Text | Opcjonalne | Nazwa posiadacza rachunku. UTF-8 Format. |
Request Body.info.accountInfo | customerCountry | Country Code | Opcjonalne | Kod 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 Code | statusMsg | Description | Action |
---|---|---|---|
HTTP-200 | Success | Success response | N/A |
HTTP-400 | Bad Request | The 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-401 | Unauthorized | On 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-403 | Forbidden | The 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-405 | Method Not Allowed | The HTTP Method used is not matching any of the API definitions available. | Please check in API Market for the correct HTTP Method. |
HTTP-429 | Too Many Requests | The API calls rate limit has been exceeded. | Please check in API Market for information on the rate limits that apply to the API. |
HTTP-500 | Internal Server Error | The 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-503 | Service Unavailable | The 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. |