# Paze onboarding

Configure Paze in the Unity Portal and connect your merchant account.

## Before you start

If you haven't already, complete [Install the Android SDK](/guides/checkout/components/android/install) and [Activation](/guides/checkout/components/activate).

You'll also need an existing Paze client ID, provided by Paze.

## Step 1: Ensure Paze is enabled at the merchant group level

Paze must be enabled for your merchant group before it can be configured on individual sites.

1. In the Unity Portal, go to **Merchant setup > Merchant groups**.
2. Select your merchant group.
3. In the **Services** tab, find *Paze service*.
4. If Paze isn't listed, click **Add service** and select **Paze**.


## Step 2: Get your PXP API credentials

Your backend needs API credentials to create checkout sessions with HMAC authentication. If you haven't created a token yet, follow [Step 3](/guides/checkout/components/android/install#step-3-get-your-api-credentials) of the Android SDK installation guide.

Never expose your token value or HMAC credentials in your Android app. Session creation must happen on your backend.

## Step 3: Configure Paze on your site

Register your Paze client ID against the site where you'll accept Paze payments.

1. In the Unity Portal, go to **Merchant setup > Sites**.
2. Select the site you want to enable Paze for.
3. Click the **Services** tab.
4. Find *Paze service* and switch the **Active** toggle to on. If Paze isn't listed, enable it at the merchant group level first ([Step 1](#step-1-ensure-paze-is-enabled-at-the-merchant-group-level)).
5. Click **Edit**, then **Paze Account Settings**.
6. Enter your **Client ID** as provided by Paze.
7. Optionally, enter a **Profile ID** (if provided by Paze). If you only have a client ID, you can leave this field blank.
8. Click **Save** in the top right.


## Step 4: Verify session configuration

After saving your Paze account settings, create a test session from your backend and confirm that Paze is included in the response. Use `"USD"` for `amounts.currencyCode` in the session request. Re-create the session after portal changes; sessions created before Paze was enabled won't include wallet settings.

For the full Sessions API and HMAC signing flow, see [Step 4](/guides/checkout/components/android/install#step-4-get-the-session-data) of the Android SDK installation guide.

When Paze is enabled for your site, the sessions API returns Paze wallet settings similar to:

```json
{
  "sessionId": "c5f0799b-0839-43ce-abc5-5b462a98f250",
  "hmacKey": "904bc42395d4af634e2fd48ee8c2c7f52955a1da97a3aa3d82957ff12980a7bb",
  "encryptionKey": "20d175a669ad3f8c195c9c283fc86155",
  "allowedFundingTypes": {
    "wallets": {
      "paze": {
        "clientId": "your-paze-client-id",
        "profileId": "optional-profile-id",
        "merchantCategoryCode": "5812"
      }
    }
  }
}
```

Confirm `merchantCategoryCode` is present in `allowedFundingTypes.wallets.paze` in your session response. The SDK checks it when calling Paze complete after checkout; if missing, it throws `SDK1202A`. The full session response also includes `data` (required for `SessionConfig`) — see [Step 4](/guides/checkout/components/android/install#step-4-get-the-session-data) of the Android SDK installation guide.

If `allowedFundingTypes.wallets.paze` is missing from the session, the Paze button fails presentment with `SDK1202` when `Content()` is composed.

If `session.allowedFundingTypes.wallets.paze.clientId` is missing or empty at presentment, the SDK throws `SDK1202`. See [Portal and session setup](/guides/checkout/components/android/paze/troubleshooting#portal-and-session-setup).

When initialising the SDK, pass `allowedFundingTypes.wallets.paze` from this session response into `SessionConfig`, set `transactionData.currency` to `"USD"`, and set `transactionData.entryType` to `EntryType.Ecom`. For SDK initialisation and component integration, see [Paze implementation](/guides/checkout/components/android/paze/implementation).