Prerequisites
Android SDK
Min SDK 23, Target SDK 33
Kotlin
Kotlin 1.7+ with JVM target 17
Installation
Add Repository
Add the NetPOS repository to your project-levelbuild.gradle:
build.gradle (Project)
Add Dependency
Add the NetPOS SDK dependency to your app-levelbuild.gradle:
build.gradle (App)
Gradle Configuration
Configure your build settings:build.gradle (App)
SDK Initialization
Application Class Setup
Initialize the SDK in your Application class:NetPosApp.kt
Make sure to register your Application class in
AndroidManifest.xml:SDK Configuration
Terminal Parameters
Configure EMV terminal parameters:Terminal capability byte string (e.g., “E068C8” for standard POS)
- Byte 1: Cardholder verification (E0 = PIN supported)
- Byte 2: Security capabilities (68 = SDA/CDA)
- Byte 3: Transaction capabilities (C8 = Cash/Goods/Services)
CAPK and AID Loading
Load Certification Authority Public Keys and Application Identifiers:Core SDK Features
Device Serial Number
Retrieve the device serial number:Terminal Configuration
Access terminal configuration:Dependency Injection (Hilt)
NetPOS uses Dagger Hilt for dependency injection:build.gradle (App)
build.gradle (Project)
ProGuard Rules
Add ProGuard rules to prevent SDK obfuscation:proguard-rules.pro
Permissions
Add required permissions toAndroidManifest.xml:
AndroidManifest.xml
Verification
Verify your SDK setup:Next Steps
MQTT Integration
Set up real-time event notifications
API Endpoints
Explore REST API integration
Troubleshooting
SDK initialization fails
SDK initialization fails
Ensure you’re calling
NetPosSdk.init() before any SDK operations and that your Application class is registered in the manifest.Build errors with Java version
Build errors with Java version
Set JVM target to 17 in both
compileOptions and kotlinOptions.Runtime crashes on older devices
Runtime crashes on older devices
Enable core library desugaring for API desugaring support on devices below API 26.