NFCTagReaderSession for non-payment AID on payment card

Is it possible to read a custom, non-payment, ISO7816 AID on a multi-application smartcard that also has an active payment AID? I guess Apple Wallet may auto-detect the payment scheme and open, but this could be prevented if my app was already running in the foreground and scanning for the custom AID?

Answered by Engineer in 883542022

If you start your readerSession() before getting near the smartcard, this will prevent the "Wallet" app to be launched.

But, whether this kind of a mixed card will work without any issues remains to be seen, as things will depend on what AIDs the card will present, and whether the payment AID will cause an issue with your app at that point.

In any case, as long as the app has an active session beforehand (although keep in mind that sessions have a timeout, so you can't have one active all the time your app is in the foreground). That would be something you would have to consider when designing your UX flow.

Accepted Answer

If you start your readerSession() before getting near the smartcard, this will prevent the "Wallet" app to be launched.

But, whether this kind of a mixed card will work without any issues remains to be seen, as things will depend on what AIDs the card will present, and whether the payment AID will cause an issue with your app at that point.

In any case, as long as the app has an active session beforehand (although keep in mind that sessions have a timeout, so you can't have one active all the time your app is in the foreground). That would be something you would have to consider when designing your UX flow.

Okay, great. I had got the wrong idea that this was prohibited by policy. But, I guess if CoreNFC knows the AID you are looking for and that has been vetted during app approval, there is no reason to block.

NFCTagReaderSession for non-payment AID on payment card
 
 
Q