Files
sendico/frontend/pshared/lib/models/payment/payment.dart

31 lines
806 B
Dart

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<String, String>? 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');
}
}