Apple Pay
Allow customers to securely make payments using Apple Pay on their Apple device.
Apple Pay is a digital wallet that lets customers pay with a card stored on their Apple device instead of manually entering their card details. Customers can pay with Apple Pay on their iPhone, iPad, Mac, or Apple Watch. Refer to Apple’s compatibility documentation for the full list of supported devices.
For Payment Links or hosted Checkout, Apple Pay works with no additional configuration. For Elements or embedded Checkout, you need to register your domain for Apple Pay to work. In-app payments require additional configuration changes.
Customer locations
Worldwide except India
Presentment currency
Payment confirmation
Customer-initiated
Payment method family
Wallet
Recurring payments
Payout timing
Standard payout timing applies
Connect support
Yes
Dispute support
Manual capture support
Yes
Refunds / Partial refunds
App Store in-app purchase rules for Apple Pay
This guide explains how to configure your app to accept Apple Pay directly for physical goods, services, and other eligible items. Stripe processes these payments, and you pay only Stripe’s processing fees.
For digital products, content, and subscriptions sold in the United States or European Economic Area (EEA), your iOS app can accept Apple Pay by redirecting to an external payment page. You can use the following payment UIs:
- Stripe Checkout
- Web Elements
- Payment Links (best for limited numbers of products and prices)
In other regions, your iOS app can’t accept Apple Pay for digital products, content, or subscriptions.
Accept Apple Pay
Stripe offers a variety of methods to add Apple Pay as a payment method. For integration details, select the method you prefer:
You can accept Apple Pay payments on the Web using Payment Links, Checkout, or Elements.
If you use Payment Links or hosted Checkout, Apple Pay works with no additional configuration. If you use Elements or embedded Checkout", you need to register your domain.
Register your domain with Apple Pay
To use Apple Pay with Elements or embedded Checkout, you must register all of your web domains that show an Apple Pay button. That includes top-level domains (for example, stripe.com) and subdomains (for example, www.stripe.com and shop.stripe.com), in production and testing.
Register your domains on the Payment methods domains page in the Dashboard or by using the API with your live secret key as shown below. Don’t register your domain more than once per account.
Apple validation
Stripe handles Apple merchant validation for you, including creating an Apple Merchant ID and Certificate Signing Request. Don’t follow the merchant validation process in the Apple Pay documentation.
When using direct charges with Connect, you need to configure the domain for each connected account using the API. This isn’t a requirement for connected accounts using other charge types.
Web integration considerations
- When using an iframe with Elements, the iframe’s origin must match the top-level origin (except for Safari 17+ when specifying
allow="payment"attribute). Two pages have the same origin if the protocol, host (full domain name), and port (if specified) are the same for both pages. - If the top-level domain differs from the iframe domain, the top-level domain and the iframe’s source domain must both be registered payment method domains on the associated account.
- Checkout with ui_mode set to
embedded_supports only Safari version 17 or later and iOS version 17 or later.page
Use of Apple Pay on the Web is subject to the Apple Pay on the Web terms of service.
Present the payment sheet
Apple requires that user gestures trigger the Apple Pay modal (for example, clicking a button or interacting with the form). Make sure your code:
- Invokes the payment sheet directly with a user activation event.
- Adds the code for the payment sheet at or near the top of your user gesture event handler, before any asynchronous or long-running code.
- Sets a reasonable time limit to call
confirmPaymentafter the user gesture.
Recurring payments
We recommend implementing Apple Pay merchant tokens to enable merchant-initiated transactions (MIT) such as recurring and deferred payments and automatic reloads. Merchant tokens (MPANs) connect your business with your customer’s Apple Wallet payment method, so they work across multiple devices and keep payment information active in a new device even when it’s removed from a lost or stolen device. See ApplePay merchant tokens for integration details.
Test Apple Pay
To test Apple Pay, you must use a real credit card number and your test API keys. Stripe recognizes that you’re testing and returns a successful test card token for you to use, so you can make test payments on a live card without charging it.
You can’t save Stripe test cards or Apple Pay test cards to Apple Pay wallets to test Apple Pay.
If you don’t meet device and integration requirements, Stripe doesn’t show Apple Pay as a payment option. Use our test page to help you troubleshoot.