53 lines
1.5 KiB
Dart
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,
|
|
);
|
|
}
|