Microsoft plans to introduce NFC Tap to Pay on Windows 10 Mobile with its Wallet 2.0 app, which is now in internal testing. Even though it's not been announced or teased, we still managed to successfully use it to make purchases — this feature is nearly complete and ready for the comprehensive Anniversary Update due this summer.

Since Microsoft has not formerly announced NFC Tap to Pay and Wallet 2.0 for Windows 10 Mobile, it's up to us to piece together how this works. New evidence suggests that only certain phones may get the feature due to certification standards required by credit card companies like MasterCard.

Microsoft Wallet 2.0 and Host Card Emulation

Back in 2015 at the WinHEC conference in China, Microsoft announced that Host Card Emulation (HCE) was coming to Windows 10 Mobile, so there is a very strong reason to believe that is what is being used in Microsoft Wallet 2.0.

HCE works by having mobile payment providers securing the credit card information on their servers instead of on the device itself. This system relies on your bank generating a new "virtual" credit card number that is associated with mobile payments and your credit card.

Each new payment has a generated, one-time use card number, and this process is often referred to as "tokenization". This system adds a layer of protection between your real account and your temporary mobile payment one. Wallet 2.0 also uses your location data with each transaction to help prevent fraud.

While HCE relies on an encrypted connection to the cloud to generate the one-time use number, users can have a limited number of "off-line" generated codes on their device in case there is no internet connection immediately available.

HCE is the preferred payment method by banks and vendors as there are no proprietary elements involved. Since HCE is the basis of Android Pay (since Android 4.4) it has been in use for some time and it is one reason why Windows 10 Mobile users should be able to use NFC Tap to Pay at all the same locations as Android Pay and Apple Pay.

MasterCard, Visa, and AMEX all support HCE, but not all individual banks do as of yet, which is why some of my credit cards were not accepted (As I note in the original article, those same cards are also not accepted by Apple Pay, which uses a Secure Element-based system). In other words, while Visa may support HCE, the bank that issued your card may not.

Phone models might matter

Adding a twist to the Microsoft Wallet and NFC Tap to Pay puzzle, not all current Windows phones may support the feature. It is not so much that Microsoft may not allow it, but rather HCE devices need to be approved and certified by credit card companies like MasterCard.

In a real world test, friend of the site Jeremy Sinclair ("snickler" on XDA Forums) installed the Wallet 2.0 app on his Lumia 1520 running Windows 10 Mobile build 14361. While the app installed correctly on the Lumia 1520, it did not offer up the Tap to Pay feature. Instead, it just gave the option for Loyalty Cards.

Coincidently, Microsoft MVP Stanislav Z. pointed out to me MasterCard's approved list of HCE-enabled devices. Microsoft Lumias are listed, but only some Lumias are approved, those include:

  • Lumia 640 XL (non-LTE)
  • Lumia 650
  • Lumia 650 Dual SIM
  • Lumia 950
  • Lumia 950 Dual SIM
  • Lumia 950 XL
  • Lumia 950 XL Dual SIM

All other Lumias are not approved, and it seems to involve those devices' NFC firmware and overall age. Phones with NFC firmware 08.01.22 will work, while those with the older NFC firmware 1.xx will not.

So it's not a surprise that when Jeremy tested Wallet 2.0 on a Lumia 1520 Tap to Pay was not enabled — that phone is also not on the approved MasterCard HCE list.

Lumia phones on the MasterCard contactless approved NFC Mobile Devices list

Just as interesting, HCE approval also has expirations dates set for Fall 2018 on those approved Lumias. It is also worth noting that the same approved/not-approved spread and expiration dates apply to all Android phones too. However, Android criterion is related to having at least Android 4.4 or in some cases 5.0 and higher installed.

Getting murky

Without clarification from Microsoft, we cannot be certain if all current Lumias will get NFC Tap to Pay. It could mean that Microsoft will have to (a) update the NFC firmware on those devices and (b) if MasterCard will approve those devices.

It's also not evident if the chipsets on those phones can even support HCE either, making more of a hardware issue than a firmware one. It is likely Microsoft does not write the firmware for the NFC chips, but is instead written by the chip supplier — just as some Bluetooth hardware can be updated to 4.1 and 4.2, while others cannot.

Using NFC Tap to Pay on the Lumia 950 with Wallet 2.0

MasterCard's approval sheet is dated for June 2016, but like all things related to testing and adoption, it is regularly updated as new devices hit the scene. The not-yet-released HP Elite x3 is not listed, for example. However, I would be shocked if that phone does not have approved NFC firmware when it launches. The patterns, so far, seems clear: newer phones are accepted, older hardware is not. This should be no surprise.

The larger point here is that banking certification of HCE phones is a real obstacle that needs to be addressed by all phone manufacturers for NFC payments. It is not an across-the-board situation.

Banking security is a very tight and heavily regulated industry and it involves very stringent requirements to secure your information. HCE security flaws with NFC firmware that could be exploited are a serious concern (though one that has yet to be a problem), so it makes sense there would be an approval process with standards.

Whether any of this holds once the Windows 10 Anniversary Update hits remains to be seen. Phones that are slated to get the update may also get the right bits to allow NFC payments, and frankly, our testing is at best incomplete and limited at this time. But at least we've got a better idea of where compatibility may stand for older Windows 10 Mobile devices.