psdk_access 0.0.1
psdk_access: ^0.0.1 copied to clipboard
A Flutter plugin to access PSDK.
example/lib/main.dart
import 'dart:convert';
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:psdk_access/models/print_row.dart';
import 'package:psdk_access/psdk_access.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final _psdkAccessPlugin = PsdkAccess();
var _message = '';
void startLoading() {
setState(() {
_message = "Loading ...";
});
}
Future<void> doTerminalStatus() async {
startLoading();
String message = '';
try {
message =
(await _psdkAccessPlugin.getTerminalStatus())?.toRawJson() ?? 'NULL';
} on PlatformException catch (e) {
message = 'Exception: ${e.message} (code: ${e.code})';
}
setState(() {
_message = message;
});
}
Future<void> doTerminalConfiguration() async {
startLoading();
String message = '';
try {
message =
(await _psdkAccessPlugin.getTerminalConfiguration())?.toRawJson() ??
"NULL";
} on PlatformException catch (e) {
message = 'Exception: ${e.message} (code: ${e.code})';
}
setState(() {
_message = message;
});
}
Future<void> doParameterLoad() async {
startLoading();
var message = '';
try {
message =
(await _psdkAccessPlugin.parameterLoad())?.toRawJson() ?? "NULL";
} on PlatformException catch (e) {
message = 'Exception: ${e.message} (code: ${e.code})';
}
if (!mounted) return;
setState(() {
_message = message;
});
}
Future<void> doEod() async {
startLoading();
var message = '';
try {
message = (await _psdkAccessPlugin.eod())?.toRawJson() ?? "NULL";
} on PlatformException catch (e) {
message = 'Exception: ${e.message} (code: ${e.code})';
}
if (!mounted) return;
setState(() {
_message = message;
});
}
Future<void> doGetAcquirer() async {
startLoading();
var message = '';
try {
message = (await _psdkAccessPlugin.getAcquirer())?.toRawJson() ?? "NULL";
} on PlatformException catch (e) {
message = 'Exception: ${e.message} (code: ${e.code})';
}
if (!mounted) return;
setState(() {
_message = message;
});
}
Future<void> doGetAcquirers() async {
startLoading();
var message = '';
try {
message = jsonEncode(await _psdkAccessPlugin.getAcquirers());
} on PlatformException catch (e) {
message = 'Exception: ${e.message} (code: ${e.code})';
}
if (!mounted) return;
setState(() {
_message = message;
});
}
Future<void> startTransaction() async {
startLoading();
var message = '';
try {
message = jsonEncode(
await _psdkAccessPlugin.startTransaction(amount: "2537"),
);
} on PlatformException catch (e) {
message = 'Exception: ${e.message} (code: ${e.code})';
}
if (!mounted) return;
setState(() {
_message = message;
});
}
Future<void> prepareReceipt() async {
startLoading();
var message = '';
try {
var list = await _psdkAccessPlugin.prepareReceipt(tranNumber: 4);
message = jsonEncode(list);
// await _psdkAccessPlugin.printList(list: list);
} on PlatformException catch (e) {
message = 'Exception: ${e.message} (code: ${e.code})';
}
if (!mounted) return;
setState(() {
_message = message;
});
}
Future<void> print() async {
startLoading();
var message = '';
List<PrintRow> printRows = [
PrintRow(hr: true),
PrintRow(
text1: "Transaction Approved",
label1: "Status",
bold: true,
center: true,
),
PrintRow(
text1: "Transaction Approved2",
label1: "Status2",
bold: false,
center: true,
),
];
try {
message = jsonEncode(await _psdkAccessPlugin.printList(list: printRows));
} on PlatformException catch (e) {
message = 'Exception: ${e.message} (code: ${e.code})';
}
// await _psdkAccessPlugin.printList(list: message);
if (!mounted) return;
setState(() {
_message = message;
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('Plugin example app')),
body: SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
OutlinedButton(onPressed: doEod, child: Text("Eod")),
OutlinedButton(
onPressed: doParameterLoad,
child: Text("parameterLoad"),
),
OutlinedButton(
onPressed: doTerminalConfiguration,
child: Text("terminalConfiguration"),
),
OutlinedButton(
onPressed: doTerminalStatus,
child: Text("terminalStatus"),
),
OutlinedButton(onPressed: doGetAcquirer, child: Text("acquirer")),
OutlinedButton(
onPressed: doGetAcquirers,
child: Text("acquirers"),
),
OutlinedButton(
onPressed: startTransaction,
child: Text("startTransaction"),
),
OutlinedButton(
onPressed: prepareReceipt,
child: Text("prepareReceipt"),
),
OutlinedButton(onPressed: print, child: Text("print")),
Text(''),
Text('Message:'),
Text(_message),
],
),
),
),
);
}
}