iOS SDK

The NamiECRSDK framework provides native Swift/Objective-C integration for iOS and iPadOS.

Prerequisites

  • Xcode 14+ with Swift 5.7+
  • iOS 13.0 or later
  • Nami terminal on Wi-Fi

Connection

import NamiECRSDK

class PaymentManager: SocketConnectionDelegate {
    func connectToTerminal() {
        ECRDataManager.shared.connectionMode = .tcpip
        ECRDataManager.shared.cashRegisterNumber = "ECR001"
        ECRTransactionManager.shared.connectTCP(
            ip: "192.168.0.102",
            port: 8888,
            delegate: self
        )
    }
    
    func didConnect() { print("Connected") }
    func didDisconnect() { print("Disconnected") }
    func didFailToConnect(error: Error) { print("Error: \(error)") }
}

Performing Transactions

ECRTransactionManager.shared.doTransaction(
    dataArray: [date, ecrRefNo, amount] as NSArray,
    selectedTransactionType: 0, // Purchase
    onCompletion: { success, response in
        print(success ? "Approved" : "Declined")
    }
)

Transaction Flow

connectTCP() → Register (17) → Start Session (18) → doTransaction() → onCompletion