Google Pay™ integration

Google Pay™

Overview

This document provides guidance for integrating Google Pay™ into your payment processing system. Google Pay™ facilitates swift and secure transactions for your customers, whether they are using your Android app or website. This guide outlines the necessary steps for integration, including prerequisites, transaction processing, supported card parameters, and error handling.

Prerequisites

Before integrating Google Pay™ into your Android app or website, ensure you have the necessary prerequisites in place:

Transaction Processing

Google Pay Web Integration - Generate Tokens

On this link you can generate token Google token generator

 

image-20240509-082739-20240712-083316.png

 

  • Gateway ID: netvalve

  • Gateway Merchant ID: merchant id, netvalve merchant id or site id. If you don’t have this information contact Netvalve support.

  • For testing with Google test cards you should join the test group on this link Test with sample credit cards

  • Click on apply, then go to the next section and click on the Buy with G Pay button

 

image-20240509-083000-20240712-083321.png

 

  • Choose the payment method and click Continue

     

  • As a response, Google will provide the PaymentData item, where in the paymentMethodData.tokenizationData.token field will include encrypted Google Pay Token (a string of characters).

    Sample Google Pay Token

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

Copy the token for the Token section

 

 

Example of sample payload:

{ "amount": 999.00, "cardHolderName": "Yogesh", "clientOrderId": {{clientOrderId}}, "currency": "USD", "customerAddress": "Skopje", "customerCity": "Skopje", "customerCountryCode": "US", "customerEmail": "yogesh@dahe.com", "customerIp": "123.123.123.123", "customerName": "Yogesh", "customerLastName": "Dahe", "customerPhone": "+3123123112312", "customerState": "Mkd", "customerZipCode": "1000", "netvalveMidId": 2, //Please use your netvalve mid id or site id "paymentType": "WALLET", "walletType": "GOOGLE_PAY", "googlePaySSL": //Add you Google token here... }

Success criteria:

responseCode - GTW_1000

Example request with token:

{ "amount":999.00, "cardHolderName":"Yogesh", "clientOrderId":{{clientOrderId}}, "currency":"USD", "customerAddress":"Skopje", "customerCity":"Skopje", "customerCountryCode":"US", "customerEmail":"yogesh@dahe.com", "customerIp":"123.123.123.123", "customerName":"Yogesh", "customerLastName":"Dahe", "customerPhone":"+3123123112312", "customerState":"Mkd", "customerZipCode":"1000", "midId":2, "paymentType":"WALLET", "walletType":"GOOGLE_PAY", "googlePaySSL":{ "signature":"MEUCIQDk+/hOm5zJmWrnmrG+ds+N5L28gMeE0drnDyjyvCnX5wIgAloe3rwAPu7tMwawefcGYO4G6m/+ilQo1DqnphVIJ/s\u003d", "intermediateSigningKey":{ "signedKey":"{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0NSQX6HDOtKu3B2TI9HJV3IjiRQdebbCcDR9lVkx51TeIZ/J8lGDFcpqZTkNED1g5QXgTqq5ALpG+d43cQRaQA\\u003d\\u003d\",\"keyExpiration\":\"1715897257675\"}", "signatures":[ "MEYCIQCUGkX7SGY6WG94ZHuKfyQpHG6o2KbL1gYmB8aZPRebmwIhAMH61R36CiPbPhY3oohvt6pw3ZQJkYDWFDB6SHpFABTA" ] }, "protocolVersion":"ECv2", "signedMessage":"{\"encryptedMessage\":\"Syk7ZTw7KzXS6rEisGPZlHTEgpIlH5Z5HJktPKcYHrPWcVh+d4l1MroajG5NQPEOgYxlZV9A4XXq2ZdM/2H/wge9aSCDzY9iY8m2JCMK1SoZVrnD5+dy66iG93VFuAdUjf+ZiddsWDRR1cLyyz/IudsNKaIKKzJNFHk+pCFktklMhvSSaGoDJbKxMqEDuipk6E+R2sAEkBBuKD8zdlzn1xheLnv+MMULUqe7XJTqcCiAJajqMBTFpnyQX3gxd28QwFKu2FX2mYsviR7VsxPnETlSvnabHpcxkLv8EL0mqkGM5hicmjfjEbEKeb2ZXkULBTxipfeHf5eSXo+MyCoo8W5Q+8SvwE9x22KaxJy0A3vPAfgQOK568y+riM+yfP7xt5lWCrCr0rKhepeT+JDEZHdT3gUMlMLdmtzlyT7r6ddtftMkTYzq5BneBFHqYl7uryRh9lFsjSrDjoZQjUGzASPQX+s3ty593Y/1t88fXCNV2xf3PHkpMFq9ZaTKwv1XyHs0uXgawVr2+DVnXcqxfteM5GvpxN42EDlz\",\"ephemeralPublicKey\":\"BOmikxGNXx91S5MftOqKFwqbpiGUr8HfN0zAry5iN4T9LtwtklyG7vS1BsU2YJFaggu5GmuLhA9vFgfvKIPnNUI\\u003d\",\"tag\":\"kJSe9C2RkVCpGt5WCzIZgYnBbywF+pc5LdlUzo43NZw\\u003d\"}" } }

Example Response:

Card Parameters

Google Pay™ transactions do not require a billing address. Therefore, no billing address parameters need to be provided with a card.

Supported Card Authentication Methods

Google Pay™ supports the following card authentication methods:

  • PAN_ONLY

  • CRYPTOGRAM_3DS

Supported Card Networks

Google Pay™ supports transactions with cards from the following networks:

  • AMEX

  • DISCOVER

  • MASTERCARD

  • VISA

 

Enable Google Pay on Hosted Payment Page

  • In order to use Google Pay on Hosted Payment Page, it’s required to enable the option on Backoffice and add private key:

Testing

Google Pay™ is available for testing in a Sandbox environment. Ensure to indicate the test environment openly during the integration process. Contact Netvalve support department for assistance with Sandbox environment registration and integration involving the Google Pay payment method.