Bankowość internetowa jest bardzo popularna w Polsce, a Przelewy24 czynią ją jeszcze wygodniejszą.
Przelewy24, znane jako P24, współpracują z ponad 165 bankami, upraszczając proces płatności. Kupujący wybierają bank wydający i dokonują płatności na platformie banku, bez konieczności ręcznego podawania danych przelewu, co przyspiesza proces.
Sprzedawcy mogą szybko rozpocząć działalność bez konieczności posiadania oddzielnego konta P24.
Opcja płatności | Kategoria | Kraje | Waluty | Funkcjonalności | Integracje |
---|---|---|---|---|---|
Przelewy24 | Bankowość internetowa | Polska | EUR, PLN | Częściowy zwrot kosztów Zwroty kosztów Anulowanie | API Formularz Płatności Wtyczka Prestashop Wtyczka WooCommerce Wtyczka Magento |
Jak korzystać z Przelewy24
Proces ten przebiega w następujący sposób:
- Klient inicjuje proces płatności, wybierając P24 jako preferowaną metodę płatności na stronie płatności sprzedawcy.
- Następnie klient zostanie przekierowany na stronę płatności P24, gdzie będzie mógł wybrać swój bank.
- Stamtąd klient jest przekierowywany do portalu bankowości internetowej swojego banku.
- Aby zatwierdzić transakcję, klient bezpiecznie loguje się na swoje konto bankowości internetowej.
- Po potwierdzeniu, klient jest szybko przekierowywany na stronę sprzedawcy w celu potwierdzenia płatności.
Jak to działa
Poniżej przedstawiamy najważniejsze kroki wymagane do integracji metody płatności Przelewy24.
Krok 1: Utwórz zamówienie
Krok 2: Uzyskaj link do płatności
Krok 3: Uzyskaj status płatności
Krok 1: Utwórz zamówienie
Pamiętaj, aby utworzyć żądanie zamówienia z Przelewy24 (“PY24”) jako wybraną metodę płatności (transaction.paymentMethod) i ustawić preferencje językowe klienta w customerInfo.customerLanguage.
Krok 2: Uzyskaj link do płatności
Przejdź do uzyskania linku do płatności, opisanego poniżej, 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 transactionSignature uzyskany w poprzednim kroku.
Punkty końcowe:
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 posiadasz te niezbędne elementy:
Location | Data Element | Type | Condition | Description |
---|---|---|---|---|
Path | id | String | Mandatory | Used to identify the transaction |
Header parameters:
Location | Data Element | Type | Condition | Description |
---|---|---|---|---|
Request Header | Content-Type | String | Mandatory | application/json |
Request Header | Authorization | String | Mandatory | Authorization Digest |
Request parameters:
Location | Data Element | Type | Condition | Description |
---|---|---|---|---|
Request Body | userAcceptanceIndicator | Boolean | Mandatory | Wskazuje, czy użytkownik zaakceptował Regulamin w celu kontynuowania płatności. |
Request Body | gatewayId | String | Mandatory | Identyfikator kanału płatności dla kanału, którego klient zamierza użyć do dokonania płatności. Value: 'p24′ – Przelewy24; |
Request Body | info | Info | Mandatory | Obiekt definiujący dodatkowe informacje o transakcji. |
Request Body.info | deviceInfo | DeviceInfo | Optional | Obiekt definiujący informacje o urządzeniu klienta. |
Request Body.info.deviceInfo | browserAcceptHeader | string | Optional | Browser Accept Header |
Request Body.info.deviceInfo | browserJavaEnabled | string | Optional | Browser Java Enabled |
Request Body.info.deviceInfo | browserLanguage | string | Optional | browser Language |
Request Body.info.deviceInfo | browserColorDepth | string | Optional | browser Color Depth |
Request Body.info.deviceInfo | browserScreenHeight | string | Optional | browser Screen Height |
Request Body.info.deviceInfo | browserScreenWidth | string | Optional | browser Screen Width |
Request Body.info.deviceInfo | browserTZ | string | Optional | Browser Time Zone |
Request Body.info.deviceInfo | browserUserAgent | string | Optional | Browser User Agent |
Request Body.info.deviceInfo | systemFamily | string | Optional | System Family |
Request Body.info.deviceInfo | systemVersion | string | Optional | System Version |
Request Body.info.deviceInfo | systemArchitecture | string | Optional | System Architecture |
Request Body.info.deviceInfo | deviceManufacturer | string | Optional | Device Manufacturer |
Request Body.info.deviceInfo | deviceModel | string | Optional | Device Model |
Request Body.info.deviceInfo | deviceID | string | Optional | Device Unique Identification |
Request Body.info.deviceInfo | applicationName | string | Optional | Application Name |
Request Body.info.deviceInfo | applicationVersion | string | Optional | Application Version |
Request Body.info.deviceInfo | geoLocalization | string | Optional | Geolocation |
Request Body.info.deviceInfo | ipAddress | string | Optional | IP Address |
Request Body | customerInfo | CustomerInfo | Optional | Key Value tuple array. |
Request Body.customerInfo | key | string | Mandatory | Used to supply „customerName”, „customerEmail”. |
Request Body.customerInfo | value | string | Mandatory | Used to supply „customerName”, „customerEmail”. |
Request Body | merchant | Merchant | Optional | Merchant Data |
Request Body.merchant | merchantURL | string | Mandatory | Merchant Shop URL for redirect. |
Request Body.info.accountInfo | holderName | Max100Text | Optional | Account Holder Name. UTF-8 Format. |
Request Body.info.accountInfo | customerCountry | Country Code | Optional | Customer Country Code. Alpha2 |
Oto przykładowy sposób uzyskania linku do płatności:
{
"userAcceptanceIndicator": true,
"gatewayId": "p24",
"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": "DE"
}
},
"merchant": {
"merchantURL": "https://egadget2.azurewebsites.net/#/returns?id={{transactionId}}"
}
}
Po pomyślnym zakończeniu operacji otrzymany zostanie status płatności paymentStatus „oczekujący”.
Użytkownik zostaje następnie przekierowany do środowiska potwierdzenia płatności, po czym powróci do adresu URL sprzedawcy.
Krok 3: Uzyskaj status płatności
Możesz wykonać operację „Get Status”, aby sprawdzić status w dowolnym momencie.
Nagłówek HTTP Authorization jest ustawiony na Bearer token, który został użyty w początkowym Checkoucie.
GET {transactionID}/status
Request URL:
https://stargate-cer.qly.site1.sibs.pt/api/v1/payments/{transactionID}/status
Request Headers:
Authorization: ‘Bearer <AuthToken>’
X-IBM-Client-Id: ‘<ClientId>’
Content-Type: application/json
Pomyślna odpowiedź techniczna składa się ze statusu HTTP-200 oraz returnStatus.statusCode=”000″.
Oto kilka przykładów możliwych kodów:
Kod wyniku | statusMsg | Opis | Akcja |
---|---|---|---|
HTTP-200 | Sukces | Odpowiedź powodzenia | Nie dotyczy |
HTTP-400 | Zła prośba | Ładunek JSON nie jest zgodny z definicją API lub brakuje niektórych obowiązkowych nagłówków HTTP. | Sprawdź w API Market poprawną składnię. |
HTTP-401 | Nieautoryzowany | W przypadku Autoryzacji token okaziciela jest nieprawidłowy/wygasł lub nie jest powiązany z używanym terminalem. | Sprawdź w SIBS Backoffice w sekcji Poświadczenia, czy token jest ważny i w razie potrzeby utwórz nowy. |
HTTP-403 | Zabroniony | Identyfikator klienta ustawiony w nagłówku HTTP X-IBM-Client-Id jest nieprawidłowy lub nie posiada prawidłowej subskrypcji interfejsu API. | Sprawdź w SIBS Backoffice w SPG APP 2.0, czy ClientID jest poprawny. Jeśli problem będzie się powtarzał, skontaktuj się z pomocą techniczną SIBS Gateway w celu zresetowania ClientID. |
HTTP-405 | Niedozwolona metoda | Zastosowana metoda HTTP nie jest zgodna z żadną dostępną definicją API. | Sprawdź w API Market poprawną metodę HTTP. |
HTTP-429 | Zbyt dużo zapytań | Przekroczono limit szybkości wywołań API. | Informacje na temat limitów stawek mających zastosowanie do API można znaleźć w API Market. |
HTTP-500 | Wewnętrzny błąd serwera | Wywołanie API nie powiodło się… i najprawdopodobniej jest to po naszej stronie. | Powinieneś ponowić operację, a jeśli problem będzie się powtarzał, skontaktuj się z pomocą techniczną SIBS Gateway w celu uzyskania pomocy. |
HTTP-503 | serwis niedostępny | Wywołanie API nie jest obecnie dostępne. Zwykle jesteśmy zawsze aktywni, ale podczas planowej konserwacji mogą wystąpić krótkie problemy z dostępnością. | Powinieneś poczekać i spróbować ponownie później. |