circle-exclamation
This documentation is currently under development. Certain sections are not yet complete and will be added shortly.

Move passes to The Wallet Crew

Migrate active Apple Wallet and Google Wallet passes from another provider into The Wallet Crew without forcing customers to reinstall.

Use this guide when you want to move already-installed Apple Wallet and Google Wallet passes from another provider to The Wallet Crew.

The goal is continuity for customers. When the migration is done correctly, they keep the same pass on their device, they do not reinstall anything, and your barcode and redemption flow stay unchanged.

Most of the work is coordination, not implementation. You align issuer credentials, export the technical identifiers that tie each pass to its existing Apple/Google record, validate with a small pilot, then run a controlled cutover.

If you need the reverse flow, see Export passes from The Wallet Crew to another provider.

chevron-rightReal-world exampleshashtag
  • A Brand decides to change wallet pass provider, but wants customers to keep their installed passes.

  • A Brand replaces an in-house wallet setup with The Wallet Crew to get a more reliable operating layer.

  • A Brand changes an underlying system (CRM, loyalty, ticketing, POS) and needs to transfer active passes safely.

Before you start

Most migrations succeed or fail based on platform constraints and who controls issuer credentials.

If you want background on identifiers and pass data, read Structure.

Set up your The Wallet Crew project before migrating

You cannot start a migration before your The Wallet Crew project is already working end-to-end.

Migration is not “creating passes again”. It is importing the identifiers that let The Wallet Crew take over updates for passes that are already installed on devices. If your project is not configured, imported passes will exist, but they will not update reliably after cutover.

Before you import anything, make sure:

  • You have connected the wallet providers and can sign/own passes (Apple Pass Type ID and certificates, Google Wallet issuer account access).

  • You have decided which external identifiers you will use to link passes to your systems (customer ID, ticket ID, membership number, order ID, ...). These must be stable over time.

  • You can compute pass content from your source of truth (API integration, file workflow, or operational process).

  • You can run a full lifecycle on test passes: issue, update a visible field, and verify the update on a real device.

chevron-rightMigration readiness checklisthashtag

Use this as a go/no-go list before you touch production passes.

circle-info

Plan for at least one pilot cycle. Most delays come from exports, approvals, and cutover scheduling.

circle-info

Plan for at least one pilot cycle. Most delays come from exports, approvals, and cutover scheduling.

What you import: pass identifiers (platform + external)

You do not recreate passes during a migration. You import identifiers so The Wallet Crew can update passes that are already installed on devices.

You import two kinds of identifiers:

  • Platform identifiers. These point to the existing Apple/Google pass record.

    • Apple: serialNumber + authenticationToken

    • Google: object resource ID (often called object ID)

  • External identifiers. These link a pass back to your own systems.

    • Examples: customer ID, ticket ID, membership number, order ID

Platform identifiers let The Wallet Crew update the same pass on the device. External identifiers let you match the pass to the right customer record and keep updates correct after cutover.

A single pass can have multiple external identifiers. This is useful when you reconcile data across systems.

Decide if you can migrate “in place”

Apple and Google do not allow the same migration patterns.

Apple Wallet (in-place is usually possible)

You can usually migrate without reinstall if you keep the same Apple issuer identity (same Pass Type ID / signing identity) and you repoint the pass update endpoint (webServiceURL).

This typically requires your current provider to send at least one “final update” to installed passes. That update embeds The Wallet Crew webServiceURL so devices start calling The Wallet Crew for future updates.

Google Wallet (only if you keep the same issuer account)

Google Wallet passes are tied to a Google Pay & Wallet Console issuer account (issuerId).

If the existing passes were created under an issuer account you do not control, you cannot transfer them in place. You must plan a re-issuance flow (new save links, new objects).

circle-exclamation

What you need from your current provider

Ask for one export row per pass. You will use it to attach The Wallet Crew to the existing installed pass.

At minimum, get:

  • Apple Wallet: serialNumber and authenticationToken

  • Google Wallet: object resource ID (often called “resource ID” or “object ID”)

  • A stable customer identifier (email, customer ID, ticket ID). This is how you match passes back to customers.

circle-info

If your current provider can also share the Apple Pass Type ID and the Google issuerId, it speeds up the eligibility check.

Migration steps

Sequence overview (what happens end-to-end)

These diagrams show the control points you need for a clean cutover. The key idea is simple: you import identifiers into The Wallet Crew, then you make sure devices start fetching updates from The Wallet Crew.

Apple in-place migration usually works if you keep the same Pass Type ID and your current provider can ship a “final update” that changes the pass webServiceURL to The Wallet Crew.

1

Configure The Wallet Crew issuer credentials

You need The Wallet Crew to authenticate as the same “issuer” as the existing passes.

  • For Apple, use the same Pass Type ID as your current provider whenever possible. Then configure certificates. Follow: Apple Wallet certificates.

  • For Google, confirm which Google Wallet issuer account owns the existing passes. You need access to that issuer account. Follow: Google Wallet account.

2

Export pass technical identifiers from your current provider

Ask your current provider for one export row per pass.

At minimum, export:

  • Apple: serial number and authentication token

  • Google: resource ID (or object ID)

  • Your external identifiers (so you can match each pass to the right customer)

3

Import those passes into The Wallet Crew

Import the exported identifiers into The Wallet Crew so each pass record can be linked to its existing Apple/Google identifiers.

Start with Import & Export. If you need a file-based bulk update flow, see Update pass using flat files.

circle-info

Migration imports often require extra columns (Apple auth token, Google resource ID).

If you don’t see how to map those fields in your tenant, ask The Wallet Crew team to confirm the expected file format.

4

Cut over: repoint Apple pass updates to The Wallet Crew

Apple Wallet passes fetch updates from the webServiceURL embedded in the pass.

To migrate without reinstall, your current provider must update webServiceURL on the existing passes and trigger an update so devices download the new pass version.

circle-exclamation

Ask your old provider to bulk update all existing passes so their webServiceURL matches The Wallet Crew webServiceURL :

https://api-passd.neostore.cloud/api/<tenantId>/passes/apple

replace <tenantId> by your tenantId, confirm the value with The Wallet Crew support team.

5

Validate on a small sample

Pick 2–3 passes on each platform.

Update a visible field through The Wallet Crew. Then verify it updates on devices.

If you need to accelerate refresh during testing, run a push update from The Wallet Crew. This is useful on both platforms: Apple devices fetch the updated pass package, and Google users see the updated object sooner.

6

Monitor after cutover

Monitor updates and redemption for a few days. Keep a rollback option if your previous provider supports it.

For Apple, rollback usually means switching webServiceURL back and triggering an update. Do not attempt this unless you have a confirmed working endpoint on the old provider.

Common pitfalls

Apple and Google failures look different. These checks catch most issues early.

Apple Wallet

If customers report that passes stop updating after cutover, it is usually one of these:

  • The webServiceURL was not updated on the installed passes.

  • The old provider updated webServiceURL but did not trigger a push update.

  • The Wallet Crew Apple credentials do not match the original pass identity (Pass Type ID / certificate).

Google Wallet

If updates fail on Google, it is usually one of these:

  • The existing passes belong to a different issuerId.

  • The exported “resource ID” does not match the object IDs being updated.

  • The Google Pay & Wallet Console permissions do not allow updates from The Wallet Crew credentials.

FAQ

chevron-rightDo customers need to reinstall their pass?hashtag

Usually no.

If you repoint the Apple webServiceURL correctly, existing passes keep updating in place.

For Google, if you keep the same issuer account and resource IDs, users typically keep the same pass.

chevron-rightWhy do we need the Apple authentication token?hashtag

Apple uses the authentication token to authenticate update requests for a given serial number.

Without it, a new provider cannot reliably serve updates to the same installed pass.

chevron-rightCan we migrate Google Wallet passes between issuer accounts?hashtag

Not in-place.

Google Wallet passes are tied to the issuer account. If the issuer changes, plan a re-issuance flow.

chevron-rightHow do we know the Apple cutover worked?hashtag

Update a visible field in The Wallet Crew and confirm the change on a real device. If you can, also confirm the installed pass is calling The Wallet Crew endpoint by checking server logs or by asking The Wallet Crew Support to confirm traffic.

chevron-rightWhat if we can’t keep the same Apple Pass Type ID?hashtag

Plan for re-issuance.

If the Apple issuer identity changes, customers usually need to add a new pass. Run a controlled rollout and keep the old pass valid for a transition period when possible.

chevron-rightWhat if our current provider can’t send the Apple “final update”?hashtag

You may not be able to migrate Apple passes in place.

Without a final update, installed passes keep calling the old webServiceURL. In that case, you must either keep the old endpoint running, or plan a re-issuance flow.

chevron-rightDo we need to change barcodes or redemption logic?hashtag

Not necessarily.

If you keep the same pass identifiers and you keep generating the same barcode payload, your in-store or gate scanning flow can stay unchanged. Validate this explicitly during the pilot by scanning migrated passes in real conditions.

chevron-rightWhat should we communicate to customers during the migration?hashtag

If the migration is in-place, you usually don’t need to communicate anything. Customers keep the same pass and it keeps updating.

If you must re-issue passes, communicate the new “Add to Wallet” flow clearly and early. Keep it short and focus on what customers need to do.

Last updated