FloPayFloPay
Guides

Google Pay Setup

How to configure Google Pay domain registration for FloPayCheckout.

Google Pay Setup

Google Pay works with FloPayCheckout through Stripe's ExpressCheckoutElement.

To make Google Pay render reliably, you need:

  1. Stripe domain registration — add every checkout domain in Stripe's Payment method domains settings
  2. HTTPS — serve the checkout page over https://
  3. A supported browser/device — test in an environment where Google Pay is available

1. Register the Domain in Stripe

Google Pay will not show unless the domain is registered in Stripe.

  1. Go to Stripe Dashboard → Settings → Payments → Payment method domains
  2. Click Add a new domain
  3. Enter the domain exactly as it appears in the browser (for example checkout.yourdomain.com)
  4. Click Save and continue
  5. Repeat for every production, staging, regional, or subdomain where FloPay renders

Register each hostname separately. yourdomain.com, checkout.yourdomain.com, and checkout.stage.yourdomain.com are different domains in Stripe.

Test and live mode

Make sure the domain is registered in the Stripe environment you use for testing, and confirm it is registered in live mode before launch.

If you test locally, use an HTTPS tunnel such as ngrok and register that hostname before testing Google Pay.

No Apple Pay verification file

Unlike Apple Pay, Google Pay does not use the /.well-known/apple-developer-merchantid-domain-association file.

For Google Pay, the important setup step is registering the domain in Stripe's Payment method domains page.

2. Multiple Stripe Accounts

If your app can initialize FloPay with different Stripe publishable keys, register the domain in each Stripe account that may render Google Pay.

If one environment uses Stripe Account A and another uses Stripe Account B, both accounts need the domain added.

3. Browser and Device Requirements

Google Pay only appears on supported browsers/devices with an eligible wallet available.

In practice, test with:

  • Chrome or another Chromium-based browser
  • A Google Pay-enabled profile or device with an active card
  • HTTPS enabled for the checkout page

On Apple/Safari devices, Apple Pay is typically the wallet shown instead. FloPayCheckout only renders the wallet buttons that Stripe makes available for the current browser.

4. FloPayCheckout Configuration

Google Pay is enabled by default. No extra prop is needed:

<FloPayCheckout sessionId={sessionId} onComplete={handleSuccess} />

To disable Google Pay:

<FloPayCheckout sessionId={sessionId} showGooglePay={false} onComplete={handleSuccess} />

The same showGooglePay prop is also available on SplitCardForm.

Troubleshooting

Google Pay button not showing

  1. Check Stripe domains: Is the current domain listed in Stripe → Payment method domains?
  2. Check the Stripe account: Is the domain registered on the same Stripe account as the publishable key you are using?
  3. Check HTTPS: Google Pay does not work on http:// or plain localhost
  4. Check the browser/device: Test in Chrome or a supported Chromium browser with Google Pay set up
  5. Check payment method settings: Make sure the Stripe account/configuration used by this checkout supports wallet payments
  6. Check the console: Open browser DevTools and look for Stripe errors

Works on one domain but not another

Each hostname must be added separately in Stripe:

  • yourdomain.com
  • checkout.yourdomain.com
  • checkout.stage.yourdomain.com

Works in test but not live

  • Confirm the production domain is registered in the live Stripe account
  • Confirm production uses the publishable key you expect
  • If staging and production use different Stripe accounts, register the domain in both