# Device Reader SDK Integration Prerequisites

Before integrating the Finix Android SDK for PAX Device Readers, complete the following one-time setup. These steps register your PAX developer account, establish your API credentials, and create your Device resource in Finix.

## Prerequisites

- You are registered as a [developer](https://developer.pax.us/) with PAX.


## 1. Choose the credential type

The SDK supports either `ROLE_PARTNER` or `ROLE_MERCHANT` credentials. Use `ROLE_MERCHANT` credentials to scope your app to a single Merchant. Use `ROLE_PARTNER` credentials if your app processes payments across multiple devices or Merchants.

`ROLE_PARTNER` credentials are required for [Split Transactions](/guides/online-payments/payment-features/split-transactions).

### Creating ROLE_MERCHANT credentials

Create a User with `role: ROLE_MERCHANT`.


```shell
curl -i -X POST \
  -u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \
  https://finix.sandbox-payments-api.com/users \
  -H 'Content-Type: application/json' \
  -H 'Finix-Version: 2022-02-01' \
  -d '{
    "role": "ROLE_MERCHANT",
    "identity_id": "ID6YeRojM2ppNkPt4mP8ExNH"
  }'
```

You can use the credentials across multiple devices as long as the devices are associated with the same Merchant.

### Creating ROLE_PARTNER credentials

To create `ROLE_PARTNER` credentials:

1. Log in to the [Finix Dashboard](https://live.payments-dashboard.com/Login).
2. Select the environment for which you would like to create the API credentials (Sandbox or Live).
3. In the bottom left-hand corner, click **Developer**.
4. From the **API Keys** tab, click **Create API Key**.


Create API Key
## 2. Creating a Device

Creating a Device resource can be done either via the Finix Dashboard or via API. The steps below use the API.

Create a Device under the Merchant provisioned to process in-person payments. Include the `model` of the payment terminal you will be using to process cards. Set `integration_mode` to `SDK` to designate that this Device uses the Finix Android SDK for PAX Device Readers.

For more details about the payment terminals available, see our [available devices](/guides/in-person-payments/select-your-device).


```shell Request
curl -i -X POST \
  -u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \
  https://finix.sandbox-payments-api.com/merchants/MUwfZPNW3r4EqLMzwgr6txw4/devices \
  -H 'Content-Type: application/json' \
  -d '{
    "description": "Cashier Three",
    "model": "PAX_A800",
    "name": "PAX_A800 Finix Android SDK for PAX Device Readers",
    "integration_mode": "SDK",
    "serial_number": "19046260947"
  }'
```


```json Response
{
  "id": "DVxcL2fiBdt9frYCKAbZikZK",
  "created_at": "2025-05-21T19:01:32.000581Z",
  "updated_at": "2025-05-21T19:01:32.000581Z",
  "configuration_details": null,
  "description": "Cashier Three",
  "enabled": false,
  "idle_message": null,
  "integration_mode": "SDK",
  "merchant": "MU7noQ1wdgdAeAfymw2rfBMq",
  "model": "PAX_A800",
  "name": "PAX_A800 Finix Android SDK for PAX Device Readers",
  "serial_number": "19046260947",
  "tags": {},
  "_links": {
    "self": {
      "href": "https://finix.sandbox-payments-api.com/devices/DVxcL2fiBdt9frYCKAbZikZK"
    },
    "merchant": {
      "href": "https://finix.sandbox-payments-api.com/merchants/MU7noQ1wdgdAeAfymw2rfBMq"
    },
    "transfers": {
      "href": "https://finix.sandbox-payments-api.com/transfers"
    },
    "authorizations": {
      "href": "https://finix.sandbox-payments-api.com/authorizations"
    }
  }
}
```