call3DESRupayEncAPIforBlockCard method

void call3DESRupayEncAPIforBlockCard(
  1. BuildContext context,
  2. String rupayPIN,
  3. String reasonDropDownValue,
  4. String reasonMsg,
)

Implementation

void call3DESRupayEncAPIforBlockCard(BuildContext context, String rupayPIN,
    String reasonDropDownValue, String reasonMsg) {
  kglobal.getUserData().then((valuePref) async {
    var xorHexValue = kglobal.shared.xorHex('04' + rupayPIN + 'FFFFFFFFFF',
        '0000' + valuePref!.mobileNumber.toString() + 'FF');
    Map<String, dynamic> requestBody = {
      'ReqType': AppUrl.TA_Oneapp_RupayEncryption3DES,
      "Mobilenumber": valuePref?.mobileNumber,
      "Enc_Key": MySingleton().ruPayCardStatusSinglton.encKey,
      "Date": kglobal.shared.getCurrentDateTime(),
      "Hex_XOR_Value": xorHexValue,
      "Platform": kglobal.shared.kPlatform,
      "ApplicationType": kglobal.shared.applcationType,
      "EntityID": kglobal.shared.EntityID,
      "MachineID": kglobal.shared.deviceID,
    "GeoLocation": kglobal.shared.geolocation,
    };
    print(requestBody);

    String bodyJson = jsonEncode(requestBody);

    auth.RupayEncryption3DES(context, bodyJson).then((value2) {
      setEncryption3DESValue(value2);
      if (value2.responseCode == "99723") {
        // PopupAlert().showSessionFinish(context,'sessionExpired'.tr, true);
      } else if (rupayEncryption3DESModel.value.responseCode?.length == 4) {
        //PopupAlert().showPopupWithBack(context, rupayEncryption3DESModel.value.message ?? '', false);
        var reasonID;
        var existingReasonArray =
            MySingleton().ruPayCardStatusSinglton.blockingId![0];
        for (int i = 0;
            i < MySingleton().ruPayCardStatusSinglton.blockingId![0].length;
            i++) {
          if (existingReasonArray[i].type == reasonDropDownValue) {
            reasonID = existingReasonArray[i].id;
            break;
          }
        }
        var RPIN = rupayEncryption3DESModel.value.rPIN;
        callRupayBlockCard(
            context,
            RPIN,
            reasonID,
            reasonMsg,
            valuePref!.mobileNumber.toString(),
            valuePref!.accountNo,);
      } else {
        kglobal.shared.showSnack(context,true, rupayEncryption3DESModel.value.message ?? "");
      }
    });
  });
}