Figuring out ezNFC for Apple Wallet passes (VAS)

R Ray Deck 6 months ago
39 0 0

Hey, I'm trying to implement reading passes issued on apple wallet over NFC using a demo unit to get my proof-of-concept going. The unit is TC26AK-21A222-NA and it’s running Android 10. The other specs on the packing slip I received in the box are: ZEBRA EVM, TC26, WLAN AND DUAL WWAN, 1.8 GHZ, ANDROID GMS, 2D IMAGER.

I am trying to read an Apple Contactless Pass using a custom web app in the enterprise browser. I am currently getting a read event, but not meaningful data from the pass. Have others been through this?

I implemented the below code in a browser to test the NFC system, implemented in a <script> tag, and with the EBAPI already inserted in a prior script tag. I was able to confirm that it says "no NFC" if I don't include the EBAPIs tag, so I think we are talking to the right system. 

I then set the enableRead and a callback to throw a couple of alerts to see what it hears when it reads a card. It reads, and it throws the alerts with the id and json. 

But the id is blank. And the JSON shows that the callback payload member doesn't have data - it is blank too. The taghexa is different with every read. 

I also used the stock HTML/JS demo code on this site to go at it a different way, which got me the same results: blank payload.  

Is there a step I am missing to enable the reader properly? I would be so grateful for a point in the right direction. Excited to get this app going on the EB! 

//let's gooooo
const sleep = (ms) => {
  new Promise((r) => setTimeout(r, ms));
setTimeout(async () => {
  const isSupported =
    window.EB && window.EB.EzNFC && window.EB.EzNFC.isSupported;
  //   alert("I is supported " + isSupported);
  if (isSupported) {
    alert("this is supported");
    const { EzNFC } = window.EB;
    // EzNFC.enableAdapter();
    await sleep(1000);
    window.EB.EzNFC.enableRead((dat) => {
      // const { id, type, tnf, payload, encodingformat, result, tagidhexa } = dat;
      const id =;
      alert("I got a dat with id of " + id);
    alert("I allegedly activated reading here");
  } else {
    alert("Can't use nfc here");
}, 1000);
Can’t find what you’re looking for?