bankPayment method

dynamic bankPayment(
  1. BuildContext context,
  2. String id,
  3. String cartId,
  4. String bankName,
  5. String branchName,
  6. String refNbr,
  7. String amount,
  8. String date,
  9. String accNbr,
  10. int receiptId,
)

Implementation

bankPayment(
    BuildContext context,
    String id,
    String cartId,
    String bankName,
    String branchName,
    String refNbr,
    String amount,
    String date,
    String accNbr,
    int receiptId) async {
  WidgetsBinding.instance.addPostFrameCallback((_) {
    Helper.progressDialog(context, "Please wait..");
  });
  // printLogs(dio);
  dio
      .post(
    '${ApiConstant.posBaseUrl}pos-payment-service-svc/payment-collection/carts/$cartId',
    data: json.encode({
      "modeList": [
        {
          "id": id,
          "collection": [
            [
              {
                "amount": false,
                "configs": {},
                "fieldMappingKey": "bankName",
                "fieldType": "DROPDOWN",
                "formatAmount": false,
                "id": "1",
                "label": "pos.common.payment.mode.bankName",
                "value": bankName,
              },
              {
                "amount": true,
                "configs": {},
                "fieldMappingKey": "bankAmount",
                "fieldType": "INPUT",
                "formatAmount": true,
                "id": "8",
                "label": "pos.common.payment.mode.amount",
                "value": amount,
              },
              {
                "amount": false,
                "configs": {},
                "fieldMappingKey": "smartBankName",
                "fieldType": "DROPDOWN",
                "formatAmount": false,
                "id": "24",
                "label": "pos.common.payment.mode.bank.seller.name",
                "value": bankName,
              },
              {
                "amount": false,
                "configs": {},
                "fieldMappingKey": "smartBankAccount",
                "fieldType": "DROPDOWN",
                "formatAmount": false,
                "id": "25",
                "label": "pos.common.payment.mode.bank.seller.account",
                "value": accNbr,
              },
              {
                "amount": false,
                "configs": {},
                "fieldMappingKey": "bankOtcDepositAmount",
                "fieldType": "INPUT",
                "formatAmount": true,
                "id": "35",
                "label": "pos.common.payment.mode.depositAmount",
                "value": amount,
              },
              {
                "amount": false,
                "configs": {},
                "fieldMappingKey": "date",
                "fieldType": "DATE_PICKER",
                "formatAmount": false,
                "id": "22",
                "label": "pos.common.payment.mode.bank.date",
                "value": date,
              },
              {
                "amount": false,
                "configs": {},
                "fieldMappingKey": "branch",
                "fieldType": "DROPDOWN",
                "formatAmount": false,
                "id": "4",
                "label": "pos.common.payment.mode.bank.branch",
                "value": branchName,
              },
              {
                "amount": false,
                "configs": {},
                "fieldMappingKey": "transactionReferenceNumber",
                "fieldType": "INPUT",
                "formatAmount": false,
                "id": "5",
                "label": "pos.common.payment.mode.bank.refNo",
                "value": refNbr
              },
            ]
          ]
        }
      ],
      "currency": "USD"
    }),
    options: Options(
      headers: {
        'X-User-Id': storage.read("XUSER_ID"),
        'X-User-Name': storage.read("XUSER_ID")
      },
    ),
  )
      .then((response) {
    Get.back();
    if (response.data != null) {
      print('paymentCollect${response.data}');
      PaymentCollection model = PaymentCollection();
      Map<String, dynamic> creditData = response.data;
      model = PaymentCollection.fromJson(creditData);
      if (model.status == 'POS200') {
        orderCreation(
          context,
          model.data!.paymentCollectionByModeList![0].cartId!,
          model.data!.transactionId!,
          'SELL_THRU',
          isBank: true,
        );
      } else {
        Helper.messageDialog(
          Get.context!,
          model.errors?[0]?["errorItem"]["errorCode"] ?? "Try Again",
          model.errors?[0]?["errorItem"]["errorMessage"] ??
              "Something went wrong",
        );
      }
    }
  }, onError: (error) {
    print(error.toString());
    Get.back();
    Helper.messageDialog(Get.context!, "Try Again!!", error.toString());
  });
}