> ## Documentation Index
> Fetch the complete documentation index at: https://docs.masivo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallet pass credentials

> Where to get Apple Wallet and Google Wallet credentials and how to save them in Masivo.

Coupon wallet passes are signed by Apple and Google. Masivo stores one set of credentials per account in **Settings → Wallet passes**.

> [!NOTE]
>
> You can configure iOS, Android, or both. A platform without credentials cannot
> issue a pass for that wallet.

## What you'll learn

* Where each Apple field comes from
* Where each Google field comes from
* How to save them in Masivo

## Apple Wallet (iOS)

Open **Settings → Wallet passes → iOS**. You need four values.

| Field in Masivo | What it is |
| - | - |
| **Pass Type ID** | Identifier such as `pass.com.yourcompany.coupons` |
| **Team ID** | 10-character Apple Developer Team ID |
| **Certificate (.p12)** | Pass Type ID certificate exported from Keychain |
| **Certificate password** | Password you set when exporting the `.p12` |
| **WWDR certificate** | Apple Worldwide Developer Relations intermediate |

**1. Create a Pass Type ID**

In [Apple Developer](https://developer.apple.com/account/resources/identifiers/list) go to
**Certificates, Identifiers & Profiles → Identifiers → Pass Type IDs**.
Create one (for example `pass.com.yourcompany.coupons`). Copy that string
into **Pass Type ID**.

**2. Copy the Team ID**

Open [Membership details](https://developer.apple.com/account). **Team ID**
is a 10-character code. Paste it into **Team ID**.

**3. Create and export the .p12**

Still in Certificates, Identifiers & Profiles, create a **Pass Type ID**
certificate for that identifier and download the `.cer`.

On a Mac, open the `.cer` in **Keychain Access**, select the certificate
plus its private key, and export as `.p12`. Set a password. Upload that
file to **Certificate (.p12)** and type the same password in
**Certificate password**.

**4. Download the WWDR intermediate**

From the [Apple PKI](https://www.apple.com/certificateauthority/) page,
download **Worldwide Developer Relations** (G4). Upload the `.pem` or
`.cer` to **WWDR certificate**.

> [!TIP]
>
> The Pass Type ID in Masivo must match the certificate you exported. A
> mismatch makes iPhone reject the `.pkpass`.

## Google Wallet (Android)

Open **Settings → Wallet passes → Android**. You need two values.

| Field in Masivo | What it is |
| - | - |
| **Issuer ID** | Numeric ID from Google Pay & Wallet Console, such as `3388000000022123456` |
| **Service account JSON** | Key file from Google Cloud IAM |

**1. Enable the Google Wallet API**

In [Google Cloud Console](https://console.cloud.google.com) create or pick
a project. Enable **Google Wallet API**.

**2. Create a service account and JSON key**

Go to **IAM & Admin → Service accounts → Create**. Add a key of type
**JSON** and download it. Upload that file to **Service account JSON**.

The file contains `client_email` (for example
`masivo-wallet@your-project.iam.gserviceaccount.com`). You will invite
that email in the next steps. Do not commit this file to git.

**3. Create the Wallet issuer and copy Issuer ID**

Open [Google Pay & Wallet Console](https://pay.google.com/business/console).
The home **Merchant ID** (`BCR2…`) is **not** the Issuer ID.

Open **Google Wallet API** in the left menu. The first time, click
**Build your first pass** and finish issuer setup. After that, the same
page shows **Issuer ID** — a long number that starts with `3388`. Paste
that into **Issuer ID**.

You do not need to design a pass in Google's builder. Masivo creates the
offer class when it issues a coupon.

**4. Invite the service account**

In the same console go to **Users → Invite a user**. Paste the
`client_email` from the JSON. Role: **Developer** or **Administrator**.

This is not a tester Gmail. It authorizes Masivo to call the Wallet API.

**5. Add demo testers**

New issuers start in **Demo mode**. On **Google Wallet API**, open
**Configure test accounts** and add the Gmail signed into Google Wallet
on the Android phone.

Do not add testers under **Users**. That list is only for console access.
Skip **Create a class**, **Business profile**, and **Request to publish**
until you want production.

## Save

Click **Save** on the iOS or Android form. Masivo encrypts certificates and
the service account JSON. You can replace a file later by uploading a new one.

## Next steps

* [Create a template and turn Wallet on for a coupon](https://docs.masivo.ai/guides/wallet-passes.md)
* [Issue and claim passes from the Storefront API](https://docs.masivo.ai/api-reference/guides/add-coupon-to-wallet.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.