Readers

Register card-present hardware and manage your reader fleet via the Terminals API. Readers are identified by their serial number and scoped to your sub-merchant account.

Register a reader

Registering is idempotent — re-registering an existing serial reactivates it and refreshes its last-seen timestamp. KYC must be approved before a reader can be registered.

http
POST /v1/terminals/register
Authorization: Bearer sk_test_...
Content-Type: application/json

{
  "serial_number": "SUNMI-ABC123",
  "device_model": "sunmi_p3",
  "location_name": "Main counter"
}
FieldTypeRequiredDescription
serial_numberstringYesThe device's hardware serial number
device_modelstringYesOne of the supported device models below
location_namestringYesHuman label for where the reader lives
json
{
  "success": true,
  "data": {
    "terminal_id": "trm_01HQXYZ",
    "serial_number": "SUNMI-ABC123",
    "device_model": "sunmi_p3",
    "location_name": "Main counter"
  }
}

Supported device models

device_modelHardware
sunmi_p3Sunmi P3
sunmi_p3_mixSunmi P3 MIX
pax_a920PAX A920
telpo_tps900Telpo TPS900
zcs_z90ZCS Z90
newland_n910Newland N910
ingenico_apos_a8Ingenico APOS A8
otherGeneric / unlisted hardware

List readers

GET /v1/terminals/list returns every active reader registered to your account.

json
{
  "success": true,
  "data": {
    "terminals": [
      {
        "terminal_id": "trm_01HQXYZ",
        "serial_number": "SUNMI-ABC123",
        "device_model": "sunmi_p3",
        "location_name": "Main counter",
        "last_seen_at": "2026-06-03T10:30:00.000Z",
        "registered_at": "2026-05-01T09:00:00.000Z"
      }
    ]
  }
}

Process a payment

Card-present charges are submitted to POST /v1/terminals/process with the encrypted EMV payload from the reader. The Terminal SDK does this for you — see the quickstart. The encrypted card blob is forwarded to the gateway intact and never decrypted on Watenga servers.