Skip to main content

Express Checkout Wallets (Apple Pay & Google Pay)

Apple Pay and Google Pay let buyers check out with a saved card and a fingerprint/face scan — no card entry. Both wallets only show their button on domains you've proven you own. This guide explains the one-time activation per wallet, and who does what.

You manage all of this from the Wallet Domains page in your Vonpay dashboard: add a domain, download its verification file (Apple Pay), host it, and click Verify. The whole ceremony is self-serve and takes about five minutes per domain — no support request needed.

Who does what

StepWho
Add the domain + download the file + click VerifyYou (in the Wallet Domains dashboard)
Host the file at the exact path on your web serverYour developer (one static-file deploy)
Register the domain with Apple/Google + run verificationVonpay (triggered when you click Verify)

Apple Pay — needs domain verification

Apple requires a per-domain verification file. The full step-by-step (download → host at /.well-known/apple-developer-merchantid-domain-association → confirm reachable → Verify), with copy-paste hosting recipes for the top frameworks (Next.js, Vite, Vercel, Cloudflare, Nginx, Apache, Express) and troubleshooting, is here:

➡️ Embedded Fields — Apple Pay domain setup

The short version:

  1. Open Wallet Domains in your dashboard and Add domain — enter the hostname only (e.g. checkout.yourstore.com, no https://, no path), choose Apple Pay.
  2. On the domain's detail page, Download verification file (it's named exactly apple-developer-merchantid-domain-association).
  3. Host it so it's served at https://<your-domain>/.well-known/apple-developer-merchantid-domain-association (raw bytes, 200 OK, no redirect).
  4. Click Verify. The status badge updates on its own — usually within 30 seconds.

When the status reads Verified, the Apple Pay button can render on that domain.

Google Pay — automatic, no file

Google Pay does not need a hosted file — Google Pay domains verify automatically. Add the domain in the Wallet Domains dashboard with Google Pay selected; there's nothing to download or host, and the status moves to Verified on its own.

Keeping it working

  • Add every domain you serve checkout from — apex and subdomains are separate (yourstore.comcheckout.yourstore.com), and staging domains need their own entry.
  • Leave the Apple Pay file in place. Apple re-checks roughly once a year; Vonpay renews automatically as long as the file is still reachable. If a deploy removes it, the domain can drop to failed — re-host and click Verify.
  • Watch the dashboard. Each domain shows its status (verified / pending / failed / expiring soon) and the date of the last buyer-side failure, so a silently-broken domain doesn't sit unnoticed.

Troubleshooting

SymptomFix
Button doesn't appearThe domain isn't Verified yet, or the buyer's device/browser doesn't support that wallet (Apple Pay needs Safari/iOS; Google Pay needs Chrome/Android).
Stuck on PendingConfirm the file is reachable at the .well-known path (raw bytes, no redirect), then click Verify again.
Dropped to FailedThe file is missing or changed. Re-download from the dashboard, re-host, and Verify.

Full failure-reason detail and per-framework hosting recipes are in the Apple Pay domain setup guide.