Skip to main content

NFC on iPhone/iOS

What happened?

As part of agreement between European Union and Apple, Apple decided to open access to its NFC module for 3rd party developers. It allows creation solutions for contactless payments (HCE), alternative to Apple Pay.

This article aims to explain challenges and opportunities related to this technology.

What are differences compared to Android?

Since 2013 Android allows implementing alternatives to Google's own Google Pay and there are a few mature solutions already on the market. Apple's NFC API offers very similar capabilities both from technical and from user experience perspectives. There are however a few differences:

  • Not possible to directly ask user to set your application as default NFC payment app - on Android when user opens your app, they can be presented with a dialog window, that asks them if they want to use your app, as default NFC payment app. Apple's documentation doesn't seem to hint such functionality.
  • Apple needs to give you special entitlement to access NFC module - without Apple's approval it's not possible to include NFC payments into your app. This entitlement can be requested here: https://developer.apple.com/contact/request/hce-payments-entitlement/
  • Security certification - every app enabling NFC payments needs EMVCo certification. As NFC on Apple platform is new thing, it's still not clear how exactly security certification will look like, however due to fundamental differences between Android and iOS we can expect slight differences.

What are differences compared to Apple Pay?

Apple's API allows 3dr party developers to implement most of functionality offered by Apple Pay. Two slight differences are:

  • Power Reserve mode - Apple Pay allows payments with default card for some time after iPhone battery was depleted.
  • Express Transit mode - allows to pay for public transport tickets in a few areas, with compatible cards, without unlocking the iPhone. Full list of places is available here.

Will it work outside EU?

Companies registered in European Economic Area can offer this functionality to customers based in EEA. Table below shows various combinations of companies wanting to offer HCE payments in their App & customers and expected outcome according to Apple requirements.


Company developing App established & licensed for payments in EEA
Company developing App not present in EEA or not licensed for payments in EEA 
EEA citizen, transacting in EEA country
✅HCE available
❌HCE not Available
EEA citizen, transacting outside EEA (traveling)
✅HCE available ❌HCE not Available

non-EEA citizen, transacting in EEA country (traveling)

❌HCE not Available ❌HCE not Available
non-EEA citizen, transacting outside EEA country ❌HCE not Available ❌HCE not Available