Skip to content
Create account or Sign in
The Stripe Docs logo
/
Ask AI
Create accountSign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
APIs & SDKsHelp
OverviewAccept a paymentUpgrade your integration
Online payments
OverviewFind your use case
Use Payment Links
Build a payments page
Build a custom integration with Elements
Build an in-app integration
Use Managed Payments
Recurring payments
In-person payments
Terminal overview
Availability
Readers
No code
Custom integration
Payment methods
Add payment methods
    Overview
    Payment method integration options
    Manage default payment methods in the Dashboard
    Payment method types
    Cards
    Pay with Stripe balance
    Stablecoin payments
    Bank debits
    Bank redirects
    Bank transfers
    Meal vouchers
    Credit transfers (Sources)
    Buy now, pay later
    Real-time payments
    Vouchers
    Wallets
      Alipay
      Amazon Pay
      Apple Pay
        Best practices
        Cartes Bancaires with Apple Pay
        Apple Pay recurring transactions
        Apple Pay merchant tokens
        Apple Pay liability shift, disputes, and refunds
      Cash App Pay
      Google Pay
      GrabPay
      Link
      MB WAY
      MobilePay
      MoMo
      PayPal
      PayPay
      Revolut Pay
      Satispay
      Secure Remote Commerce
      Vipps
      WeChat Pay
    Gift cards
    Special regional requirements
    Custom payment methods
Manage payment methods
Faster checkout with Link
Payment operations
Analytics
Balances and settlement time
Compliance and security
Currencies
Declines
Disputes
Radar
Payouts
ReceiptsRefunds and cancellations
Advanced integrations
Custom payment flows
Flexible acquiring
Off-Session Payments
Multiprocessor orchestration
Beyond payments
Incorporate your company
Crypto
Agentic commerce
Financial Connections
Climate
Verify identities
United States
English (United States)
  1. Home/
  2. Payments/
  3. Add payment methods/
  4. Wallets

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

    See supported presentment currencies

  • Payment confirmation

    Customer-initiated

  • Payment method family

    Wallet

  • Recurring payments

    Yes

  • Payout timing

    Standard payout timing applies

  • Connect support

    Yes

  • Dispute support

    Yes

  • Manual capture support

    Yes

  • Refunds / Partial refunds

    Yes / Yes

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.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_method_domains \ -u "sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \ -d "domain_name=example.com"

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_page supports only Safari version 17 or later and iOS version 17 or later.

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 confirmPayment after 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.

See also

  • iOS Integration
  • Apple Pay on the Web
  • Apple Pay Best Practices
Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Chat with Stripe developers on Discord.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc
On this page