import 'package:pshared/models/payment/quote/quote.dart'; class Payment { final String? paymentRef; final String? idempotencyKey; final String? state; final String? failureCode; final String? failureReason; final PaymentQuote? lastQuote; final Map? metadata; final DateTime? createdAt; const Payment({ required this.paymentRef, required this.idempotencyKey, required this.state, required this.failureCode, required this.failureReason, required this.lastQuote, required this.metadata, required this.createdAt, }); bool get isFailure { if ((failureCode ?? '').trim().isNotEmpty) return true; final normalized = (state ?? '').trim().toLowerCase(); return normalized.contains('fail') || normalized.contains('cancel'); } }