Skip to main content
Apple Pay and Google Pay let customers pay from the wallet already on their device. When a Whop Elements checkout or payment element renders on your own site, both wallets require the page’s domain to be a verified payment method domain. One verified domain clears both wallets for every element on that page.
Domain verification is only required for pages you host. Whop-hosted checkout pages and whop.com are already approved.

Prerequisites

Before setting up Apple Pay, check that you have:
  • A domain where you’re mounting Whop Elements
  • The ability to host a file on that domain (to serve the Apple Pay verification file)

Self-hosted verification

To verify your domain, serve the Apple Pay merchant ID domain association file at a specific path on your domain, then register the domain with Whop.

Step 1: Download the verification file

Download the Apple Pay verification file.

Step 2: Host the file

Host this file at the following path on your domain:
The file must be:
  • Served over HTTPS
  • Accessible without authentication
  • Served with the correct content (no modifications)
Place the file in your public folder:

Step 3: Verify file access

Test that you can access the file by visiting:
The file should download or display its contents without any errors.

Step 4: Register your domain

Register the domain from the dashboard or through the API. Either way, Whop checks that the file is reachable before registering the domain with Apple.
Navigate to your checkout settings and find the Apple Pay and Google Pay for embedded checkout section. Select Configure to open Payment domains.
Payment domains settings showing the Configure button
Select Add domain, choose Self-hosted verification, and enter your domain.
Add domain dialog for self-hosted verification
A domain listed as Needs verification is still waiting on the file. Fix the hosting, then select Verify domain.

Troubleshooting

  • Make sure your domain shows as verified in Payment domains or returns status: "verified" from the API.
  • The ExpressCheckoutElement renders only the wallets the buyer’s device can pay with, and renders nothing where no wallet is available. Test Apple Pay in Safari on a real Apple device, not in a simulator.
  • If using Framer, load the Elements script through Custom Code in your site headers, not through the Embed component. Framer’s Embed component uses a srcdoc iframe, which Safari treats as an insecure context and blocks Apple Pay.
  • Verify the file is in the correct location: /.well-known/apple-developer-merchantid-domain-association.
  • Check that your web server serves files without extensions.
  • Make sure your hosting configuration doesn’t block the .well-known directory.

Next steps

Express Checkout

Add one-press Apple Pay and Google Pay buttons to your site

Checkout Links

Create shareable checkout links for your products