Google Wallet API FAQ

Getting started

What is the Google Wallet API?

The Google Wallet API allows developers to create digital passes in the Google Wallet. The Google Wallet API currently supports boarding passes, event tickets, loyalty cards, offers, and transit passes. More recently, a generic pass type was added to support additional use cases.

How can I set up my dev environment based on my business requirements and complexity?

Below are guides that can be used to set up a development environment catering for different levels of business complexity and security. Using multiple service accounts can enable developers to create a TEST environment separate from their PROD environment.

Basic setup complexity

1 business console account or 1 business console parent account to many issuer accounts.

  • This option enables a centrally managed approach using 1 main account with zero to many sub businesses/issuers.
  • 1 Google Cloud Project.
  • 1 service account credential.
  • Single set of users.

Average setup complexity

1 parent account to many issuer accounts.

  • This option enables a centrally managed approach using 1 main account with many sub businesses.
  • 1 Google Cloud Project.
  • Distinct business console users per issuer.
  • 1 to many service account credentials.
    • 1 credential per business/issuer.
    • Different credential access per business.

Complex setup complexity

1 parent account to many issuer accounts.

  • This option enables a centrally managed approach using 1 main account with many sub businesses.
  • 1 to many Google Cloud Projects.
  • Distinct business console users per issuer.
  • 1 to many service account credentials.
    • 1 PROD credential per business/issuer.
    • 1 DEV credential per business/issuer.

Contact support

Working with Passes

How do I delete classes or objects?

Currently, you cannot delete classes or objects from Google Wallet. However users can de-link objects from their Google Wallet.

How do I group multiple passes together?

Using the GroupingID makes it easy to group passes together.

How do I update only part of a pass?

Follow our performance guide to understand how to perform partial updates using PATCH requests.

Can I batch create passes?

Follow our performance guide to understand how to perform batch requests using the API.

General Questions

What is the rate limit for requests sent to the Google Wallet API?

Calls to the Google Wallet API are rate limited to 20 requests per second.

Why are personal images prohibited from being on passes in Google Wallet?

Google Wallet does not support personal images on passes because current regulations state that all consumers have the right to opt out of collecting or processing sensitive data. By having sensitive data (personal images) as part of the valuable object (in a JWT), there could be hosting concerns where the data may become public which is outside the original consent agreement. To ensure confidentiality of data, personal images are not allowed. We are working to support personal images in the future.

What error codes are returned by the Google Wallet API?

For a list of error codes and exceptions returned by the Google Wallet API, see Error codes.

How do I enable push notifications?

Developer authored push notifications are not currently supported by Google Wallet. However Google Wallet provides timely notifications for the following passes. Developer authored push notifications are not currently supported by Google Wallet.

Vertical Notification Triggered Documentation
Event Upcoming reminder 3 hours before the event docs
Boarding pass Upcoming reminder 3 hours before the flight departure docs
Boarding pass Pass Update Origin terminal, gate, boarding time or departure time change docs
Offer card Expiry reminder 48 hours before the offer card expires docs
Generic Upcoming reminder 24 hours before the “time interval” starts docs
Generic Expiry reminder 48 hours before the “time internal” ends docs

Can merchant IDs be deleted?

Currently, merchant IDs cannot be deleted or archived from the Google Pay & Wallet Console.

How do I use the Applinking feature?

Applinking requires allowlisting which can be requested here.

Does Google Wallet support Geofencing?

Geofencing is not currently supported.

How do I set up a loyalty program?

You can set up an enrollment and loyalty program by following this guide.

How do I send Google my logo for Transit passes?

Please use this form to send Google the logo for allowlisting.

How to properly handle Base64 encoded userProfile data?

Make sure you use UTF-8 encoding throughout your process. The JSON string is first UTF-8 encoded and subsequently encoded using android.util.Base64 with the options NO_WRAP and URL_SAFE. This corresponds with RFC 3548 section 4.

How do I create Issuer accounts programmatically?

See this guide to create issuer accounts via the API.

Smart Tap

Do I need a special NFC reader for Google SmartTap passes?

It must be a SmartTap capable terminal. A list of certified providers can be found here.

How do I make my passes work with NFC?

Please follow this configuration to enable your pass to be Smart Tap redeemable.

JSON web tokens (JWTs)

Are there tools that simplify JWTs implementation and debugging?

Yes, platforms such as www.jwt.io allow you to decode and debug your tokens during your development process, allowing you to verify the content you are submitting. Do note that Google has no affiliation and does not specifically recommend any of such third parties.

You can pre-create classes and objects using the API ahead of creating the save pass link (JWT).

Troubleshooting

Why does my time setting display the wrong time for the event?

Time displayed on the pass is local time to the event, with offset for the time where the event is.

My logo won't render on the Passes I have built. What could be wrong?

  • Firstly, ensure your logo follows the guidelines and is saved in PNG format.
  • Ensure the logo is readily available with high reliability. Do not redirect to image files which can cause 404 errors. Your images should be hosted on HTTPS location as they will not be visible in Google Wallet otherwise.
  • Ensure that all required fields marked as required in the API are set in the pass.

Support & feedback

How do I contact technical support?

For additional help, contact the support team by clicking the 'Contact Support' button in the left sidebar of the Google Pay and Wallet console.

How do I leave product feedback?

To leave product feedback click the "Send Feedback" button in the upper right quadrant of the developer site page and select "Product feedback". Next, describe your feedback in the text area and click "Send".

How do I leave documentation feedback?

To leave documentation feedback click the "Send Feedback" button in the upper right quadrant of the developer site page and select "Documentation feedback". Next, describe your feedback in the text area and click "Send".