Przejdź do głównej zawartości

Google Pay

Wstęp

Google Pay™ to portfel cyfrowy, który upraszcza płatności kartą, umożliwiając szybkie i bezproblemowe transakcje bez konieczności wielokrotnego wprowadzania danych karty. Ta opcja jest kompatybilna ze wszystkimi urządzeniami (telefonami komórkowymi i komputerami), niezależnie od systemu operacyjnego i przeglądarki internetowej.

W Przypadku gdy Akceptant korzysta z usługi Google Pay zobowiązuje się do stosowania postanowień regulaminu usługi.

Notatka

Poniższy opis dotyczy udostępnienia tej usługi poprzez wyświetlenie lightboxa Google Pay bezpośrednio na stronie odbiorcy płatności (sklepu internetowego) lub w aplikacji mobilnej.


W celu skorzystania z tej metody płatności poprzez jej wybór na stronie płatniczej PayU, nie jest konieczna żadna dodatkowa integracja.

Integracja web Google Pay

Aby zintegrować stronę internetową z płatnością Google Pay, postępuj zgodnie z instrukcjami na stronach:

Parametr gateway powinien w skrypcie przyjąć stałą wartość payu, zgodnie z poniższym przykładem:

const tokenizationSpecification = {
type: 'PAYMENT_GATEWAY',
parameters: {
gateway: 'payu',
gatewayMerchantId: '[Point of Service Id (pos_id)]',
},
}

Wartością parametru gatewayMerchantId powinien być natomiast identyfikator punktu płatności, na którym zostanie złożone zamówienie.

Zwróć uwagę, że PayU jako procesor płatności Google Pay umożliwia obsługę wszystkich typów kart płatniczych organizacji Visa i MasterCard (w tym Maestro). To implikuje następującą konfigurację skryptu Google:

const allowedCardNetworks = ['MASTERCARD', 'VISA']
const allowedCardAuthMethods = ['PAN_ONLY', 'CRYPTOGRAM_3DS']

W odpowiedzi Google zwróci obiekt PaymentData, w polu paymentMethodData.tokenizationData.token przesyłając bezpiecznie zaszyfrowany Token Google Pay (ciąg znaków).

Przykład tokena Google Pay
{
"signature": "MEUCIQDY3wBQyHB4sZcktRoJXKxm+OLcjHzCvdDeGn23oX0kkwIgKznRFZZL+sDMv1b5cuD+YurXMZraYBsr9hbravVY5Ro\u003d",
"protocolVersion": "ECv1",
"signedMessage": "{\"encryptedMessage\":\"cI87tLqzqTGyCFnMMCVWcTHw3xhYIK+CEnuQ74K+nlLpCgOlfpScib9jds4sxDtN6CunCqCSMfd/3yHeeRy6aCx1yyqcT4ey6NueeBznprJpkmVVgI1JHWLQt4hzAXMUAcYASYLOabKP9fUZvHkOBDytD531jpzNXa+Spc/zrpGzFKx2C4VU9sC95q9i+ey+kr7ZMNVCOFJPWXu7lKZ105IOOqozJ6/70MKmxP3jM89eeq+/19QnyHjQLXfnQPvQjiUJKGCcRKDLlrb3XoY5ZUUzGfN5eZCLzCVg0hWEbwU+6J7KWYJyW+Wr1r8bagN9zWsrMKhDpsQbHfyzb+yBzFUoxeUgL4a7FeVvEllIcHtqsvTCf6FENV20aF5VLDv5qzUkV+PzTAIbFEuabA0God9UbVCVVv7nM8QFzvRPhzYYFVFTn4JHvL2qZ4pAR9lE+w\\u003d\\u003d\",\"ephemeralPublicKey\":\"BPHLC4sBHpenY1M0ixmiDMuWJTaTJOqggRUwtgBJMcBp28VsxHD7zPI7985x4F5EjMP5y8j/cuUzbe/cGPjOKGk\\u003d\",\"tag\":\"RaXrPOUuc5iw3oxDa0C2MOjaKxgxIRQvwOspmtFV0zU\\u003d\"}"
}

Integracja Google Pay na Android

Notatka

W przypadku aplikacji mobilnych zalecana jest natywna integracja Google Pay ponieważ Google Pay nie wspiera trybu WebView.

Aby zintegrować aplikację mobilną z płatnością Google Pay, postępuj zgodnie z instrukcjami na stronach:

Aby integracja była łatwiejsza, wykorzystaj dokumentację techniczną SDK PayU | Mobile.

Tworzenie zamówienia Google Pay

Aby obciążyć kartę płatniczą zapisaną w Google Pay, należy w żądaniu zamówienia umieścić rozszerzony obiekt payMethods.

Obiekt payMethods.payMethod musi zawierać pole authorizationCode, którego wartość odpowiada parametrowi Token GooglePay zakodowany funkcją Base64. Natomiast pole payMethod.value powinno mieć wartość ap, a payMethod.type wartość PBL.

Rozszerzony obiekt payMethod
"payMethods": {
"payMethod": {
"value": "ap",
"type": "PBL",
"authorizationCode": "eyJzaWduYXR1cmUiOiJNRVVDSVFEWTN3QlF5SEI0c1pja3RSb0pYS3htK09MY2pIekN2ZERlR24yM29YMGtrd0lnS3puUkZaWkwrc0RNdjFiNWN1RCtZdXJYTVpyYVlCc3I5aGJyYXZWWTVSb1x1MDAzZCIsInByb3RvY29sVmVyc2lvbiI6IkVDdjEiLCJzaWduZWRNZXNzYWdlIjoie1wiZW5jcnlwdGVkTWVzc2FnZVwiOlwiY0k4N3RMcXpxVEd5Q0ZuTU1DVldjVEh3M3hoWUlLK0NFbnVRNzRLK25sTHBDZ09sZnBTY2liOWpkczRzeER0TjZDdW5DcUNTTWZkLzN5SGVlUnk2YUN4MXl5cWNUNGV5Nk51ZWVCem5wckpwa21WVmdJMUpIV0xRdDRoekFYTVVBY1lBU1lMT2FiS1A5ZlVadkhrT0JEeXRENTMxanB6TlhhK1NwYy96cnBHekZLeDJDNFZVOXNDOTVxOWkrZXkra3I3Wk1OVkNPRkpQV1h1N2xLWjEwNUlPT3Fveko2LzcwTUtteFAzak04OWVlcSsvMTlRbnlIalFMWGZuUVB2UWppVUpLR0NjUktETGxyYjNYb1k1WlVVekdmTjVlWkNMekNWZzBoV0Vid1UrNko3S1dZSnlXK1dyMXI4YmFnTjl6V3NyTUtoRHBzUWJIZnl6Yit5QnpGVW94ZVVnTDRhN0ZlVnZFbGxJY0h0cXN2VENmNkZFTlYyMGFGNVZMRHY1cXpVa1YrUHpUQUliRkV1YWJBMEdvZDlVYlZDVlZ2N25NOFFGenZSUGh6WVlGVkZUbjRKSHZMMnFaNHBBUjlsRSt3XFx1MDAzZFxcdTAwM2RcIixcImVwaGVtZXJhbFB1YmxpY0tleVwiOlwiQlBITEM0c0JIcGVuWTFNMGl4bWlETXVXSlRhVEpPcWdnUlV3dGdCSk1jQnAyOFZzeEhEN3pQSTc5ODV4NEY1RWpNUDV5OGovY3VVemJlL2NHUGpPS0drXFx1MDAzZFwiLFwidGFnXCI6XCJSYVhyUE9VdWM1aXczb3hEYTBDMk1PamFLeGd4SVJRdndPc3BtdEZWMHpVXFx1MDAzZFwifSJ9"
}
}

Dalsze przetwarzanie żądania podlega standardowemu procesowi opisanemu w sekcji Tworzenie nowego zamówienia.

Notatka

Zwróć uwagę, że może być konieczne obsłużenie przekierowania na stronę weryfikacji 3D Secure.

Ponieważ zamówienia z metodą płatności Google Pay będą rozliczane tak, jak standardowe płatności kartą, warto rozważyć integrację usługi pobieranaia danych transakcji. W ten sposób odróżnisz karty wpisane przez formularz PayU od kart pobranych z Google Pay.

Błędy zwracane w usłudze Google Pay

Lista standardowych błędów zwracanych przez lightbox Google Pay znajduje się na stronie Google Developers.

Możliwe błędy dla Google Pay
Kod statusuCodeLiteralKodOpis
ERROR_VALUE_INVALID
GOOGLE_PAY_CLIENT_ERROR
8322
Błąd walidacji. Token Google Pay został utworzony dla innego punktu płatności.
ID punktów płatności użytych w zamówieniu oraz w polu gatewayMerchantId muszą być zgodne.
  • "Nieoczekiwany błąd po stronie programisty - spróbuj ponownie później" - zwracany np. w przypadku podania environment: PRODUCTION dla POS ze środowiska Sandbox.

Testowanie

Metoda płatności Google Pay jest dostępna również w środowisku Sandbox – w procesie integracji należy jawnie wskazać środowisko testowe:

var paymentsClient = new google.payments.api.PaymentsClient({
environment: 'TEST',
})