LokotroTransactionDetails.fromJson constructor

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

Implementation

factory LokotroTransactionDetails.fromJson(Map<String, dynamic> json) {
  // Handle both nested 'data' response format and flat response format
  final data = json['data'] as Map<String, dynamic>? ?? json;

  return LokotroTransactionDetails(
    transactionId: data['transaction_id'] as String? ?? json['payment_id'] as String? ?? '',
    status: data['status'] as String? ?? 'unknown',
    channel: data['channel'] as String?,
    fillingInfo: data['filling_info'] as String?,
    paymentMethodId: data['payment_method_id'] as String?,
    transactionalAmount: (data['transactional_amount'] as num?)?.toDouble() ?? (json['amount'] as num?)?.toDouble(),
    currency: data['currency'] as String? ?? json['currency_str'] as String?,
    createdAt: data['created_at'] as String?,
    message: json['message'] as String? ?? data['message'] as String? ?? '',
  );
}