# Connect Android Devices with your Smart Terminal

POS Bridge is a GoDaddy Poynt Smart Terminal application that provides a lightweight interface for POS applications running on Android devices, to communicate with the GoDaddy Poynt Terminal using JSON over HTTP. This is a synchronous mode of communication where POS applications make HTTP requests and wait for a response. If the response time exceeds the timeout value provided by the POS application, POS Bridge will return a timeout error.

This application also supports idempotency where the client can pass a unique request uuid. In case of a timeout, the client can retry with the same request id to retrieve the response.

# Communication

# Transport Protocol

POS Bridge opens an HTTP server socket on port 55555 to accept a message request from the POS client. POS Bridge keeps the connection open until the request has been processed, sends back the response and closes the connection.

# Message Format

POS Bridge requests and responses are built using the JSON format. For more information on JSON please refer to http://www.json.org.

JSON Example

{
"status": "SUCCESS",
"poyntRequestId": "A6A8E65B-9790-4B91-9528-CD2A50F8E907",
"serialNumber": "P61SWA231FS000383"
}

# Message Authentication

# Pairing with Poynt

The first time that the POS Bridge application is started it will have only one CONNECT button as seen in the image below.

POS Bridge Android 1

You must press the CONNECT button to open the dialog that will show device IP address and pairing code.

POS Bridge Android 2

The merchant or POS operator must enter the IP address and pairing code on the POS to complete the pairing request. Once the pairing is completed, the POS Bridge app will show the POS Device it is connected to.

POS Bridge Android 3

To facilitate the pairing process, POS Bridge also advertises its IP address, protocol and port using Network Service Discovery under the service name "PoyntPOSConnector". Here's how a network discovery iPhone app shows POS Bridge on the network:

POS Bridge Android 4

If the POS is programed to look for Poynt using network discovery, then the merchant will only need to enter the pairing code on the POS to complete the pairing process.

# Message Authentication

Each message between POS application and the POS Bridge on the Poynt terminal needs to be signed for authentication. POS Bridge always authenticates the incoming message by hashing the request and verify that the resulting signature matches the signature sent by the client. The signature is generated by creating a sha-256 hmac of the raw message using the pairing as the key and is transmitted as a HTTP Header Signature.

Each message from the POS application (client) contains a poyntRequestId property that serves as the unique identifier for each request. POS Bridge (server) echos the value of poyntRequestId in its responses.

Last Updated: 8/15/2023, 3:18:26 PM