PaymentProcessingResponse.fromJson constructor

PaymentProcessingResponse.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory PaymentProcessingResponse.fromJson(Map<String, dynamic> json) {
  List<Map<String, dynamic>>? redirectParams;
  if (json['redirect_params'] != null) {
    final params = json['redirect_params'];
    if (params is List) {
      redirectParams = List<Map<String, dynamic>>.from(
        params.map((item) => item as Map<String, dynamic>),
      );
    } else if (params is Map) {
      // If it's a Map, convert to List with single item
      redirectParams = [Map<String, dynamic>.from(params)];
    }
  }

  // Extract return_url_query_params if present (contains transaction details)
  Map<String, dynamic>? returnUrlQueryParams;
  if (json['return_url_query_params'] != null && json['return_url_query_params'] is Map) {
    returnUrlQueryParams = Map<String, dynamic>.from(json['return_url_query_params'] as Map);
  }

  return PaymentProcessingResponse(
    result: json['result'] as String? ?? 'undefined',
    redirectUrl: json['redirect_url'] as String?,
    redirectParams: redirectParams,
    returnUrlQueryParams: returnUrlQueryParams,
    declineMessage: json['decline_message'] as String?,
    publicId: json['public_id'] as String?,
  );
}