> 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

Accept Google Pay™ payments through Plexo using either Plexo Hosted Checkout or your own Google Pay SDK integration.

## Choose Your Flow

| Flow                                                  | Best When                                                                            | What You Build                                                                                                                                     |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Web](/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](/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 |

## 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 Enablement** - Ask `soporte@plexo.com.uy` to enable Google Pay for the merchant before starting either flow
4. **Integration Choice** - Decide whether you will use Hosted Checkout, API integration, or both

## Google Resources

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

* [Google Pay Web Brand Guidelines](https://developers.google.com/pay/api/web/guides/brand-guidelines)
* [Google Pay Android Brand Guidelines](https://developers.google.com/pay/api/android/guides/brand-guidelines)
* [Google Pay Web Integration Checklist](https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist)
* [Google Pay Android Integration Checklist](https://developers.google.com/pay/api/android/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`                           | `PAN_ONLY`, `CRYPTOGRAM_3DS`                                                                                                                                                                                           |
| `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 API flow, refer to the [Google Pay API documentation](https://developers.google.com/pay/api) 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 %}

## Enable Google Pay

Before using either flow, make sure Google Pay is enabled for your merchant. If you manage merchant configuration through the API, use `PUT /v1/merchants/{merchantId}/wallet-integrations/google-pay`. Otherwise contact `soporte@plexo.com.uy` with your merchant details and the integration mode you need: `hosted`, `api`, or `both`.

### Integration Modes

| Mode     | Description                                                 |
| -------- | ----------------------------------------------------------- |
| `hosted` | Google Pay is available inside Plexo Hosted Checkout        |
| `api`    | You render Google Pay and send the resulting token to Plexo |
| `both`   | The merchant can use both hosted and API integrations       |

For API mode with `profileMode = plexo`, we recommend providing the following configuration parameters to ensure a smooth integration:

* `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 Plexo confirms enablement, continue with the integration guide that matches your flow.

## Implementation Guides

* [Web](/rest-api/wallets/google-pay/google-pay-web.md) - Hosted checkout using Plexo Checkout
* [API](/rest-api/wallets/google-pay/google-pay-api.md) - Send the resulting Google Pay token to Plexo via the Payments API

## 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)
