I'm analyzing if S2AP API is able to provide a valid replacement for an existing NFC identification process through a real NFC card. The idea is to get rid of the physical cards and use virtual cards instead.
These cards got some encrypted payload that they send within the NDEF records to the NFC reader, which is ultimately used to identify the user and grant/deny access.
I've been reading a lot of information about the S2AP API and they claim that through the so called "Loyalty cards" you can add custom cards and send info to the NFC terminal whenever they are used. From the Android Pay Merchant Help: “When they make a purchase, they can easily share their loyalty info by showing the barcode on their device or by automatically sending it via NFC at your point-of-sale terminal.”
I know Loyalty Cards are not intended for this kind of custom cards, but as long as the user can select a card and this card send custom NFC info to the reader, it looks like enough for my purposes.
However, there is little info out there about this kind of integration and all the Android official doc that I found reference the Barcode option, which is obviously simpler. I don’t find the way to add that NFC info (the NDEF message that the card should exchange when it is used). I’ve checked the supported fields within LoyaltyObjet and the LoyaltyClass and don’t find any related field.
Does anybody have any experience regarding this?
Edit
Eventually I got to spend some more time in this project. After a lot of effort (too much IMO) I got access to the API, not without explaining in detail my goals to the Google team several times and waiting 1-2 weeks for it. I get that Google wants to keep under control who and why use Android Pay, but some kind of dev key or sandbox to test its capabilities without the need of launching a actual commercial project would be really appreciated. Anyway, this is another topic.
Although I didn't test the API in depth, what I understood from all these conversations with the Google team is that this API is only intended for commercial loyalty programs and it does not seem to be any chance of using it other way, so it does not fit my needs. Anyway, from the little time I could spend on it, I didn't find a way to load custom NFC data either.