Google Pay

1 Wstęp

Google Pay™ (dawniej Android Pay) to cyfrowy portfel, który w prosty i szybki sposób pozwala płacić kartą, bez każdorazowego uzupełniania jej danych. Dane karty są bezpiecznie przechowywane przez Google. Ta metoda płatności jest dostępna dla wszystkich urządzeń (telefonów i komputerów), bez względu na system operacyjny i przeglądarkę.

Uwaga: 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.

2 Integracja

2.1 Integracja web

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

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

                var tokenizationParameters = {
                    tokenizationType: 'PAYMENT_GATEWAY',
                    parameters: {
                        gateway: 'payu',
                        gatewayMerchantId: '[Id punktu płatności (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:

                var allowedCardNetworks = ['MASTERCARD', 'VISA'];
                var allowedPaymentMethods = ['CARD', 'TOKENIZED_CARD'];
            

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

Przykładowy Token Google Pay wygląda tak:

                {
                    "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\"}"
                }
            

2.2 Integracja Android

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

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

3 Zamówienie

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

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

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

Dalsze przetwarzanie żądania podlega standardowemu procesowi, który jest opisany w dokumentacji REST API.

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 pobrania danych transakcji. W ten sposób odróżnisz karty wpisane przez formularz PayU od kart pobranych z Google Pay.

4 Sandbox

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'});
            

Ponieważ Google Pay nie jest domyślną metodą płatności, prosimy o kontakt z naszym działem wsparcia IT (tech@payu.pl) po rejestracji w środowisku Sandbox, ale przed przystąpieniem do integracji z wykorzystaniem metody płatności Google Pay.