Register your domain with Stripe by hosting the Apple Pay domain verification file at the well-known path on your web server; do this for every domain and subdomain where Apple Pay will appear.
Initialize the Stripe.js PaymentRequest object with the country, currency, total, and any display line items such as tax and shipping.
Check the canMakePayment() method on the PaymentRequest button to determine whether Apple Pay or Google Pay is available in the current browser before rendering the button.
Mount the PaymentRequestButton element in your checkout page; Stripe.js handles the sheet presentation and Touch ID/Face ID confirmation natively.
On the paymentmethod event, pass the resulting paymentMethod.id to your server and confirm the PaymentIntent server-side using the Stripe API.
Handle the shipping address change and shipping option change events if you need to update the order total based on the selected delivery address.
Known gotchas
Apple Pay on the web only works over HTTPS; localhost testing requires using Stripe's test environment with specific test card numbers rather than the Apple Pay sheet.
Domain verification files must be re-hosted and re-registered if you change domain providers or CDN configurations that alter the file-serving path.
Apple Pay is only displayed in Safari on Apple devices; ensure your checkout degrades gracefully to a card form for browsers where canMakePayment() returns null.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp