> For the complete documentation index, see [llms.txt](https://plexo.gitbook.io/rest-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://plexo.gitbook.io/rest-api/wallets/google-pay.md).

# Google Pay™ Integration

Apple Pay and Google Pay availability comes from current Visa/Mastercard routing on every channel. See [ownership and payment-method eligibility](/rest-api/api-reference/wallet-integrations.md#ownership-and-current-payment-method-eligibility) before following this guide. Use only eligible methods in `allowedCardNetworks` or `supportedNetworks`; examples listing both assume both are eligible. With `managedBy: "handy"`, Handy owns configuration and native provider setup; request changes through Handy. References to your provider credentials mean the resolved owner's credentials. Your team still validates its app/device, and the original Plexo merchant remains the recipient and Google `gatewayMerchantId`.

Accept Google Pay™ payments through Plexo using Plexo Hosted Checkout, your own browser integration, or a native Android application.

## Choose Your Flow

| Flow                                                                             | Best When                                                                            | What You Build                                                                                                                                     |
| -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Plexo Checkout](/rest-api/wallets/google-pay/google-pay-web.md)                 | You want Plexo to render checkout and handle Google Pay inside the hosted experience | Create a checkout session and use the hosted checkout URL returned in the session actions                                                          |
| [API Integration](/rest-api/wallets/google-pay/google-pay-api.md)                | You want full control over the checkout UI and render the Google Pay button yourself | Fetch runtime configuration, initialize the Google Pay SDK, send the encrypted token to your server, then forward it to Plexo via the Payments API |
| [Native Android Integration](/rest-api/wallets/google-pay/google-pay-android.md) | You are integrating Google Pay in a native Android application                       | Register and publish your app with Google, configure the Android SDK, and send the resulting token through your backend to Plexo                   |

## Shared Prerequisites

1. **Google Pay Merchant Account** - Register at [Google Pay & Wallet Console](https://pay.google.com/business/console)
2. **Plexo Merchant Account** - Use an active merchant in Plexo
3. **Google Pay Activation** - Request wallet activation from the Google Pay card under **Integrations > Digital Wallets** in the [Plexo Dashboard](https://dashboard.plexo.com)
4. **Integration Choice** - Decide whether you will use Hosted Checkout, the browser API integration, Native Android, or a combination of these flows

## Google Resources for Browser Integrations

If you render the Google Pay™ button in a browser, follow Google's official web branding and go-live checklists:

* [Google Pay Web Brand Guidelines](https://developers.google.com/pay/api/web/guides/brand-guidelines)
* [Google Pay Web Integration Checklist](https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist)

Hosted Checkout merchants do not build or brand the button themselves because Plexo renders Google Pay inside the hosted experience.

## Google Pay Quick Reference

| Item                                                     | Value                                                                                                                                                                                                                  |
| -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Runtime configuration endpoint                           | `GET /v1/merchants/{merchantId}/google-pay/configuration`                                                                                                                                                              |
| `tokenizationSpecification.parameters.gateway`           | `plexouy`                                                                                                                                                                                                              |
| `tokenizationSpecification.parameters.gatewayMerchantId` | Your Plexo `merchantId` rendered as a string                                                                                                                                                                           |
| Supported `allowedAuthMethods`                           | Web: `PAN_ONLY`, `CRYPTOGRAM_3DS`; native Android: `CRYPTOGRAM_3DS` only                                                                                                                                               |
| `PAN_ONLY` and 3DS                                       | Plexo triggers 3DS only when the merchant's standard 3DS configuration is enabled and the payment matches the merchant's 3DS rules. Otherwise Plexo returns `google-pay-pan-only-cvc-required` and you retry with CVC. |

{% hint style="info" %}
If you are building the browser API flow, refer to the [Google Pay API for Web documentation](https://developers.google.com/pay/api/web) for client-side SDK setup.
{% endhint %}

{% hint style="warning" %}
By using Google Pay, you agree to the [Google Pay and Wallet API's Acceptable Use Policy](https://payments.developers.google.com/terms/aup) and the [Google Pay API Terms of Service](https://payments.developers.google.com/terms/sellertos).
{% endhint %}

## Request Google Pay Activation

Before using any flow, request Google Pay activation in the Plexo Dashboard:

1. Open **Integrations > Digital Wallets**.
2. Select **Google Pay** and choose one or more channels: `hosted`, `api`, `native`.
3. Complete each channel's settings and accept the Google Pay terms.
4. Select **Request activation**.

The Plexo Operations team approves each requested channel separately. A pending native request does not disable an active web channel. Show the wallet only when its selected channel is enabled, approved, and ready.

### Channels

| Channel  | Description                                                                  |
| -------- | ---------------------------------------------------------------------------- |
| `hosted` | Google Pay is available inside Plexo Hosted Checkout                         |
| `api`    | You render Google Pay and send the resulting token to Plexo                  |
| `native` | Your Android app renders Google Pay and sends the token through your backend |

For the `api` channel with `profileMode = plexo`, provide the following configuration parameters:

* `googleMerchantName` as the display name for Google Pay
* `googleMerchantOrigin` as a hostname without protocol
* `allowedAuthMethods` with one or both of `PAN_ONLY` and `CRYPTOGRAM_3DS`
* `allowedOrigins` as a list of allowed origins for Google Pay API calls (e.g. `["https://yourdomain.com"]`)

If you want `PAN_ONLY` available in PRODUCTION, include it explicitly in `allowedAuthMethods`.

After the dashboard shows Google Pay as active, continue with the integration guide that matches your flow.

For `native`, use your own Google Merchant ID and Android package, and request only `CRYPTOGRAM_3DS`. This channel does not need browser origins or web-origin JWTs. Your merchant owns Google app approval and validates its own app and device with Plexo in sandbox before production use.

## Implementation Guides

* [Plexo Checkout](/rest-api/wallets/google-pay/google-pay-web.md) - Hosted checkout using Plexo Checkout
* [API Integration](/rest-api/wallets/google-pay/google-pay-api.md) - Send the resulting Google Pay token to Plexo via the Payments API
* [Native Android Integration](/rest-api/wallets/google-pay/google-pay-android.md) - Integrate the Google Pay Android SDK and process the token through your backend

## Direct Tokenization

If you only need to tokenize a Google Pay token without creating a payment, use `POST /v1/tokenizations` with source `google-pay-token`. The response includes card metadata (`cardType`, `cardOrigin`, `issuer.country`) that you can use for installment UX decisions. See the [Tokenization Guide](/rest-api/customers-and-saved-methods/tokenization-guide.md#direct-wallet-tokenization-google-pay--apple-pay) for details and examples.

## Next Steps

* [Digital Wallets Overview](/rest-api/wallets/digital-wallets.md)
* [Wallet Integrations API Reference](/rest-api/api-reference/wallet-integrations.md)
* [Payment Processing Guide](/rest-api/payments/payment-processing.md)
* [Google Pay API Documentation](https://developers.google.com/pay/api)
