+ quotation provider
This commit is contained in:
@@ -2,17 +2,25 @@ import 'package:pshared/models/payment/methods/data.dart';
|
||||
import 'package:pshared/models/payment/type.dart';
|
||||
|
||||
|
||||
class CardPaymentMethod extends PaymentMethodData {
|
||||
class CardPaymentMethod implements PaymentMethodData {
|
||||
@override
|
||||
final PaymentType type = PaymentType.card;
|
||||
|
||||
final String pan;
|
||||
final String firstName;
|
||||
final String lastName;
|
||||
final int? expMonth;
|
||||
final int? expYear;
|
||||
final String? country;
|
||||
@override
|
||||
final Map<String, String>? metadata;
|
||||
|
||||
CardPaymentMethod({
|
||||
const CardPaymentMethod({
|
||||
required this.pan,
|
||||
this.expMonth,
|
||||
this.expYear,
|
||||
required this.firstName,
|
||||
required this.lastName,
|
||||
this.country,
|
||||
this.metadata,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
18
frontend/pshared/lib/models/payment/methods/card_token.dart
Normal file
18
frontend/pshared/lib/models/payment/methods/card_token.dart
Normal file
@@ -0,0 +1,18 @@
|
||||
import 'package:pshared/models/payment/methods/data.dart';
|
||||
import 'package:pshared/models/payment/type.dart';
|
||||
|
||||
|
||||
class CardTokenPaymentMethod implements PaymentMethodData {
|
||||
@override
|
||||
final PaymentType type = PaymentType.cardToken;
|
||||
final String token;
|
||||
final String maskedPan;
|
||||
@override
|
||||
final Map<String, String>? metadata;
|
||||
|
||||
const CardTokenPaymentMethod({
|
||||
required this.token,
|
||||
required this.maskedPan,
|
||||
this.metadata,
|
||||
});
|
||||
}
|
||||
@@ -1,18 +1,21 @@
|
||||
import 'package:pshared/models/payment/methods/data.dart';
|
||||
import 'package:pshared/models/payment/asset.dart';
|
||||
import 'package:pshared/models/payment/type.dart';
|
||||
|
||||
|
||||
class CryptoAddressPaymentMethod extends PaymentMethodData {
|
||||
class CryptoAddressPaymentMethod implements PaymentMethodData {
|
||||
@override
|
||||
final PaymentType type = PaymentType.cryptoAddress;
|
||||
|
||||
final PaymentType type = PaymentType.externalChain;
|
||||
final PaymentAsset? asset;
|
||||
final String address;
|
||||
final String network;
|
||||
final String? destinationTag;
|
||||
final String? memo;
|
||||
@override
|
||||
final Map<String, String>? metadata;
|
||||
|
||||
CryptoAddressPaymentMethod({
|
||||
const CryptoAddressPaymentMethod({
|
||||
this.asset,
|
||||
required this.address,
|
||||
required this.network,
|
||||
this.destinationTag,
|
||||
this.memo,
|
||||
this.metadata,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:pshared/models/payment/type.dart';
|
||||
|
||||
abstract class PaymentMethodData {
|
||||
PaymentType get type;
|
||||
Map<String, String>? get metadata;
|
||||
}
|
||||
|
||||
typedef MethodMap = Map<PaymentType, PaymentMethodData?>;
|
||||
@@ -2,7 +2,7 @@ import 'package:pshared/models/payment/methods/data.dart';
|
||||
import 'package:pshared/models/payment/type.dart';
|
||||
|
||||
|
||||
class IbanPaymentMethod extends PaymentMethodData {
|
||||
class IbanPaymentMethod implements PaymentMethodData {
|
||||
@override
|
||||
final PaymentType type = PaymentType.iban;
|
||||
|
||||
@@ -10,11 +10,14 @@ class IbanPaymentMethod extends PaymentMethodData {
|
||||
final String accountHolder; // Full name of the recipient
|
||||
final String? bic; // Optional: for cross-border transfers
|
||||
final String? bankName; // Optional: for UI clarity
|
||||
@override
|
||||
final Map<String, String>? metadata;
|
||||
|
||||
IbanPaymentMethod({
|
||||
const IbanPaymentMethod({
|
||||
required this.iban,
|
||||
required this.accountHolder,
|
||||
this.bic,
|
||||
this.bankName,
|
||||
this.metadata,
|
||||
});
|
||||
}
|
||||
|
||||
18
frontend/pshared/lib/models/payment/methods/ledger.dart
Normal file
18
frontend/pshared/lib/models/payment/methods/ledger.dart
Normal file
@@ -0,0 +1,18 @@
|
||||
import 'package:pshared/models/payment/methods/data.dart';
|
||||
import 'package:pshared/models/payment/type.dart';
|
||||
|
||||
|
||||
class LedgerPaymentMethod implements PaymentMethodData {
|
||||
@override
|
||||
final PaymentType type = PaymentType.ledger;
|
||||
final String ledgerAccountRef;
|
||||
final String? contraLedgerAccountRef;
|
||||
@override
|
||||
final Map<String, String>? metadata;
|
||||
|
||||
const LedgerPaymentMethod({
|
||||
required this.ledgerAccountRef,
|
||||
this.contraLedgerAccountRef,
|
||||
this.metadata,
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
import 'package:pshared/models/payment/methods/data.dart';
|
||||
import 'package:pshared/models/payment/asset.dart';
|
||||
import 'package:pshared/models/payment/type.dart';
|
||||
|
||||
|
||||
class ManagedWalletPaymentMethod implements PaymentMethodData {
|
||||
@override
|
||||
final PaymentType type = PaymentType.managedWallet;
|
||||
final String managedWalletRef;
|
||||
final PaymentAsset? asset;
|
||||
@override
|
||||
final Map<String, String>? metadata;
|
||||
|
||||
const ManagedWalletPaymentMethod({
|
||||
required this.managedWalletRef,
|
||||
this.asset,
|
||||
this.metadata,
|
||||
});
|
||||
}
|
||||
@@ -2,7 +2,7 @@ import 'package:pshared/models/payment/methods/data.dart';
|
||||
import 'package:pshared/models/payment/type.dart';
|
||||
|
||||
|
||||
class RussianBankAccountPaymentMethod extends PaymentMethodData {
|
||||
class RussianBankAccountPaymentMethod implements PaymentMethodData {
|
||||
@override
|
||||
final PaymentType type = PaymentType.bankAccount;
|
||||
|
||||
@@ -13,8 +13,10 @@ class RussianBankAccountPaymentMethod extends PaymentMethodData {
|
||||
final String bik;
|
||||
final String accountNumber;
|
||||
final String correspondentAccount;
|
||||
@override
|
||||
final Map<String, String>? metadata;
|
||||
|
||||
RussianBankAccountPaymentMethod({
|
||||
const RussianBankAccountPaymentMethod({
|
||||
required this.recipientName,
|
||||
required this.inn,
|
||||
required this.kpp,
|
||||
@@ -22,5 +24,6 @@ class RussianBankAccountPaymentMethod extends PaymentMethodData {
|
||||
required this.bik,
|
||||
required this.accountNumber,
|
||||
required this.correspondentAccount,
|
||||
this.metadata,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2,11 +2,14 @@ import 'package:pshared/models/payment/methods/data.dart';
|
||||
import 'package:pshared/models/payment/type.dart';
|
||||
|
||||
|
||||
class WalletPaymentMethod extends PaymentMethodData {
|
||||
class WalletPaymentMethod implements PaymentMethodData {
|
||||
@override
|
||||
final PaymentType type = PaymentType.wallet;
|
||||
|
||||
final String walletId;
|
||||
|
||||
WalletPaymentMethod({required this.walletId});
|
||||
@override
|
||||
final Map<String, String>? metadata;
|
||||
|
||||
WalletPaymentMethod({required this.walletId, this.metadata});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user