# Apple Pay / Google Pay

> Apple Pay and Google Pay are available as payment options during Checkout, but require some configuration from the software platform to make them available to m

Apple Pay and Google Pay are available as payment options during Checkout, but require some configuration from the software platform to make them available to merchants. This guide covers the setup process.

## Requirements

- Your implementation must use [shuttle.js](/platforms/embedded-payments/shuttlejs/) 1.4.X (`shuttle-1.4.X.js`, which always serves the latest 1.4 release)
- `shuttle.js` must be loaded in the topmost frame of the browser. Wallet buttons will not appear if Checkout is embedded in an iframe.
- Domains where Checkout will be hosted must be pre-registered for wallet buttons to appear

### Limitations

Apple Pay and Google Pay currently support one-time payments only. Wallet buttons will not appear when tokenising a card or saving a card as part of a payment.

## Domain registration

When you [create](/platforms/reference/platform/operations/createinstance/) or [update](/platforms/reference/platform/operations/updateinstance/) an instance through the API, pass any domains where checkout will be hosted in the `checkout_urls` string array. Only list domains where you embed checkout yourself: Shuttle registers its own hosted pages.

For example:
- `merchant.com`
- `merchant.platform.com`

To check which domains are set on an instance, [get the instance](/platforms/reference/platform/operations/getinstance/) and read `checkout_urls`.

## Enabling Apple Pay / Google Pay

Apple Pay and Google Pay must be enabled on your application before wallet buttons will appear for your merchants.

> Ensure you have completed domain registration (above) by passing `checkout_urls` for each merchant instance. Enabling Apple Pay or Google Pay without registered domains will have no effect.

To enable them:

1. In the Developer Portal, open your application and select the **Developer** tab.
2. Select **Configure Onboarding** for the environment (sandbox or live).
3. Tick **Enable Wallets (Apple Pay/Google Pay)** and save.

Sandbox and live are set separately. See [Merchant Setup options](/platforms/embedded-payments/onboarding-options/).

## Apple Pay

Apple Pay is available for Safari and iOS users.

### Domain verification

Apple require the domain hosting Checkout to be verified. This involves hosting a verification file at:

```
https://yourdomain/.well-known/apple-developer-merchantid-domain-association
```

Host the Shuttle verification file at this URL:

[apple-developer-merchantid-domain-association.txt](/_astro/cdn/321cd9b08d/apple-developer-merchantid-domain-association.txt)

**Requirements:**
- The endpoint must be publicly accessible
- Return the content with mimetype `text/plain`

## Google Pay

Google Pay is available across browsers and Android devices.

Domain registration via `checkout_urls` (as described above) is required for Google Pay buttons to appear.

## Enabling Apple Pay / Google Pay for a merchant

For a merchant to use Apple Pay or Google Pay, at least one of their connected payment processors must support **network tokens**. Shuttle maintains its own Apple Pay and Google Pay integrations and generates network tokens from wallet transactions, which are then processed via the processor's network token rails.

To configure Apple Pay / Google Pay for a merchant:

1. In Merchant Setup, open **Customise Checkout**. If any of the merchant's connected payment providers that take cards support network tokens, **Enable Apple Pay / Google Pay support** is available
2. Turn it on to show Apple Pay and Google Pay in the list of payment methods
3. If the merchant is connected to multiple processors that support network tokens, they can select which processor to use for Apple Pay and Google Pay transactions
4. Optionally configure rules such as minimum/maximum transaction amounts or available currencies
5. Enter the **Merchant Country / Legal Name** - the legal name is displayed to customers in the Apple Pay or Google Pay payment sheet
6. Save the changes

## Sandbox testing

The devices, test accounts and test cards each wallet needs are in [Testing Apple Pay and Google Pay](/platforms/testing/apple-pay-google-pay/).