Payments
Apple Pay & Google Pay on Storefront
Last updated 19 May 2026
Apple Pay & Google Pay on Storefront
Apple Pay, Google Pay, Stripe Link, and card all appear automatically on your storefront's deposit and gift-card flows. Zero operator setup — Apple Pay domain registration is handled automatically when your venue activates Stripe and any time you connect a custom domain.
Where customers see them: Booking deposit step at storefront checkout, and gift-card purchase page at
/your-slug/gift-cards. Operator config: none required.
TL;DR
- Apple Pay (Safari/iOS), Google Pay (Chrome/Android), Stripe Link (returning customers), and Card all surface automatically.
- OpenChair auto-registers your venue with Apple Pay on the platform domain + every active custom domain.
- No operator config. Standard Stripe processing fees apply.
- Requires Stripe Connect to be active on your venue.
What the customer sees
At the deposit step of the storefront booking flow, or on the storefront gift-card purchase page, customers see:
- Apple Pay button (Safari on iPhone, iPad, Mac)
- Google Pay button (Chrome on Android, desktop Chrome)
- Stripe Link button (for returning Stripe customers — one-tap if they've used Link before)
- Card form (always available as the fallback)
The exact set depends on the visitor's browser and what wallets they have set up. Stripe's PaymentElement decides; we just configure automatic_payment_methods with allow_redirects: never.
Apple Pay setup (it's automatic)
Apple requires merchants to register each domain that accepts Apple Pay. Because OpenChair uses Stripe Connect direct charges (your venue is the merchant of record), the registration happens per-venue per-domain.
Two hooks handle this without operator action:
Hook 1 — Venue Stripe onboarding completes
When your Stripe Connect account transitions from "in setup" to "charges enabled" (the moment after you complete Stripe's onboarding form), OpenChair registers Apple Pay with Stripe for:
- The platform domain:
openchairpro.com - Every active custom domain on your venue
This runs from the Stripe account.updated webhook in the background. By the time your storefront is live and accepting bookings, Apple Pay is already registered.
Hook 2 — Custom domain activation
When you connect a custom domain and it transitions to Active status (DNS verified, certificate issued), an Apple Pay domain registration fires automatically as part of the same custom-domain health cron.
The registration is fire-and-forget — failures are logged to Sentry but don't block your custom domain from going live. If Apple Pay doesn't show on your custom domain within an hour of it going active, contact support and we'll re-register.
Google Pay setup
There is none. Google Pay works automatically inside PaymentElement on any HTTPS page. No registration, no file hosting, no approval — once you have automatic_payment_methods enabled (which OpenChair does), Google Pay appears for Chrome/Android users.
Stripe Link
Link is Stripe's stored-payment-method service. Customers who've used Link before (on any Stripe merchant) see a one-tap option to pay with the card they've saved with Stripe. It surfaces automatically alongside Apple Pay / Google Pay / Card.
For new customers, Link offers to save their email + card during checkout — useful for faster future payments on your storefront and elsewhere.
Where wallet payments work
| Surface | Apple Pay | Google Pay | Link | Card |
|---|---|---|---|---|
| Booking deposit (storefront) | Yes | Yes | Yes | Yes |
| Gift card purchase (storefront) | Yes | Yes | Yes | Yes |
| Membership signup (storefront) | Yes (via Stripe Checkout) | Yes | Yes | Yes |
| In-app POS (your phone or tablet) | Use Tap to Pay | Use Tap to Pay | N/A | Use hardware terminal |
The storefront PaymentElement is for customers paying you online. For in-person payments at the counter, see Tap to Pay or hardware terminal.
What you need to do
Nothing. Confirm Stripe Connect is active and visit your own storefront on a Safari browser (iPhone or Mac) to see Apple Pay live. On Chrome (Android or desktop), you'll see Google Pay.
If you want to verify Apple Pay registration is in place, the apple-developer-merchantid-domain-association file should be served at https://your-slug.openchairpro.com/.well-known/apple-developer-merchantid-domain-association and on every connected custom domain. We host it automatically.
What if a customer's Apple Pay payment fails?
The PaymentElement falls back to the card form. Customer can complete the booking with a regular card. The failure is logged in your venue's Stripe Dashboard for review.
Common reasons:
- Card issued by a bank that doesn't support Apple Pay (rare)
- Customer's Apple ID needs reauthentication
- Geo-restriction on the card
None of these are operator-fixable; they're between the customer and their bank.
Mobile parity
The storefront is browser-based, so it works the same on every device. Customers on mobile Safari see Apple Pay; customers on mobile Chrome see Google Pay. The same Stripe PaymentElement renders on desktop and mobile.
The OpenChair mobile app (for operators) doesn't use storefront wallet payments — operator-side payments use Tap to Pay or a hardware terminal.
Custom domain tip
If your storefront is at a custom domain (e.g. salonsmith.com), Apple Pay registration covers that domain automatically when it goes active. There's nothing extra you need to do — no DNS change beyond your initial CNAME/A record setup.
Removing a custom domain auto-unregisters Apple Pay for that domain (cleans up your Stripe Connect account).
Tier
- All plans with Stripe Connect active. No PRO requirement.
- Standard Stripe processing fees apply — see Fees and Processing. FREE is 3.0% + $0.50; PRO is 1.8% + $0.30.
Common mistakes
| Problem | What to check |
|---|---|
| Apple Pay button isn't showing | Use Safari (Apple Pay only renders in Safari and on iOS, not Chrome). Confirm your venue has Stripe Connect active. |
| Google Pay button isn't showing | Use Chrome (Google Pay doesn't render in Safari). Some browsers / regions don't support Google Pay yet. |
| Wallet payments work on openchairpro.com but not on my custom domain | Apple Pay registration for custom domains runs when the domain goes Active. If it's been over an hour since your domain activated, contact support. |
| Customer reports a wallet payment failed silently | Check the booking record in Stripe Dashboard — the failure detail is there. The customer can retry with card. |
FAQ
What digital wallets does my storefront accept?
Apple Pay, Google Pay, Stripe Link, and any card brand Stripe supports. Wallets surface automatically — Apple Pay for Safari/iOS visitors, Google Pay for Chrome/Android, Link for returning Stripe customers, card form for everyone.
Do I need to configure Apple Pay?
No. OpenChair handles Apple Pay domain registration with Stripe automatically — both on the platform domain (openchairpro.com) and any custom domain you connect. You don't need to upload files, complete forms, or wait for approval.
Why isn't Apple Pay showing on my custom domain?
Domain registration runs automatically when your custom domain transitions to Active. If it's still not showing within an hour, check that your custom domain is fully verified, then contact support — we'll re-register.
Where do wallet payments appear?
Booking deposit step and gift-card purchase page on your storefront. The same Stripe PaymentElement renders the wallet buttons + card form depending on what the visitor's browser supports.
Are there extra fees for wallet payments?
No — standard Stripe processing fees apply identically whether the customer paid with Apple Pay, Google Pay, Link, or card. No surcharge for using a wallet.