Quick reference
| Option | Type | Default | Description |
|---|---|---|---|
buttonType | string | 'buy' | Button label |
buttonColor | string | 'black' | Button color |
buttonSizeMode | string | 'fill' | 'fill' or 'static' |
buttonRadius | number | — | Corner radius in pixels |
buttonBorderType | string | — | 'default_border' or 'no_border' |
buttonLocale | string | Browser default | ISO 639-1 locale code |
captureBillingAddress | boolean | false | Capture billing address |
captureShippingAddress | boolean | false | Capture shipping address |
requireShippingMethod | boolean | false | Enable shipping method selection |
emailRequired | boolean | false | Capture email address |
existingPaymentMethodRequired | boolean | false | Only show if user has saved payment |
Button styling
Customize the Google Pay button appearance.| Option | Type | Default | Description |
|---|---|---|---|
buttonType | string | 'buy' | Button label text (see values below) |
buttonColor | string | 'black' | 'black' for light backgrounds (default), 'white' for dark backgrounds, 'default' (same as 'black') |
buttonSizeMode | string | 'fill' | 'fill' to match container width (default), 'static' to size based on label text |
buttonRadius | number | — | Corner radius in pixels |
buttonBorderType | string | — | 'default_border' or 'no_border' |
buttonLocale | string | Browser default | ISO 639-1 code ('en', 'de', 'fr', etc.) |
Button type
SetbuttonType to control the label displayed on the Google Pay button.
| Type | Description |
|---|---|
'buy' | ”Buy with Google Pay” (default) |
'checkout' | ”Checkout with Google Pay” |
'pay' | ”Pay with Google Pay” |
'order' | ”Order with Google Pay” |
'book' | ”Book with Google Pay” |
'donate' | ”Donate with Google Pay” |
'subscribe' | ”Subscribe with Google Pay” |
'plain' | Google Pay logo only |
Examples
Supported locales
Supported locales
Google Pay supports:
en, ar, bg, ca, cs, da, de, el, es, et, fi, fr, hr, id, it, ja, ko, ms, nl, no, pl, pt, ru, sk, sl, sr, sv, th, tr, uk, zhExpress checkout
Google Pay can capture customer information directly from the payment sheet.Billing address
Shipping address
| Option | Type | Description |
|---|---|---|
captureShippingAddress | boolean | Enable shipping address capture |
shippingAddressParameters.allowedCountryCodes | string[] | ISO 3166-1 alpha-2 country codes |
shippingAddressParameters.phoneNumberRequired | boolean | Require phone number |
Providing
shippingAddressParameters (even empty {}) implicitly enables shipping address capture for backward compatibility.Shipping method selection
Enable customers to select shipping methods directly in the Google Pay sheet:- Shipping options from your SHIPPING checkout module appear in the payment sheet
- Customer selects a shipping method before completing payment
- Selected method is sent to your backend via
selectShippingMethod() - Display items update to show shipping costs
Email capture
Advanced options
Existing payment method required
Only show Google Pay if the user has a saved payment method:This option only affects button visibility in PRODUCTION. In TEST mode, the button always appears.
Supported card networks
| Network | Description |
|---|---|
| VISA | Visa cards |
| MASTERCARD | Mastercard cards |
| AMEX | American Express cards |
| DISCOVER | Discover cards |
| JCB | JCB cards |
| INTERAC | Interac cards |
orderedAllowedCardNetworks is set in your client session, only those networks are available.
Display items
When using express checkout with shipping, the payment sheet displays:- Line items — Products from
order.lineItems - Fees — Non-zero fees from
order.fees - Shipping — Non-zero shipping costs (when
requireShippingMethodis enabled)
merchantAmount is set, a simplified “Subtotal” view is shown instead.
Testing
TEST environment
Google Pay returns mock payment credentials. The button always appears regardless ofexistingPaymentMethodRequired.
PRODUCTION environment
- Register your website with the Google Pay Business Console
- Use a real Google account with saved payment methods
- Test
existingPaymentMethodRequired: truefor one-tap checkout
Troubleshooting
Google Pay button not appearing
Google Pay button not appearing
Shipping methods not appearing
Shipping methods not appearing
Checklist:
-
requireShippingMethod: truein SDK options -
captureShippingAddress: trueorshippingAddressParametersset - SHIPPING checkout module configured on backend
- Shipping options available for the selected address
Address not captured
Address not captured
Checklist:
-
captureBillingAddress: truefor billing -
captureShippingAddress: trueorshippingAddressParametersfor shipping - User has address saved in Google account
Complete example
See also
SDK options reference
All configuration options
Google Pay web documentation
Official Google documentation
Google Pay button options
Button customization reference