Google Pay helps users quickly and easily complete purchases in apps and on the web using payment methods saved to a Google account or Android device.
Google Pay is enabled on the %Gateway for TSYS Saratoga and Elavon Processors only, supporting the following card types: VISA, MasterCard, Discover/Diners, AMEX and JCB.
When it comes to being able to accept Google Pay transactions, the location of your business matters. Merchants in the following regions are eligible:
Customer compatibility depends on where the customer stores their card details:
In this integration method you need to implement a few steps:
Step 01: Integrate the Google Pay API to your website
The merchant’s developer team will need to implement the Google Payment API to the merchant website in order to retrieve the customers (encrypted) card details (to be informed as GOOGLEPAYLOAD).
Note that during your Google Pay API Request, you will need to specify the following details:
To do this, your team must implement use Google's Test Environment and examples first.
Step 02: Integrate with The Payment Gateway
After you’ve retrieved the Google Payload, now you need to send the payload to our payment gateway. To do that, convert the users Google Pay data to Hexadecimal, and submit a Payment (more details in XML Payment Features).
Send a POST request to the following URL:
Request URL (test) | https://testpayments.nuvei.com/merchant/xmlpayment |
Request URL (live) | Remove “test” from the test URL |
Your request can contain any of the details present in a Common XML Payment Request Body.
The fields ADDRESS1, ADDRESS2 and POSTCODE are reserved for AVS services, in case your terminal supports it.
Request Example
<PAYMENT> <ORDERID>123456</ORDERID> <TERMINALID>1234001</TERMINALID> <AMOUNT>152.26</AMOUNT> <DATETIME>05-01-2019:11:04:55:055</DATETIME> <GOOGLEPAYLOAD>7b0d0a2020227368697070696e67436f6e74616374223a207b0d0a2020202022656d61696c41646472657373 223a20226578616d706c6540776f726c646e65747470732e636f6d222c0d0a202020202266616d696c794e616d65223a2022222 c0d0a2020202022676976656e4e616d65223a2022222c0d0a202020202270686f6e6574696346616d696c794e616d65223a2022 222c0d0a202020202270686f6e65746963476976656e4e616d65223a2022220d0a20207d2c0d0a202022746f6b656e223a207b0 d0a20202020227061796d656e7444617461223a207b0d0a20202020276c6a59544d7559334a734d41344741315564447745422f 775145417749486744415042676b71686b694739324e6b42683045416755414d416f4743437147534d343942414d4341306b414 d4559434951446148474f75692b583254343452364756704e376d326e456372365436734d6a4f685a354e75536f316567774968 414c31612b2f68703838444b4a3073763365543346785763733731786d62072368072315780a99e8d8c07230f090912e802358c</GOOGLEPAYLOAD> <CARDTYPE>GOOGLEPAY</CARDTYPE> <CARDHOLDERNAME>John Junior Jameson</CARDHOLDERNAME> <HASH>ab17ee1ec5285719cb41afab02bc9b565ca8fe76647fa93eca12d922feb1325da58f65fbb1fa8151363da33d7c8abe5f 1848b2b7d27ffb4ccc1560a410e987ac</HASH> <CURRENCY>USD</CURRENCY> <TERMINALTYPE>2</TERMINALTYPE> <TRANSACTIONTYPE>7</TRANSACTIONTYPE> <ADDRESS1>N 29, St. James St. - Hommerstown</ADDRESS1> <ADDRESS2>chicago, Illinois</ADDRESS2> <POSTCODE>60176</POSTCODE> </PAYMENT>
About the Data
When using a Single Currency Terminal, the string to generate the HASH field is going to be formed using:
TERMINALID:ORDERID:AMOUNT:DATETIME:SECRET
When using a Multi Currency Terminal, the string to generate the HASH field is going to formed using:
TERMINALID:ORDERID:CURRENCY:AMOUNT:DATETIME:SECRET
Depending on your terminal settings, you might need to use a different way to generate your HASH (MD5 or SHA512). Take a look at the HASH Parameter.
All data sent to us should be correctly encoded using UTF-8 as the character encoding.
Step 03: Setup to Go Live
After successfully testing your integration, to process google pay payments in production, you will need to be sure that the terminals you want to use are configured for that, so:
Google provides a set of resources to help you with your implementations: