FastPayRequest function

Future<FastpayResult> FastPayRequest({
  1. required String storeID,
  2. required String storePassword,
  3. required String amount,
  4. required String orderID,
  5. bool isProduction = false,
})

Implementation

Future<FastpayResult> FastPayRequest({
  required String storeID,
  required String storePassword,
  required String amount,
  required String orderID,
  bool isProduction = false,
}) async {
  try {
    final _fastpayPlugin = Fastpay();
    String _fastpayPluginResult = await _fastpayPlugin.getPlatformVersion({
          "storeID": storeID,
          "storePassword": storePassword,
          "amount": amount,
          "orderID": orderID,
          "isProduction": isProduction,
        }) ??
        'null';
    if (_fastpayPluginResult == "null") {
      return FastpayResult(
          isSuccess: false,
          errorMessage: "Unknown",
          transactionStatus: "",
          transactionId: "",
          orderId: "",
          paymentAmount: "",
          paymentCurrency: "",
          payeeName: "",
          payeeMobileNumber: "",
          paymentTime: "");
    }

    Map<String, dynamic>? data = jsonDecode(_fastpayPluginResult);
    return FastpayResult.fromJson(data ??
        {
          "isSuccess": false,
          "errorMessage": "null",
          "transactionStatus": "",
          "transactionId": "",
          "orderId": "",
          "paymentAmount": "",
          "paymentCurrency": "",
          "payeeName": "",
          "payeeMobileNumber": "",
          "paymentTime": ""
        });
  } catch (e) {
    return FastpayResult(
        isSuccess: false,
        errorMessage: e.toString(),
        transactionStatus: "",
        transactionId: "",
        orderId: "",
        paymentAmount: "",
        paymentCurrency: "",
        payeeName: "",
        payeeMobileNumber: "",
        paymentTime: "");
  }
}