Files
sendico/frontend/pshared/lib/models/payment/quote.dart
2026-01-21 16:50:47 +01:00

53 lines
1.5 KiB
Dart

import 'package:pshared/api/responses/payment/quotation.dart';
import 'package:pshared/models/payment/fees/line.dart';
import 'package:pshared/models/payment/fx/quote.dart';
import 'package:pshared/models/payment/money.dart';
import 'package:pshared/models/payment/fees/network.dart';
class PaymentQuote {
final String? quoteRef;
final Money? debitAmount;
final Money? expectedSettlementAmount;
final Money? expectedFeeTotal;
final List<FeeLine>? feeLines;
final NetworkFee? networkFee;
final FxQuote? fxQuote;
const PaymentQuote({
required this.quoteRef,
required this.debitAmount,
required this.expectedSettlementAmount,
required this.expectedFeeTotal,
required this.feeLines,
required this.networkFee,
required this.fxQuote,
});
}
class PaymentQuoteX extends PaymentQuote {
final String idempotencyKey;
const PaymentQuoteX({
required super.quoteRef,
required super.debitAmount,
required super.expectedSettlementAmount,
required super.expectedFeeTotal,
required super.feeLines,
required super.networkFee,
required super.fxQuote,
required this.idempotencyKey,
});
factory PaymentQuoteX.build({required PaymentQuote quote, required String idempotencyKey}) => PaymentQuoteX(
quoteRef: quote.quoteRef,
debitAmount: quote.debitAmount,
expectedSettlementAmount: quote.expectedSettlementAmount,
expectedFeeTotal: quote.expectedFeeTotal,
feeLines: quote.feeLines,
networkFee: quote.networkFee,
fxQuote: quote.fxQuote,
idempotencyKey: idempotencyKey,
);
}