Skip to main content

Google Pay™

Introduction

Google Pay™ is a contactless payment service that enables users to make payments both online and in physical stores using Android devices. It simplifies payments by securely storing card details and allowing transactions via NFC technology.

Google Pay™ transactions use tokenization to protect sensitive card information, replacing the actual card number with a virtual account number. This ensures secure processing without exposing card details. Google Pay™ supports one-time transactions as well as subscriptions and other recurring payments, based on merchant configurations.

Google Pay™ is available in various regions worldwide, supporting multiple currencies. For online and in-app payments, SmartPay's SDK securely collects payment details, which are then transmitted to Google's servers for processing and authorization. The entire flow keeps sensitive data hidden from the merchant, providing customers with a secure and easy payment experience.

Workflows and Transaction Types

SmartPay Integration Flow for Merchants

Merchants should adhere to the integration process detailed in the Google Pay™ Integration Prerequisites, ensuring all registration and verification steps are completed.

Customer-Initiated Transactions (CIT)

  • Guest Payments: Google Pay™ facilitates guest payments without the need to store payment credentials.
  • Registered Users: Registered users can store Google Pay™ as a payment option for streamlined future transactions.

Merchant-Initiated Transactions (MIT)

  • Subscriptions: Google Pay™ supports recurring payments for subscription services.
  • Storable Payment Option: Google Pay™ can be stored as a payment option, enabling efficient future transactions.
important

Google Pay™ can be stored as a payment option only for subscriptions and unattended MIT payments.

Transaction Status Flow

Merchants should implement SmartPay notifications to receive transaction status updates. Upon receiving a notification, merchants must call the Get Payment Status API to verify the transaction status.

SDK Integration

Google Pay™ uses the SmartPay's SDK, please refer to this section.

Customizable Google Pay™ Button

To customize the Google Pay™ button within an API request, include the googleButtonType and googleButtonStyle parameters in criteria (see example below). The "type" parameter defines the text displayed on the button, such as a standard payment label or a subscription-related prompt, while "style" controls the button's visual theme to match different background and branding requirements. These parameters determine how the Google Pay™ button is generated on the page, ensuring flexibility in its presentation. By specifying these attributes, merchants can align the button's appearance with their checkout flow while maintaining compliance with Google's UI guidelines.

Example request

Path:

POST {Base URL}/payment/mit/subscription/creation

Header:

Content-Type: application/json
Accept-Language: en-US
X-Auth-Token: eyJjb25uZW***AwMjZ2PTQifQ==
User-Agent: ***
{
{
"payment": {
"currencyCode": "EUR",
"amount": 0,
"description": "JPM-2eb31abc-fc0f-49bf-9344-469459d0ddd4"
},
"billingAddress": {
"addressLine1": "Gotzkowskystraße",
"number": "10000",
"city": "Delbrück",
"postCode": "33129",
"countryCode": "DE"
},
"consumer": {
"emailAddress": "0afd44eb1bf44812a580e1cb84cd3f59_demo.admin@test.com",
"lastName": "Admin",
"firstName": "Demo",
"title": "Mr",
"mobilePhone": "12345678910",
"dateOfBirth": "1983-06-06"
},
"customerAccountId": "2d7acb77-4b14-436e-be88-325ac2eece9e:0afd44eb-1bf4-4812-a580-e1cb84cd3f59",
"merchantKey": "1e500c04-3b64-40fa-9e13-734e0b95538e",
"criteria": [
{
"name": "googleButtonType",
"value": "subscribe"
},
{
"name": "googleButtonStyle",
"value": "black"
}
]
}
}

The following parameters can be configured:

googleButtonTypeRepresentation
book
buy
checkout
donate
order
pay
plain
subscribe
googleButtonStyleRepresentation
default
white
black

Multiple Domains Support

To support multiple merchant domains for Google Pay™, merchants need to register them with Google, as only the domains added to Google Pay's whitelist will be valid for use. Please see the integration section for Google Pay™ Console - Registration of the shop domain below.

info

The registered domain automatically extends to its sub-directories as listed below, allowing Google Pay™ transactions on localized pages without requiring separate configurations.

your-shop.com
your-shop.com/de
your-shop.com/fr

Merchants must align with their Product Solution Specialist to ensure all relevant domains are configured within the backend program settings before initiating Google Pay™ transactions. The domain should be provided without "https://", as the API handles secure connections internally.

Google Pay™ Integration Prerequisites

Integration of Google Pay™ payment option includes registration, preparation and testing of the new payment option.

info

The dedicated Product Solution Specialist will be your partner during the integration process.

After the testing is successful, it is possible to continue with the preparation for production deployment.

The merchant provides integration details to both Google™ and dedicated Product Solution Specialist during the integration process.

1. Registration with Google™ and JPM MPS

  1. Merchants need to register their business with Google™ by creating an account and submitting the required legal details at Google™ Console. This includes company information, business type and payment processing preferences.

  1. After registration, a unique Merchant ID is generated. The ID is displayed in the Business Information section below the company name. Merchants should provide the Merchant ID to the Product Solution Specialist for configuration.

  1. The next step is the integration with JPM MPS using SmartPay's SDK.

2. Test Google Pay™ on the testing environment

Google™ provides two methods for testing transactions with Google Pay™.

A. Google Wallet™ with Personal Card

  • This method allows testers to use a real Google Wallet™ account with personal cards. These transactions do not involve real payments, and no funds are debited. Instead, this option helps validate the integration using live payment credentials.
  • To use this method, testers must join the Google Test Group required for testing with production cards and must have a working Android device with Google Wallet™ installed, including a valid Visa or Mastercard card.
  • The CRYPTOGRAM_3DS option must be configured in SmartPay settings to ensure proper handling of 3D Secure cryptograms during transactions for authentication.
  • Please refer to Google™'s Test with sample tokens.

B. Test cards

  • Google™ offers the use of test cards option for developers looking to perform basic Google Pay™ test transactions without using an Android device. Google™ test cards are supported exclusively in a Chrome browser and require integration via ACI Worldwide.
  • To enable this testing method, testers must subscribe to the Google Test Card Suite Subscription by signing in with their Google™ account through Chrome and follow the subscription process. To unsubscribe, testers must navigate to Google Groups and remove their subscription.
  • Within SmartPay's settings, PAN_ONLY option must be configured beforehand to facilitate the use of test cards.
  • For more information, please visit Google™'s documentation on Test with sample cards.

info

For authorization, add paymentOptionCode: GGLPAY.

Merchants can now use END-TO-END functionality for seamless payment completion. When a tester clicks on the Google Pay™ button, the process maintains the browser's user activation behavior, allowing the Google Pay™ API to display a payment sheet without interference from pop-up blockers.

important

Before processing the transaction, the merchant must display a final price to the user. If the amount to be charged has varied based on data received from the Google Pay™ API, the merchant is expected to show a confirmation page with the final price.

info

Storing Google Pay™ is allowed only in case of subscriptions and unattended MIT payments.

important

In the test TEST environment, Google™ offers two ways to test transactions. Merchants can use Google-provided test PANs, or they can use a regular Google Wallet™ account with personal cards, which are not used to process real payments and are not debited.
For PROD environment, only Google Wallet™ cards are accepted.

Google Pay Button

3. Production Prerequisites

Once the testing is done, the next step is preparing for the production deployment and implementing the procedure for going live. During this phase, the merchant provides integration details to both Google™ and dedicated Product Solution Specialist for activation:

  • Registration of Shop domain that hosts the checkout.
  • Registration of Google Pay™ connector URL and Google Pay™ integration type.
  • Screenshots of the checkout.
  • Production activation.

Before going live in production, the merchant should submit integration details to Google™ via the Google™ Console.

Before submitting the integration to Google™ for validation with a PaymentsClient configured for a TEST environment, ensure that the exit criteria are fulfilled for each of the following functional and branding checks.

3.1. Registration of the shop domain

Register the Shop domain that hosts the checkout to Google™ through Google Console.

info

Provide this domain to the dedicated Product Solution Specialist upon registration with Google.


3.2. Registration of the Google Pay™ Connector and Integration Type

Register the Google Pay™ connector URL: api.googlepay.upcf.jpmmps.com through Google™ Console.

For Google Pay™ API integration type, select: Gateway.



3.3. Screenshots of the Checkout for Google Pay™

Please provide the following screenshots of the Checkout for Google Pay™ through Google Console:

  • Item selection - screenshot of the UI when the user is browsing an item or service.
  • Pre-purchase screen - screenshot of the UI when the user is ready to make a purchase.
  • Payment method screen - screenshot of the UI when the user selects Google Pay™ as their payment method.
  • Google Pay™ API payment screen - screenshot of the UI when the user is shown the payment info, they've saved it to Google Pay™.
info

Android doesn't allow taking a screenshot of this screen, so the screenshot should be taken using another device.

  • Post-purchase screen - screenshot of the UI when the user has made a successful purchase.

3.4. Request to go live

After all the steps have been completed, the merchant can request activation for PROD integration through Google™ console.

important

Google Pay™ transactions with SmartPay require device authentication through the Google Wallet™ app. Only cards stored in Google Wallet™ can be used for payments, transactions without device authentication are not supported.

Google Pay™ Test Data

For testing Google Pay™ in the sandbox environment, follow the instructions above.