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 paymentStatus = response.data?.paymentMethod ?? "";
      if (response.data?.status == "Paid") {
        navigateToPaymentSuccess();
      } else {
        navigateToPaymentFailed(paymentStatus);
      }
    }
  } catch (e) {
    // Handle errors (e.g., log them or show a message)
  } finally {
    setBusy(false);
    rebuildUi();
  }
}