First Steps
Know Kushki ONE, our regional solution for Card Present payments.
What is Kushki ONE?
Kushki ONE is Kushki’s end-to-end card-present payments solution. It lets merchants accept physical payments through SmartPOS terminals, bringing the whole operation into a single ecosystem.
Accept payments directly from the payment app installed on the terminal, or connect your point-of-sale software through our API. Run it from a register, tablet, computer or any other networked device, or from an app installed on the terminal itself.
Markets and currencies
| Country | Currency | Decimals |
|---|---|---|
| Chile | CLP | 0 |
| Colombia | COP | 2 |
| Mexico | MXN | 2 |
| Peru | PEN | 2 |
How to use this guide
This documentation splits into two paths depending on your role.
Path 1: operators and administrators
For those who run the point of sale or manage the business: certified hardware, the Payment App, the operations catalog and the Standalone and Semi-Integrated modes.
Path 2: developers and integrators
For those who connect POS software to the terminal: Kushki ONE Connect, integration topologies, security, network requirements and the full transaction flow.
Path 1: For Merchant Operators and Administrators
Supported Hardware
Kushki ONE’s architecture is hardware-agnostic and all of its components are interoperable. To guarantee maximum performance and stability, however, the solution is certified only for these SmartPOS devices.
| Model | Display and design | Processor and memory | Operating system |
|---|---|---|---|
| Sunmi P3 (standard) | 6.75” HD+ bezel-less (350 nits). Ultra-thin at 17 mm with anti-fingerprint coating | Quad-Core A53 at 2.0 GHz, 2 GB RAM, 32 GB ROM | Sunmi OS (Android 11 Go) |
| Sunmi P2 SE | Compact display. Lightweight, resistant to dust, splashes and drops. QR and barcode scan engine | Quad-Core at 2.0 GHz, DDR4 memory | Sunmi OS (Android) |
Sunmi P3
- Built-in printer: high-speed thermal, 70 mm/s.
- Battery: removable lithium, 7.7 V and 2,630 mAh. Up to 13 days on standby.
- Design: ultra-thin at 17 mm with anti-fingerprint coating, built for high-traffic environments.
Sunmi P2 SE
- Mobility: compact and lightweight, ideal for pay-at-table, retail or delivery.
- Code reader: professional scan engine for barcodes and QR codes, even when damaged.
- Durability: resistant to dust, splashes and drops. Battery optimized for long shifts.
Kushki ONE Payment App
This is the payment app installed directly on the physical terminal. Its interface lets the operator run and manage the entire payment lifecycle without an external point of sale.
Operations Catalog
| Operation | Description |
|---|---|
| Sale | Single-step charge. Supports tip, merchant-funded installments, issuer-funded installments and cashback |
| Authorization | Reserves the funds on the card for a later charge |
| Capture | Charges an amount that was previously authorized |
| Re-authorization | Changes the authorized amount or extends the window to run the capture |
| Return | Gives the money back from a sale. Internally it runs a void or a refund depending on when it executes |
| Post-tip | Adds a tip amount after a transaction has been authorized |
| Split the bill | Splits one amount into several sequential payments, in equal or unequal parts |
Terminal Operating Modes
Standalone mode
- The terminal runs on its own, with no integration to external systems.
- The operator uses the touchscreen as a calculator. The whole cycle happens on the device.
- Ideal for merchants without an external point-of-sale system.
Semi-Integrated mode
- Required to connect your point of sale to the terminal through Kushki ONE Connect.
- The interface locks into a “Waiting for call” state and only reacts to commands sent by your POS software.
- Ideal for integrations with your own point of sale.
Path 2: For Developers and Integrators (Kushki ONE Connect)
What is Kushki ONE Connect?
Kushki ONE Connect is our API integration layer. It lets your POS software interact directly with the physical terminal while it runs in Semi-Integrated mode. Your system sends the financial commands to the payment app, which removes manual entry and human error.
The premise is simple: it is the same API regardless of the channel you use. The only thing that changes between topologies is the communication path, not the structure of the endpoints or the payloads.
Integration Topologies (Communication Paths)
| ☁️ Cloud | 📡 Local Network | 📲 Localhost | |
|---|---|---|---|
| Flow | POS → Kushki servers → Terminal | POS → Local router → Terminal | Your app ⇄ Kushki ONE App, on the same device |
| Ideal use case | Cloud POS, multi-site merchants, POS and terminal on different networks | Supermarkets, retail and restaurants on the same network | Your own POS app installed on the terminal |
| Key requirement | Stable internet at both the register and the terminal | Static IP or DHCP reservation on the terminal | No internal network needed between the apps |
1. Cloud integration
Your POS sends the request to Kushki’s servers, which identify the target terminal and route the order over the internet.
- Advantage: your POS and the terminal do not need to share a local network.
- Consideration: requires a stable internet connection at both ends.
| Environment | Base URL |
|---|---|
| UAT | https://uat-cloudt.kushkipagos.com |
| Production | https://cloudt.kushkipagos.com |
Every endpoint carries the terminal serial number in the path:
https://{host}/terminal/v1/{terminalSerial}/sync/{operation}
2. Local Network integration
Your POS sends an HTTP request straight to the terminal’s local IP, with no detour through external servers. That cuts latency noticeably.
- Advantage: lower latency, because POS-to-terminal communication does not depend on the internet.
- Consideration: the terminal needs a static IP or a DHCP reservation. If the IP changes, your POS loses communication.
How to find your terminal’s IP
- Open Settings and then Wi-Fi.
- Tap the name of the connected network.
- Expand Advanced options.
- Scroll down to the IP address field.
3. Same-device integration (Localhost)
This applies when you have your own POS app installed inside the SmartPOS terminal. Your app and the Kushki ONE Payment App live on the same hardware and talk to each other over localhost.
- Main advantage: replaces traditional app-to-app integration flows with standard HTTP calls.
- No internal network: communication between the two apps needs neither Wi-Fi nor Ethernet.
Communication Security
Every call to Kushki ONE Connect is authenticated with a signature you compute from your Business-Code.
The mechanism does not change between topologies: your authentication logic is the same on Cloud, Local Network and Localhost. What determines the mechanism is the terminal’s configuration, because there are two:
| Mechanism | When it applies | timestamp unit |
|---|---|---|
| Standard | Default behavior | Milliseconds |
| Sign and encrypt | encrypted_http_communication enabled | Seconds |
Network and Infrastructure Requirements
1. Local network setup
This applies only if you use the Local Network topology.
- Static IP or DHCP reservation: configure the router to always assign the same IP to the terminal, bound to its MAC address.
- Communication port: the internal firewall must allow bidirectional traffic on the terminal’s TCP port
6868. - Wi-Fi security: certified terminals support WPA2-PSK and WPA3.
2. Allowed domains
The terminal always needs internet access to process transactions and receive updates. If your corporate network blocks outbound traffic, your IT team must allow these domains on port 443:
- Payment processing:
api.kushkipagos.com - Terminal management:
tms.kushkipagos.com
Full Transaction Flow
- Request generation: your POS system builds the request and sends the amount to charge over the API.
- Decision and routing: Kushki ONE Connect receives the request and routes it to the physical device according to the merchant’s configuration, over Cloud or Local Network.
- Reception and data capture: the terminal receives the request, shows the amount on screen and reads the customer’s card.
- Processing: the terminal sends the data to Kushki, which processes the financial transaction.
Verify your connection
Before your first charge, check that your POS can reach the terminal. This endpoint moves no money and is the fastest way to validate network, port and credentials at once.
- Javascript
- Python
// Local Networkconst res = await fetch("http://192.168.1.50:6868/terminal/v1/sync/local/test", {headers: buildHeaders({}),});console.log(res.status, await res.json());// 200 { success: true, data: {} }
import requests# Local Networkres = requests.get("http://192.168.1.50:6868/terminal/v1/sync/local/test",headers=build_headers({}))print(res.status_code, res.json())# 200 {'success': True, 'data': {}}
If you get a TER-002 error, the terminal is not responding: check network connectivity and that the port is open. If you get UNAUTHORIZED, check your signing mechanism.
Next steps
Amount format in Kushki ONE
Learn how to build the amount object in minor units according to each country’s currency. This is the step that prevents charging the wrong value.
Request authentication
Implement request signing with the mechanism that matches your terminal.
Accept payments with Kushki ONE
Process direct sales, authorization, capture, post-tip, void and refund.
Print from the terminal
Send print jobs to the SmartPOS: receipts, coupons and QR codes, with no drivers or SDK.
Chile
Colombia
Ecuador
Mexico