pub package

Dart Implementation of the ISO-8583 banking protocol. Supports 03xx message class (File Actions Message - 1987) and is compatible with most PoS devices in the market.


  • Supports MAC (Message Authentication Code) calculation.
  • DES Encryption.
  • Written in 100% Dart.
  • Works on all platforms (Android, iOS, macOS, Windows, Linux, Web).

The package also provides the following methods:

factory Message.parse(Uint8List data)
factory Message.conntectionTest({DateTime? dateTime})
factory Message.purchase({required int amount, DateTime? dateTime})
factory Message.ack({required String terminalId, DateTime? dateTime})
factory Message.nack({required String terminalId, DateTime? dateTime})
factory Message.eot({required String terminalId, DateTime? dateTime})
factory Message.dispose({DateTime? dateTime})
Map<String, Object> toJson()

Getting started

In your pubspec.yaml file add:

  pos: any


Import the package:

import 'package:pos/pos.dart';


final iso8583Message = Message.parse(Uint8List);

Additional information

Please look at the ./example directory for a working demo using TCP and SerialPort.