When you make a Terminal API request, you need to indicate which payment terminal you want to use. To do so, you populate the POIID field in the MessageHeader with the unique identifier of the payment terminal in the format [device model]-[serial number]. For example, P400‑123456789.
There are several ways to get the unique ID (POIID) of a payment terminal:
Get the serial number from the terminal
To construct the POIID of the payment terminal:
- Find the serial number of the payment terminal:
- On the back of the payment terminal.
- On the payment terminal screen under Settings > Device info.
- Take the device model, for example, P400, and combine it with the serial number.
- Add a dash between the device model and the serial number.
- Remove any dashes from the serial number.
Get the serial number from your Customer Area
In your Customer Area:
- Go to In-person payments > Payment devices, and select the Terminals tab.
- Select the payment terminal.
Make an API call
If your integration uses cloud communications, you can get the terminal ID with an API call:
- Make a POST
/connectedTerminalsrequest, specifying your merchant account and optionally a store belonging to that merchant account. - In the response, get the
POIIDfrom theuniqueTerminalIdsarray.
This array contains aPOIIDfor every terminal that has a live cloud connection and belongs to the specified merchant account or store.
Use a diagnosis request
If your integration uses local communications, you can get the terminal ID using a diagnosis request.
-
Make a diagnosis request with a placeholder
MessageHeader.POIID, for example xxxx-123456789.
The request will fail. -
In the
DiagnosisResponse, find the correctPOIIDinside theMessageHeader.
This is thePOIIDof the terminal that you sent the diagnosis request to.
Use an Android function
For Android payment terminals with your app installed on the terminal:
-
Get the
POIIDof the terminal by calling the following function: