Tag Archives: ticket

Introducing the Google Wallet API

Posted by Petra Cross, Engineer, Google Wallet and Jose Ugia, Google Developer Relations Engineer

Google Pay API for Passes is now called Google Wallet API

Formerly known as Google Pay API for Passes, the Google Wallet API lets you digitize everything from boarding passes to loyalty programs, and engage your customers with notifications and real-time updates.

New features in Google Wallet API

Support for Generic Pass Type

The Google Pay API for Passes supported 7 types of passes: offers, loyalty cards, gift cards, event tickets, boarding passes, transit tickets and vaccine cards. But what if you want to issue passes or cards that do not fit into any of these categories, such as membership cards, or insurance cards?

We are thrilled to announce support for generic passes to the Google Wallet API so you can customize your pass objects to adapt to your program characteristics. The options are endless. If it is a card and has some text, a barcode or a QR code, it can be saved as a generic card.

You now have the flexibility to control the look and design of the card itself, by providing a card template that can contain up to 3 rows with 1-3 fields per row. You can also configure a number of attributes such as the barcode, QR code, or a hero image. Check out our documentation to learn more about how to create generic passes.

While generic passes can be used to mimic the appearance of any existing supported pass type (such as a loyalty card), we recommend you to continue to use specialized pass types when available. For example, when you use the boarding pass type for boarding passes your users receive flight delay notifications.

Grouping passes and mixing pass types

With the new Google Wallet API, you can also group passes to offer a better experience to your users when multiple passes are needed. For example, you can group the entry ticket, a parking pass, and food vouchers for a concert.

In your user’s list of passes, your users see a pass tile with a badge showing the number of items in the group. When they tap on this tile, a carousel with all passes appears, allowing them to easily swipe between all passes in the group.


Here is an example JSON Web Token payload showing one offer and one event ticket, mixed together and sharing the same groupingId. Later, if you need to add or remove passes to/from the group, you can use the REST API to update the grouping information.

{

  "iss""OWNER_EMAIL_ADDRESS",

  "aud""google",

  "typ""savetowallet",

  "iat""UNIX_TIME",

  "origins": [],

  "payload": {

    "offerObjects": [

      {

        "classId""YOUR_ISSUER_ID.OFFER_CLASS_ID",

        "id""YOUR_ISSUER_ID.OFFER_ID",

        "groupingInfo": {

          "groupingId""groupId1",

          "sortIndex"2

        }

      }

    ],

    "eventTicketObjects": [

      {

        "classId""YOUR_ISSUER_ID.EVENT_CLASS_ID",

        "id""YOUR_ISSUER_ID.EVENT_ID",

        "groupingInfo": {

          "groupingId""groupId1",

          "sortIndex"1

        }

      }

    ] 

  }

}


A note about Google Pay API for Passes:

Although we are introducing the Google Wallet API, all existing developer integrations with the previous Google Pay Passes API will continue to work. When the Google Wallet app is launched in just a few weeks, make sure to use the new “Add to Google Wallet” button in the updated button guidelines.

We’re really excited to build a great digital wallet experience with you, and can’t wait to see how you use the Google Wallet API to enhance your user experience.

Learn more

Simpler Google Wallet integration for Android developers

Posted by Petra Cross, Engineer, Google Wallet and Jose Ugia, Google Developer Relations Engineer

Today more than ever, consumers expect to be able to digitize their physical wallet, from payments and loyalty to tickets and IDs. At Google I/O we announced Google Wallet, which allows users to do exactly that. Consumers can securely store and manage their payment and loyalty cards, board a flight, access a gym and much more, all with just their Android phone.

For Android developers, who manage their own digital passes, Google Wallet offers a fast and secure entry point, especially when quick access is needed. Google Wallet will be quickly accessible from the device lock screen on Pixel devices and from the pulldown shade. Your users will be able to quickly access their passes when they need them - all in one place.

Integrating with Google Wallet became even easier and more flexible. We’ve summarized the news of what you can expect as an Android developer.

New Android SDK

The existing Android SDK supports saving three types of passes: offers, loyalty cards, and gift cards. You asked us to add support for other pass types, and we’ve heard you. Today, we are announcing a new, more extensible API and Android SDK, that in addition to tickets, boarding passes, and transit tickets, and additional pass types, includes support for the new generic pass, which lets your users store any pass or card to Google Wallet. The Android SDK lets you create passes using JSON or JSON Web Token as a payload without a backend integration.

Using the Android SDK is straightforward. First, you create a payload with information about the pass. You can either build it directly in your Android app, or retrieve it from your backend stack. Then, you call the savePasses or savePassesJwt method in the "PayClient" to add the pass to Google Wallet.

Here is how you define and save a sample generic pass object:

{

  "id""ISSUER_ID.OBJECT_ID",

  "classId""CLASS_ID",

  "genericType""GENERIC_TYPE_UNSPECIFIED",

  "cardTitle": {

    "defaultValue": {

      "language""en",

      "value""Your Program Name"

    }

  },

  "header": {

    "defaultValue": {

      "language""en",

      "value""Alex McJacobs"

    }

  }

}


private val addToGoogleWalletRequestCode = 1000

private val walletClientPayClient = Pay.getClient(application)

private val jwtString = "" // Fetch a previously created JWT with pass data

walletClient.savePassesJwt(jwtString, thisaddToGoogleWalletRequestCode)

Once your app calls savePassesJwt, the process guides your users through the flow of adding a pass to Google Wallet, and allows them to preview the pass before confirming the save operation.

Developer documentation, samples and codelabs

You can find the new Wallet API documentation on developers.google.com/wallet. We customized our developer guides for each pass type to make all the information easily accessible for your specific needs. You will also find plenty of code samples demonstrating how to check for availability of the Google Wallet API on the Android device, how to handle errors, and how to add the “Add to Google Wallet” button to your app.

Don’t forget to play with our interactive passes visual demo, which lets you fill in the fields and create your own custom pass prototype without writing a single line of code. The tool also generates code samples that you can use to build this pass’ data structures which we call “classes” and “objects”.

We’re really excited to build a great digital wallet experience with you, and can’t wait to see how you use the Google Wallet API to enrich your customer experience. Take a look at our hands-on workshop "Digitize any wallet object with the Google Wallet API" to see a full integration tutorial on Android.

Learn more