callRuPayTransactionLimitUpdate method
Implementation
Future<void> callRuPayTransactionLimitUpdate(
BuildContext context,
String? mobNo,
String rPIN,
String perTransAmt,
String perDayAmt,
String perMonthAmt,
String limitType) async {
var PerTrxnLimit = double.parse(
MySingleton().ruPayCardStatusSinglton.perTrxnLimit.toString())
.toInt();
var PerDayLimit = double.parse(
MySingleton().ruPayCardStatusSinglton.perDayLimit.toString())
.toInt();
var PerMonthLimit = double.parse(
MySingleton().ruPayCardStatusSinglton.perMonthLimit.toString())
.toInt();
var POSPerTransaction = double.parse(
MySingleton().ruPayCardStatusSinglton.posPerTransaction.toString())
.toInt();
var POSPerday = double.parse(
MySingleton().ruPayCardStatusSinglton.posLimitPerDay.toString())
.toInt();
var POSPerMonth = double.parse(
MySingleton().ruPayCardStatusSinglton.posLimitPermonth.toString())
.toInt();
var NFCPerTransaction = double.parse(MySingleton()
.ruPayCardStatusSinglton
.nfcLimitPerTransaction
.toString())
.toInt();
var NFCPOSPerday = double.parse(
MySingleton().ruPayCardStatusSinglton.nfcLimitPerDay.toString())
.toInt();
var NFCPerMonth = double.parse(
MySingleton().ruPayCardStatusSinglton.nfcLimitPermonth.toString())
.toInt();
var ATMPerTransaction = double.parse(MySingleton()
.ruPayCardStatusSinglton
.atmLimitPerTransaction
.toString())
.toInt();
var ATMPOSPerday = double.parse(
MySingleton().ruPayCardStatusSinglton.atmLimitPerDay.toString())
.toInt();
var ATMPerMonth = double.parse(
MySingleton().ruPayCardStatusSinglton.atmLimitPermonth.toString())
.toInt();
if ('OnlineeCommerce'.tr == limitType) {
PerTrxnLimit = double.parse(perTransAmt).toInt();
PerDayLimit = double.parse(perDayAmt).toInt();
} else if ('CardSwipe'.tr == limitType) {
POSPerTransaction = double.parse(perTransAmt).toInt();
POSPerday = double.parse(perDayAmt).toInt();
} else if ('ContactlessNFC'.tr == limitType) {
NFCPerTransaction = double.parse(perTransAmt).toInt();
NFCPOSPerday = double.parse(perDayAmt).toInt();
} else if ('ATM'.tr == limitType) {
ATMPerTransaction = double.parse(perTransAmt).toInt();
ATMPOSPerday = double.parse(perDayAmt).toInt();
ATMPerMonth = double.parse(perMonthAmt).toInt();
}
Map<String, dynamic> requestBody = {
'ReqType': AppUrl.TA_Oneapp_RuPayTransactionLimitUpdate,
"ReferenceNumber": kglobal.shared.RupayRefNum,
"PerTrxnLimit": PerTrxnLimit.toString(),
"PerDayLimit": PerDayLimit.toString(),
"PerMonthLimit": PerMonthLimit.toString(),
"POSPerTransaction": POSPerTransaction.toString(),
"POSPerday": POSPerday.toString(),
"POSPerMonth": POSPerMonth.toString(),
"NFCPOSPerday": NFCPOSPerday.toString(),
"NFCPerTransaction": NFCPerTransaction.toString(),
"NFCPerMonth": NFCPerMonth.toString(),
"ATMPerTransaction": ATMPerTransaction.toString(),
"ATMPOSPerday": ATMPOSPerday.toString(),
"ATMPerMonth": ATMPerMonth.toString(),
"Cardnumber": MySingleton().ruPayCardStatusSinglton.maskedCard,
"R_PIN": rPIN,
"Mobilenumber": mobNo,
// "SessionID": sessionID,
"Date": kglobal.shared.getCurrentDateTime(),
"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.RuPayTransactionLimitUpdate(context, bodyJson).then((value2) {
setRuPayTransactionLimitUpdateValue(value2);
if (value2.responseCode == "99723") {
kglobal.shared.showSnack(context,true, rupayEncryption3DESModel.value.message ?? "");
} else if (ruPayTransactionLimitUpdateModel.value.responseCode?.length ==
4) {
//update in singlton
var mdl = MySingleton().ruPayCardStatusSinglton;
if ('OnlineeCommerce'.tr == limitType) {
mdl.perTrxnLimit = PerTrxnLimit.toString();
mdl.perDayLimit = PerDayLimit.toString();
} else if ('CardSwipe'.tr == limitType) {
mdl.posPerTransaction = POSPerTransaction.toString();
mdl.posLimitPerDay = POSPerday.toString();
} else if ('ContactlessNFC'.tr == limitType) {
mdl.nfcLimitPerTransaction = NFCPerTransaction.toString();
mdl.nfcLimitPerDay = NFCPOSPerday.toString();
} else if ('ATM'.tr == limitType) {
mdl.atmLimitPerTransaction = ATMPerTransaction.toString();
mdl.atmLimitPerDay = ATMPOSPerday.toString();
mdl.atmLimitPermonth = ATMPerMonth.toString();
}
MySingleton().ruPayCardStatusSinglton = mdl;
kglobal.shared.showSnack(context,true, ruPayTransactionLimitUpdateModel.value.message ?? "");
Navigator.of(context).pop();
Navigator.of(context).pop();
} else {
// 05 nov
kglobal.shared.showSnack(context,true, ruPayTransactionLimitUpdateModel.value.message ?? "");
}
});
}