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.](https://developers.google.com/static/wallet/smart-tap/images/smart-tap-flow.png)

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](https://developers.google.com/wallet/smart-tap/introduction/collection-identifiers.md.txt#redemption_issuer_id)
- [Collector ID](https://developers.google.com/wallet/smart-tap/introduction/collection-identifiers.md.txt#collector_id)
- [Pass class ID](https://developers.google.com/wallet/smart-tap/introduction/collection-identifiers.md.txt#pass_class_id)

> [!NOTE]
> **Note:** Along with these identifiers, pass developers are responsible for defining what data is mapped and communicated between Google Wallet and terminals. Additional configuration is also required so that the terminal can recognize the mapped fields.

## 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](https://pay.google.com/business/console/home).

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](https://developers.google.com/wallet/smart-tap/introduction/communication-flow.md.txt) 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](https://developers.google.com/wallet/smart-tap/introduction/merchant-configuration.md.txt).

> [!NOTE]
> **Note:** An Issuer account can only have one Collector ID.

## 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.

> [!NOTE]
> **Note:** A pass class ID is owned by a single Issuer account, but can be linked to multiple Redemption Issuer IDs.