trackPaymentRequest method
Future<void>
trackPaymentRequest(
)
Implementation
Future<void> trackPaymentRequest() async {
setBusy(true);
try {
final response = await _paymentService.trackPaymentsStatus(
TrackPaymentRequest(
transactionReference: transactionInfoResponse?.reference ?? "",
walletName: transactionInfoResponse?.paymentMethod ?? "",
),
);
setBusy(false);
if (response.statusCode == 200) {
final payment = response.data;
if (payment == null) {
navigateToPaymentFailed(
'Payment not found with reference $paymentReference.',
);
return;
}
final paymentStatus = payment.paymentMethod ?? "";
if (payment.status == "Paid") {
navigateToPaymentSuccess();
} else {
navigateToPaymentFailed(paymentStatus);
}
}
} catch (e) {
// Handle errors (e.g., log them or show a message)
} finally {
setBusy(false);
rebuildUi();
}
}