Supported Connections

Connection TypeSupportedNotes
TCP/IP (Wi‑Fi / LAN)Recommended - Stable and primary connection method
Serial (COM / USB CDC)Requires COM port configuration
Bluetooth❌ Not SupportedNot supported in Java Desktop SDK.

TCP/IP (Wi‑Fi / LAN

Step 1: Power On Terminal

  • Ensure terminal is on the same LAN/Wi‑Fi network.

Step 2: Get Terminal Network Details

  • Open terminal Network Settings.
  • Note: 192.168.0.102:8888.
    • IP Address (e.g., 192.168.0.102)
    • Port (default: 8888)

Step 3: SDK Initialization

PosLibManager.getInstance().getConfiguration(configData);
TcpEventListener.getInstance().register(this);
TcpStatusCheck.getInstance().startHealthCheck();

✔ Initializes SDK, registers TCP event listener, and starts health check.

Step 4: Connect to Terminal

  • Establish TCP connection using SDK (IP + Port).
PosLibManager.getInstance().connectTcp(ipAddress, port);

Step 5: Verify Connection Status

Handle TCP events:

Event CodeMeaningNotes
1000ConnectedRecommended - Stable and primary connection method
1001DisconnectedRequires COM port configuration
1003ErrorNot supported in Java Desktop SDK.

Step 6: Initiate Transaction

  • Prepare request data:
    • Amount (12‑digit format, e.g., 000000001025)
    • Timestamp (yyyyMMddHHmmss)
    • ECR Reference Number
    • Generate signature
    • Call transaction API

Step 7: Handle Response

  • Receive response via TcpEventListener.
  • Extract:
    • Response Code
    • Approval Code
    • Transaction Details

Step 8: Maintain Connection (Heartbeat)

TcpStatusCheck.getInstance().startHealthCheck();

✔ Ensures ongoing connectivity and device readiness.

Flow Summary

Initialize → Connect TCP → Verify → Transaction → Response → Heartbeat

Serial (COM / USB CDC)

Step 1: Connect Terminal

  • Connect the payment terminal to the POS system using a USB cable.
  • Ensure the terminal is set to CDC (Communication Device Class) mode.

Step 2: Identify COM Port

  • On the POS system, check available COM ports.
  • Examples: COM3, COM4.
  • Select the correct port assigned to the terminal.

Step 3: SDK Initialization

PosLibManager.getInstance().getConfiguration(configData);
ComEventListener.getInstance().register(this);
ComStatusCheck.getInstance().startHealthCheck();

✔ Initializes SDK, registers COM event listener, and starts health check.

Step 4: Connect to COM Port

@FXML
public void connectComPort(ActionEvent event) {
    String portName = extractPortName(comPortsChoiceBox.getValue());

    if (portName == null || portName.isEmpty()) {
        showErrorAlertMessage("COM port is not selected");
        return;
    }

    try {
        if (PosLibManager.getInstance().testSerialCom(portName)) {
            showSuccessAlertMessage("Connected Successfully");
        } else {
            showErrorAlertMessage("Failed to connect COM port");
        }
    } catch (Exception e) {
        showErrorAlertMessage("Error while connecting COM port");
    }
}

✔ Confirms connection and displays success/error messages.

Step 5: Verify Connection Status

Monitor events using ComEventListener:

  • Connected → Terminal ready.
  • Disconnected → Terminal unavailable.
  • Error → Communication issue.

Step 6: Initiate Transaction

Prepare transaction data:

  • Amount (convert to 12‑digit format, e.g., 000000001025).
  • Timestamp (yyyyMMddHHmmss).
  • ECR Reference Number.
  • Generate signature.
  • Call transaction API.

Step 7: Handle Response

  • Receive response via ComEventListener.
  • Parse and extract:
    • Response Code
    • Approval Code
    • Transaction details

Step 8: Maintain Connection (Heartbeat)

ComStatusCheck.getInstance().startHealthCheck();

✔ Ensures ongoing connectivity and device readiness.

Flow Summary

Initialize → Select COM Port → Connect → Verify → Transaction → Response → Heartbeat