Search code examples
nfcapplepaywalletgoogle-paypayment-services

What is happening after nfc loyalty card is submitted?


We are developing mobile app in which customers can access multiple loyalty programs. The most convenient way for customers is to use nfc loyalty card and we are in search of ways to implement it via google pay passes and apple wallet passes

However, we are quite not familiar with the pipeline and user—>PoS—>etc interactions.

Could someone explain, please:

What process is happening after card is submitted to PoS terminal? (Interactions with GPay/Wallet and our backend).

Any information is appreciated!


Solution

  • For the Google Pay Passes side the protocol to transmit loyalty card payload through NFC is called Smart Tap. The design is as follows:

    1. The phone with Google Pay and loyalty passes (enabled with Smart tap) loaded into the wallet is tapped on the terminal.

    2. The terminal through Smart Tap Protocol presents a unique collector ID and signed information to the Google Pay app.

    3. The Google Pay app uses this signed information to verify the identity of the terminal and that collector id is used to determine which passes it transmits.

    4. Google Pay transmits the pass payload through Smart Tap from the wallet.

    5. The terminal then decrypts the payload and passes upstream, to the POS.

    The best way to think about NFC transmission is as an encrypted alternative to transmitting a value using barcode.