Frequently asked questions

This document provides answers to commonly asked questions for the Google Pay API for Passes.

Google Pay app

Does Google notify users when they leave the Google Pay app (after a user clicks on an URI)?
No, messages are displayed when a user clicks on a URI on the expanded card and leaves the Google Pay app.
Is a loyalty program permanently deleted when a consumer presses on the Remove loyalty program?
No. The loyalty program will not display in the Google Pay app and it will be disassociated from your user data stored with the merchant. However, the actual LoyaltyObject still exists and can be retrieved by calling the REST get method. The object is not deleted because some implementations allow multiple consumers to be associated with the same object.
Why does Google store the object data rather than call the merchant's web service every time an object needs to be rendered?
Calling the merchant's web service every time would make the object rendering slower. Google also needs to cache the data on the user's mobile device when they are offline.
Does Google cache the images (logos, in messages, etc) as well, in case the user loses connectivity?
Yes. Google caches images and stores them on their servers. To update an image you're hosting, update the image on your site and also update the class or object to increment the version. Updating the class or object will prompt Google to re-cache the image file.

Updating objects

How do I update a loyalty program's account ID in the event that a member loses their physical card?
Update the object's accountId field using the REST API.
I get an insufficientPermission error when trying to insert an object or class using the REST API.
    Code was 403
    Msg: Forbidden
      "error": {
        "errors": [
          "domain": "global",
          "reason": "insufficientPermissions",
          "message": "Insufficient Permission"
        "code": 403,
        "message": "Insufficient Permission"
Make sure that you add the account email address, which you obtained when you registered your application, to the Business Console. For more details, see Tie your service account to your Google Pay API for Passes account.


Does Google provide load testing services?
No. However, we estimate queries per second as .05% of the total number of active loyalty accounts. So, for example, you should be able to handle 10,000 queries per second if you have 20 million active loyalty accounts. Also, expect your transaction volumes to be highest right after you launch your integration.


What is the Content-Type that merchants should be using in their JWT responses?
Google does not check Content-Type. You can use application/json or text/plain as the Content-Type.
Can we be notified when an Offer is pushed to a near-by consumer, discovered by a consumer (e.g. clicked, viewed, presented in Google Pay app), purchased by a consumer, and redeemed by a consumer (including transaction information)?
Google cannot track when a consumer shows the barcode or coupon code on their phone and a cashier scans or types it into the point of sales device. Only the merchant's point-of-sale determines if the Offer was successfully scanned and redeemed.
What are the assets that we'll need from our creative team to create a Loyalty Card?
You will need textual and image assets for the expanded view the consumer sees when they have the loyalty program saved in the Google Pay app. See the Pass template page for Loyalty for more details.
How do I get more help?

For additional help, contact the Google Pay API for Passes support team.

Contact Support