I'm integrating a custom Android application with a PAX A910 terminal using the Pine Labs PoSLib SDK. The goal is to initiate a payment from my app by calling doTransaction(), where the terminal displays a QR code or prompts for a card tap/swipe.
Following the official Pine Labs Local Integration with Android documentation, I first attempted device discovery using:
scanOnlinePOSDevice() (TCP/IP discovery)
scanBTDevice() (Bluetooth discovery)
Both devices were on the same Wi-Fi network, and Bluetooth was enabled on both.
However, both discovery APIs consistently failed—they either timed out or returned an empty list.
As a workaround, I hardcoded the terminal's IP address and port (103.215.234.21:8094). With this configuration:
The SDK successfully connects to the terminal.
The connection callback succeeds.
My application correctly shows the terminal as Connected.
So the TCP/IP connection itself appears to be working.
The problem occurs when invoking doTransaction().
Every transaction fails with the following exception:
javax.net.ssl.SSLHandshakeException: Unacceptable certificate:
EMAILADDRESS=support@pinelabs.com,
CN=PINELABS,
OU=PLUTUS,
O=PineLabs Pvt. Ltd.,
L=NOIDA,
ST=UP,
C=IN
PoSLib SDK: 1.6.0
Device: PAX A910
Has anyone encountered this SSL handshake error while integrating with Pine Labs PoSLib?
Does this indicate a certificate mismatch between the SDK and the terminal?
Does the PAX A910 require additional certificate provisioning or configuration before doTransaction() can be used?
Is there a known SDK version compatible with the above firmware/MasterApp versions?
Any suggestions or insights would be greatly appreciated.