Answer:
Please check the following:
Physical Connection
Ensure cables are intact and properly connected.
Network
Make sure the EPOS and the terminal are in the same subnet.
Verify that no firewall is blocking required ports.
Bluetooth Status
Ensure Bluetooth is enabled.
Confirm the terminal is in discoverable mode.
Permissions
Ensure the application has all required runtime permissions.
Answer:
Device Node Permission
Ensure the application has read/write access to the target serial device node (e.g., /dev/ttyS*).
Parameter Mismatch
Verify baud rate, data bits, stop bits, and parity match the terminal configuration.
Port Occupied
Check whether the serial port is being used by another process (e.g., terminal emulator).
Answer:
Connectivity Check
Use system tools (e.g., adb shell ping, Bluetooth settings) to verify physical connectivity.
Log Analysis
Enable SDK debug logs to identify detailed error codes.
Terminal Verification
Use our testing tools (e.g., Demo APK) to verify terminal functionality.
Answer:
When replacing a payment terminal, update the configuration according to how the target is specified:
Update the identity or connection parameters saved by the application as well; if SDK remember options are obsolete, clear only the relevant scope.
Reference: Terminal Configuration and Selection
Answer:
Terminal Reachability
Check whether the terminal is reachable through the selected communication method.
Target Configuration
Verify the selected terminal and connection parameters in Terminal Configuration and Selection.
Request Verification
Verify via SDK logs whether the request was actually sent.
Answer:
Amount Format
Check the amount format required by the relevant API. The payment example uses a decimal string such as "99.99".
Order Number
Ensure the order number is unique.
Transaction Type
Verify that the transaction type (e.g., REFUND) is supported by the terminal.
Answer:
Network Errors
Typically trigger SDK callback onError().
Indicate the request was not successfully delivered.
Business Errors
Returned within the response object (e.g., PaymentResult).
Must be evaluated using response codes.
A successful callback does NOT guarantee a successful transaction. Always check the response code in the result object.