checkDataOnLoad method
Implementation
Future<void> checkDataOnLoad(
String amount, {
bool isDeepLink = false,
}) async {
try {
BuildContext context = Get.context!;
if (isDeepLink) {
ConditionalLogs().customLog(
'Api polling stopped $paymentStatusName \n isDeepLink : $isDeepLink \n callPaymentTransactionStatusApi invoked for the background case',
);
stopApiPolling();
await callPaymentTransactionStatusApi(
transactionId,
true,
false,
isFromDeepLink: true,
);
}
// Perform your API call or data fetch here
if (paymentStatus.value == paymentStatusName) {
ConditionalLogs().customLog(
'App resumed from background \n paymentStatusName: $paymentStatusName \n isDeepLink : $isDeepLink',
);
stopApiPolling();
if (paymentmodestatus == 1) {
ConditionalLogs().customLog(
'App resumed from background \n paymentmodestatus: $paymentmodestatus',
);
await Future.delayed(const Duration(milliseconds: 500), () {
paymentmodestatus = 0;
// common.Helper.close();
});
ConditionalLogs().customLog(
'App resumed from background \n callSubmitCouponApi invoked',
);
callSubmitCouponApi(paymentCreateTransactionId.value, amount);
} else if (paymentmodestatus == 2) {
await Future.delayed(const Duration(milliseconds: 500), () {
paymentmodestatus = 0;
stopApiPolling();
callSubmitCouponApi(paymentCreateTransactionId.value, amount);
});
} else if (paymentmodestatus == 2) {
await Future.delayed(const Duration(milliseconds: 500), () {
paymentmodestatus = 0;
stopApiPolling();
if (isDiscardPayment) {
navigateToPaymentPendingSuccess();
}
});
}
} else {
if (paymentScreenType.value == "Web") {
stopApiPolling();
if (paymentmodestatus == 1) {
//await callPaymentTransactionStatusApi(
// paymentCreateTransactionId.value, true, true);
await Future.delayed(const Duration(milliseconds: 500), () {
paymentmodestatus = 0;
});
paymentStatus.value == "SUCCESS"
? navigateToPaymentPendingSuccess()
: null;
} else {
if (isDiscardPayment) {
paymentmodestatus = 0;
navigateToPaymentPendingSuccess();
}
}
}
}
} catch (e) {
stopApiPolling();
if (paymentmodestatus == 1) {
await Future.delayed(const Duration(milliseconds: 500), () {
paymentmodestatus = 0;
});
navigateToPaymentPendingSuccess();
} else {
paymentmodestatus = 0;
if (isDiscardPayment) {
navigateToPaymentPendingSuccess();
}
}
}
}