Certificates & identifiers

Device registration

The link an iPhone creates between an added pass and the issuer's web service, which is what makes push updates to the pass possible.

When an iPhone adds a pass, it quietly calls the web service URL declared in the pass and registers itself: this device holds this pass, and here is a push token to notify when something changes. That record is a device registration, and it is the plumbing behind every live update a pass receives.

The flow afterwards is a cycle. The issuer changes something, a points balance, a tier, an offer, and sends a push notification for the pass. The wallet wakes up, asks the web service for the latest version of the pass, and swaps it in place. The member sees a current pass, and optionally a change message on the lock screen. Without a registration, a pass is frozen at the moment it was added.

Registrations are scoped to the pass type identifier, which gives them commercial weight: whoever operates the web service for that identifier holds the connection to every pass in every wallet. In a pass migration, exporting serial numbers, authentication tokens and device registrations, and repointing the web service, is what lets passes move to a new provider without members re-adding anything.

Registrations also end. When a member deletes a pass, the device unregisters, which is how issuers know a pass was removed. Google Wallet has no equivalent concept; its passes are objects updated server-side through the API.

See the platform
Next step

See what this looks like on a pass.

The definition is the short version. The next pages show it on the terminals merchants already run, and the merchants running it.