On this page, you can find additional configuration for adding Google Pay to your Components integration.
When shoppers select Google Pay, the 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, the Component also handles redirecting shoppers to another website to complete the verification.
Before you begin
Before starting your Google Pay integration:
API reference
You don't need to send additional fields for Google Pay. To see optional fields that you can send for all payment methods, choose the endpoint you integrated:
- /sessions: This is the default with Components v5.0.0 or later.
- /payments: If you implemented an additional use case.
Component configuration
Step 1: Load the Google Pay API JavaScript library
We recommend that you preload the the Google Pay API JavaScript library, by including the
following script in your checkout page:
<script src="https://pay.google.com/gp/p/js/pay.js"></script>
Step 2: Create a DOM element
Create a DOM element on your checkout page, placing it where you want the payment method form to be rendered:
<div id="googlepay-container"></div>
Step 3: Create an instance of the Component
Select which endpoint you're integrating:
This is the default with Components v5.0.0 or later.
There's no additional configuration you need to include for Google Pay.
Use the create
method of your AdyenCheckout
instance, in this case checkout
, to create the Component:
const googlePayComponent = checkout.create('googlepay');
Step 4: Mount the Component
Mount the Component only after checking that Google Pay is available to the shopper:
googlePayComponent
.isAvailable()
.then(() => {
googlePayComponent.mount("#googlepay-container");
})
.catch(e => {
//Google Pay is not available
});
Optional configuration
You can configure the following:
Merchant info
Configure the merchant name rendered in the payment sheet. See MerchantInfo for more details.
Values you set in the configuration
object will override any Google Pay configuration from your back end.
Property | Description |
---|---|
configuration.merchantName |
The merchant name you want displayed in the payment sheet. If specified, you must also specify configuration.merchantId and configuration.gatewayMerchantId . |
configuration.gatewayMerchantId |
The name of your Adyen merchant or company account. Required if merchantName is specified. |
configuration.merchantId |
Your Google Merchant ID. Required if merchantName is specified. The merchantId can be anything for testing. Before you go live, get your Google Merchant ID from the Google Pay & Wallet Console. |
configuration.authJwt |
Your signed JSON Web Token (JWT). This allows you to use your Google merchant ID with multiple domains. If specified, you must also provide configuration.merchantOrigin . To be able to use the JSON Web Token, your account must be approved by Google. Ask your Google contact if your business qualifies. |
configuration.merchantOrigin |
The domain of the merchant where the request comes from. Required when using configuration.authJwt . |
Button options
Configure the Google Pay button. See ButtonOptions for more details.
Property | Description |
---|---|
buttonType |
The type of button you want displayed on your payments form. |
buttonColor |
The color of the button you want displayed on the payment form. |
buttonLocale |
The language on the button. Defaults to the locale set on the current AdyenCheckout instance. Supported from Web Components v4.1.0. |
buttonSizeMode |
Specifies whether the button changes to fill the size of its container (the default), or has a static width and height. Supported from Web Components v4.1.0. |
Payment data
Configure your payment requirements. See PaymentDataRequest for more details.
Property | Description |
---|---|
emailRequired |
Set this to true if you want to collect the shopper's email address. |
shippingAddressRequired |
Set to true to request the shopper's full shipping address. |
shippingAddressParameters |
Set any shipping restrictions. |
shippingOptionRequired |
Set to true if you want to present shipping options in the payment sheet. |
shippingOptionParameters |
Set shipping options and a default shipping option to be shown in the payment sheet. |
Card parameters
Configure accepted card types. See Card Parameters for more details.
Property | Description |
---|---|
allowedAuthMethods |
Specify supported authentication methods. Default value is ['PAN_ONLY', 'CRYPTOGRAM_3DS'] . |
allowedCardNetworks |
Specify allowed card networks. The allowed networks are automatically configured based on your account settings, but you can override this here. |
allowCreditCards |
Default is true. Set this to false if you don't support credit cards. |
allowPrepaidCards |
Default is true. Set this to false if you don't support prepaid cards. |
billingAddressRequired |
Set this to true if you require a billing address. |
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. |
Payment method support
Specify which payment methods are supported. See IsReadyToPayRequest for more details.
Property | Description |
---|---|
existingPaymentMethodRequired |
Default is true. |
Events
The following event handlers are supported for Google Pay.
Event | Description |
---|---|
onClick(resolve, reject) |
Called when the shopper clicks the Google Pay button. Call resolve() or reject() to continue or stop the payment flow. |
onChange or onSubmit |
Called after the shopper approves the payment on the Google Pay form. The first parameter (state ) of this function contains all the necessary data to make a payment using the /payments API. |
onAuthorized |
Called after the shopper approves the payment on the Google Pay form. Contains the full response from Google Pay. Use this if you need additional data such as the shipping address or the shopper email. |
Recurring payments
To make recurring Google Pay payments, you first need to create a shopper token and then make subsequent recurring transactions with the token.
Refer to Tokenization for more information and detailed instructions.
Test and go live
To test Google Pay, log in to a Google account, create a Google Pay wallet and add the details for a real card.
When you test with this card it will be masked to one of our test cards, so there are no charges to your card. Your test transactions show test card details of the same brand in your Customer Area.
You can enrol your wallet in the Google Pay test card suite to use their test cards, which cover a limited number of scenarios. For example, you cannot test changes to your configuration in the PaymentDataRequest
object using the Google Pay test card suite because Google Pay API always returns the same output.
Currently, Google Pay wallets enrolled in the Test Card Suite return only full PAN tokens (FPANs) for test payments, and not device authenticated tokens AKA Cryptograms.
To test 3D Secure 2, you can use American Express or Discover cards, which trigger 3D Secure 2 challenge flows in the test environment. You cannot use any other card brands or any of Google Pay's test cards to test 3D Secure 2.
You can check the status of a Google Pay test payment in your Customer Area > Transactions > Payments.
For more information, see Google Pay's test environment setup for Web.
Before you go live
We recommend that you test the scenarios described in Google Pay’s API reference for web in your live environment.
- Make sure your API credential has the API Clientside Encryption Payments role. Check this in your live Customer Area or ask your Admin user to verify.
- Go to your live Customer Area to configure your Google Merchant ID.
- Complete the steps in the Google Pay API deploy to production documentation for Web.
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.