initiatePayment method

Future<PaymentInitiationResponseModel> initiatePayment({
  1. required PaymentInitiationRequestModel request,
})

Implementation

Future<PaymentInitiationResponseModel> initiatePayment({
  required PaymentInitiationRequestModel request,
}) async {
  final url = _buildUrl(initiateTransaction);
  final logger = _Logger('POST', url);

  logger.request(request);
  final response = await _client.post(url, request.toMap());
  logger.response(response);

  if (response is ExceptionHttpResponse) {
    throw response.message;
  } else if (response is FailureHttpResponse) {
    throw response.data;
  } else {
    return PaymentInitiationResponseModel.fromMap(
      response.data as Map<String, dynamic>,
    );
  }
}