CS50 Flutter Plugin
This Flutter plugin is designed to interact with the CS50 device. It provides a set of APIs that allow Flutter applications to communicate with the device and perform various operations.
Features
The plugin provides the following features:
- Device Information: Retrieve device information such as OS version and device ID.
- Generic APIs: Perform system-level operations such as logging and system updates.
- IC Card / SAM Card: Interact with IC cards and SAM cards.
- Printer: Control the device's printer to print text, barcodes, and QR codes.
- App White List: Manage the app install white list and app uninstall black list.
- Fiscal Module: Interact with the device's fiscal module.
- Beep: Control the device's beep sound.
- Magnetic Card: Interact with magnetic cards.
- Contactless Cards: Interact with contactless cards. This includes the
PiccOpen
method to power on the non-contact card module. - Transaction Kernel APIs: Perform transactions using various kernels such as Paypass, Paywave, EMVCO, Express, and PCI.
Usage
To use this plugin in your Flutter app, add it as a dependency in your pubspec.yaml
file:
dependencies:
cs50_flutter_plugin:
path: ../cs50_flutter_plugin
Then, import the plugin in your Dart code:
import 'package:cs50_flutter_plugin/cs50_flutter_plugin.dart';
You can now call the plugin's methods in your code. For example, to power on the non-contact card module, you can use the PiccOpen
method:
void powerOnCardModule() async {
const platform = const MethodChannel('com.ctk.sdk');
try {
final int result = await platform.invokeMethod('PiccOpen');
print(result);
} on PlatformException catch (e) {
print("Failed to power on card module: '${e.message}'.");
}
}
Please refer to the plugin's API documentation for more information on how to use each method.
Contributing
Contributions are welcome! Please read our contributing guidelines before submitting a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for more details.