---
title: "Google Pay Component integration"
description: "Add Google Pay to an existing Components integration."
url: "https://docs.adyen.com/payment-methods/google-pay/react-native-component"
source_url: "https://docs.adyen.com/payment-methods/google-pay/react-native-component.md"
canonical: "https://docs.adyen.com/payment-methods/google-pay/react-native-component"
last_modified: "2026-06-01T15:33:15+02:00"
language: "en"
---

# Google Pay Component integration

Add Google Pay to an existing Components integration.

[View source](/payment-methods/google-pay/react-native-component.md)

This page explains how to add Google Pay to your existing Component integration.

When shoppers select Google Pay, Component presents the Google Pay payment sheet where shoppers choose a card they want to use. If shoppers select a card that requires 3D Secure authentication, Component also handles redirecting shoppers to another website to complete the verification.

## Requirements

| Requirement          | Description                                                                                                                                                                                                               |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Integration type** | Make sure that you have built your [Component integration](/online-payments/react-native/components).                                                                                                                     |
| **Setup steps**      | Before you begin:- Follow the [setup steps in the Google Pay documentation](https://developers.google.com/pay/api/android/guides/setup).
- [Add Google Pay in your Customer Area](/payment-methods/add-payment-methods).. |

## API reference

You do not need to send additional fields for Google Pay. See the [/payments](https://docs.adyen.com/api-explorer/Checkout/latest/post/payments) endpoint API reference for the optional fields you can send.

## Component configuration

Pass state to your Checkout activity `onActivityResult`:

**Pass state to onActivityResult**

```kotlin
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  AdyenCheckout.handleActivityResult(requestCode, resultCode, data);
}
```

## Optional configuration

You can optionally include the following properties when you [configure `AdyenCheckout`](/online-payments/react-native/components#configure):

| Property                        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Default                                                                                                                                                                 |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `merchantAccount`               | Your [Google Merchant ID](https://developers.google.com/pay/api/web/reference/request-objects#MerchantInfo). This can be anything for testing. Before you go live, get your Google Merchant ID from the [Google Pay & Wallet Console](https://pay.google.com/business/console).                                                                                                                                                                                     | The corresponding merchant ID value from the `brands` array in the [/paymentMethods](https://docs.adyen.com/api-explorer/Checkout/latest/post/paymentMethods) response. |
| `allowedCardNetworks`           | The list of allowed [card networks](https://developers.google.com/pay/api/web/reference/request-objects#CardParameters) in capital letters. The allowed networks are automatically configured based on your account settings, but you can override this here.                                                                                                                                                                                                       | -                                                                                                                                                                       |
| `allowedAuthMethods`            | The list of fields that are supported to authenticate a card transaction. Possible values: - **PAN\_ONLY**:associated with payment cards stored on file with the user's Google Account. Returned payment data includes personal account number (PAN) with the expiration month and the expiration year. -**CRYPTOGRAM\_3DS**: associated with cards stored as Android device tokens. Returned payment data includes a 3D Secure cryptogram generated on the device. | -                                                                                                                                                                       |
| `totalPriceStatus`              | The status of the total price. Possible values: - **FINAL**: the total price shown to the shopper doesn't change. - **ESTIMATED**: the total price can change based on the details of the response, such as sales tax based on the billing address.                                                                                                                                                                                                                 | **FINAL**                                                                                                                                                               |
| `allowPrepaidCards`             | Set to **false** to turn off support for prepaid cards.                                                                                                                                                                                                                                                                                                                                                                                                             | **true**: prepaid cards from [supported card networks](/payment-methods/google-pay#supported-networks) are supported.                                                   |
| `allowCreditCards`              | Set to **false** to turn off support for credit cards.                                                                                                                                                                                                                                                                                                                                                                                                              | **true**                                                                                                                                                                |
| `billingAddressRequired`        | Set to **true** to require the shopper to enter their full billing address. Only request this if it is required to process a transaction.                                                                                                                                                                                                                                                                                                                           | **false**                                                                                                                                                               |
| `billingAddressParameters`      | The expected fields returned if `billingAddressRequired` is set to **true**. For more information on the available fields, see Google Pay API documentation on [`billingAddressParameters` ](https://developers.google.com/pay/api/web/reference/request-objects#BillingAddressParameters).                                                                                                                                                                         | -                                                                                                                                                                       |
| `emailRequired`                 | Set to **true** to require the shopper to enter their email address.                                                                                                                                                                                                                                                                                                                                                                                                | **false**                                                                                                                                                               |
| `shippingAddressRequired`       | Set to **true** to require the shopper to enter their shipping address.                                                                                                                                                                                                                                                                                                                                                                                             | **false**                                                                                                                                                               |
| `shippingAddressParameters`     | The expected fields returned if `shippingAddressRequired` is set to **true**. For more information on the available fields, see Google Pay API documentation on [`shippingAddressParameters` ](https://developers.google.com/pay/api/web/reference/request-objects#ShippingAddressParameters).                                                                                                                                                                      | -                                                                                                                                                                       |
| `existingPaymentMethodRequired` | Set to **true** to only show the payment button if a shopper can pay with a supported payment method. The value that says if the shopper can pay with each allowed payment method comes from the `IsReadyToPayResponse.paymentMethodPresent` object.                                                                                                                                                                                                                | **false**                                                                                                                                                               |
| `googlePayEnvironment`          | The environment for Google Pay. Possible values: - **WalletConstants.ENVIRONMENT\_TEST** for test. - **WalletConstants.ENVIRONMENT\_TEST** for live.                                                                                                                                                                                                                                                                                                                | The corresponding environment to the `environment` you set when configuring `AdyenCheckout`.                                                                            |

To learn more about the optional request object options, check the [Google Pay API documentation](https://developers.google.com/pay/api/web/reference/request-objects).

## Recurring payments

To make recurring Google Pay payments, you first need to [create a shopper token](/online-payments/tokenization/create-tokens) and then [make subsequent recurring transactions](/online-payments/tokenization/make-token-payments) with the token.\
Refer to [Tokenization](/online-payments/tokenization) for more information and detailed instructions.

## Test and go live

To start testing Google Pay, log in to a Google account and create a Google Pay wallet.

There are two approaches to using this wallet for testing:

* **Enroll in test card suite**

  Enroll your wallet in Google's [test card suite](https://developers.google.com/pay/api/android/guides/resources/test-card-suite). Test card suite pre-populates your wallet with a group of cards to use in the TEST environment. These are related to Adyen's collection of test cards, and cover scenarios including:

  * Cards stored as FPAN
  * Cards stored as DPAN (only when testing through native Android and Chrome on Android)
  * Cards enabled for 3DS2

  When you start the payment flow and open the list of test cards, each card is marked with the applicable scenario.

* **Without test card suite**

  You upload real credit cards to your wallet, which are mapped to one of Adyen's [test cards](/development-resources/test-cards-and-credentials/test-card-numbers) of the same brand. Your card is not charged.

  To test 3D Secure 2, you must use American Express or Discover cards, which trigger 3D Secure 2 challenge flows in the test environment. You cannot use any other card brands.

You can check the status of a Google Pay test payment in your [Customer Area](https://ca-test.adyen.com/) > **Transactions** > **Payments**, whether you used a card from the test card suite or or not. Remember that cards outside the test card suite are mapped to an Adyen test card of the same brand.

For more information, see [Google Pay's test environment for Android](https://developers.google.com/pay/api/android/guides/test-and-deploy/integration-checklist#about-the-test-environment).

### Before you go live

We recommend that you test the scenarios described in [Google Pay’s API reference for Android](https://developers.google.com/pay/api/android/reference/client) in your live environment.

1. Make sure that your API credential has the **API Clientside Encryption Payments role**. Check this in your [live Customer Area](https://ca-live.adyen.com/) or ask your Admin user to verify.
2. Go to your [live Customer Area](https://ca-live.adyen.com/) to configure your [Google Merchant ID](https://developers.google.com/pay/api/android/reference/request-objects#MerchantInfo).
3. Complete all the steps in the Google Pay API [deploy to production documentation for Android](https://developers.google.com/pay/api/android/guides/test-and-deploy/deploy-your-application).

In the live environment, note that Google Pay will only be available if:

* The shopper is logged in to their Google account.
* The shopper has at least one valid payment method on their Google Pay account.

- [Component integration guide](/online-payments/react-native/components)
- [Google Pay API](https://developers.google.com/pay/api/)
- [Tokenization](/online-payments/tokenization)
- [Google Pay error codes](/development-resources/error-codes#google-pay-error-codes)
- [API Explorer](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/overview)
