# Card Present

The Finix Card Present SDK enables in-person payment processing with Bluetooth-connected PAX D135 devices. The SDK handles device pairing, transaction processing, refunds, and signature collection.

## System Requirements

| Requirement | Value |
|  --- | --- |
| Minimum Android Version | API 26 (Android 8.0) |
| SDK Version | `3.7.0` |
| Supported Device | PAX D135 |


## Environment Designation

Devices must be designated to either Sandbox or Production and cannot switch between them. Use separate devices when testing across both environments.

## Quick Start

Initialize the SDK with your credentials, connect to the device, then start a transaction.


```kotlin
val mpos = MPOSFinix(
    context,
    MerchantData(
        merchantId = "MUxxxxxx",
        mid = "",
        deviceId = "DVxxxxx",
        env = Environment.SB,
        userId = "USxxxxxxxxx",
        password = ""
    )
)

mpos.connect(
    deviceName = "PAX_D135_XXXX",
    deviceAddress = "XX:XX:XX:XX:XX:XX",
    callback = object : MPOSConnectionCallback {
        override fun onSuccess() {
            mpos.startTransaction(
                amount = 1000L,
                transactionType = TransactionType.SALE,
                transactionCallback = myCallback
            )
        }
        override fun onError(errorMessage: String) { }
        override fun onProcessing(currentStepMessage: String) { }
    }
)
```

A complete reference implementation is available in the [Finix PAX MPOS Demo App](https://github.com/finix-payments/finix-pax-mpos-android-sdk-demo-app).