Android SDK
Android ECR Library
Native integration with Nami payment terminals from Android applications using JNI.
Prerequisites
- Android Studio Arctic Fox+
- Minimum SDK: API 21 (Android 5.0)
- Terminal on same Wi-Fi or Bluetooth paired
Installation
// app/build.gradle
dependencies {
implementation files('libs/SkyBandSDK-release.aar')
}
Usage
val ecrLib = CLibraryLoad()
// Connect via TCP/IP
val socket = Socket("192.168.0.102", 8888)
// Register ECR (txnType = 17)
val registerReq = ecrLib.pack(requestData, 17, signature)
socket.outputStream.write(registerReq)
val response = socket.inputStream.read(buffer)
val parsed = ecrLib.parse(response)
// Purchase (txnType = 0)
val purchaseReq = ecrLib.pack(requestData, 0, signature)
socket.outputStream.write(purchaseReq)
val purchaseResp = socket.inputStream.read(buffer)
val result = ecrLib.parse(purchaseResp)
Transaction Flow
Connect (TCP/BT) → Register (17) → Start Session (18) → Purchase (0) → Parse Response
Transaction Type Codes
| Code | Transaction Type |
|---|---|
| 0 | Purchase |
| 1 | Purchase with Naqd/Cashback |
| 2 | Refund |
| 3 | Authorization |
| 4 | Purchase Advice (Full) |
| 5 | Purchase Advice (Partial) |
| 6 | Auth Extension |
| 7 | Auth Void |
| 9 | Cash Advance |
| 10 | Reconciliation |
| 11 | Reversal |
| 15 | Bill Payment |
| 17 | Register |
| 18 | Start Session |
| 19 | End Session |
| 23 | Duplicate / Previous Txn |
| 24 | Check Status |
| 25 | Health Check |
Updated 4 days ago