Create issuer accounts programmatically

When you manage your passes integration, it's often convenient to use multiple issuer accounts. Before you start, get your first issuer account approved and complete the basic steps for Get access to REST API. Then, you can programmatically create additional accounts and adjust the emails shared with them.

You can also create an issuer account and edit account permissions manually at the Google Pay Merchant Center.

Create a new issuer account

To create a new issuer account, use an authorized service account key to make an insert REST call to the following endpoint:

POST https://walletobjects.googleapis.com/walletobjects/v1/issuer/

Include the following in the body of the REST call:

{
  "name": issuer-account-name
  "contactInfo": {
    "email": email-address
  }
}

The response includes the body you sent and an extra field, issuerId. This is the newly created account’s Issuer ID. For more information on how to use the issuer endpoint, see the API reference.

Change an existing account’s permissions

Once an account is created, only the service account key that created it has access. If you want additional service account keys to access the account, or to manage the account from a personal email with the merchant account UI, you need to use the permissions endpoint to add additional emails. Do this with an UPDATE REST call. Here's an example of how this is done:

PUT https://walletobjects.googleapis.com/walletobjects/v1/permissions/<issuerId>
{
  "permissions": [
    {
      "emailAddress": permission-email-address
      "role": <the role of the account, either "writer", "owner", or "reader">
    },
  ]
}

See the Permissions API reference list for more details.