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

# Configuring Google Unified Push Provisioning (UPP)

> Learn how to configure Google Unified Push Provisioning (UPP) for programs using Google Wallet.

Unified Push Provisioning (UPP) configuration is required for both new and existing customers that use or want to use Google Wallet in their programs.
Google has replaced its legacy push provisioning API with UPP.
Google plans to deprecate the legacy in-app push provisioning API by the end of 2026.
If you use the legacy API, you must move to UPP before then.

UPP broadens provisioning beyond a device's Google Wallet, pushing card credentials to the cardholder's Google Account so they're available across the Google ecosystem.

The following steps walk you through configuring UPP for your Marqeta program.
The configuration steps differ depending on whether your program is [Managed by Marqeta](https://www.marqeta.com/docs/developer-guides/building-your-managed-card-program.md) or [Powered by Marqeta](https://www.marqeta.com/docs/developer-guides/building-your-powered-card-program.md).

## Prerequisites (for Powered by Marqeta programs only)

Before you begin, make sure you have the following:

* A production environment with Marqeta.
* The token of the card product that you want to enable for UPP.
* Your Apple partner ID (`wpp_apple_partner_id`) if you want to enable both in-app and web push provisioning.

## Step 1 — Access and configure the Google Issuer Console

Complete steps 1 through 4 on the Google Pay [Get started](https://developers.google.com/pay/issuers/overview/get-started) page.
These steps walk you through Google's console setup and give you your Issuer Merchant ID, which you use in the next step.
Google refers to this value as your Merchant ID.
This guide calls it your Issuer Merchant ID to distinguish it from the Marqeta Merchant ID.

* Access the Google Issuer Console.
* Set up a business profile.
* Access your Issuer Merchant ID.
* Add your issuer details, including your authorized signatory's information.

> [!NOTE]
>
> If you have a reseller program that needs to support multiple sub-entities, add each sub-entity in the Google Issuer Console.
> Each sub-entity in the Google Issuer Console profile has its own Issuer Merchant ID.

## Step 2 — Submit a Unified Push Provisioning API intake request

Complete the [Unified Push Provisioning API Intake Request form](https://support.google.com/googlepay/contact/upp_api_onboarding) to link your Issuer Merchant ID with the Marqeta Merchant ID, and allowlist your production URL.
Google's form doesn't include dedicated fields for the Marqeta Merchant ID or your production URL, so include them in the request's open-ended details field.

If you created sub-entities for a reseller program in step 1, complete step 2 for each sub-entity.

Your intake request should include the following:

* Your Issuer Merchant ID from step 1.
* The Marqeta Merchant ID: `BCR2DN4T27GZJMBG`.
* Your production URL.
* The request type, which you set by selecting **Aggregator/Program Manager linking**.

## Step 3 — Confirm card products

Confirm card products based on your program type: Managed by Marqeta or Powered by Marqeta.

### Managed by Marqeta

* If your program uses Google Wallet and is already live, submit a request to your account team to update your configuration for UPP.
  Provide your Issuer Merchant ID, and confirm which card product tokens support Google Wallet.
* If you're currently onboarding, provide your Issuer Merchant ID to your implementation team, and confirm which card products should support Google Wallet.
  Your implementation team then configures the card products to support UPP.

### Powered by Marqeta

* To support only in-app push provisioning, complete [Configuring only in-app push provisioning](#configuring-only-in-app-push-provisioning).
* To support both in-app and web push provisioning, complete [Configuring in-app and web push provisioning](#configuring-in-app-and-web-push-provisioning).

#### Configuring only in-app push provisioning

For each card product, send a `PUT` request to `/cardproducts/{token}`, providing the card product token in place of `{token}`.
In the request body, set `enabled` to `true`.

```json theme={null}
{
  "config": {
    "digital_wallet_tokenization": {
      "provisioning_controls": {
        "in_app_provisioning": {
          "enabled": true,
          "address_verification": {
            "validate": false
          }
        }
      }
    }
  }
}
```

#### Configuring in-app and web push provisioning

For each card product, send a `PUT` request to `/cardproducts/{token}`, providing the card product token in place of `{token}`.
In the request body, set the following fields:

* `enabled`: `true` for in-app provisioning.
* `wpp_apple_partner_id`: Your Apple partner ID.
* `wpp_google_piaid`: Your Issuer Merchant ID.
* `wpp_apple_card_template_id`: The Apple card template ID that your Marqeta representative provides.

```json theme={null}
{
  "config": {
    "digital_wallet_tokenization": {
      "provisioning_controls": {
        "in_app_provisioning": {
          "enabled": true,
          "address_verification": {
            "validate": false
          }
        },
        "web_push_provisioning": {
          "wpp_apple_partner_id": "ORG-00000000-0000-0000-0000-000000000000",
          "wpp_apple_card_template_id": "z8911140-2e36-1234-bf0e-519b5be9999e",
          "wpp_google_piaid": "MARQ_PUSH_1"
        }
      }
    }
  }
}
```

For more information, see the Card Product Configuration guide in the [Tokenization Implementation Guide](https://www.marqeta.com/docs/developer-guides/accessing-tokenization-implementation-guides.md).

## Next steps

You've now completed the Marqeta-side configuration (steps 1 through 3).
To finish Google's launch process, follow the steps in the Google Console guide in the [Tokenization Implementation Guide](https://www.marqeta.com/docs/developer-guides/accessing-tokenization-implementation-guides.md).


## Related topics

- [Create a request for Google Wallet web push provisioning (UPP)](https://www.marqeta.com/docs/core-api/digital-wallets-management/google-wallet/create-request-google-web-push-provisioning-upp.md)
- [Create a digital wallet token provisioning request for Google Wallet as part of UPP](https://www.marqeta.com/docs/core-api/digital-wallets-management/google-wallet/create-token-provisioning-request-google-as-part-upp.md)
- [Create request for Google Wallet web push provisioning](https://www.marqeta.com/docs/core-api/digital-wallets-management/google-wallet/create-request-google-web-push-provisioning.md)
- [Google Wallet Overview](https://www.marqeta.com/docs/core-api/digital-wallets-management/google-wallet.md)
- [Create a digital wallet provisioning request for Google Wallet (UPP)](https://www.marqeta.com/docs/core-api/tokenization-as-a-service/provisioning-requests/create-digital-wallet-provisioning-request-google-wallet-upp.md)
