Skip to content

Take Payments with PAX D135 Android SDK

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.

PAX D135 Bluetooth card reader with Finix branding

System requirements

RequirementValue
Minimum Android VersionAPI 26 (Android 8.0)
SDK Version3.7.0
Supported DevicePAX D135

Network requirements

The PAX D135 downloads its encryption keys from PAX servers during first-time configuration. This traffic uses the internet connection of the phone or tablet the D135 is paired with. If that network has a firewall, allow the following PAX hosts for the environment your Device is designated for:

EnvironmentHost
Sandboxrkilt.pax.us:33619
Productionrki.pax.us:33519

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.

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.

Next steps