Google Pay lets your shoppers pay with the cards stored in their Google account. Unlike Apple Pay, Google Pay does not require per-domain validation or a per-merchant certificate upload — Plexy's gateway handles tokenization. The work is account-level setup plus a small amount of platform-specific configuration.The Plexy gateway is fixed as plexy inside the SDK. You never configure the gateway directly; you provide the merchant identifiers required by the platform SDK.Prerequisites#
Access to the Plexy dashboard.
A Plexy client key for Drop-in or Components.
Your Plexy merchant account value from Plexy Dashboard settings, where it is labeled merchantName.
Web setup#
1
Create a business profile
In the
Google Pay & Wallet Business Console, create a business profile if you don't already have one. Complete the legal business name, website, and support contact details. The profile contains the merchant name and brand assets that appear on the Google Pay sheet.
2
Request production access
Open the Google Pay API section and submit your integration for review. Google checks that your checkout follows Google Pay brand and UX guidelines before granting production access. The Google Pay TEST environment works without approval and is suitable for development. This is a Google Pay setting, not the Plexy SDK environment. To accept real payments, submit your integration for Production access in the Business Console and plan for a review period.
3
Enable Google Pay in Plexy
Confirm Google Pay is enabled for your account in Plexy. No per-merchant certificate upload is required — Plexy's gateway tokenizes the payment.
Unlike Apple Pay, Google Pay needs no separate domain-registration step. Create the Google Pay component, check availability, and mount the button into your page.In Google Pay TEST, the component is considered available for development. Plexy SDK environment should still stay live-apse; use a test API key on your backend when you need simulated Plexy transactions.
Merchant identifiers on Web#
The Web SDK does not receive Google Pay merchant configuration from the API. Pass these values manually in the component configuration:| Field | Meaning | Required |
|---|
gatewayMerchantId | Your Plexy merchant account. It is placed in Google Pay's gateway tokenization parameters and forwarded to Plexy to route the token. Use the value from Plexy Dashboard settings labeled merchantName. | Yes |
merchantId | Google-issued merchant ID from Google Pay Business Console. Google uses it to identify the merchant and render the sheet. | Yes |
merchantName | Display name rendered in the payment sheet. | No |
merchantOrigin / authJwt | Platform or fully-qualified-domain options. | No |
merchantId is required on Web in both Google Pay TEST and PRODUCTION. The component throws IMPLEMENTATION_ERROR "Missing merchantId" if it is missing.
The gateway is internal and fixed:If the Google Pay component environment is omitted, the SDK resolves it from the checkout environment: production, live, and live-* values map to Google Pay PRODUCTION; everything else maps to Google Pay TEST. Plexy examples still keep the checkout SDK environment on live/APSE.Drop-in can render Google Pay once the payment method is enabled on your account. If you build with individual Web Components, create and mount the GooglePay component yourself as shown above. There is no separate domain registration step on the web.
Web SDK
Mount Drop-in or individual components to render Google Pay on the web.Native setup (Android)#
1
Declare Google Pay API in your manifest
Add the Google Pay API meta-data tag inside your
<application> element in
AndroidManifest.xml:
<meta-data
android:name="com.google.android.gms.wallet.api.enabled"
android:value="true" />
2
Set the Google Pay environment
Configure Google Pay with TEST during development and PRODUCTION once Google has approved your Business Console submission. Keep the Plexy checkout SDK environment live/APSE.
3
Render Google Pay
The Plexy Android SDK exposes the Google Pay button via Drop-in or individual components. No additional Google account configuration is required in-app.
React Native#
Google Pay config is a googlepay sub-object inside the unified checkout config. countryCode and amount are required so Google Pay can display the sheet.merchantAccount is your Plexy merchant account, equivalent to Web gatewayMerchantId. Take it from Plexy Dashboard settings where it is labeled merchantName. React Native does not expose Google merchantId, Google merchantName, or gateway; the native Android SDK supplies the Google merchant info and Plexy gateway internally.Flutter#
Flutter uses the typed GooglePayConfiguration, wrapped by GooglePayComponentConfiguration.Flutter sets the Google Pay environment explicitly with GooglePayEnvironment.test or GooglePayEnvironment.production. Keep the Plexy SDK environment on Environment.apse.Configuration parameters#
| Parameter | Description | Default |
|---|
merchantAccount | Your Plexy merchant account sent as Google Pay gateway merchant identifier. Use the value from Plexy Dashboard settings labeled merchantName. | Set manually |
merchantInfo | Flutter only. Google identity shown in the sheet: merchantId and merchantName. | Not set |
googlePayEnvironment | Google Pay environment: TEST / PRODUCTION or the SDK enum equivalent. In React Native, if omitted, it is derived from the root checkout environment; in Flutter it is set explicitly. | Platform-specific |
totalPriceStatus | NOT_CURRENTLY_KNOWN, ESTIMATED, or FINAL. | FINAL |
allowedCardNetworks | Supported card networks. | SDK default |
allowedAuthMethods | PAN_ONLY / CRYPTOGRAM_3DS. | SDK default |
allowCreditCards / allowPrepaidCards | Support credit or prepaid cards. | true |
billingAddressRequired and billingAddressParameters | Request billing address. | false |
shippingAddressRequired and shippingAddressParameters | Request shipping address. | false |
emailRequired | Request email. | false |
existingPaymentMethodRequired | Report shopper readiness to pay. | false |
Google Pay in-app is not available on iOS. For iOS, see Apple
Pay.
Android SDK
Render Google Pay in your Android app with Drop-in or Components.
React Native SDK
Google Pay on Android via the Plexy React Native wrapper.
Flutter SDK
Google Pay on Android via the Plexy Flutter wrapper.Troubleshooting#
| Symptom | Likely cause / fix |
|---|
PRODUCTION shows "not enabled" | Google Pay & Wallet Business Console submission has not been approved yet. Use Google Pay TEST until approved. |
| Button does not appear | Device or browser does not support Google Pay, or isAvailable() rejected. On Web, check the console warning from .catch(). |
| Button missing on Android | Verify com.google.android.gms.wallet.api.enabled is inside <application> in AndroidManifest.xml. |
Google Pay is unavailable on this device in Flutter | No Google Pay support or no saved cards; show unavailableWidget. |
| iOS shows no Google Pay button | Expected. Google Pay is not available in-app on iOS. Use Apple Pay. |
| Sheet shows wrong amount or currency | Ensure amount and countryCode are both set. |
| Token routes to the wrong merchant | Check gatewayMerchantId on Web or merchantAccount on mobile. It must match your Plexy merchant account. |
Merchant terminology#
| Concept | Web | React Native | Flutter |
|---|
| Plexy merchant account | configuration.gatewayMerchantId | googlepay.merchantAccount | merchantAccount |
| Google merchant identity | configuration.merchantId / merchantName | Handled natively | merchantInfo.merchantId / merchantName |
| Gateway | Fixed internally as plexy | Internal | Internal |
The gateway is always plexy and is never set by you.
On Web, all merchant identifiers are configured manually in code.
On Web, merchantId is required in both Google Pay TEST and PRODUCTION.
On React Native, only merchantAccount is exposed for Google Pay merchant routing.
The Plexy merchant account value is found in Plexy Dashboard settings under merchantName.