PaymentResponse.fromJson constructor

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

Create from JSON

Implementation

factory PaymentResponse.fromJson(Map<String, dynamic> json) {
  return PaymentResponse(
    status: PaymentStatus.values.firstWhere(
      (e) => e.name == json['status'],
      orElse: () => PaymentStatus.unknown,
    ),
    transactionId: json['transactionId'] as String?,
    orderId: json['orderId'] as String?,
    provider: json['provider'] != null
        ? PaymentProvider.values.firstWhere(
            (e) => e.name == json['provider'],
          )
        : null,
    message: json['message'] as String,
    errorCode: json['errorCode'] as String?,
    rawResponse: json['rawResponse'] != null
        ? Map<String, dynamic>.from(json['rawResponse'])
        : null,
    timestamp: DateTime.parse(json['timestamp'] as String),
    amount: json['amount']?.toDouble(),
    currency: json['currency'] as String?,
    metadata: json['metadata'] != null
        ? Map<String, dynamic>.from(json['metadata'])
        : null,
  );
}