Before You Start
Get up and running with NamiPay terminal integration in under 15 minutes.
Before you begin, ensure the following requirements are met:
- System Requirements → POS app, Nami terminal, correct SDK.
- Connectivity Setup → Serial, TCP/IP, Bluetooth.
- Communication Configuration → POS and terminal modes match, connection verified.
- Terminal Readiness → Powered on, registered, available.
- Development Requirements → Environment ready (C, .NET, Java, iOS).
- Integration Flow → Choose platform → Connect → Register → Start Session → Purchase → Parse Response.
Note: For more details in each aspect, go through the entire page.
More Details
System Requirements
- A POS/ERP/Cashier application provided by the merchant
- A Nami payment terminal, either Physical (Smartpeak P1000 or Nexgo N86/UN20) or Virtual (Simulator)
- An appropriate Nami Integration library based on the POS/ERP/Cashier application programming language and the integration/deployment method
Connectivity Setup
Configure the POS/ERP/Cashier to communicate with the Nami payment terminal using one of the supported modes:
Serial Communication
- Port number: 10 or COM10 (see Figure—Enable Connection – ECR Application) (This is an example. The actual port detected in the PC/device when the Nami terminal is connected via USB should be given here)
- Baud rate: 115200
- Parity: None
- Data bits: 8
- Stop bits: 1
TCP/IP Socket Communication (Ethernet** / Wi‑Fi)
- IP address:
192.168.6.15(This is an example. The actual IP Address configured in the Nami terminal should be given here) - Port number:
16535(This is an example. The actual port configured in the Nami terminal should be given here)
Bluetooth Communication
- Selected address:
00:11:22:33:FF:EE(This is an example. The actual Bluetooth address or Device name of the Nami terminal should be given here. Also the devices should be paired first before attempting the connection from the integration library)
Communication Configuration
- Ensure the selected communication mode is properly configured on both the POS system and the terminal.
- Verify that the connection is active before initiating transactions.
Terminal Readiness
- Terminal must be powered on.
- Terminal must be registered (if required).
- Terminal must be available (not busy) to accept requests.
Development Requirements
- Access to a development environment (C, .NET, Java, or iOS).
- Ability to invoke integration APIs.
- Basic understanding of request and response handling.
Follow these steps to ensure your environment is ready for integration:
Step 1: Choose Your Platform
Select the platform based on your application type:
| Platform / Environment | Package | Use Case |
|---|---|---|
| Android | SkyBandSDK-release.aar | Mobile POS apps |
| iOS | NamiECRSDK.framework | iPhone / iPad POS |
| React Native | ecrlib package | Cross-platform mobile apps |
| Flutter | ecrlib package | Cross-platform mobile apps |
| Windows (.NET) | ECR.dll (P/Invoke) | Windows desktop POS |
| Windows (Java) | Java ECR Library | Windows desktop POS |
| Windows (C/C++) | SBCoreECR.h / EcrApi.h | Native / embedded POS |
| Local REST API | Installer Package | Quick integration (no SDK) |
| Cloud REST API | Cloud Middleware | Advanced / server-based integration |
Step 2: Connect to the Terminal*
Ensure the Nami payment terminal is powered on and connected using one of the following methods:
- TCP/IP – Same or reachable network
- Bluetooth – Pair via device settings
- Serial (USB/COM) – Connect using a data cable
- Cloud – Connect via Wi‑Fi with ECR Adapter installed
Step 3: Register the Terminal
Send a Register request (txnType = 17) with your Cash Register Number.
Register Request:
Register Request:
txnType: 17
cashRegisterNumber: "12345678"
Expected: Success response confirming registration
Step 4: Start a Session*
Send a Start Session request (txnType = 18) to begin the transaction session.
Start Session Request:
Register Request:
txnType: 18
cashRegisterNumber: "12345678"
Expected: Success response confirming session start
Step 5: Perform a Purchase
Send a Purchase request (txnType = 0) along with the ECR Reference number. The amount will appear on the terminal.
Purchase Request:
Purchase Request:
txnType: 0
amount: "100" (SAR 1.00 - amount in halalas)
ecrRefNo: "12345678900001"
date: "130623193000" (ddMMyyHHmmss)
Step 6: Parse the Response
Once the payment is complete, the terminal sends a response. Use the SDK’s parse function to extract the response code, approval code, and receipt data from the semicolon‑delimited response string.
Important
Steps marked with an asterisk (*) apply only to legacy ECR integrations.
They are not required for Local or Cloud Middleware integrations.**Ethernet connectivity is available via and External Dock for Smartpeak P1000 and is built-in for the Nexgo UN20 models
Updated 14 days ago
