Collection identifiers overview

This page describes the identifiers used by the Smart Tap protocol.

Overview

The Smart Tap protocol communicates information about a pass saved to a user's Google Wallet app and the terminal application. The following graphic summarizes the communication flow between the terminal and Google Wallet:

The communication flow starts with agreeing on the protocol to use, key exchange, and then pass exchange.

Because merchants may use multiple businesses or contractors to develop their passes, Google uses three identifiers to facilitate sending information between Google Wallet and terminals. This allows merchants who use a particular terminal provider to redeem passes from different developers. The following IDs are the three "collection identifiers" used in the Smart Tap protocol.

Redemption Issuer ID

A Redemption Issuer ID is a specific type of Issuer ID. A Redemption Issuer ID typically represents a single merchant. In contrast, an Issuer ID for a pass developer might represent a platform that stores pass classes for many different merchants. A platform that stores pass classes for multiple merchants is also referred to as an Aggregator.

Redemption Issuers are used for more than just Smart Tap. For example, Redemption Issuers are also used to render geo-based notification reminders based on the Redemption Issuer's locations. So, an Issuer ID that's listed as a Redemption Issuer on a pass might not be configured for Smart Tap.

Redemption Issuer ID vs. Issuer ID

An Issuer ID is a unique identifier of a Google Wallet Issuer account. The Issuer ID can be found the Google Pay & Wallet Console.

An Issuer can represent a merchant (such as a restaurant), an offer provider, or a terminal manufacturer, and more. When pass classes and objects are developed, they are linked to a specific Issuer ID. The Issuer ID is included in both pass class IDs and object IDs.

ID Format Notes
Class ID issuerId.classSuffix The classSuffix is a unique, developer-defined value for a specific pass class (e.g. a loyalty tier)
Object ID issuerId.objectSuffix The objectSuffix is a unique, developer-defined value for a specific pass object (such as a user ID)

An Issuer can create as many classes as they need.

Collector ID

If a merchant supports Smart Tap at their terminals, their Redemption Issuer will have a Collector ID. The Collector ID is a numeric ID (8 digits) that terminals use to identify themselves. Since a Redemption Issuer may support multiple merchants, the Collector ID is used to request a specific merchant's pass.

When a user taps their device to a Smart Tap capable terminal, the terminal sends the Collector ID to the user's device. The device then authenticates with the terminal using the public key for that Collector ID. See Communication flow to learn more.

Important notes:

  • Only one Collector ID is assigned to an Issuer ID
  • A Collector ID is unique across all Issuer IDs

To obtain a Collector ID for your Issuer ID, see Merchant configuration.

Pass class ID

A class ID identifies a particular tier or type of pass. A class ID follows the format below:

issuerId.classSuffix

The class suffix is a developer-defined value unique to this pass class. A pass object referencing this class ID is saved to a user's Google Wallet app.