Google Wallet NFC passes only work with NFC readers and payment terminals that support "Google Smart Tap". (Similar to "Apple VAS" for Apple Wallet passes.)
Google provides an official list to check if your NFC readers support Google Smart Tap: https://developers.google.com/wallet/smart-tap/introduction/overview#smart_tap_capable_terminals
Unlike Apple Wallet passes with NFC, there are no specific restrictions for Google Wallet passes with NFC.
Google Wallet NFC passes always require a key pair: the private key is stored in the NFC reader, and the public key is stored in the Google Wallet issuer account.
Without Passmeister, it's getting complicated from here:
A public/private key pair can be generated for example with
openssl
:
openssl ecparam -name prime256v1 -genkey -out private.pem openssl ec -in private.pem -pubout -out public.pem
After saving the public key in your Google Wallet issuer account, you will receive a so-called "Collector ID" (also "smartTapMerchantId"), which needs to be stored in your NFC readers.
In the source code of the Google Wallet
class
, the possible Google Wallet issuer accounts are stored as
redemptionIssuers
(Note: Issuer IDs, not Collector IDs):
"enableSmartTap": true, "redemptionIssuers": [ "3388000000022206159" ],
In the source code of the corresponding Google Wallet
object
, the transmitted NFC data is stored as
smartTapRedemptionValue
:
"smartTapRedemptionValue": "1234567890",
With Passmeister, everything is easier: your public and private keys are automatically generated and stored in your Google Wallet issuer account. We offer ready-to-use configuration files for NFC readers.
Simply activate NFC in "Pass Settings / NFC" and select the Google Wallet NFC key for the pass.
updated on: 14 June 2023