Apple Pay
Apple Pay lets customers pay using cards saved to their Apple Wallet with a single tap or glance.
Prerequisites
Apple Pay requires a two-step prepare/submit flow. Before the customer clicks the Apple Pay button, you must call prepareApplePay to initialize the payment session. This is required because Apple Pay sessions must be created in response to a user gesture (browser security requirement).
Stripe processor
Airwallex processor
Add Stripe.js to your page:
Setup
CDN
NPM/ES Modules
Prepare Apple Pay
Before showing the Apple Pay button, call prepareApplePay to check availability and pre-initialize the session. This must happen before the user clicks the button.
Airwallex processors: You must pass processorType: 'airwallex' in both prepareApplePay and submit options. Without this, the SDK will route the payment through the Stripe flow instead of Airwallex, causing a backend error. Stripe processors work without processorType.
Submit payment
Cleanup
When unmounting your checkout component or navigating away, clear the prepared state:
Options
prepareApplePay options
Submit options
Browser support
Apple Pay works on:
- Safari on macOS (with Touch ID or a paired iPhone/Apple Watch)
- Safari on iOS and iPadOS (with Face ID, Touch ID, or passcode)
Apple Pay requires Safari. For Stripe processors, PaymentKit.js uses Stripe’s Payment Request API, which also only surfaces Apple Pay in Safari. For Airwallex processors, the native ApplePaySession API is used directly, which is Safari-only. Always provide card payments as a fallback.