Retrieving a Google Wallet Pass payload via the Smart Tap protocol

G'day, everybody!

Recently I've been making a basic system for validating transit passes in a demo environment. I'm now working on the validator devices for which I've decided to use an Arduino mkr1000 and a PN532 NFC module. The idea I have is that the user can use their android device's Google wallet app and scan a NFC-enabled pass. That way, following the Smart Tap protocol, I can hopefully retrieve and successfully decode the payload stored in that pass and use it with the rest of my system.

Following about two weeks of research I found some useful info on the topic but such a thing has never been done before on the Arduino platform. So far I've only managed to get the PN532 module to send a Select APDU command to my phone, opening google wallet, but I haven't found what to do with the response I get.

I don't really know where to start, how or what to do with implementing the protocol for the rest of the communication flow (aka: Selecting Wallet APDU; Negotiating Secure Channel; Getting Data). So any help will be appreciated!

Here's a reverse-engineered version of the protocol on github

@krsultov I plan to do something similar to what you are trying, could you share what you have got already?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.