Google Pay™ Using XML

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 WorldNet 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:

  • - United States
  • - Europe
  • - Asia Pacific
  • - Australia

Customer compatibility depends on where the customer stores their card details:

  • Card on Google Account
  • - Available worldwide
  • Card on Android Device - Only customers in the following countries can make this type of payment:
  • - United States
  • - United Kingdom
  • - Singapore
  • - Australia
  • - Hong Kong
  • - Poland
  • - New Zealand
  • - Ireland
  • - Belgium
  • - Russia
  • - Japan
  • - Canada
  • - Taiwan
  • - Spain
  • - Ukraine
  • - Brazil
  • - Czech Republic
  • - Slovakia (Feb, 2018)
  • - France (Coming Spring 2018)
  • - South Korea (Late 2018)


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:

  • merchantId - The Merchant ID given to you by Google
  • gateway - “worldnet” (all lower case)
  • gatewayMerchantId - The Merchant ID given to you by the gateway

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)
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

    <ADDRESS1>N 29, St. James St. - Hommerstown</ADDRESS1>
    <ADDRESS2>chicago, Illinois</ADDRESS2>

About the Data

When using a Single Currency Terminal, the string to generate the HASH field is going to be formed using:


When using a Multi Currency Terminal, the string to generate the HASH field is going to formed using:


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:

  • First, register with Google: In order to use the Google Pay API in Production, you must register with Google. To do this, simply navigate to the Google Payment API Support page. You will be asked to register the website you wish to make payments with, and Google will give you a Google Merchant ID which you will use during your Google Pay requests.
  • Secondly, have your Google Pay details configured: Contact our support team and ask for Google Pay to be enabled on the desired terminals

Google Resources

Google provides a set of resources to help you with your implementations:

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International