Payments
Register Payment Method Domain
Register your checkout domain with Stripe so Apple Pay and Google Pay appear in the Payment Element.
POST
Register Payment Method Domain
Registers the domain that hosts your checkout page as a Stripe payment method domain. This is required for Apple Pay to appear in the Stripe Payment Element rendered from a Create Chargeclient_secret. Google Pay does not require domain registration, but registering keeps its status visible alongside Apple Pay.
Registration runs on every Stripe account that can render the Payment Element for you:
- The Khaime US and UK platform accounts (platform-routed charges)
- Your business’s own Stripe connected account (direct charges)
- Every active sub-merchant’s connected account, if you operate a marketplace (marketplace charges are created on the sub-merchant’s account, so the domain must be registered there too)
Request Body
string
required
The bare domain that hosts your checkout page, e.g.
checkout.example.com. Protocols, paths, and ports are stripped automatically (https://checkout.example.com/pay → checkout.example.com). Subdomains must be registered individually — registering example.com does not cover checkout.example.com.Response
string
The normalized domain that was registered.
string
live or sandbox, derived from your API key.array
One entry per Stripe account the domain was registered on.
Enabling wallets end-to-end
Registering the domain is one of three steps. To actually show Apple Pay / Google Pay on your checkout:1
Host the association file, then register your domain
Serve the domain association file at the well-known path above, then call this endpoint. Confirm every result shows
apple_pay_status: "active" (use the status endpoint to re-check later).2
Render the Payment Element (not a card-only element)
Wallets only appear in the unified Payment Element. Mount it with the
client_secret and publishable_key from Create Charge.Critical for marketplace/direct charges: when the charge response includes stripe_account_id, you must pass it when initializing Stripe.js — otherwise the wallet validation on the connected account is never picked up:3
Serve checkout over HTTPS and test in a wallet-capable browser
Apple Pay renders only in Safari (macOS/iOS) with a card in Apple Wallet; Google Pay renders in Chrome with a saved card. Not seeing a wallet button in other browsers is expected behavior, not a configuration error.
Wallets appear on one-time charges only. Subscription charges are intentionally card-only because renewals require a reusable card payment method.
