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, the KC UPCF Web 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

Integration flow for merchants

Merchants can integrate Google Pay™ for seamless in-app and web payments. For authorization and capture workflows, refer to Google Pay™ Authorization for Guest Payment and Google Pay™ Capture.

CIT (Customer Initiated Transactions)

Google Pay™ CIT transactions require active customer participation at checkout. Customers select Google Pay™ and authenticate their transactions using biometric authentication such as fingerprint or facial recognition, or a PIN. These transactions are securely processed through KontoCloud's UPCF Web SDK, ensuring compliance with PCI DSS standards.

Google Pay™ CIT transactions are initiated using the 1.38 Init Authorize, which verifies the payment details and obtains real-time authorization. These transactions support seamless one-time purchases, guest checkout, and payments by registered users.

Merchants must ensure that Google Pay™ CIT transactions include strong customer authentication (SCA) to meet regulatory requirements and prevent unauthorized usage. For a detailed overview of the CIT flow, refer to the Google Pay™ Authorization and Capture documentation.

MIT (Merchant Initiated Transactions)

Google Pay™ MIT allows merchants to initiate payments without direct customer interaction. MIT payments are primarily used for subscription payments (automatic recurring payments for services or memberships), deferred payments (payments processed after the service is completed), and unattended MIT payments, used for transactions without customer presence.

To enable MIT transactions, merchants must first process a CIT transaction where the customer explicitly consents to storing their Google Pay™ credentials. Payment details are securely stored, and MIT transactions are later processed using 1.39 Complete Authorize API.

MIT transactions must comply with strict authentication and security requirements, ensuring that customer consent is obtained before storage and that retry management policies are properly implemented. More details can be found in the MIT section.

In the case of an unattended MIT payment, Google Pay™ can be stored securely. Merchants are allowed to use stored Google Pay™ credentials under specific use cases outlined in this documentation section.

info

Google Pay™ supports VISA and Mastercard transactions.

Cancel and Refund

Google Pay™ allows for transaction cancellations and refunds, which can be managed via API. Refunds can be issued in full or partial amounts, depending on the merchant's refund policy. Refunds are processed back to the original payment method and typically follow standard processing times set by the customer's issuing bank. Merchants can initiate refunds using the Google Pay™ Capture API.

Storable Payment Option (SPO)

important

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

Storing Google Pay™ facilitates recurring transactions by eliminating the need for customers to manually authenticate payments each time. Merchants must follow strict security measures when storing Google Pay™, ensuring compliance with PCI DSS and Google's payment security requirements. Unauthorized storage or use outside of approved MIT scenarios is not allowed. For detailed steps, please check here.

Transaction Status Flow

The Google Pay™ lifecycle follows a typical flow of statuses: Authorized, Captured, Refunded, or Canceled, depending on the transaction requirements.

KC UPCF Web SDK integration

Google Pay™ uses the KC UPCF Web 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:

PUT {baseURL}/payment/initAuthorize

Header:

Content-Type: application/json
Accept-Language: en-US
X-Auth-Token: eyJjb25uZW***AwMjZ2PTQifQ==
User-Agent: ***
{
"partnerReference": "eb9640b0-f731-4abf-8752-37e8280c9ee9",
"programAccno": "7228894817",
"accno": "7228905548",
"accnoType": "01",
"presentationAmount": 100,
"presentationCurrCode": "EUR",
"presentationUsage": "V Purchase:2xPremiumWidgets. Merchant:WidgetsGmbH. CUSTREF:52650FD95.",
"useDifferentBillingAddress": false,
"paymentOptionCode": "GGLPAY",
"criteria": [
{
"name": "googleButtonType",
"value": "order"
},
{
"name": "googleButtonStyle",
"value": "black"
}
],
"localDate": "2025-01-28",
"localTime": "125849"
}

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.

Please refer to Google Pay™ Console - Registration of the shop domain for more information.

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.

  2. 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 KC UPCF Web 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 not be subscribed to the Google Test Group required for testing with production cards (from option B) 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 KontoCloud 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 KontoCloud 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.

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 KontoCloud 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.

Payment Options Test Data

For testing Google Pay™ in the sandbox environment, follow the instructions here: Google Pay™ for Web - Test card suite.