refundPayment method

Future<LokotroPayOnResponse> refundPayment({
  1. required String orderId,
  2. required String originalTransactionId,
  3. required double amount,
  4. required String currency,
  5. required String userId,
  6. String? reason,
  7. String? sessionToken,
})

Refund payment through backend

Implementation

Future<LokotroPayOnResponse> refundPayment({
  required String orderId,
  required String originalTransactionId,
  required double amount,
  required String currency,
  required String userId,
  String? reason,
  String? sessionToken,
}) async {
  try {
    final requestBody = {
      'order_id': orderId,
      'original_transaction_id': originalTransactionId,
      'amount': amount,
      'currency': currency,
      'reason': reason,
      'user_id': userId,
      'session_token': sessionToken,
    };

    final response = await _dio.post(
      '/api/v1/payments/mastercard/refund',
      data: requestBody,
    );

    return _convertBackendResponse(response.data);

  } on DioException catch (e) {
    return _handleBackendError(e, null);
  }
}