Dzięki Google Pay Twoi klienci mogą z łatwością dokonywać płatności w Twojej aplikacji lub witrynie przy użyciu dowolnej karty kredytowej lub debetowej powiązanej z ich kontem Google. Dotyczy to kart z usług takich jak Google Play, YouTube, Chrome lub dowolnego urządzenia z Androidem.
Gdy klient dokonuje płatności za pomocą Google Pay, wyświetla się arkusz płatności, który pozwala mu wybrać preferowaną kartę i bezpiecznie potwierdzić zakup.
Opcja płatności | Kategoria | Kraje | Waluty | Cechy | Integracje |
---|---|---|---|---|---|
Google Pay | Cyfrowy portfel | Czechy, Estonia, Francja, Niemcy, Polska, Portugalia, Rumunia, Słowacja | CZK, EUR, PLN, RON | Wstępnie autoryzowane przechwytywanie Zakup jednorazowy Częściowe przechwytywanie Częściowy zwrot pieniędzy Powtarzający się Zwroty pieniędzy Anulowanie | API Formularz Płatności Wtyczka Prestashop Wtyczka WooCommerce Wtyczka Magento |
Zanim zaczniesz
Aby rozpocząć przetwarzanie płatności Google Pay, pierwszy krok obejmuje konfigurację Google Pay. Po pomyślnej konfiguracji zyskujesz możliwość włączenia przycisku Google Pay na stronie płatności i bezpiecznego żądania zaszyfrowanych szczegółów płatności od swoich klientów.
Przed rozpoczęciem transmisji na żywo musisz ściśle przestrzegać postanowień określonych w Zasadach dopuszczalnego użytkowania interfejsu Google Pay API.
Włącz Google Pay
Aby rozpocząć ten proces, musisz być zalogowany przy użyciu konta Google Developer.
Wiąże się to z dokończeniem rejestracji w Konsoli Google Pay & Wallet i wybraniem „Brama” jako Typ integracji Google Pay API.
Po zakończeniu tego procesu uzyskasz możliwość zainicjowania płatności.
Dokonać płatności
W pierwszej kolejności należy zainicjować tworzenie zamówienia.
Po wygenerowaniu żądania zamówienia pamiętaj o podaniu „XPAY” jako metody płatności.
Następnie złóż wniosek o płatność zgodnie z poniższym szczegółowym komunikatem.
Environment | URL | Operation Method & Endpoint | Operation Description |
---|---|---|---|
PROD | api.sibsgateway.com | POST version-id/{id}/xpay/payment | Requests the payment registered by the previous checkout using xpay payment details inserted by the customer. |
TEST | stargate-cer.qly.site[1|2].sibs.pt | POST version-id/{id}/xpay/payment | Requests the payment registered by the previous checkout using xpay payment details inserted by the customer. |
Poniższy komunikat przedstawia żądanie płatności GooglePay:
Location | Data Element | Type | Condition | Description |
---|---|---|---|---|
Path | id | String | Conditional | Transaction Id |
Parametry nagłówka:
Lokalizacja | Element danych | Typ | Stan | Opis |
---|---|---|---|---|
Nagłówek żądania | Typ zawartości | Ciąg | Obowiązkowy | aplikacja/json |
Wniosek Nagłówek | Upoważnienie | Ciąg | Obowiązkowy | Token okaziciela. Na podstawie uwierzytelniania OAuth2 przeprowadzonego na etapie wstępnym. |
Nagłówek żądania | x-ibm-client-id | Ciąg | Obowiązkowy | Token identyfikujący organizację klienta. Jest on przekazywany podczas procesu onboardingu i należy go stosować podczas każdej rozmowy. |
Parametry żądania:
Lokalizacja | Element Danych | Typ | Stan | Opis |
---|---|---|---|---|
Treść żądania | tokenInfo | TokenInfo | Warunkowy | Tokeny płatnicze |
Żądanie Body.tokenInfo | tokenName | Ciąg | Opcjonalny | Nazwa tokena |
Żądanie Body.tokenInfo | tokenType | Ciąg | Obowiązkowe | Typ tokena. Możliwe wartości to („ApplePay”, „GooglePay”). |
Żądanie Body.tokenInfo | value | Ciąg | Obowiązkowe | Wartość tokena |
Treść żądania | info | Informacja | Obowiązkowe | Obiekt definiujący dodatkowe informacje o transakcji. |
Zapytanie Body.info | deviceInfo | Informacje o urządzeniu | Obowiązkowe | Obiekt definiujący informacje o urządzeniu klienta. |
Zapytanie Body.info.deviceInfo | browserAcceptHeader | Ciąg | Opcjonalny | Browser Accept Header |
Zapytanie Body.info.deviceInfo | browserJavaEnabled | Ciąg | Opcjonalny | Przeglądarka Java włączona |
Zapytanie Body.info.deviceInfo | browserJavascriptEnabled | Ciąg | Opcjonalny | Przeglądarka z włączonym JavaScriptem |
Zapytanie Body.info.deviceInfo | browserLanguage | Ciąg | Opcjonalny | Język przeglądarki |
Zapytanie Body.info.deviceInfo | browserColorDepth | Ciąg | Opcjonalny | Głębia kolorów przeglądarki |
Zapytanie Body.info.deviceInfo | browserScreenHeight | Ciąg | Opcjonalny | Wysokość ekranu przeglądarki |
Zapytanie Body.info.deviceInfo | browserScreenWidth | Ciąg | Opcjonalny | szerokość ekranu przeglądarki |
Zapytanie Body.info.deviceInfo | browserTZ | Ciąg | Opcjonalny | Strefa czasowa przeglądarki |
Zapytanie Body.info.deviceInfo | browserUserAgent | Ciąg | Opcjonalny | Agent użytkownika przeglądarki |
Zapytanie Body.info.deviceInfo | systemFamily | Ciąg | Opcjonalny | Rodzina systemowa |
Zapytanie Body.info.deviceInfo | systemVersion | Ciąg | Opcjonalny | Wersja systemu |
Zapytanie Body.info.deviceInfo | systemArchitecture | Ciąg | Opcjonalny | architektura systemu |
Zapytanie Body.info.deviceInfo | deviceManufacturer | Ciąg | Opcjonalny | Producent systemu |
Zapytanie Body.info.deviceInfo | deviceModel | Ciąg | Opcjonalny | Model urządzenia |
Zapytanie Body.info.deviceInfo | deviceID | Ciąg | Opcjonalny | Unikalna identyfikacja urządzenia |
Zapytanie Body.info.deviceInfo | applicationName | Ciąg | Opcjonalny | Nazwa aplikacji |
Zapytanie Body.info.deviceInfo | applicationVersion | Ciąg | Opcjonalny | Wersja aplikacji |
Zapytanie Body.info.deviceInfo | geoLocalization | Ciąg | Opcjonalny | Geolokalizacja |
Zapytanie Body.info.deviceInfo | ipAddress | Ciąg | Opcjonalny | Adres IP |
Zapytanie Body.info | customerInfo | Informacje o kliencie | Obowiązkowe | Tablica krotności wartości klucza. |
Zapytanie Body.info.customerInfo | key | Ciąg | Opcjonalny | |
Zapytanie Body.info.customerInfo | value | Ciąg | Opcjonalny |
Oto przykład transakcji Google Pay:
{
"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
}
]
},
"tokenInfo": {
"tokenType": "googlePay",
"value": "eyJzaWduYXR1cmUiOiJNRVVDSVFDVXkvSU1SVEErRk9UbjNhdERHQlQvVHZYOWZQdE8wSFhydGVBcWNJb9In0="
}
}
Po zaksięgowaniu wpłaty otrzymasz odpowiedź informującą o statusie transakcji.
Dodatkowo możesz w dowolnym momencie wykonać operację „Pobierz status”, aby sprawdzić status.
Nagłówek HTTP autoryzacji jest ustawiony na token nośnika, tak jak był używany podczas początkowej realizacji transakcji.
GET {transactionID}/status
Adres URL żądania:
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:
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. |