258 lines
7.6 KiB
Dart
258 lines
7.6 KiB
Dart
class XenditModel {
|
|
String? id;
|
|
String? externalId;
|
|
String? userId;
|
|
String? status;
|
|
String? merchantName;
|
|
String? merchantProfilePictureUrl;
|
|
int? amount;
|
|
String? payerEmail;
|
|
String? description;
|
|
String? expiryDate;
|
|
String? invoiceUrl;
|
|
List<AvailableBanks>? availableBanks;
|
|
List<AvailableRetailOutlets>? availableRetailOutlets;
|
|
List<AvailableEwallets>? availableEwallets;
|
|
List<AvailableQrCodes>? availableQrCodes;
|
|
List<AvailableDirectDebits>? availableDirectDebits;
|
|
List<AvailablePaylaters>? availablePaylaters;
|
|
bool? shouldExcludeCreditCard;
|
|
bool? shouldSendEmail;
|
|
String? created;
|
|
String? updated;
|
|
String? currency;
|
|
Null metadata;
|
|
|
|
XenditModel(
|
|
{this.id,
|
|
this.externalId,
|
|
this.userId,
|
|
this.status,
|
|
this.merchantName,
|
|
this.merchantProfilePictureUrl,
|
|
this.amount,
|
|
this.payerEmail,
|
|
this.description,
|
|
this.expiryDate,
|
|
this.invoiceUrl,
|
|
this.availableBanks,
|
|
this.availableRetailOutlets,
|
|
this.availableEwallets,
|
|
this.availableQrCodes,
|
|
this.availableDirectDebits,
|
|
this.availablePaylaters,
|
|
this.shouldExcludeCreditCard,
|
|
this.shouldSendEmail,
|
|
this.created,
|
|
this.updated,
|
|
this.currency,
|
|
this.metadata});
|
|
|
|
XenditModel.fromJson(Map<String, dynamic> json) {
|
|
id = json['id'];
|
|
externalId = json['external_id'];
|
|
userId = json['user_id'];
|
|
status = json['status'];
|
|
merchantName = json['merchant_name'];
|
|
merchantProfilePictureUrl = json['merchant_profile_picture_url'];
|
|
amount = json['amount'];
|
|
payerEmail = json['payer_email'];
|
|
description = json['description'];
|
|
expiryDate = json['expiry_date'];
|
|
invoiceUrl = json['invoice_url'];
|
|
if (json['available_banks'] != null) {
|
|
availableBanks = <AvailableBanks>[];
|
|
json['available_banks'].forEach((v) {
|
|
availableBanks!.add(AvailableBanks.fromJson(v));
|
|
});
|
|
}
|
|
if (json['available_retail_outlets'] != null) {
|
|
availableRetailOutlets = <AvailableRetailOutlets>[];
|
|
json['available_retail_outlets'].forEach((v) {
|
|
availableRetailOutlets!.add(AvailableRetailOutlets.fromJson(v));
|
|
});
|
|
}
|
|
if (json['available_ewallets'] != null) {
|
|
availableEwallets = <AvailableEwallets>[];
|
|
json['available_ewallets'].forEach((v) {
|
|
availableEwallets!.add(AvailableEwallets.fromJson(v));
|
|
});
|
|
}
|
|
if (json['available_qr_codes'] != null) {
|
|
availableQrCodes = <AvailableQrCodes>[];
|
|
json['available_qr_codes'].forEach((v) {
|
|
availableQrCodes!.add(AvailableQrCodes.fromJson(v));
|
|
});
|
|
}
|
|
if (json['available_direct_debits'] != null) {
|
|
availableDirectDebits = <AvailableDirectDebits>[];
|
|
json['available_direct_debits'].forEach((v) {
|
|
availableDirectDebits!.add(AvailableDirectDebits.fromJson(v));
|
|
});
|
|
}
|
|
if (json['available_paylaters'] != null) {
|
|
availablePaylaters = <AvailablePaylaters>[];
|
|
json['available_paylaters'].forEach((v) {
|
|
availablePaylaters!.add(AvailablePaylaters.fromJson(v));
|
|
});
|
|
}
|
|
shouldExcludeCreditCard = json['should_exclude_credit_card'];
|
|
shouldSendEmail = json['should_send_email'];
|
|
created = json['created'];
|
|
updated = json['updated'];
|
|
currency = json['currency'];
|
|
metadata = json['metadata'];
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final Map<String, dynamic> data = <String, dynamic>{};
|
|
data['id'] = id;
|
|
data['external_id'] = externalId;
|
|
data['user_id'] = userId;
|
|
data['status'] = status;
|
|
data['merchant_name'] = merchantName;
|
|
data['merchant_profile_picture_url'] = merchantProfilePictureUrl;
|
|
data['amount'] = amount;
|
|
data['payer_email'] = payerEmail;
|
|
data['description'] = description;
|
|
data['expiry_date'] = expiryDate;
|
|
data['invoice_url'] = invoiceUrl;
|
|
if (availableBanks != null) {
|
|
data['available_banks'] = availableBanks!.map((v) => v.toJson()).toList();
|
|
}
|
|
if (availableRetailOutlets != null) {
|
|
data['available_retail_outlets'] = availableRetailOutlets!.map((v) => v.toJson()).toList();
|
|
}
|
|
if (availableEwallets != null) {
|
|
data['available_ewallets'] = availableEwallets!.map((v) => v.toJson()).toList();
|
|
}
|
|
if (availableQrCodes != null) {
|
|
data['available_qr_codes'] = availableQrCodes!.map((v) => v.toJson()).toList();
|
|
}
|
|
if (availableDirectDebits != null) {
|
|
data['available_direct_debits'] = availableDirectDebits!.map((v) => v.toJson()).toList();
|
|
}
|
|
if (availablePaylaters != null) {
|
|
data['available_paylaters'] = availablePaylaters!.map((v) => v.toJson()).toList();
|
|
}
|
|
data['should_exclude_credit_card'] = shouldExcludeCreditCard;
|
|
data['should_send_email'] = shouldSendEmail;
|
|
data['created'] = created;
|
|
data['updated'] = updated;
|
|
data['currency'] = currency;
|
|
data['metadata'] = metadata;
|
|
return data;
|
|
}
|
|
}
|
|
|
|
class AvailableBanks {
|
|
String? bankCode;
|
|
String? collectionType;
|
|
int? transferAmount;
|
|
String? bankBranch;
|
|
String? accountHolderName;
|
|
int? identityAmount;
|
|
|
|
AvailableBanks({this.bankCode, this.collectionType, this.transferAmount, this.bankBranch, this.accountHolderName, this.identityAmount});
|
|
|
|
AvailableBanks.fromJson(Map<String, dynamic> json) {
|
|
bankCode = json['bank_code'];
|
|
collectionType = json['collection_type'];
|
|
transferAmount = json['transfer_amount'];
|
|
bankBranch = json['bank_branch'];
|
|
accountHolderName = json['account_holder_name'];
|
|
identityAmount = json['identity_amount'];
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final Map<String, dynamic> data = <String, dynamic>{};
|
|
data['bank_code'] = bankCode;
|
|
data['collection_type'] = collectionType;
|
|
data['transfer_amount'] = transferAmount;
|
|
data['bank_branch'] = bankBranch;
|
|
data['account_holder_name'] = accountHolderName;
|
|
data['identity_amount'] = identityAmount;
|
|
return data;
|
|
}
|
|
}
|
|
|
|
class AvailableRetailOutlets {
|
|
String? retailOutletName;
|
|
|
|
AvailableRetailOutlets({this.retailOutletName});
|
|
|
|
AvailableRetailOutlets.fromJson(Map<String, dynamic> json) {
|
|
retailOutletName = json['retail_outlet_name'];
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final Map<String, dynamic> data = <String, dynamic>{};
|
|
data['retail_outlet_name'] = retailOutletName;
|
|
return data;
|
|
}
|
|
}
|
|
|
|
class AvailableEwallets {
|
|
String? ewalletType;
|
|
|
|
AvailableEwallets({this.ewalletType});
|
|
|
|
AvailableEwallets.fromJson(Map<String, dynamic> json) {
|
|
ewalletType = json['ewallet_type'];
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final Map<String, dynamic> data = <String, dynamic>{};
|
|
data['ewallet_type'] = ewalletType;
|
|
return data;
|
|
}
|
|
}
|
|
|
|
class AvailableQrCodes {
|
|
String? qrCodeType;
|
|
|
|
AvailableQrCodes({this.qrCodeType});
|
|
|
|
AvailableQrCodes.fromJson(Map<String, dynamic> json) {
|
|
qrCodeType = json['qr_code_type'];
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final Map<String, dynamic> data = <String, dynamic>{};
|
|
data['qr_code_type'] = qrCodeType;
|
|
return data;
|
|
}
|
|
}
|
|
|
|
class AvailableDirectDebits {
|
|
String? directDebitType;
|
|
|
|
AvailableDirectDebits({this.directDebitType});
|
|
|
|
AvailableDirectDebits.fromJson(Map<String, dynamic> json) {
|
|
directDebitType = json['direct_debit_type'];
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final Map<String, dynamic> data = <String, dynamic>{};
|
|
data['direct_debit_type'] = directDebitType;
|
|
return data;
|
|
}
|
|
}
|
|
|
|
class AvailablePaylaters {
|
|
String? paylaterType;
|
|
|
|
AvailablePaylaters({this.paylaterType});
|
|
|
|
AvailablePaylaters.fromJson(Map<String, dynamic> json) {
|
|
paylaterType = json['paylater_type'];
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
final Map<String, dynamic> data = <String, dynamic>{};
|
|
data['paylater_type'] = paylaterType;
|
|
return data;
|
|
}
|
|
}
|