Payment-method icon

Android Drop-in

Add Google Pay to your Drop-in integration.

How you add Google Pay depends on your integration.

Choose the server-side flow that your integration uses:

Sessions flow
Advanced flow

Start integrating with Sessions flow Drop-in

Choose your version
5.8.0

Requirements

Requirement Description
Integration type Make sure that you have an existing Sessions flow Android Drop-in integration.
Setup steps Before you begin, add Google Pay in your Customer Area.

Add additional parameters to your /sessions request

You do not need to add any parameters when you create a payment session.

Add additional configuration for Google Pay

Add a configuration object with the following parameters:

Parameter Required Description
setAllowCreditCards Set if you support credit cards. Default is true for the specified card networks. Check the Google Pay docs for more details.
setAllowedAuthMethods Sets the supported authentication methods. Check AllowedAuthMethods for all the possible values. Default is PAN_ONLY, CRYPTOGRAM_3DS. Check the Google Pay docs for more details.
setAllowedCardNetworks Sets the allowed card networks. The allowed networks are automatically configured based on your account settings, but you can override them here. Check AllowedCardNetworks for all the possible values. Default is AMEX, DISCOVER, INTERAC, JCB, MASTERCARD, VISA. Check the Google Pay docs for more details.
setAllowPrepaidCards Set if you support prepaid cards. Default is false. Check the Google Pay docs for more details.
setAssuranceDetailsRequired Set to true to request assurance details. Default is false. Check the Google Pay docs for more details.
setBillingAddressParameters Sets the required billing address details. Check the Google Pay docs for more details.
setBillingAddressRequired Set to true if you require a billing address. Default is false. Check the Google Pay docs for more details.
setCountryCode Sets the ISO 3166-1 alpha-2 country code where the transaction is processed. Check the Google Pay docs for more details.
setEmailRequired Set to true if you require an email address. Default is false. Check the Google Pay docs for more details.
setExistingPaymentMethodRequired Default is false. Check the Google Pay docs for more details.
setGooglePayButtonStyling Set a GooglePayButtonStyling object for customization of the Google Pay button.
setGooglePayEnvironment Sets the environment to be used by GooglePay. Should be either WalletConstants.ENVIRONMENT_TEST or WalletConstants.ENVIRONMENT_PRODUCTION. Default follows the value of the Adyen environment.
setMerchantAccount Sets the information about the merchant requesting the payment. Check the Google Pay docs for more details.
setMerchantInfo Sets the information about the merchant requesting the payment.
setShippingAddressParameters Sets the required shipping address details. Check the Google Pay docs for more details.
setShippingAddressRequired Set to true if you require a shipping address. Default is false. Check the Google Pay docs for more details.
setSubmitButtonVisible Sets if submit button will be visible or not. Default is false.
setTotalPriceStatus Sets the status of the total price used. Default is "FINAL". Check the Google Pay docs for more details.
Add a configuration object
Expand view
Copy link to code block
Copy code
Copy code
CheckoutConfiguration(
environment = environment,
clientKey = clientKey,
…
) {
googlePay {
setSubmitButtonVisible(true)
setMerchantAccount("YOUR_MERCHANT_ACCOUNT")
setGooglePayEnvironment(WalletConstants.ENVIRONMENT_TEST)
setMerchantInfo(…)
setCountryCode("US")
setAllowedAuthMethods(listOf(AllowedAuthMethods.PAN_ONLY))
setAllowedCardNetworks(listOf("AMEX", "MASTERCARD"))
setAllowPrepaidCards(false)
setAllowCreditCards(true)
setAssuranceDetailsRequired(false)
setEmailRequired(true)
setExistingPaymentMethodRequired(false)
setShippingAddressRequired(true)
setShippingAddressParameters(…)
setBillingAddressRequired(true)
setBillingAddressParameters(…)
setTotalPriceStatus("FINAL")
setGooglePayButtonStyling(…)
}
}

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

Before you go live

We recommend that you test the scenarios described in Google Pay’s API reference for Android 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 or ask your Admin user to verify.
  2. Go to your live Customer Area to configure your Google Merchant ID.
  3. Complete all the steps in the Google Pay API deploy to production documentation for Android.

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.