itc_sunmi_card_reader 1.1.0
itc_sunmi_card_reader: ^1.1.0 copied to clipboard
A Flutter plugin for SUNMI POS card reading functionality. Enables card scanning, EMV processing, and data extraction on SUNMI Android devices only.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.1.0 - 2025-01-10 #
Added #
- Receipt printing functionality via
printBitmap()method - Support for printing custom receipt designs to SUNMI thermal printer
ReceiptWidgetexample demonstrating receipt layout design- Image capture and printing workflow in example app
- Print button in demo app after successful card scan
- Comprehensive receipt design guidelines in documentation
- Printing troubleshooting section in README
Enhanced #
- Updated example app to include complete print workflow
- Added receipt printing section to README with code examples
- Enhanced API documentation with printing methods
- Added best practices for receipt widget design
- Improved error handling for print operations
Documentation #
- Complete receipt printing usage examples
- Receipt widget design patterns and guidelines
- Print error handling examples
- Receipt layout best practices (width, colors, fonts)
- Performance tips for printing operations
1.0.0 - 2025-01-04 #
Added #
- Initial release of ITC SUNMI Card Reader plugin
- EMV card processing support for SUNMI devices
- Card data extraction (number, expiry, cardholder name, service code)
- Track 1 and Track 2 data access
- Real-time scan status callbacks
- Card type detection (Visa, MasterCard, UnionPay, Amex, JCB, RuPay)
- App selection handling for multiple payment apps
- Comprehensive error handling and recovery
- Support for chip cards, magnetic stripe, and contactless payments
- Utility methods for data formatting (card number, expiry date)
- Example app demonstrating plugin usage
Features #
- Android-only support (SUNMI devices exclusively)
- Minimum SDK 21 (Android 5.0+)
- Flutter 3.3.0+ compatibility
- MIT License
- Real-time status updates during scanning
- Automatic card type detection
- EMV-compliant processing
Supported Devices #
- SUNMI P2 series
- SUNMI P2 Pro
- SUNMI P2 Lite
- SUNMI V2 series
- Other SUNMI POS terminals with card reading capabilities
Dependencies #
- plugin_platform_interface: ^2.0.2
- SUNMI PayLib SDK 2.0.07
- SUNMI Printer Library 1.0.15
- BouncyCastle cryptography library 1.70
Documentation #
- Comprehensive README with usage examples
- Complete API documentation
- Troubleshooting guide
- Device compatibility information
- Security and privacy guidelines
API Methods #
ItcSunmiCardReaderService.startCardScan()- Start card scanningItcSunmiCardReaderService.stopCardScan()- Stop scanningItcSunmiCardReaderService.selectApp()- Select payment appItcSunmiCardReaderService.formatCardNumber()- Format card numberItcSunmiCardReaderService.formatExpiryDate()- Format expiry dateItcSunmiCardReaderService.getCardTypeDisplayName()- Get card type display name
Data Models #
CardScanResult- Complete card data containerCardScanStatusUpdate- Status update model
Example App #
- Simple demonstration app included
- Clean UI with status updates
- Error handling examples
- App selection dialog implementation