verifyPayment method

Future<Transaction?> verifyPayment({
  1. required String cardId,
  2. required String otp,
  3. required double amount,
  4. required String token,
  5. required String? baseUrl,
  6. required String lang,
  7. ValueSetter? onError,
})

Implementation

Future<Transaction?> verifyPayment({
  required String cardId,
  required String otp,
  required double amount,
  required String token,
  required String? baseUrl,
  required String lang,
  ValueSetter? onError,
}) async {
  try {
    return await ApiProvider.post(
        auth: true,
        apiURL: ApiRoutes.verifyPayment.path,
        baseURL: baseUrl,
        lang: lang,
        data: {
          'card_code': cardId,
          'otp': otp,
          'amount': amount,
          'token': token,
        }).catchError((error) {
      if (onError != null) {
        onError((error as ApiException).message);
      }
    }).then((response) {
      if (response != null) {
        return Transaction.fromJson(response['data']);
      }
      return null;
    });
  } catch (e) {
    SnackBar(content: Text("Verify otp error: $e"));
    return null;
  }
}