# JPMC-PDP Documentation from https://developer.payments.jpmorgan.com # 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 **Google Pay 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 ![Wallets process flow](/api/download/en/docs/commerce/online-payments/capabilities/online-payments/payment-methods/google-pay-cfs/GooglePay_Procflow.png?type=image) ## Before you begin Use the following steps to set up Google Pay as an available payment method for your consumers: 1. Set up and integrate with Google: 1. For [Androidâ„¢](https://developers.google.com/pay/api/android/overview) devices 2. For [web](https://developers.google.com/pay/api/web/overview) 2. Obtain a Google [merchant ID](https://developers.google.com/pay/api/web/guides/setup) and merchant name for transaction processing. 3. Accept and comply with Google Pay's [terms and conditions](https://payments.developers.google.com/terms/sellertos). ## 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: 1. Call the [Google API](https://developers.google.com/pay/api/web/overview) to obtain token payment (i.e., encrypted) data. See [Overview | Google Pay API](https://developers.google.com/pay/api/web/overview) for more information. See the following section for more details. 2. Submit the token payment data to the J.P. Morgan [Online Payments API](/docs/commerce/online-payments/index) for transaction processing. 3. Initiate a transaction with Google Pay using the Google-issued merchant ID and merchant name. 4. 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 API to Online Payments API field mappings** | 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` ```json { "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: ```json { "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 ## Related [Authorize and capture a payment](/docs/commerce/online-payments/capabilities/online-payments/how-to/auth-and-capture-payment) [Wallet Decryption API](/docs/commerce/optimization-protection/capabilities/wallet-decryption/index)