verificationPayment method

void verificationPayment(
  1. String status,
  2. String authority,
  3. PaymentRequest paymentRequest,
  4. OnCallbackVerificationPaymentListener listener,
)

Implementation

void verificationPayment(
    String status,
    String authority,
    PaymentRequest paymentRequest,
    OnCallbackVerificationPaymentListener listener) async {
  if (paymentRequest.getAuthority() != authority) {
    listener(false, null, paymentRequest, {});
    return;
  }
  if (status.toLowerCase() != "ok") {
    listener(false, null, paymentRequest, {});
    return;
  }
  VerificationPayment verificationPayment = VerificationPayment()
    ..setAuthority(authority)
    ..setMerchantID(paymentRequest.getMerchantID())
    ..setAmount(paymentRequest.getAmount());
  try {
    Response response = await _dio.post(
        paymentRequest.getVerificationPaymentURL(),
        data: verificationPayment.toMap());
    final Map<String, dynamic> result = response.data;
    if (result['data'].isNotEmpty && result['data']['code'] == 100) {
      listener(
        true,
        result['data']['ref_id'].toString(),
        paymentRequest,
        result['data'],
      );
    } else {
      listener(
        false,
        null,
        paymentRequest,
        result['errors'],
      );
    }
  } on DioException catch (_) {
    listener(
      false,
      null,
      paymentRequest,
      {},
    );
  }
}