Google Pay
Google Pay, a digital wallet payment service developed by Google, enables consumers to make payments online and with Android devices such as phones, tablets, and watches.
With Google Pay, your consumers can quickly complete a one-click transaction using payment methods already securely saved to their Google account.
Availability
Payment method | Payment type | Countries | Supported presentment currencies | Notes |
---|---|---|---|---|
Google Pay |
Wallet | CA, EU, UK, US |
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHF, CLP, CNY, COP, CRC, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, ISK, JMD, JPY, KES, KHR, KMF, KRW, KYD, KZT, LAK, LBP, LKR, LRD, LSL, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RWF, SAR, SBD, SCR, SEK, SGD, SHP, SLL, SOS, SRD, STN, SZL, THB, TJS, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VND, VUV, WST, XAF, XCD, XOF, XPF, YER, ZAR, ZMW |
How Google Pay works

Before you begin
Use the following steps to set up Google Pay as an available payment method for your consumers:
- Set up and integrate with Google:
- Obtain a Google merchant ID and merchant name for transaction processing.
- Accept and comply with Google Pay's terms and conditions.
Use Google Pay for payments
Use the following steps to submit Google Pay transactions after your consumer has selected Google Pay as their payment method:
- Call the Google API to obtain token payment (i.e., encrypted) data. See Overview | Google Pay API for more information. See the following section for more details.
- Submit the token payment data to the J.P. Morgan Online Payments API for transaction processing.
- Initiate a transaction with Google Pay using the Google-issued merchant ID and merchant name.
- Use gateway name "chase" and your J.P. Morgan merchant ID value for
gatewayMerchantId
to complete the transaction.
Token responses
The following table provides a list of field mappings from Google Pay's API response to the Online Payments API:
Google Pay apiVersion2 |
Online Payments API object/fields |
---|---|
latLong | paymentMethodType.googlePay.latLong |
tokenizationData.token.intermediateSigningKey : signature | paymentMethodType.googlePay.encryptedPaymentBundle.signature |
tokenizationData.token.protocolVersion | paymentMethodType.googlePay.encryptedPaymentBundle.protocolVersion |
tokenizationData.token.signedMessage | paymentMethodType.googlePay.encryptedPaymentBundle.encryptedPayload |
tokenizationData.token.signedMessage : ephemeralPublicKey | paymentMethodType.googlePay.encryptedPaymentBundle.encryptedPaymentHeader.ephemeralPublicKey |
The following is a sample of an encryptedPayload
request to the Online Payments API:
HTTP method: POST
Endpoint: /payments
{
"paymentMethodType": {
"googlepay": {
"latLong": "1,1",
"encryptedPaymentBundle": {
"encryptedPayload": "{\"encryptedMessage\":\"6gBXPtw3Oy7wBRv72MXlmjIHFwLC2FdafLaeekiySZljbnudn/6xJLJulh+Gkk6WegNYaB0Iqti8x4/nX5344SyT6UfWrd1tU8jIwjAP5e+La6LWkD296DZ1pIsKDuh0jRbNAp6PaqpByjsgjDFnNBaFdEcv9InH73OPPQU6AxGMAspoZ2du3LOtu4y1WsP5BqZsA24TPp/+lGauK1r+61AuTh88PbT6l6YKCLQGtNN0Ug2UzPodsKbRM8DiTtUW3TaIpQjHd7or5p3EAhLi8TZETZDC6J+lgeI4dQRlsvxOPdOFPf+fK7IdCyGQpLqjf9jBf69QPkVh5+6XXEJfVjjUY4TX2KVU2+42a5sLjQy9rzU1oXUa+IAi6pTziBi4RdIlFFRGFOKlLNRIfZw8+mulejDxHt93r1GPTooBjeLrXD6GW8gN2n4IXgnEZAyu7w\\u003d\\u003d\",\"ephemeralPublicKey\":\"BCN6XUyxRN252w17DvzQMH0rWzwt18gAqJE7+1byl7Tz3rpzdPOVfJWRU3sKgJNAXicMcvcV4g67YCJEng52DuY\\u003d\",\"tag\":\"NnB9WQib+A1lakfPJMcQzBbh2+z5kL/UBCKxevQYTjs\\u003d\"}",
"encryptedPaymentHeader": {
"ephemeralPublicKey": "BCN6XUyxRN252w17DvzQMH0rWzwt18gAqJE7+1byl7Tz3rpzdPOVfJWRU3sKgJNAXicMcvcV4g67YCJEng52DuY\\u003d"
},
"signature": "MEYCIQDu7OB2NaHmlSCk2nqYWY6hoiCvmquK82g763VkfaybrAIhANgJSN4MMtfbMMvZKKVGzuPCCN4zVXk6ejioe87+oWaR",
"protocolVersion": "ECv1"
}
}
}
}
Response:
{
"paymentMethodType": {
"card": {
"walletProvider": "GOOGLE_PAY",
"cardType": "VI",
"cardTypeName": "VISA",
"maskedAccountNumber": "411111XXXXXX1111",
"cardTypeIndicators": {
"issuanceCountryCode": "USA",
"isLevel3Eligible": true,
"cardTypeCategory": "PREPAID_CARD",
"isDurbinRegulated": true,
"cardProductTypes": [
"COMMERCIAL",
"PAYROLL",
"HEALTHCARE",
"AFFLUENT_CATEGORY",
"SIGNATURE_DEBIT",
"PINLESS_DEBIT",
"PREPAID_RELOADABLE"
]
},
"networkResponse": {
"addressVerificationResult": "ADDRESS_POSTALCODE_MATCH",
"addressVerificationResultCode": "I3",
"cardVerificationResult": "MATCH",
"cardVerificationResultCode": "M",
"networkTransactionId": "012097692169110",
"networkResponseCode": "00"
}
}
}
}
Payment parameters
The following fields are required fields within the Google Pay object:
latLong
encryptedPaymentBundle.encryptedPayload
encryptedPaymentBundle.encryptedPaymentHeader.ephemeralPublicKey
encryptedPaymentBundle.protocolVersion
encryptedPaymentBundle.signature