Skip to main content
The applePay and googlePay elements render a wallet button. Clicking the button opens the shopper’s native wallet sheet; the sheet returns a tokenized payload that the SDK forwards to your onSubmit handler. Both wallets share a common options surface (transaction, require), plus a per-provider block for button styling and provider-specific escape hatches.

Standalone example

Use overflow.googlePay(...) with the same shape for Google Pay.

Availability

Wallets require:
  • HTTPS. Apple Pay does not render on http:// origins.
  • A supported device and browser. Apple Pay renders on Safari (macOS and iOS) and on Chromium browsers via QR handoff. Google Pay renders on Chromium-based browsers.
  • A configured merchant. Wallets that lack merchant configuration are hidden without shifting siblings.
Listen for availability changes via onReady. When a wallet is unavailable, it does not render.

Unified transaction

Both wallets accept the same transaction shape:
Amounts are minor units (e.g. cents). The label appears above the total inside the sheet.

Unified require

Ask the sheet to collect additional shopper data:
Fields you require appear inside the wallet sheet; the shopper cannot skip them. Collected values arrive on the onSubmit value envelope.

Submitted value

Forward value to your server to authorize the charge.

Events

Wallets emit the standard element events plus:
  • onClick: fires when the shopper clicks the wallet button, before the sheet opens. Use it to gate the sheet on your own preconditions (see onClick).
  • onExit: fires when the shopper dismisses the sheet without paying.

Inside Checkout

Configure wallets the same way inside Checkout:

Next steps

Best practices

Availability, ordering, and CSP.

Reference

Shared and per-provider options.

Apple Pay

Apple-specific button and requirements.

Google Pay

Google-specific button and requirements.
Last modified on July 17, 2026