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
| Step | Who |
|---|---|
| Add the domain + download the file + click Verify | You (in the Wallet Domains dashboard) |
| Host the file at the exact path on your web server | Your developer (one static-file deploy) |
| Register the domain with Apple/Google + run verification | Vonpay (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:
- Open Wallet Domains in your dashboard and Add domain — enter the hostname only (e.g.
checkout.yourstore.com, nohttps://, no path), choose Apple Pay. - On the domain's detail page, Download verification file (it's named exactly
apple-developer-merchantid-domain-association). - Host it so it's served at
https://<your-domain>/.well-known/apple-developer-merchantid-domain-association(raw bytes,200 OK, no redirect). - 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.com≠checkout.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
| Symptom | Fix |
|---|---|
| Button doesn't appear | The 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 Pending | Confirm the file is reachable at the .well-known path (raw bytes, no redirect), then click Verify again. |
| Dropped to Failed | The 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.