# Credentials

The `MerchantData` object holds the credentials used to initialize the SDK. Pass it to the `MPOSFinix` constructor.


```kotlin
class MerchantData(
    val merchantId: String,
    val mid: String,
    val deviceId: String,
    val currency: Currency = Currency.USD,
    val env: Environment = Environment.SB,
    val userId: String,
    val password: String
)
```

| Field | Type | Description |
|  --- | --- | --- |
| `merchantId` | `String` | Your Finix Merchant ID (`MU...`). |
| `mid` | `String` | Merchant identifier number. Pass an empty string if not required. |
| `deviceId` | `String` | The Finix Device ID (`DV...`) created during [device setup](/android/card-present/device-setup). |
| `currency` | `Currency` | Transaction currency. Defaults to `Currency.USD`. |
| `env` | `Environment` | `Environment.SB` for sandbox, `Environment.PROD` for production. |
| `userId` | `String` | Your Finix user ID (`US...`). |
| `password` | `String` | Your Finix API password. |


## Sandbox and Production

Set `env` to match the environment your device is designated for. Devices cannot switch environments after designation.