top of page

Configure Axium SmartPOS

Use the SmartPOS SDK mode and platform-specific parameters instead of treating Axium as a generic reader.

Select one Android flavour

Lite uses ChipDnaMobile-lite.jar and Android 10/API29 minimum; Full uses ChipDnaMobile.jar and Android 12/API31. Lite is recommended for SmartPOS when phone Tap to Pay is unnecessary. Do not include both. Use the release-matched SQLCipher dependency and exclude SDK binaries from additional obfuscation.

Initialize in SmartPOS mode

Provide a non-empty database Password and IsSmartPosIntegration TRUE. Only Axium devices are discoverable in that mode; switching to standard readers requires reinitialization. val params = Parameters() params.add(ParameterKeys.Password, databasePassword) params.add(ParameterKeys.IsSmartPosIntegration, ParameterValues.TRUE) val result = ChipDnaMobile.getInstance().initialize(context, params)

Configure the device

Set ApiKey from the merchant API-source key, selected PinPadName/PinPadConnectionType, and the environment. ApplicationIdentifier is accepted but ignored for Axium. BluetoothDeviceId can select an exact device instead of its display name; deserializeAvailablePinPadsWithId supplies those identifiers.

Build the transaction request

Provide Amount in minor units, UserReference, PaymentMethod Card, TransactionType and Currency. The SmartPOS source lists GBP and USD; query getAvailableCurrencies rather than assuming another integration currency is available. Use TipAmount for enabled tipping.

Avoid unsupported parameters

Do not send DelayOnlineProcessing TRUE; use TransactionAuthPreference. On-device tipping prompts, purchase-order/tax parameters, TapToMobile transaction selection, FeatureTokens and credential-on-file parameters are rejected. One-way card tokens are unsupported. These are SmartPOS restrictions, not a restriction on every Betterpay integration.

Join the community and get the latest biz news & tips

Thanks for submitting!

© 2025 Betterpay. All Rights Reserved.

bottom of page