*New - Integration SDKs and Libraries

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