confirmRazorpayPayment method

void confirmRazorpayPayment(
  1. String appKey,
  2. String token,
  3. String orderId,
  4. String paymentId,
  5. String signature,
  6. ConfirmRazorpayPayment confirmRazorpayPayment,
)

Implementation

void confirmRazorpayPayment(
  String appKey,
  String token,
  String orderId,
  String paymentId,
  String signature,
  ConfirmRazorpayPayment confirmRazorpayPayment,
) async {
  confirmRazorpayPayment.onLoading();

  final url = "https://api.plentrasphere.com/v2/client/index.php";
  final body = {
    'class': 'payment',
    "appKey": appKey,
    "action": "confirmRazorpayPayment",
    "razorpay_order_id": orderId,
    "razorpay_payment_id": paymentId,
    "razorpay_signature": signature,
    'isMobile': "yes",
  };

  try {
    final response = await http.post(
      Uri.parse(url),
      headers: {
        "Content-Type": "application/x-www-form-urlencoded",
        "Authorization": "Bearer $token",
      },
      body: body,
    );

    final data = json.decode(response.body);

    int code = data['response']['code'];
    String status = data['response']['status'];

    if (code == 400) {
      if (status == "app-expired") {
        confirmRazorpayPayment.onAppNotActive(data['info']['appName']);
        confirmRazorpayPayment.onLoadfinished();
        return;
      }
      // if (status == "session-expired") {
      //   confirmRazorpayPayment.onNotLoggedIn();
      //   confirmRazorpayPayment.onLoadfinished(ß);
      //   return;
      // }

      if (status == "invalid-order") {
        confirmRazorpayPayment.onInvalidOrder();
        confirmRazorpayPayment.onLoadfinished();
        return;
      }

      confirmRazorpayPayment.onError(status);
      confirmRazorpayPayment.onLoadfinished();
      return;
    }

    confirmRazorpayPayment.onSuccess(status);
    confirmRazorpayPayment.onLoadfinished();
  } catch (e) {
    confirmRazorpayPayment.onError(e.toString());
    confirmRazorpayPayment.onLoadfinished();
  }
}