getPaymentDetails method

void getPaymentDetails({
  1. required String id,
})

Implementation

void getPaymentDetails({required String id}) {
  String requestTime = "";
  String responseTime = "";
  // isPaymentMilestoneAvailable.value = false;
  try {
    ApiClient(
      baseUrl: ApiConstant.posBL,
      onFetchRequestTime: (time) {
        requestTime = time;
      },
      onFetchResponseTime: (time) {
        responseTime = time;
      },
      screenName: "stockOrder",
    ).getPaymentDetailsInHistory(
      transactionId: id,
      paymentStatus: ["PENDING", "COMPLETED", "APPROVED"],
    ).then((value) {
      Helper.logEvent(
        "RESPONSE_EVENT",
        success: true,
        endPoint: Api.paymentDetailsFetch,
        responseDate: responseTime,
        screenName: "stockOrder",
        requestDate: requestTime,
      );
      paymentModesRecieved.value =
          value.data?.paymentCollectionByModeList ?? [];
      var isWing = paymentModesRecieved.firstWhereOrNull((element) =>
          element.mode?.name?.toLowerCase().contains("wing") ?? false);
      isWingPaymentAvailable.value = isWing != null;
      //here we are checking to show the payment milestone or not
      // if the payment mode is wing then we are showing the payment milestone
      // isPaymentMilestoneAvailable.value = isWing != null;
      ConditionalLogs().customLog('value $value');
    });
  } catch (err) {
    ConditionalLogs().customLog('error $err');
    if (err is DioException) {
      UDID.setTraceId(
        err.response?.headers.map[Constants.traceIdKey]?[0] ?? "",
      );
      Helper.logEvent(
        "ERROR_EVENT",
        failure: true,
        requestDate: requestTime,
        endPoint: Api.paymentDetailsFetch,
        responseDate: DateTime.now().toString(),
        screenName: "stockOrder",
        error: err,
      );
    }
  }
}