makePayment method

Implementation

Future<NetworkResponse<PaymentResponse>> makePayment(
    PayRequest request) async {
  return _safeCall(() async {
    final resp = await _dio.post(
      '/api/v3/payments/pay',
      data: request.toJson(),
    );
    final map = _requireJsonMap(resp.data);
    if (map['success'] == false) {
      return NetworkError(
        _envelopeError(map) ?? 'Payment failed',
        code: resp.statusCode,
      );
    }
    final data = asJsonMap(map['data']) ?? map;
    return NetworkSuccess(PaymentResponse.fromJson(data));
  });
}