Desktop SDKs

NamiPay provides desktop SDK libraries for Windows environments. These libraries enable direct integration between merchant POS applications and the Nami payment terminal.

Available Desktop SDKs

  • Java ECR SDK — JNI wrapper for Java SE desktop environments (requires JDK 8+)
  • .NET SDK — P/Invoke calls to native ECR.dll (requires .NET Framework 4.7.2+ or .NET 6+)
  • C/C++ SDK — Low‑level headers (SBCoreECR.h / EcrApi.h) for embedded or native Windows apps

Common Requirements

All desktop SDKs require:

  • Windows 10 or later
  • Nami payment terminal connected via:
    • TCP/IP (LAN/Wi‑Fi) — Recommended
    • Serial (USB/COM port) — Supported for legacy ECR integrations
    • Bluetooth — ⚠️ Limited support; restrictions disclosed separately

Native ECR library (.dll or .h files) placed in the correct directory

⚠️ Bluetooth Limitations

  • Supported only on Windows 10 and later
  • Requires successful device pairing before SDK connection
  • Only one terminal can be paired per workstation at a time
  • Sessions may drop under poor signal conditions; TCP/IP is recommended for production
  • Advanced flows (refunds, reversals) are not supported over Bluetooth
  • Some terminals require updated firmware for stable Bluetooth sessions

Legacy vs Adapter Separation

  • Legacy ECR integrations require:
    • Register Terminal (txnType = 17)
    • Start Session (txnType = 18)
  • Adapter / Middleware integrations (Local REST API, Cloud REST API) do not require registration or session steps.

Important: Confirm with your POS provider whether your system uses legacy ECR or adapter/middleware before following integration steps.

Request and Response Details

When performing a transaction, include:

  • Date (ddMMyyHHmmss)
  • ECR Reference Number (String)
  • Amount (Integer in halalas, e.g., 100 = SAR 1.00)

Responses return:

  • Response Code (Approved/Failed)
  • Approval Code
  • Receipt Data