Client-to-client lets your POS or backend call the Terminal Gateway app over the local network to initiate payments and terminal actions.
1
Configure the Terminal Gateway app
Follow the setup in App configuration to:
- Enable Client-to-client mode
- Note the device IP and port (default 8189)
- Set the API key
You should see the device IP on the app home screen and be able to reach
http://{IP}:{PORT} from your network.2
Use the Client-to-client API
After configuration, use the API documented under Terminal Gateway to:
- Create payments (
POST /commands/pay) - Cancel payments (
POST /commands/cancel) - Print receipts (
POST /commands/receipt) - Run settlement (
POST /commands/settlement) - Query histories (
POST /commands/histories)
Choosing a connection mode
Recommended: Host-to-Host (Default)
Recommended: Host-to-Host (Default)
Host-to-Host is recommended for most integrations because it:
- Centralizes terminal management and monitoring
- Scales to many devices and locations
- Simplifies network/security by avoiding direct device access
- Reduces POS coupling to terminal networks
Use Client-to-Client when
Use Client-to-Client when
Consider Client-to-Client only for these very specific use cases:
- Locally managed POS systems: Your cashier/POS system runs entirely locally without a central server backend
- Bundled distribution: You want to bundle your POS system with terminal devices for distribution to retail stores without any central backend system to manage distribution
- Offline-capable terminals: You need terminals that can operate with intermittent connectivity, though internet access is still required for payment processing
OpenAPI Specification
Download the complete OpenAPI 3.1.0 specification for the Client-to-Client API
to integrate with your development tools. Import it into Postman, Insomnia,
or any OpenAPI-compatible client.