Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xclud/dart_pos
Dart Implementation of the ISO-8583 banking protocol.
https://github.com/xclud/dart_pos
dart flutter iso8583 point-of-sale pos
Last synced: 7 days ago
JSON representation
Dart Implementation of the ISO-8583 banking protocol.
- Host: GitHub
- URL: https://github.com/xclud/dart_pos
- Owner: xclud
- License: mit
- Created: 2022-05-02T08:16:43.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-04T00:19:57.000Z (4 months ago)
- Last Synced: 2024-08-01T12:22:12.561Z (3 months ago)
- Topics: dart, flutter, iso8583, point-of-sale, pos
- Language: Dart
- Homepage: https://pub.dev/packages/pos
- Size: 173 KB
- Stars: 16
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[![pub package](https://img.shields.io/pub/v/pos.svg)](https://pub.dartlang.org/packages/pos)
Dart Implementation of the [ISO-8583](https://en.wikipedia.org/wiki/ISO_8583) banking protocol. Supports `03xx` message class (File Actions Message - 1987) and is compatible with most PoS devices in the market.
## Features
* 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 toJson()
```## Getting started
In your `pubspec.yaml` file add:
```dart
dependencies:
pos: any
```## Usage
Import the package:
```dart
import 'package:pos/pos.dart';
```Then:
```dart
final iso8583Message = Message.parse(Uint8List);
```## Additional information
Please look at the `./example` directory for a working demo using `TCP` and `SerialPort`.
## Special Thanks
I would thank [YeGoBox](https://github.com/yegobox/) for being kind enought to transfer the ownership of their original `pos` package to me.