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
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
    Overview
    Accept in-person payments
    Integration design
    Select your reader
      Stripe Reader S700
      BBPOS WisePOS E
      Stripe Reader M2
      BBPOS WisePad 3
      Tap to Pay
      Verifone P400
      BBPOS Chipper 2X BT
    Design an integration
    Quickstart
    Example applications
    Testing
    Terminal setup
    Set up your integration
    Connect to a reader
    Accepting a payment
    Collect card payments
    Accept offline payments
    Mail order and telephone order payments
    Regional considerations
    During checkout
    Collect tips
    Collect and save payment details for future use
    Flexible authorizations
    After checkout
    Refund transactions
    Provide receipts
    Customize checkout
    Cart display
    Collect on-screen inputs
    Collect swiped data
    Collect tapped data for NFC instruments
    Apps on devices
    Manage readers
    Order, return, replace readers
    Register readers
    Manage locations and zones
    Configure readers
    Encryption
    References
    API references
    Mobile readers
    Smart readers
    SDK migration guide
    Deployment checklist
    Stripe Terminal reader product sheets
Other Stripe products
Financial Connections
Crypto
Climate
HomePaymentsTerminalSelect your reader

Tap to Pay

Learn how to accept contactless payments on a compatible iPhone or Android device.

Copy page

Looking for a no-code solution? Accept payments from the Stripe Dashboard mobile app.

Use Tap to Pay on iPhone to accept in-person contactless payments with a compatible iPhone.

Tap to Pay on iPhone includes support for Visa, Mastercard, American Express contactless cards, and NFC-based mobile wallets (Apple Pay, Google Pay, and Samsung Pay). PIN entry is supported. Additionally, Discover is supported in the US, Interac is supported in Canada, and eftpos is supported in Australia. Stripe includes Tap to Pay on iPhone in the Terminal iOS SDK and the Terminal React Native SDK, and enables payments directly in your iOS mobile app.

Note

For platforms, use of Tap to Pay on iPhone is subject to the Apple Acceptance Platform User Terms and Conditions.

Availability

Australia
Canada
Ireland
Italy
Netherlands
New Zealand
United Kingdom
United States

Note

Tap to Pay on iPhone isn’t available in Puerto Rico.

Availability in Public preview

Austria
Czech Republic
Finland
France
Germany
Poland
Portugal
Sweden
Switzerland

Get started

Tap to Pay on iPhone requires the latest version of the Terminal iOS SDK, and introduces an SCPDiscoveryMethodTapToPay discovery option and a connectReader method. The minimum required SDK version is 2.23.0. To support Interac in Canada, the minimum required SDK version is 3.6.0.

You must first set up the Terminal iOS SDK. After you’re familiar with the iOS SDK, you can start supporting Tap to Pay on iPhone within your application.

Entitlements and build file

To use Tap to Pay on iPhone to accept payments, your application must request and configure the Tap to Pay on iPhone entitlement from your Apple Developer account. Review the instructions for requesting this entitlement.

After you add an entitlements file to your app build target, add the following:

Keycom.apple.developer.proximity-reader.payment.acceptance
Value typeboolean
Valuetrue or 1

Supported devices

Tap to Pay on iPhone requires an iPhone XS or later running:

  • iOS 16.7 or later in the United States, Australia, and the United Kingdom.
  • iOS 17.0 or later in Austria, Czech Republic, France, Germany, Ireland, Italy, Netherlands, New Zealand, Poland, and Sweden.
  • iOS 17.4 or later in Canada, Finland, Portugal, and Switzerland.

We recommend asking your users to update to the latest iOS version for the best performance.

Note

Tap to Pay won’t work on beta releases of iOS.

Cardholder verification limits and fallback

Some contactless card transactions above certain amounts might require additional cardholder verification methods (CVM) such as PIN entry. Tap to Pay on iPhone supports PIN entry for devices running iOS 16.4 or later.

NFC wallet payments (Apple Pay, Google Pay, and Samsung Pay) usually don’t require a PIN. However, in the UK, Canada, and Finland, regional requirements and card issuer policies can affect contactless payments.

In the UK, depending on the issuer, Strong Customer Authentication might require some cards to be inserted into a device. In such cases, if the card isn’t inserted, the payment is declined before the PIN screen appears, with the reason offline_pin_required.

In Canada and Finland, many issued cards are offline PIN only, meaning that entering the PIN requires physical contact, such as insertion into a device, which isn’t supported with Tap to Pay.

In these scenarios, we recommend asking the customer to try a different card or collecting payment in a different way. For example, using a Terminal card reader or sending a Payment Link.

When collecting payment with your mobile device, hold the card to the reader until it reads the chip information. You might need to wait a few seconds after the initial vibration when the card makes contact. In the event of a decline, use another method to collect payment, such as a Terminal card reader. You can only have one active connection to a reader at a time.

Best practices and promotion guidelines

Follow the Human Interface Guidelines for Tap to Pay on iPhone to ensure of an optimal user experience and successful review process with Apple.

Consider the following:

  • Connect to the reader in the background on app startup to reduce wait times when collecting a payment.
  • Use automatic reconnection to reconnect to the reader when the app comes to the foreground to reduce wait times.
  • Provide merchant education to guide your users on how to accept contactless payments on a compatible iPhone, including in-product promotion and text or email alerts. See Apple’s developer marketing guidance. With iOS 18, you can use Apple’s ProximityReaderDiscovery API to provide merchant education for Tap to Pay on iPhone with a few lines of code. Apple ensures that the content is up to date and localized for your merchant’s region.
  • Launch and promote your Tap to Pay on iPhone marketing campaigns using our messaging templates and design assets following Apple’s brand guidelines. Become a Stripe Partner here to access these assets in the partner portal.

Next steps

  • Set up your integration
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