Skip to content

Google Pay

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ściKategoriaKrajeWalutyCechyIntegracje
GooglePayCyfrowy portfelCzechy, Francja, Niemcy, Portugalia, Polska, Rumunia, Słowacja, SłoweniaCZK, EUR, PLN, RONWstę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.

Info

Google Pay obsługuje szereg przeglądarek internetowych, w tym Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Edge, Opera i UCWeb UC Browser.

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.

EnvironmentURLOperation Method & EndpointOperation Description
PRODapi.sibsgateway.comPOST version-id/{id}/xpay/paymentRequests the payment registered by the previous checkout using xpay payment details inserted by the customer.
TESTstargate-cer.qly.site[1|2].sibs.ptPOST version-id/{id}/xpay/paymentRequests the payment registered by the previous checkout using xpay payment details inserted by the customer.

Poniższy komunikat przedstawia żądanie płatności GooglePay:

LocationData ElementTypeConditionDescription
PathidStringConditionalTransaction Id
Parametry nagłówka:
LokalizacjaElement danychTypStanOpis
Nagłówek żądaniaTyp zawartościCiągObowiązkowyaplikacja/json
Wniosek
Nagłówek
UpoważnienieCiągObowiązkowyToken okaziciela. Na podstawie uwierzytelniania OAuth2 przeprowadzonego na etapie wstępnym.
Nagłówek żądaniax-ibm-client-idCiągObowiązkowyToken identyfikujący organizację klienta. Jest on przekazywany podczas procesu onboardingu i należy go stosować podczas każdej rozmowy.
Parametry żądania:
LocationData ElementTypeConditionDescription
Request BodytokenInfoTokenInfoConditionalPayment Tokens
Request Body.tokenInfotokenNameStringOptionalToken Name
Request Body.tokenInfotokenTypeStringMandatoryToken Type.
Possible values are („ApplePay”, „GooglePay”).
Request Body.tokenInfovalueStringMandatoryToken Value
Request BodyinfoInfoMandatoryObject that defines the transaction additional information.
Request Body.infodeviceInfoDeviceInfoMandatoryObject that defines the customer device information.
Request Body.info.deviceInfobrowserAcceptHeaderStringOptionalBrowser Accept Header
Request Body.info.deviceInfobrowserJavaEnabledStringOptionalBrowser Java Enabled
Request Body.info.deviceInfobrowserJavascriptEnabledStringOptionalBrowser Javascript Enabled
Request Body.info.deviceInfobrowserLanguageStringOptionalbrowser Language
Request Body.info.deviceInfobrowserColorDepthStringOptionalbrowser Color Depth
Request Body.info.deviceInfobrowserScreenHeightStringOptionalbrowser Screen Height
Request Body.info.deviceInfobrowserScreenWidthStringOptionalbrowser Screen Width
Request Body.info.deviceInfobrowserTZStringOptionalBrowser Time Zone
Request Body.info.deviceInfobrowserUserAgentStringOptionalBrowser User Agent
Request Body.info.deviceInfosystemFamilyStringOptionalSystem Family
Request Body.info.deviceInfosystemVersionStringOptionalSystem Version
Request Body.info.deviceInfosystemArchitectureStringOptionalSystem Architecture
Request Body.info.deviceInfodeviceManufacturerStringOptionalSystem Manufacturer
Request Body.info.deviceInfodeviceModelStringOptionalDevice Model
Request Body.info.deviceInfodeviceIDStringOptionalDevice Unique Identification
Request Body.info.deviceInfoapplicationNameStringOptionalApplication Name
Request Body.info.deviceInfoapplicationVersionStringOptionalApplication Version
Request Body.info.deviceInfogeoLocalizationStringOptionalGeolocation
Request Body.info.deviceInfoipAddressStringOptionalIP Address
Request Body.infocustomerInfoCustomerInfoMandatoryKey Value tuple array.
Request Body.info.customerInfokeyStringOptional
Request Body.info.customerInfovalueStringOptional

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:

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.