---
title: Integrate Google Pay™
description: This document provides a guide to integrating Google Pay™ into your web applications. Payway provides the RESTtful web service with which you will interact to implement your Google Pay interface.
---

[Skip to content](https://support.payway.com/knowledge/integrate-google-pay#main-content)

English

Show submenu for translations

![7100C\_PAY\_PaywayPms\_Logo-bird\_full color](https://support.payway.com/hs-fs/hubfs/7100C_PAY_PaywayPms_Logo-bird_full%20color.png?width=100&height=100&name=7100C_PAY_PaywayPms_Logo-bird_full%20color.png)

Open main navigation

Close main navigation

- English
  
  Show submenu for translations
- Go to payway.com

 Go to payway.com

 Hello. How can we help you?

- There are no suggestions because the search field is empty.

1. [Help Center](https://support.payway.com/knowledge?hsLang=en)
2. [Integration Guides](https://support.payway.com/knowledge/integration-guides?hsLang=en)
3. [Google Pay](https://support.payway.com/knowledge/integration-guides?hsLang=en#google-pay)

# Integrate Google Pay™

## This document provides a guide to integrating Google Pay™ into your web applications. Payway provides the RESTtful web service with which you will interact to implement your Google Pay interface.

The PaywayWS Integration Guide will describe the general integration process including  
accessing our development, staging, and production servers.

**I. Credit Card Data**  
To use Google Pay, a user must register a credit card account within their Google account.  
The PaywayWS integration supports web-based payments.  
The user can pay for products and services using a Google Pay button you present on your  
web page. PaywayWS decrypts and manages the encrypted data and the interaction with the  
payment processors.

**II. Recurring Transactions**  
After a user enters a Google Pay transaction, you will have access to a paywayAccountToken  
that references the Google Pay account used for the transaction. This token can then be  
used to enter recurring transactions, just like any other tokenized account.

**III. Integration Method**  
To integrate with Google Pay you will use the PaywayWS RESTful web service. The  
acquisition and processing of Google Pay data will be done on the web browser via a  
JavaScript. We will provide you with a sample JavaScript that can be plugged into your  
payment page. This script presents the Google Pay button on your page and sends Google  
Pay data to PaywayWS. We take care of all cryptography and certifications with Google Pay.  
Details on the JavaScript can be found in Section XI, Code Details.

**IV. Managing Payway Transactions**  
The Payway Google Pay integration uses the PaywayWS RESTFul API to validate Google Pay  
merchants and perform Google Pay transactions. To manage your transactions, you can use  
PaywayWS requests. These include reading transactions and updating user accounts where  
needed. Reports and other payment management functionality is provided by Payway’s web  
application.

**V. Managing Google Pay Data Collection**  
The included Google Pay JavaScript provides a section that controls the collection of  
payment data by your application. This controls the payment sheet and required fields that  
are presented when a user processes a payment with Google Pay. This can be set up to  
collect a minimum of cardholder name and zip, or full data including phone number. Note  
that requiring all data may require the user to modify their Google payment account since  
the Google Pay page will enforce your requirements. All request and reply fields are  
documented by Google here:  
[https://developers.google.com/pay/api/web/reference/object#PaymentOptions](https://developers.google.com/pay/api/web/reference/object#PaymentOptions)

**VI. Google®, Inc. Policies and Procedures**  
A. Brand Guidelines  
Ensure the first mention of Google Pay on any feature page or developer  
documentation includes the trademark symbol, ™ , on the first or most prominent  
time it appears. Google enforces brand guidelines to protect the user experience  
related to Google Pay. Details of these requirements can be found here:  
https://developers.google.com/pay/api/web/guides/brand-guidelines

**B. Developer Documentation**  
The main resource page for Google Pay integrations is here:  
[https://developers.google.com/pay/api/web/overview](https://developers.google.com/pay/api/web/overview)

**C. Integration Checklist**  
[This checklist](https://developers.google.com/pay/api/web/guides/test-and-deploy/integrationchecklist) is helpful as a reference to guide your integration. You will be  
connected to Payway’s development server during the development phase. See the  
PaywayWS Integration guide for information on development and staging servers.

**VII. Acceptable Use Policy**  
This page outlines the acceptable use policy for Google Pay:  
[https://payments.developers.google.com/terms/aup](https://payments.developers.google.com/terms/aup). 

You should also reference the acceptable use section of your Payway agreement.

**X. Integration Steps**  
Processing a Google Pay payment is done in three steps. The first step and the final step  
are executed from your server. Step two is handled in the JavaScript that we provide, and  
you modify according to your needs. During a Google Pay transaction, only the  
paywayRequestToken, resultCode, and paywayMessage are available to the browser. See  
the PaywayWS Integration Guide for details on data fields.  
Below is a diagram of the steps for a PaywayWS enabled Google Pay transaction.

**DO NOT EXECUTE STEPS 1 OR 3 FROM A JAVASCRIPT. THESE INVOLVE DATA THAT SHOULD NOT BE PASSING THROUGH THE CLIENT BROWSER.**

**![google pay1](https://support.payway.com/hs-fs/hubfs/google%20pay1.jpg?width=483&name=google%20pay1.jpg)**

**A. Step 1: Queue Transaction**  
Before presenting the page with the Google Pay button, you will send PaywayWS a  
queueSale or queueAuthorize request. This request will return a  
paywayRequestToken that will be used to complete the request.  
The purpose of this request is to avoid sending transaction information to the browser  
that can be manipulated by the user. The queued payment includes the payment  
amount, source id, and payment type. Once this step is completed the Google Pay  
button can be displayed on your page. Note you should not send a  
paywaySessionToken to the web site, this can be accessed by the user and used for  
unauthorized transactions.

**B. Step 2: Send Queued Transaction**  
When you load the payment page and present the Google Pay button, you will send to  
the page the paywayRequestToken that was returned in step 1. No other data should  
be sent to the page. When the user clicks the Google Pay button, an interaction with  
the Google Pay payment sheet happens. When the user approves the payment, a  
sendQueuedTransaction request is sent by the JavaScript to Payway and the  
transaction is processed. Only the resultCode and paywayMessage are returned to the  
web page.

**C. Step 3: Hosted Payment Results**  
Using the paywayRequestToken from the previous steps, you may call  
hostedPaymentResults to get details on the completed transaction. The account  
information entered by the user on the Google Pay sheet will be returned, with the  
credit card number masked.

At this point you can store and/or present any of this information to the user for  
receipt purposes or other processing. This interaction is between your server and  
PaywayWS so none of this information is available to the browser during the  
transaction.

When this call is complete the paywayRequestToken is invalidated on Payway. This  
call is optional, if you skip it the paywayRequestToken will expire without further  
action.

**XI. Code Details**

**A. Queue Transaction**  
See the PaywayWS-Integration-Guide for details and samples of the queueSale and  
queueAuthorize transactions.

**B. GooglePay.js JavaScript**  
To integrate with Payway’s Google Pay offering, start with the sample JavaScript  
called GooglePay.js. This contains all features you need to integrate the web client  
with Google Pay.

**C. Card Networks and Authorization Methods**  
The configuration in GooglePay.js has the supported card networks and authorization  
methods. Change the supported card networks if you would like to remove one or  
more of the entries.  
const allowedCardNetworks = \["AMEX", "DISCOVER", "JCB", "MASTERCARD", "VISA"\];  
const allowedCardAuthMethods = \["PAN\_ONLY", "CRYPTOGRAM\_3DS"\];

**D. Required Billing Data**  
This section sets up the required billing data for presentation of the Google Pay  
payment sheet. Do not require less than ‘MIN’ billing address parameters. For card not  
present transactions the zip code must be presented to avoid extremely high charges  
to the merchant.  
billingAddressRequired: true,  
billingAddressParameters:  
// MUST BE AT LEAST ‘MIN’ but ‘FULL’ recommended  
{  
format : 'MIN', // ‘FULL' for complete address info  
phoneNumberRequired : true  
  }

**E. Additional Cardholder Data**  
Some account data accepted by Payway will not appear on the Google Pay billing  
sheet. For example, email address can be added to your payment page and sent in  
along with the Google Pay encrypted data.

**F. Adding the Google Pay Button**  
On your payment page simply add this html:  
\<div id="googleButton"\>\</div\>

**G. Loading Google Pay**  
The Payway JavaScript and the Google Pay JavaScript must be loaded on your  
payment page:  
\<script src="js/GooglePay.js" type="text/javascript"\>\</script\>  
\<script src="https://pay.google.com/gp/p/js/pay.js" \>\</script\>  
When the page loads call onGooglePayLoaded:  
\<body onload="onGooglePayLoaded()"\>

**H. OnGooglePayLoaded()**  
This method creates a payments client, checks if Google Pay is ready,  
and sets up the payment gateway parameters.  
In the tokenizationSpecification, use ‘exampleGatewayMerchantId’ until you go into  
production with your merchant id.  
tokenizationSpecification = {  
type: 'PAYMENT\_GATEWAY',  
parameters: {  
'gateway': 'payway',  
'gatewayMerchantId': 'exampleGatewayMerchantId'  
}

**I. onGooglePaymentButtonClicked()**  
The payment data request is set up, and the payment is processed. Note that in  
processPayment, the PaywayWS request is created and sent to Payway.  
The googlePayToken field is set to the encrypted Google Pay paymentData, and the  
paywayRequestToken is taken from the page. Other PaywayWS fields can be sent in  
this request, such as email.  
PaywayWS JSON request:  
{  
          accountInputMode : "googlePayToken",  
          paywayRequestToken :  
document.getElementById('paywayRequestToken').value,  
          request : "sendQueuedTransaction",  
          googlePayToken : paymentData ,

          cardAccount :  
          {  
             accountNotes1: "notes1",  
             accountNotes2: "notes2",  
             accountNotes3: "notes3"  
          }

}  
**XII. Hosted Payment Results**  
See the PaywayWS Integration Guide for details on hostedPaymentResults. This is the  
method for acquiring details on the completed transaction.

- [Using Payway Payment Manager](https://support.payway.com/knowledge/using-payway-payment-manager?hsLang=en#main-content)

    - [User admin](https://support.payway.com/knowledge/using-payway-payment-manager?hsLang=en#user-admin)
- [Integration Guides](https://support.payway.com/knowledge/integration-guides?hsLang=en#main-content)

    - [Apple Pay](https://support.payway.com/knowledge/integration-guides?hsLang=en#apple-pay)
    - [Google Pay](https://support.payway.com/knowledge/integration-guides?hsLang=en#google-pay)
- [Payment Processing 101](https://support.payway.com/knowledge/payment-processing-101?hsLang=en#main-content)

    - [Payment Gateway](https://support.payway.com/knowledge/payment-processing-101?hsLang=en#payment-gateway)
    - [Pricing & Fees](https://support.payway.com/knowledge/payment-processing-101?hsLang=en#pricing-fees)
- [Payment Types](https://support.payway.com/knowledge/payment-types?hsLang=en#main-content)

    - [Contactless Payments](https://support.payway.com/knowledge/payment-types?hsLang=en#contactless-payments)
    - [ACH Payments](https://support.payway.com/knowledge/payment-types?hsLang=en#ach-payments)
- [Payment Security](https://support.payway.com/knowledge/payment-security?hsLang=en#main-content)

    - [P2PE (Point-to-Point Encryption)](https://support.payway.com/knowledge/payment-security?hsLang=en#p2pe-point-to-point-encryption)
    - [Tokenization](https://support.payway.com/knowledge/payment-security?hsLang=en#tokenization)
    - [3D Secure](https://support.payway.com/knowledge/payment-security?hsLang=en#3d-secure)
- [Merchant Account Services](https://support.payway.com/knowledge/merchant-account-services?hsLang=en)
- [Payment Gateway Features](https://support.payway.com/knowledge/payment-gateway-features?hsLang=en)
- [Failed Payment Recovery](https://support.payway.com/knowledge/failed-payment-recovery?hsLang=en)

[![Chill listening crop-3](https://support.payway.com/hs-fs/hubfs/logo%20for%20email-1.jpg?width=100&height=24&name=logo%20for%20email-1.jpg "Chill listening crop-3")](https://payway.com)

<https://www.linkedin.com/company/payway> <https://twitter.com/PaywayComplete> <https://www.facebook.com/paywaycomplete>

Copyright © 2026, Payway