flutter_nmi 1.0.24
flutter_nmi: ^1.0.24 copied to clipboard
NMI Payment Integration.
flutter_nmi #
NMI Payment SDK for iOS & Android (Flutter plugin).
SDK versions #
| Platform | ChipDna / NMI SDK |
|---|---|
| Android | Payment Device SDK 5.4.1 Cassiopeia (full jars) |
| iOS | ChipDna Mobile 3.16.1 (not yet upgraded to 5.4.1) |
Android requirements #
- minSdkVersion 31
- Bluetooth + location permissions (including
BLUETOOTH_CONNECTon API 31+) - For TCP/IP SmartPOS (Axium loopback): host app must allow cleartext / loopback (
usesCleartextTrafficis declared by the plugin)
Android features (5.4.1) #
Existing Flutter API is preserved. Additive options:
- TCP/IP connection:
initializewithdeviceType: "TcpIp", optionalis_smart_pos: "1",pinPadIpAddress,pinPadPort(defaults0.0.0.0/8088), anddeviceName - BluetoothDeviceId: pass
bluetoothDeviceId(ordeviceId) oninitialize, or select from the pin-pad list (IDs included) - Offline:
FlutterNmi.processOfflineRequest({ 'userReference': '...' }) - TMS (Android):
initializewithaction: "TMSUpdate"forces a TMS update (FullTmsUpdate=FALSE). Addfull_tms_update: "1"to download all pin-pad configuration. - Pre-auth / confirm / void (Android):
preAuth({ amount, userReference, ... })— Sale withAutoConfirm=FALSE/CloseTransaction=FALSE, ChipDnaTippingType=END_OF_DAY(noTipAmounton start). Terminal TMS must allow end-of-day tipping.confirmTransaction({ userReference|transactionId, amount, tip? })— capture; optionaltip(dollars) maps to ChipDnaTipAmount(ornullwhen 0). Completes to Flutter when ChipDna returnsTRANSACTION_RESULT=APPROVED(not onlyRESULT=TRUE).voidTransaction({ userReference|transactionId })— void open auth; sameTRANSACTION_RESULT=APPROVEDsuccess mapping as confirm- Default
initialize+action: Transactionremains auto-sale (AutoConfirm=TRUE); optionaltip(dollars) maps to ChipDnaTipAmount(ornullwhen 0). Sale does not sendTippingType=END_OF_DAY.
Tap to Pay / Cloud Commerce AAR and surcharge Flutter APIs are not included in this release.
Getting Started #
This project is a Flutter plug-in package.
For help getting started with Flutter, see the online documentation.