Skip to main content

Documentation Index

Fetch the complete documentation index at: https://bancofcalifornia-preview.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

This documentation is intended for Google Pay in Android apps. For information about using Google Pay on the web see Google Pay with Collect.js Google Pay allows your customers to submit payment data via a payment method they trust. This also enables you to collect their payment information in a tokenized form so that the plain text credit card information never touches your environment. You can use the data to transact directly, store it in the Customer Vault for future transactions, or create subscriptions.

Set Up

Google Pay documentation can be found here. Those documents are maintained by Google and will be kept up to date with any changes and enhancements to the Google Pay SDK. When setting up your merchant account in the Google Pay Business Console, Google will ask if you are doing a “Direct” or “Gateway” integration; you should select “Gateway.” The SDK will ask you to provide “gateway” and “gatewayMerchantId” values.
gateway”gatewayservices”
gatewayMerchantIdYour “Gateway ID” as listed in the Account Information settings page of the merchant portal.

Overview

While Google’s documentation will have specific details for using the Google Pay SDK, this is an overview of what the integration process and user flow should look like.
1

Render the Google Pay button

Your application will render the Google Pay button using libraries provided by Google Mobile Services.
2

Let the customer choose payment details

If the customer taps on the Google Pay button, the Google Pay SDK will open an interface for the customer to select their payment information.
3

Complete confirmation in Google Pay

The user confirms their payment information, which closes the interface and returns the user to your app.
4

Receive the tokenized payment data

Your app will receive a tokenized version of the customer’s payment information from the Google Pay SDK.
5

Send the token to the gateway

That tokenized payload should be passed to the gateway for decryption as a part of your Payment API request.
Variable NameDescription
googlepay_payment_dataThe encrypted token created by the Google Pay SDK.
Example InputSee sample payload below.
{
  "signature": "<signature>",
  "protocolVersion": "ECv1",
  "signedMessage": "{\"encryptedMessage\":\"<encrypted-message>\",\"ephemeralPublicKey\":\"<ephemeral-public-key>\",\"tag\":\"<tag>\"}"
}
In the event that there is data in the Payment API request and the Google Pay token, such as the customer’s zip code, the gateway will prefer the value in the Google Pay token, as that is what the customer explicitly provided. Stored Credential and Recurring Note: When Google Pay data is submitted to the Customer Vault or used to create a subscription, a zero-dollar authorization is immediately triggered. This ensures that any time-sensitive cryptogram data is used before it expires, and that the account information is properly configured for subsequent card-on-file transactions. You can customize this transaction, performing a sale or authorization instead, by specifying a “amount” and “type” variables. Google Pay for recurring and Customer Vault requires use of a compatible processor. Support has the latest list of compatible platforms.

Merchant-Decrypted Data

Merchants who use a “Direct” Google Pay integration and decrypt the data themselves can relay it through repurposed 3-D Secure fields:
Variable NameDescription
decrypted_googlepay_dataSet to “1” to indicate decrypted data is being sent.
ccnumberThe dPAN number from the Google Pay token.
ccexpExpiration date associated with the dPAN.
cavvThe cryptogram extracted from the Google Pay token.
eciThe eCommerce Indicator value from the Google Pay token, when available.