Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
About Stripe payments
Upgrade your integration
Payments analytics
Online payments
OverviewFind your use caseManaged Payments
Use Payment Links
Build a checkout page
Build an advanced integration
Build an in-app integration
Payment methods
Add payment methods
    Overview
    Payment method integration options
    Manage default payment methods in the Dashboard
    Payment method types
    Cards
    Bank debits
    Bank redirects
    Bank transfers
    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
      PayPal
      PayPay
      Revolut Pay
      Satispay
      Secure Remote Commerce
      Vipps
      WeChat Pay
    Enable local payment methods by country
    Custom payment methods
Manage payment methods
Faster checkout with Link
Payment interfaces
Payment Links
Checkout
Web Elements
In-app Elements
Payment scenarios
Custom payment flows
Flexible acquiring
Orchestration
In-person payments
Terminal
Other Stripe products
Financial Connections
Crypto
Climate
HomePaymentsAdd payment methodsWalletsApple Pay

Apple Pay merchant tokens

Learn how to use Apple Pay merchant tokens for recurring, deferred, and automatic reload payments.

Copy page

An Apple Pay merchant token (MPAN) ties together a payment card, a business, and a customer, and enables the wallet holder to manage access to a card stored in their Apple wallet. Apple Pay’s latest guidelines recommend merchant tokens over device tokens (DPANs) because merchant tokens:

  • Allow for continuity across multiple devices
  • Enable recurring payments independent of a device
  • Keep payment information active in a new device even when its removed from a lost or stolen device
  • Come with lifecycle management features to monitor changes to a token or to see if a token has been revoked

Merchant token types

You can use Apple Pay to request an MPAN in three ways. Each type of request has different parameters that affect how the user is presented with Apple Wallet. Almost all request types provide the option to supply a managementURL, which routes customers to a webpage to manage their payment methods. If you request an MPAN and the issuer supports MPAN generation, you receive an MPAN. Otherwise, you receive a DPAN.

MPAN request type Use caseSupport
Recurring PKRecurringPaymentRequestIssues an MPAN for use in a recurring payment such as a subscription.
  • Apple Pay on the Web
  • iOS > v16.0
Automatic reload PKAutomaticReloadPaymentRequestIssues an MPAN for use in a store card top-up or prepaid account. Supported parameters:
  • automaticReloadBilling shows billing details when you present Apple Pay.
  • Apple Pay on the Web
  • iOS > v16.0
Deferred payment PKDeferredPaymentRequestIssues an MPAN for use in reservations such as hotels. Supported parameters:
  • freeCancellationDate shows the cancellation deadline when you present Apple Pay.
  • billingAgreement shows the terms of service when you present Apple Pay.
  • Apple Pay on the Web
  • Xcode 14.3
  • iOS > v16.4

Add Apple Pay merchant tokens

You can add a merchant token when presenting Apple Pay in the Express Checkout Element, web Payment Element, and mobile Payment Element. Stripe automatically handles merchant token requests in Stripe Checkout integrations.

Using the Payment Request Button?

If you’re using the Payment Request Button for recurring payments, we recommend migrating to the Express Checkout Element for improved functionality and payment method support. See a comparison.

  1. Set up Express Checkout Element integration.
  2. Pass the applePay object relevant to your MPAN use case (choose from the drop-down to see use case code samples).
  3. Include relevant parameters for your use case.
checkout.js
elements.create('expressCheckout', { applePay: { recurringPaymentRequest: { paymentDescription: "Standard Subscription", regularBilling: { amount: 1000, label: "Standard Package", recurringPaymentStartDate: new Date("2023-03-31"), recurringPaymentEndDate: new Date("2024-03-31"), recurringPaymentIntervalUnit: "year", recurringPaymentIntervalCount: 1, }, billingAgreement: "billing agreement", managementURL: "https://stripe.com", }, }, });

Merchant token auth rate monitoring

For Sigma users, the charges table contains a card_token_type enum field to indicate the charge is using an mpan or dpan card. The following Sigma query example calculates the MPAN auth rate:

-- deduplicated MPAN auth rate select 100.0 * count( case when charge_outcome in ('authorized', 'manual_review') then 1 end ) / count(*) as deduplicated_auth_rate_pct, count(*) as n_attempts from authentication_report_attempts a join charges c on c.id = a.charge_id where c.created >= date('2021-01-01') and c.card_tokenization_method = 'apple_pay' -- The new field added to charges table. and c.card_token_type = 'mpan' -- deduplicate multiple manual retries to a single representative charge and is_final_attempt
Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access program.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc