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

# Google Pay Drop-in integration

Add Google Pay to an existing Drop-in integration.

[View source](/payment-methods/google-pay/flutter-drop-in.md)

This page explains how to add Google Pay to your existing Drop-in integration.

## Requirements

Follow the [setup instructions in the Google Pay documentation](https://developers.google.com/pay/api/android/guides/setup).

Select the [server-side flow](/online-payments/build-your-integration) that your integration uses:

### Tab: Sessions flow

| Requirement          | Description                                                                                                                            |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **Integration type** | Make sure that you have built a [Flutter Drop-in integration](/online-payments/build-your-integration/sessions-flow?platform=Flutter). |
| **Setup steps**      | Before you begin, [add Google Pay in your Customer Area](/payment-methods/add-payment-methods).                                        |

### Tab: Advanced flow

| Requirement          | Description                                                                                                                            |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **Integration type** | Make sure that you have built a [Flutter Drop-in integration](/online-payments/build-your-integration/advanced-flow?platform=Flutter). |
| **Setup steps**      | Before you begin, [add Google Pay in your Customer Area](/payment-methods/add-payment-methods).                                        |

## API reference

### Tab: Sessions flow

When you [make the `/sessions` request](/online-payments/build-your-integration/sessions-flow?platform=Flutter\&integration=Drop-in#create-a-payment-session), Google Pay does not require any additional fields.

### Tab: Advanced flow

When you [make the `/payments` request](/online-payments/build-your-integration/advanced-flow?platform=Flutter\&integration=Drop-in#make-a-payment), Google Pay does not require any additional fields.

## Drop-in configuration

### Tab: Sessions flow

When you [create the configuration object](/online-payments/build-your-integration/sessions-flow?platform=Flutter#configure), you must add additional properties for Google Pay.

### Tab: Advanced flow

When you [create the configuration object](/online-payments/build-your-integration/advanced-flow?platform=Flutter#configure), you must add additional properties for Google Pay.

| Property               | Description                                                                  |
| ---------------------- | ---------------------------------------------------------------------------- |
| `googlePayEnvironment` | The environment for Google Pay. Possible values: - **test** - **production** |

**Create a configuration object for Google Pay**

```js
final GooglePayConfiguration googlePayConfiguration = GooglePayConfiguration(
  // Change this to production to accept live payments.
  googlePayEnvironment: test 
  // ... Other optional parameters.
```

### Optional configuration

You can include the following parameters in the configuration object:

| Parameter                       | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `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).                                                                                                                                                                                 |
| `merchantInfo`                  | The merchant name that shows on the payment form. For more information, refer to Google Pay API documentation on [MerchantInfo](https://developers.google.com/pay/api/web/reference/request-objects#MerchantInfo) for more details.                                                                                                                                                                                                                             |
| `totalPriceStatus`              | The status of the total price. Possible values: - **finalPrice**: 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. **notCurrentlyKnown**: the total price is not known.                                                                                                                                                   |
| `allowedCardNetworks`           | The list of [supported card networks](/payment-methods/google-pay#supported-networks) that you support.                                                                                                                                                                                                                                                                                                                                                         |
| `allowedAuthMethods`            | The list of fields that are supported to authenticate a card transaction. Possible values: - **panOnly**: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. -**cryptogram3DS**: associated with cards stored as Android device tokens. Returned payment data includes a 3D Secure cryptogram generated on the device. |
| `allowPrepaidCards`             | Set to **true** to allow prepaid cards.                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `allowCreditCards`              | Set to **true** to allow credit cards.                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `assuranceDetailsRequired`      | Set to **true** to require                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `emailRequired`                 | Set to **true** to require email.                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `existingPaymentMethodRequired` | Set to **true** to only show the payment button if a shopper can pay with a supported payment method.                                                                                                                                                                                                                                                                                                                                                           |
| `shippingAddressRequired`       | Set to **true** to require the shipping address.                                                                                                                                                                                                                                                                                                                                                                                                                |
| `shippingAddressParameters`     | Set any [shipping restrictions](https://developers.google.com/pay/api/web/reference/object#ShippingAddressParameters).                                                                                                                                                                                                                                                                                                                                          |
| `billingAddressRequired`        | Set to **true** to require the billing address.                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `billingAddressParameters`      | The expected fields returned if `billingAddressRequired` is set to true. For more information on the available fields, refer Google Pay API documentation on [billingAddressParameters](https://developers.google.com/pay/api/web/reference/object#BillingAddressParameters).                                                                                                                                                                                   |

You can refer to the [`GooglePayConfiguration` class in Github](https://github.com/Adyen/adyen-flutter/blob/main/lib/src/common/model/payment_method_configurations/google_pay/google_pay_configuration.dart).

### Tab: Sessions flow

After adding the configuration object for Google Pay, [initialize and show](/online-payments/build-your-integration/sessions-flow?platform=Flutter\&integration=Drop-in#launch-and-show) Drop-in.

### Tab: Advanced flow

After adding the configuration object for Google Pay, [add the required callbacks](/online-payments/build-your-integration/advanced-flow?platform=Flutter\&integration=Drop-in#launch-and-show).

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

## See also

* [Drop-in integration guide](/online-payments/build-your-integration/sessions-flow?platform=Flutter\&integration=Drop-in)
* [Webhooks](/development-resources/webhooks)
* [API Explorer](https://docs.adyen.com/api-explorer/#/CheckoutService/latest/overview)
