psdk_access 0.0.4 copy "psdk_access: ^0.0.4" to clipboard
psdk_access: ^0.0.4 copied to clipboard

PlatformAndroid

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> printTransaction() async {
    startLoading();
    var message = '';

    var list = await _psdkAccessPlugin.prepareReceipt(tranNumber: 4);

    try {
      message = jsonEncode(await _psdkAccessPlugin.printList(list: list));
    } on PlatformException catch (e) {
      message = 'Exception: ${e.message} (code: ${e.code})';
    }

    if (!mounted) return;

    setState(() {
      _message = message;
    });
  }

  Future<void> printCustom() async {
    startLoading();
    var message = '';

    List<PrintRow> list = [
      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: list));
    } 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: printCustom, child: Text("printCustom")),
              OutlinedButton(onPressed: printTransaction, child: Text("printTransaction")),

              Text(''),
              Text('Message:'),
              Text(_message),
            ],
          ),
        ),
      ),
    );
  }
}
0
likes
135
points
1
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin to access PSDK.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on psdk_access

Packages that implement psdk_access