POST | /WICSubstitution |
---|
import 'package:servicestack/servicestack.dart';
// @DataContract
class InOutTimes implements IConvertible
{
InOutTimes();
InOutTimes.fromJson(Map<String, dynamic> json) : super();
fromMap(Map<String, dynamic> json) {
return this;
}
Map<String, dynamic> toJson() => {};
getTypeName() => "InOutTimes";
TypeContext? context = _ctx;
}
// @DataContract
class RequestTimestamps implements IConvertible
{
// @DataMember(EmitDefaultValue=false)
InOutTimes? AppLayer;
// @DataMember(EmitDefaultValue=false)
InOutTimes? ParentLookup;
// @DataMember(EmitDefaultValue=false)
InOutTimes? RetryLookup;
// @DataMember(EmitDefaultValue=false)
InOutTimes? GetCardData;
// @DataMember(EmitDefaultValue=false)
InOutTimes? CardTokenize;
// @DataMember(EmitDefaultValue=false)
InOutTimes? CardEncrypt;
// @DataMember(EmitDefaultValue=false)
InOutTimes? DBInsert;
// @DataMember(EmitDefaultValue=false)
InOutTimes? BackendProcess;
// @DataMember(EmitDefaultValue=false)
InOutTimes? DBUpdate;
// @DataMember(EmitDefaultValue=false)
InOutTimes? ParentUpdate;
// @DataMember(EmitDefaultValue=false)
InOutTimes? Network;
RequestTimestamps({this.AppLayer,this.ParentLookup,this.RetryLookup,this.GetCardData,this.CardTokenize,this.CardEncrypt,this.DBInsert,this.BackendProcess,this.DBUpdate,this.ParentUpdate,this.Network});
RequestTimestamps.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AppLayer = JsonConverters.fromJson(json['AppLayer'],'InOutTimes',context!);
ParentLookup = JsonConverters.fromJson(json['ParentLookup'],'InOutTimes',context!);
RetryLookup = JsonConverters.fromJson(json['RetryLookup'],'InOutTimes',context!);
GetCardData = JsonConverters.fromJson(json['GetCardData'],'InOutTimes',context!);
CardTokenize = JsonConverters.fromJson(json['CardTokenize'],'InOutTimes',context!);
CardEncrypt = JsonConverters.fromJson(json['CardEncrypt'],'InOutTimes',context!);
DBInsert = JsonConverters.fromJson(json['DBInsert'],'InOutTimes',context!);
BackendProcess = JsonConverters.fromJson(json['BackendProcess'],'InOutTimes',context!);
DBUpdate = JsonConverters.fromJson(json['DBUpdate'],'InOutTimes',context!);
ParentUpdate = JsonConverters.fromJson(json['ParentUpdate'],'InOutTimes',context!);
Network = JsonConverters.fromJson(json['Network'],'InOutTimes',context!);
return this;
}
Map<String, dynamic> toJson() => {
'AppLayer': JsonConverters.toJson(AppLayer,'InOutTimes',context!),
'ParentLookup': JsonConverters.toJson(ParentLookup,'InOutTimes',context!),
'RetryLookup': JsonConverters.toJson(RetryLookup,'InOutTimes',context!),
'GetCardData': JsonConverters.toJson(GetCardData,'InOutTimes',context!),
'CardTokenize': JsonConverters.toJson(CardTokenize,'InOutTimes',context!),
'CardEncrypt': JsonConverters.toJson(CardEncrypt,'InOutTimes',context!),
'DBInsert': JsonConverters.toJson(DBInsert,'InOutTimes',context!),
'BackendProcess': JsonConverters.toJson(BackendProcess,'InOutTimes',context!),
'DBUpdate': JsonConverters.toJson(DBUpdate,'InOutTimes',context!),
'ParentUpdate': JsonConverters.toJson(ParentUpdate,'InOutTimes',context!),
'Network': JsonConverters.toJson(Network,'InOutTimes',context!)
};
getTypeName() => "RequestTimestamps";
TypeContext? context = _ctx;
}
// @DataContract
class PaysecureResponseInternal implements IConvertible
{
// @DataMember(EmitDefaultValue=false)
RequestTimestamps? Timestamps;
PaysecureResponseInternal({this.Timestamps});
PaysecureResponseInternal.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Timestamps = JsonConverters.fromJson(json['Timestamps'],'RequestTimestamps',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Timestamps': JsonConverters.toJson(Timestamps,'RequestTimestamps',context!)
};
getTypeName() => "PaysecureResponseInternal";
TypeContext? context = _ctx;
}
enum CardInfoType
{
CardNumber,
Token,
Track,
EMV,
Encrypted,
DPAN,
ApplePay,
GooglePay,
SamsungPay,
CPToken,
EncryptedEnhanced,
EncryptedJWE,
}
class CardAccountUpdaterDescriptor implements IConvertible
{
CardInfoType? CardDataType;
String? CardNumberInfo;
String? ExpiryDate;
String? Status;
String? ErrorCode;
String? CardToken;
CardAccountUpdaterDescriptor({this.CardDataType,this.CardNumberInfo,this.ExpiryDate,this.Status,this.ErrorCode,this.CardToken});
CardAccountUpdaterDescriptor.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CardDataType = JsonConverters.fromJson(json['CardDataType'],'CardInfoType',context!);
CardNumberInfo = json['CardNumberInfo'];
ExpiryDate = json['ExpiryDate'];
Status = json['Status'];
ErrorCode = json['ErrorCode'];
CardToken = json['CardToken'];
return this;
}
Map<String, dynamic> toJson() => {
'CardDataType': JsonConverters.toJson(CardDataType,'CardInfoType',context!),
'CardNumberInfo': CardNumberInfo,
'ExpiryDate': ExpiryDate,
'Status': Status,
'ErrorCode': ErrorCode,
'CardToken': CardToken
};
getTypeName() => "CardAccountUpdaterDescriptor";
TypeContext? context = _ctx;
}
// @DataContract
class ExtendedResponse implements IConvertible
{
// @DataMember(EmitDefaultValue=false)
CardAccountUpdaterDescriptor? CardAccountUpdater;
// @DataMember(EmitDefaultValue=false)
String? ProductId;
// @DataMember(EmitDefaultValue=false)
String? NetworkResponseCode;
// @DataMember(EmitDefaultValue=false)
String? NetworkTransactionId;
// @DataMember(EmitDefaultValue=false)
String? CHEmailAddrResult;
ExtendedResponse({this.CardAccountUpdater,this.ProductId,this.NetworkResponseCode,this.NetworkTransactionId,this.CHEmailAddrResult});
ExtendedResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CardAccountUpdater = JsonConverters.fromJson(json['CardAccountUpdater'],'CardAccountUpdaterDescriptor',context!);
ProductId = json['ProductId'];
NetworkResponseCode = json['NetworkResponseCode'];
NetworkTransactionId = json['NetworkTransactionId'];
CHEmailAddrResult = json['CHEmailAddrResult'];
return this;
}
Map<String, dynamic> toJson() => {
'CardAccountUpdater': JsonConverters.toJson(CardAccountUpdater,'CardAccountUpdaterDescriptor',context!),
'ProductId': ProductId,
'NetworkResponseCode': NetworkResponseCode,
'NetworkTransactionId': NetworkTransactionId,
'CHEmailAddrResult': CHEmailAddrResult
};
getTypeName() => "ExtendedResponse";
TypeContext? context = _ctx;
}
// @DataContract
class PaysecureVersion extends PaysecureResponseInternal implements IConvertible
{
// @DataMember(EmitDefaultValue=false)
String? LocalDateTime;
// @DataMember(EmitDefaultValue=false)
String? Token;
// @DataMember(EmitDefaultValue=false)
ExtendedResponse? ExtendedData;
PaysecureVersion({this.LocalDateTime,this.Token,this.ExtendedData});
PaysecureVersion.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
LocalDateTime = json['LocalDateTime'];
Token = json['Token'];
ExtendedData = JsonConverters.fromJson(json['ExtendedData'],'ExtendedResponse',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'LocalDateTime': LocalDateTime,
'Token': Token,
'ExtendedData': JsonConverters.toJson(ExtendedData,'ExtendedResponse',context!)
});
getTypeName() => "PaysecureVersion";
TypeContext? context = _ctx;
}
class WICBalance implements IConvertible
{
String? WICCategory;
String? WICSubcategory;
int? WICQuantity;
WICBalance({this.WICCategory,this.WICSubcategory,this.WICQuantity});
WICBalance.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
WICCategory = json['WICCategory'];
WICSubcategory = json['WICSubcategory'];
WICQuantity = json['WICQuantity'];
return this;
}
Map<String, dynamic> toJson() => {
'WICCategory': WICCategory,
'WICSubcategory': WICSubcategory,
'WICQuantity': WICQuantity
};
getTypeName() => "WICBalance";
TypeContext? context = _ctx;
}
enum WICProductCodeInd
{
PLU,
UPC,
}
enum WICActionCode
{
Approved,
CategoryNotPrescribed,
SubcategoryNotPrescribed,
InsufficientUnits,
ProduceCodeNotSubscribed,
ApprovedLowerPrice,
}
class WICProduct implements IConvertible
{
WICProductCodeInd? ProductCodeInd;
String? ProductCode;
int? ItemPrice;
int? ItemQuantity;
WICActionCode? ActionCode;
int? OriginalItemPrice;
int? OriginalItemQuantity;
WICProduct({this.ProductCodeInd,this.ProductCode,this.ItemPrice,this.ItemQuantity,this.ActionCode,this.OriginalItemPrice,this.OriginalItemQuantity});
WICProduct.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProductCodeInd = JsonConverters.fromJson(json['ProductCodeInd'],'WICProductCodeInd',context!);
ProductCode = json['ProductCode'];
ItemPrice = json['ItemPrice'];
ItemQuantity = json['ItemQuantity'];
ActionCode = JsonConverters.fromJson(json['ActionCode'],'WICActionCode',context!);
OriginalItemPrice = json['OriginalItemPrice'];
OriginalItemQuantity = json['OriginalItemQuantity'];
return this;
}
Map<String, dynamic> toJson() => {
'ProductCodeInd': JsonConverters.toJson(ProductCodeInd,'WICProductCodeInd',context!),
'ProductCode': ProductCode,
'ItemPrice': ItemPrice,
'ItemQuantity': ItemQuantity,
'ActionCode': JsonConverters.toJson(ActionCode,'WICActionCode',context!),
'OriginalItemPrice': OriginalItemPrice,
'OriginalItemQuantity': OriginalItemQuantity
};
getTypeName() => "WICProduct";
TypeContext? context = _ctx;
}
// @DataContract
class WICSubstitution extends PaysecureVersion implements IConvertible
{
// @DataMember
String? ApprovalCode;
// @DataMember
String? TranId;
// @DataMember
String? ErrorMessage;
// @DataMember
String? ErrorCode;
// @DataMember
int? ApprovedAmount;
// @DataMember
int? DiscountAmount;
// @DataMember
String? Network;
// @DataMember
String? EarliestBenefitExpirationDate;
// @DataMember
List<WICBalance>? WICBalances;
// @DataMember
List<WICProduct>? WICProducts;
// @DataMember
String? ResponseCode;
WICSubstitution({this.ApprovalCode,this.TranId,this.ErrorMessage,this.ErrorCode,this.ApprovedAmount,this.DiscountAmount,this.Network,this.EarliestBenefitExpirationDate,this.WICBalances,this.WICProducts,this.ResponseCode});
WICSubstitution.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
ApprovalCode = json['ApprovalCode'];
TranId = json['TranId'];
ErrorMessage = json['ErrorMessage'];
ErrorCode = json['ErrorCode'];
ApprovedAmount = json['ApprovedAmount'];
DiscountAmount = json['DiscountAmount'];
Network = json['Network'];
EarliestBenefitExpirationDate = json['EarliestBenefitExpirationDate'];
WICBalances = JsonConverters.fromJson(json['WICBalances'],'List<WICBalance>',context!);
WICProducts = JsonConverters.fromJson(json['WICProducts'],'List<WICProduct>',context!);
ResponseCode = json['ResponseCode'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'ApprovalCode': ApprovalCode,
'TranId': TranId,
'ErrorMessage': ErrorMessage,
'ErrorCode': ErrorCode,
'ApprovedAmount': ApprovedAmount,
'DiscountAmount': DiscountAmount,
'Network': Network,
'EarliestBenefitExpirationDate': EarliestBenefitExpirationDate,
'WICBalances': JsonConverters.toJson(WICBalances,'List<WICBalance>',context!),
'WICProducts': JsonConverters.toJson(WICProducts,'List<WICProduct>',context!),
'ResponseCode': ResponseCode
});
getTypeName() => "WICSubstitution";
TypeContext? context = _ctx;
}
class RequestorCredentials implements IConvertible
{
// @Required()
String? MerchantId;
// @Required()
String? UserName;
// @Required()
String? Password;
// @Required()
String? Version;
RequestorCredentials({this.MerchantId,this.UserName,this.Password,this.Version});
RequestorCredentials.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
MerchantId = json['MerchantId'];
UserName = json['UserName'];
Password = json['Password'];
Version = json['Version'];
return this;
}
Map<String, dynamic> toJson() => {
'MerchantId': MerchantId,
'UserName': UserName,
'Password': Password,
'Version': Version
};
getTypeName() => "RequestorCredentials";
TypeContext? context = _ctx;
}
enum TelephoneType
{
D,
H,
N,
W,
}
class Avs implements IConvertible
{
String? Address;
String? City;
String? State;
String? Zip;
String? Country;
String? Email;
String? IPAddress;
String? TelephoneNumber;
TelephoneType? TelephoneType;
int? DeliveryMethod;
String? FirstName;
String? MiddleName;
String? LastName;
Avs({this.Address,this.City,this.State,this.Zip,this.Country,this.Email,this.IPAddress,this.TelephoneNumber,this.TelephoneType,this.DeliveryMethod,this.FirstName,this.MiddleName,this.LastName});
Avs.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Address = json['Address'];
City = json['City'];
State = json['State'];
Zip = json['Zip'];
Country = json['Country'];
Email = json['Email'];
IPAddress = json['IPAddress'];
TelephoneNumber = json['TelephoneNumber'];
TelephoneType = JsonConverters.fromJson(json['TelephoneType'],'TelephoneType',context!);
DeliveryMethod = json['DeliveryMethod'];
FirstName = json['FirstName'];
MiddleName = json['MiddleName'];
LastName = json['LastName'];
return this;
}
Map<String, dynamic> toJson() => {
'Address': Address,
'City': City,
'State': State,
'Zip': Zip,
'Country': Country,
'Email': Email,
'IPAddress': IPAddress,
'TelephoneNumber': TelephoneNumber,
'TelephoneType': JsonConverters.toJson(TelephoneType,'TelephoneType',context!),
'DeliveryMethod': DeliveryMethod,
'FirstName': FirstName,
'MiddleName': MiddleName,
'LastName': LastName
};
getTypeName() => "Avs";
TypeContext? context = _ctx;
}
class MerchantDataElements implements IConvertible
{
int? RefundSettlementTypeDetails;
bool? SendRecurringPOSEntryModeFeature;
bool? UseOrgPOSCode;
MerchantDataElements({this.RefundSettlementTypeDetails,this.SendRecurringPOSEntryModeFeature,this.UseOrgPOSCode});
MerchantDataElements.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
RefundSettlementTypeDetails = json['RefundSettlementTypeDetails'];
SendRecurringPOSEntryModeFeature = json['SendRecurringPOSEntryModeFeature'];
UseOrgPOSCode = json['UseOrgPOSCode'];
return this;
}
Map<String, dynamic> toJson() => {
'RefundSettlementTypeDetails': RefundSettlementTypeDetails,
'SendRecurringPOSEntryModeFeature': SendRecurringPOSEntryModeFeature,
'UseOrgPOSCode': UseOrgPOSCode
};
getTypeName() => "MerchantDataElements";
TypeContext? context = _ctx;
}
abstract class MerchantDescriptorBase
{
MerchantDataElements? DataElements;
MerchantDescriptorBase({this.DataElements});
MerchantDescriptorBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DataElements = JsonConverters.fromJson(json['DataElements'],'MerchantDataElements',context!);
return this;
}
Map<String, dynamic> toJson() => {
'DataElements': JsonConverters.toJson(DataElements,'MerchantDataElements',context!)
};
getTypeName() => "MerchantDescriptorBase";
TypeContext? context = _ctx;
}
class MerchantDescriptor extends MerchantDescriptorBase implements IConvertible
{
String? Name;
String? Address;
String? City;
String? State;
String? Zip;
String? Country;
String? CustomerServiceNumber;
String? MCC;
String? FNSnum;
String? Email;
MerchantDescriptor({this.Name,this.Address,this.City,this.State,this.Zip,this.Country,this.CustomerServiceNumber,this.MCC,this.FNSnum,this.Email});
MerchantDescriptor.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Name = json['Name'];
Address = json['Address'];
City = json['City'];
State = json['State'];
Zip = json['Zip'];
Country = json['Country'];
CustomerServiceNumber = json['CustomerServiceNumber'];
MCC = json['MCC'];
FNSnum = json['FNSnum'];
Email = json['Email'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Name': Name,
'Address': Address,
'City': City,
'State': State,
'Zip': Zip,
'Country': Country,
'CustomerServiceNumber': CustomerServiceNumber,
'MCC': MCC,
'FNSnum': FNSnum,
'Email': Email
});
getTypeName() => "MerchantDescriptor";
TypeContext? context = _ctx;
}
enum FundingSourceType
{
DepositAccount,
Credit,
Debit,
Prepaid,
}
class SenderInfo implements IConvertible
{
String? ReferenceNumber;
String? AccountNumber;
/**
* Name Format FirstName{Space}LastName. For Example :- Alvaro Morata
*/
String? Name;
String? Address;
String? City;
String? State;
String? Country;
/**
* DateOfBirth Format MMDDYYYY. For Example :- 05051960
*/
String? DateOfBirth;
String? Zip;
String? PhoneNumber;
FundingSourceType? FundingSource;
SenderInfo({this.ReferenceNumber,this.AccountNumber,this.Name,this.Address,this.City,this.State,this.Country,this.DateOfBirth,this.Zip,this.PhoneNumber,this.FundingSource});
SenderInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ReferenceNumber = json['ReferenceNumber'];
AccountNumber = json['AccountNumber'];
Name = json['Name'];
Address = json['Address'];
City = json['City'];
State = json['State'];
Country = json['Country'];
DateOfBirth = json['DateOfBirth'];
Zip = json['Zip'];
PhoneNumber = json['PhoneNumber'];
FundingSource = JsonConverters.fromJson(json['FundingSource'],'FundingSourceType',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ReferenceNumber': ReferenceNumber,
'AccountNumber': AccountNumber,
'Name': Name,
'Address': Address,
'City': City,
'State': State,
'Country': Country,
'DateOfBirth': DateOfBirth,
'Zip': Zip,
'PhoneNumber': PhoneNumber,
'FundingSource': JsonConverters.toJson(FundingSource,'FundingSourceType',context!)
};
getTypeName() => "SenderInfo";
TypeContext? context = _ctx;
}
enum NetworkName
{
Default,
NYCE,
CU24,
XCEL,
STAR,
PULS,
SHZM,
VISA,
MAST,
DISC,
AMEX,
ALIP,
UPIN,
STAC,
STNE,
MAES,
INTL,
}
class ReceiverInfo implements IConvertible
{
String? ReferenceNumber;
String? AccountNumber;
/**
* Name Format FirstName{Space}LastName. For Example :- Alvaro Morata
*/
String? Name;
String? Address;
String? City;
String? State;
String? Country;
String? Zip;
String? PhoneNumber;
ReceiverInfo({this.ReferenceNumber,this.AccountNumber,this.Name,this.Address,this.City,this.State,this.Country,this.Zip,this.PhoneNumber});
ReceiverInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ReferenceNumber = json['ReferenceNumber'];
AccountNumber = json['AccountNumber'];
Name = json['Name'];
Address = json['Address'];
City = json['City'];
State = json['State'];
Country = json['Country'];
Zip = json['Zip'];
PhoneNumber = json['PhoneNumber'];
return this;
}
Map<String, dynamic> toJson() => {
'ReferenceNumber': ReferenceNumber,
'AccountNumber': AccountNumber,
'Name': Name,
'Address': Address,
'City': City,
'State': State,
'Country': Country,
'Zip': Zip,
'PhoneNumber': PhoneNumber
};
getTypeName() => "ReceiverInfo";
TypeContext? context = _ctx;
}
enum BillPayGroup
{
Default,
Single,
Recurring,
Installment,
Deferred,
}
enum DigitalWalletInfo
{
Default,
Staged,
Passthrough,
}
class WalletDescriptor implements IConvertible
{
String? Type;
String? EncryptedData;
String? ApplicationDataHash;
String? EphemeralPublicKey;
String? PublicKeyHash;
String? TransactionId;
String? Signature;
String? Version;
String? ApplicationData;
String? MerchantIdentifier;
String? SpecialPayment;
DigitalWalletInfo? DigitalWalletIndicator;
WalletDescriptor({this.Type,this.EncryptedData,this.ApplicationDataHash,this.EphemeralPublicKey,this.PublicKeyHash,this.TransactionId,this.Signature,this.Version,this.ApplicationData,this.MerchantIdentifier,this.SpecialPayment,this.DigitalWalletIndicator});
WalletDescriptor.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Type = json['Type'];
EncryptedData = json['EncryptedData'];
ApplicationDataHash = json['ApplicationDataHash'];
EphemeralPublicKey = json['EphemeralPublicKey'];
PublicKeyHash = json['PublicKeyHash'];
TransactionId = json['TransactionId'];
Signature = json['Signature'];
Version = json['Version'];
ApplicationData = json['ApplicationData'];
MerchantIdentifier = json['MerchantIdentifier'];
SpecialPayment = json['SpecialPayment'];
DigitalWalletIndicator = JsonConverters.fromJson(json['DigitalWalletIndicator'],'DigitalWalletInfo',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Type': Type,
'EncryptedData': EncryptedData,
'ApplicationDataHash': ApplicationDataHash,
'EphemeralPublicKey': EphemeralPublicKey,
'PublicKeyHash': PublicKeyHash,
'TransactionId': TransactionId,
'Signature': Signature,
'Version': Version,
'ApplicationData': ApplicationData,
'MerchantIdentifier': MerchantIdentifier,
'SpecialPayment': SpecialPayment,
'DigitalWalletIndicator': JsonConverters.toJson(DigitalWalletIndicator,'DigitalWalletInfo',context!)
};
getTypeName() => "WalletDescriptor";
TypeContext? context = _ctx;
}
class SecureDescriptor implements IConvertible
{
String? CAVV;
String? SecureTransactionId;
SecureDescriptor({this.CAVV,this.SecureTransactionId});
SecureDescriptor.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CAVV = json['CAVV'];
SecureTransactionId = json['SecureTransactionId'];
return this;
}
Map<String, dynamic> toJson() => {
'CAVV': CAVV,
'SecureTransactionId': SecureTransactionId
};
getTypeName() => "SecureDescriptor";
TypeContext? context = _ctx;
}
enum TaxIndicator
{
Default,
NoTaxInfoProvided,
TaxInfoProvided,
TaxExemptItem,
}
class Level2Descriptor implements IConvertible
{
TaxIndicator? TaxDetails;
String? MerchantReferenceNumber;
String? MerchantTaxId;
String? OrderNumber;
int? TaxAmount;
String? DestinationPostalCode;
String? ProductDescription;
Level2Descriptor({this.TaxDetails,this.MerchantReferenceNumber,this.MerchantTaxId,this.OrderNumber,this.TaxAmount,this.DestinationPostalCode,this.ProductDescription});
Level2Descriptor.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
TaxDetails = JsonConverters.fromJson(json['TaxDetails'],'TaxIndicator',context!);
MerchantReferenceNumber = json['MerchantReferenceNumber'];
MerchantTaxId = json['MerchantTaxId'];
OrderNumber = json['OrderNumber'];
TaxAmount = json['TaxAmount'];
DestinationPostalCode = json['DestinationPostalCode'];
ProductDescription = json['ProductDescription'];
return this;
}
Map<String, dynamic> toJson() => {
'TaxDetails': JsonConverters.toJson(TaxDetails,'TaxIndicator',context!),
'MerchantReferenceNumber': MerchantReferenceNumber,
'MerchantTaxId': MerchantTaxId,
'OrderNumber': OrderNumber,
'TaxAmount': TaxAmount,
'DestinationPostalCode': DestinationPostalCode,
'ProductDescription': ProductDescription
};
getTypeName() => "Level2Descriptor";
TypeContext? context = _ctx;
}
class PaymentFacilitatorDescriptor implements IConvertible
{
String? PaymentFacilitatorIndicator;
String? PFPhoneNumber;
String? SubMerchID;
String? SellerID;
PaymentFacilitatorDescriptor({this.PaymentFacilitatorIndicator,this.PFPhoneNumber,this.SubMerchID,this.SellerID});
PaymentFacilitatorDescriptor.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PaymentFacilitatorIndicator = json['PaymentFacilitatorIndicator'];
PFPhoneNumber = json['PFPhoneNumber'];
SubMerchID = json['SubMerchID'];
SellerID = json['SellerID'];
return this;
}
Map<String, dynamic> toJson() => {
'PaymentFacilitatorIndicator': PaymentFacilitatorIndicator,
'PFPhoneNumber': PFPhoneNumber,
'SubMerchID': SubMerchID,
'SellerID': SellerID
};
getTypeName() => "PaymentFacilitatorDescriptor";
TypeContext? context = _ctx;
}
enum TokenTypes
{
Default,
UCAF,
DSRP,
UCAFDSRP,
VisaVerified,
DigitalWallet,
VisaVerifiedDigitalWallet,
}
class TokenDescriptor implements IConvertible
{
TokenTypes? TokenType;
String? TokenCryptogramData1;
String? TokenCryptogramData2;
TokenDescriptor({this.TokenType,this.TokenCryptogramData1,this.TokenCryptogramData2});
TokenDescriptor.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
TokenType = JsonConverters.fromJson(json['TokenType'],'TokenTypes',context!);
TokenCryptogramData1 = json['TokenCryptogramData1'];
TokenCryptogramData2 = json['TokenCryptogramData2'];
return this;
}
Map<String, dynamic> toJson() => {
'TokenType': JsonConverters.toJson(TokenType,'TokenTypes',context!),
'TokenCryptogramData1': TokenCryptogramData1,
'TokenCryptogramData2': TokenCryptogramData2
};
getTypeName() => "TokenDescriptor";
TypeContext? context = _ctx;
}
enum CardonFileInfo
{
Default,
Supported,
NotSupported,
}
enum StoredCredentialIndicatorInfo
{
Default,
Initial,
Subsequent,
}
enum TransactionInitiateInfo
{
Default,
Merchant,
Terminal,
Customer,
}
enum ScheduleIndicatorInfo
{
Default,
Scheduled,
Unscheduled,
}
class CardonFileIndicatorDescriptor implements IConvertible
{
CardonFileInfo? CardonFile;
StoredCredentialIndicatorInfo? StoredCredentialIndicator;
TransactionInitiateInfo? TransactionInitiate;
ScheduleIndicatorInfo? ScheduleIndicator;
String? NetworkTransactionId;
CardonFileIndicatorDescriptor({this.CardonFile,this.StoredCredentialIndicator,this.TransactionInitiate,this.ScheduleIndicator,this.NetworkTransactionId});
CardonFileIndicatorDescriptor.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CardonFile = JsonConverters.fromJson(json['CardonFile'],'CardonFileInfo',context!);
StoredCredentialIndicator = JsonConverters.fromJson(json['StoredCredentialIndicator'],'StoredCredentialIndicatorInfo',context!);
TransactionInitiate = JsonConverters.fromJson(json['TransactionInitiate'],'TransactionInitiateInfo',context!);
ScheduleIndicator = JsonConverters.fromJson(json['ScheduleIndicator'],'ScheduleIndicatorInfo',context!);
NetworkTransactionId = json['NetworkTransactionId'];
return this;
}
Map<String, dynamic> toJson() => {
'CardonFile': JsonConverters.toJson(CardonFile,'CardonFileInfo',context!),
'StoredCredentialIndicator': JsonConverters.toJson(StoredCredentialIndicator,'StoredCredentialIndicatorInfo',context!),
'TransactionInitiate': JsonConverters.toJson(TransactionInitiate,'TransactionInitiateInfo',context!),
'ScheduleIndicator': JsonConverters.toJson(ScheduleIndicator,'ScheduleIndicatorInfo',context!),
'NetworkTransactionId': NetworkTransactionId
};
getTypeName() => "CardonFileIndicatorDescriptor";
TypeContext? context = _ctx;
}
enum CardAccountUpdaterInfo
{
Default,
Supported,
NotSupported,
}
enum OrderTypeInfo
{
Default,
Standing,
Subscription,
}
class BillPayGroupIndicator implements IConvertible
{
String? MITTotalPaymentCount;
String? MITAmountType;
String? MITAmount;
String? MITUniqueID;
String? MITFrequency;
String? MITValidationFlag;
String? MITValidationReference;
String? MITSequenceIndicator;
BillPayGroupIndicator({this.MITTotalPaymentCount,this.MITAmountType,this.MITAmount,this.MITUniqueID,this.MITFrequency,this.MITValidationFlag,this.MITValidationReference,this.MITSequenceIndicator});
BillPayGroupIndicator.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
MITTotalPaymentCount = json['MITTotalPaymentCount'];
MITAmountType = json['MITAmountType'];
MITAmount = json['MITAmount'];
MITUniqueID = json['MITUniqueID'];
MITFrequency = json['MITFrequency'];
MITValidationFlag = json['MITValidationFlag'];
MITValidationReference = json['MITValidationReference'];
MITSequenceIndicator = json['MITSequenceIndicator'];
return this;
}
Map<String, dynamic> toJson() => {
'MITTotalPaymentCount': MITTotalPaymentCount,
'MITAmountType': MITAmountType,
'MITAmount': MITAmount,
'MITUniqueID': MITUniqueID,
'MITFrequency': MITFrequency,
'MITValidationFlag': MITValidationFlag,
'MITValidationReference': MITValidationReference,
'MITSequenceIndicator': MITSequenceIndicator
};
getTypeName() => "BillPayGroupIndicator";
TypeContext? context = _ctx;
}
enum ChargeTypeInfo
{
Default,
PartialShipment,
Delayed,
NoShow,
Resubmission,
}
enum SAFEligibleFlag
{
Default,
True,
False,
}
// @DataContract
class ExtendedData implements IConvertible
{
// @DataMember
String? Track2DataForEMVTransaction;
// @DataMember
SenderInfo? SenderInfo;
// @DataMember
int? CashbackAmount;
// @DataMember
NetworkName? Network;
// @DataMember
ReceiverInfo? ReceiverInfo;
// @DataMember
BillPayGroup? BillPayGroup;
// @DataMember
WalletDescriptor? WalletData;
// @DataMember
SecureDescriptor? SecureData;
// @DataMember
Level2Descriptor? Level2Data;
// @DataMember
PaymentFacilitatorDescriptor? PaymentFacilitatorData;
// @DataMember
TokenDescriptor? TokenData;
// @DataMember
String? OTPTranId;
// @DataMember
int? CurrentShipment;
// @DataMember
int? TotalShipments;
// @DataMember
bool? IsTokenRequested;
// @DataMember
CardonFileIndicatorDescriptor? CardonFileIndicator;
// @DataMember
CardAccountUpdaterInfo? CardAccountUpdater;
// @DataMember
int? RetryAttemptCount;
// @DataMember
int? TotalAuthAmount;
// @DataMember
String? SignatureHashVersion;
// @DataMember
OrderTypeInfo? OrderTypeDetail;
// @DataMember
BillPayGroupIndicator? BillPayGroupIndicator;
// @DataMember
ChargeTypeInfo? ChargeTypeDetail;
// @DataMember
SAFEligibleFlag? SAFEligible;
ExtendedData({this.Track2DataForEMVTransaction,this.SenderInfo,this.CashbackAmount,this.Network,this.ReceiverInfo,this.BillPayGroup,this.WalletData,this.SecureData,this.Level2Data,this.PaymentFacilitatorData,this.TokenData,this.OTPTranId,this.CurrentShipment,this.TotalShipments,this.IsTokenRequested,this.CardonFileIndicator,this.CardAccountUpdater,this.RetryAttemptCount,this.TotalAuthAmount,this.SignatureHashVersion,this.OrderTypeDetail,this.BillPayGroupIndicator,this.ChargeTypeDetail,this.SAFEligible});
ExtendedData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Track2DataForEMVTransaction = json['Track2DataForEMVTransaction'];
SenderInfo = JsonConverters.fromJson(json['SenderInfo'],'SenderInfo',context!);
CashbackAmount = json['CashbackAmount'];
Network = JsonConverters.fromJson(json['Network'],'NetworkName',context!);
ReceiverInfo = JsonConverters.fromJson(json['ReceiverInfo'],'ReceiverInfo',context!);
BillPayGroup = JsonConverters.fromJson(json['BillPayGroup'],'BillPayGroup',context!);
WalletData = JsonConverters.fromJson(json['WalletData'],'WalletDescriptor',context!);
SecureData = JsonConverters.fromJson(json['SecureData'],'SecureDescriptor',context!);
Level2Data = JsonConverters.fromJson(json['Level2Data'],'Level2Descriptor',context!);
PaymentFacilitatorData = JsonConverters.fromJson(json['PaymentFacilitatorData'],'PaymentFacilitatorDescriptor',context!);
TokenData = JsonConverters.fromJson(json['TokenData'],'TokenDescriptor',context!);
OTPTranId = json['OTPTranId'];
CurrentShipment = json['CurrentShipment'];
TotalShipments = json['TotalShipments'];
IsTokenRequested = json['IsTokenRequested'];
CardonFileIndicator = JsonConverters.fromJson(json['CardonFileIndicator'],'CardonFileIndicatorDescriptor',context!);
CardAccountUpdater = JsonConverters.fromJson(json['CardAccountUpdater'],'CardAccountUpdaterInfo',context!);
RetryAttemptCount = json['RetryAttemptCount'];
TotalAuthAmount = json['TotalAuthAmount'];
SignatureHashVersion = json['SignatureHashVersion'];
OrderTypeDetail = JsonConverters.fromJson(json['OrderTypeDetail'],'OrderTypeInfo',context!);
BillPayGroupIndicator = JsonConverters.fromJson(json['BillPayGroupIndicator'],'BillPayGroupIndicator',context!);
ChargeTypeDetail = JsonConverters.fromJson(json['ChargeTypeDetail'],'ChargeTypeInfo',context!);
SAFEligible = JsonConverters.fromJson(json['SAFEligible'],'SAFEligibleFlag',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Track2DataForEMVTransaction': Track2DataForEMVTransaction,
'SenderInfo': JsonConverters.toJson(SenderInfo,'SenderInfo',context!),
'CashbackAmount': CashbackAmount,
'Network': JsonConverters.toJson(Network,'NetworkName',context!),
'ReceiverInfo': JsonConverters.toJson(ReceiverInfo,'ReceiverInfo',context!),
'BillPayGroup': JsonConverters.toJson(BillPayGroup,'BillPayGroup',context!),
'WalletData': JsonConverters.toJson(WalletData,'WalletDescriptor',context!),
'SecureData': JsonConverters.toJson(SecureData,'SecureDescriptor',context!),
'Level2Data': JsonConverters.toJson(Level2Data,'Level2Descriptor',context!),
'PaymentFacilitatorData': JsonConverters.toJson(PaymentFacilitatorData,'PaymentFacilitatorDescriptor',context!),
'TokenData': JsonConverters.toJson(TokenData,'TokenDescriptor',context!),
'OTPTranId': OTPTranId,
'CurrentShipment': CurrentShipment,
'TotalShipments': TotalShipments,
'IsTokenRequested': IsTokenRequested,
'CardonFileIndicator': JsonConverters.toJson(CardonFileIndicator,'CardonFileIndicatorDescriptor',context!),
'CardAccountUpdater': JsonConverters.toJson(CardAccountUpdater,'CardAccountUpdaterInfo',context!),
'RetryAttemptCount': RetryAttemptCount,
'TotalAuthAmount': TotalAuthAmount,
'SignatureHashVersion': SignatureHashVersion,
'OrderTypeDetail': JsonConverters.toJson(OrderTypeDetail,'OrderTypeInfo',context!),
'BillPayGroupIndicator': JsonConverters.toJson(BillPayGroupIndicator,'BillPayGroupIndicator',context!),
'ChargeTypeDetail': JsonConverters.toJson(ChargeTypeDetail,'ChargeTypeInfo',context!),
'SAFEligible': JsonConverters.toJson(SAFEligible,'SAFEligibleFlag',context!)
};
getTypeName() => "ExtendedData";
TypeContext? context = _ctx;
}
// @DataContract
class WICSubstitutionRequest implements IConvertible
{
// @DataMember
RequestorCredentials? Credentials;
// @DataMember
int? Amount;
// @DataMember
int? DiscountAmount;
// @DataMember
String? TranId;
// @DataMember
String? ReferenceKey;
// @DataMember
String? CurrencyCode;
// @DataMember
Avs? DeliveryAddress;
// @DataMember
MerchantDescriptor? MerchantDetails;
// @DataMember
List<WICProduct>? WICProducts;
// @DataMember
String? Custom1;
// @DataMember
String? Custom2;
// @DataMember
String? Custom3;
// @DataMember
String? Custom4;
// @DataMember
String? Custom5;
// @DataMember
String? SignatureHash;
// @DataMember
ExtendedData? ExtendedData;
WICSubstitutionRequest({this.Credentials,this.Amount,this.DiscountAmount,this.TranId,this.ReferenceKey,this.CurrencyCode,this.DeliveryAddress,this.MerchantDetails,this.WICProducts,this.Custom1,this.Custom2,this.Custom3,this.Custom4,this.Custom5,this.SignatureHash,this.ExtendedData});
WICSubstitutionRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Credentials = JsonConverters.fromJson(json['Credentials'],'RequestorCredentials',context!);
Amount = json['Amount'];
DiscountAmount = json['DiscountAmount'];
TranId = json['TranId'];
ReferenceKey = json['ReferenceKey'];
CurrencyCode = json['CurrencyCode'];
DeliveryAddress = JsonConverters.fromJson(json['DeliveryAddress'],'Avs',context!);
MerchantDetails = JsonConverters.fromJson(json['MerchantDetails'],'MerchantDescriptor',context!);
WICProducts = JsonConverters.fromJson(json['WICProducts'],'List<WICProduct>',context!);
Custom1 = json['Custom1'];
Custom2 = json['Custom2'];
Custom3 = json['Custom3'];
Custom4 = json['Custom4'];
Custom5 = json['Custom5'];
SignatureHash = json['SignatureHash'];
ExtendedData = JsonConverters.fromJson(json['ExtendedData'],'ExtendedData',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Credentials': JsonConverters.toJson(Credentials,'RequestorCredentials',context!),
'Amount': Amount,
'DiscountAmount': DiscountAmount,
'TranId': TranId,
'ReferenceKey': ReferenceKey,
'CurrencyCode': CurrencyCode,
'DeliveryAddress': JsonConverters.toJson(DeliveryAddress,'Avs',context!),
'MerchantDetails': JsonConverters.toJson(MerchantDetails,'MerchantDescriptor',context!),
'WICProducts': JsonConverters.toJson(WICProducts,'List<WICProduct>',context!),
'Custom1': Custom1,
'Custom2': Custom2,
'Custom3': Custom3,
'Custom4': Custom4,
'Custom5': Custom5,
'SignatureHash': SignatureHash,
'ExtendedData': JsonConverters.toJson(ExtendedData,'ExtendedData',context!)
};
getTypeName() => "WICSubstitutionRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.paysecure.acculynk.net', types: <String, TypeInfo> {
'InOutTimes': TypeInfo(TypeOf.Class, create:() => InOutTimes()),
'RequestTimestamps': TypeInfo(TypeOf.Class, create:() => RequestTimestamps()),
'PaysecureResponseInternal': TypeInfo(TypeOf.Class, create:() => PaysecureResponseInternal()),
'CardInfoType': TypeInfo(TypeOf.Enum, enumValues:CardInfoType.values),
'CardAccountUpdaterDescriptor': TypeInfo(TypeOf.Class, create:() => CardAccountUpdaterDescriptor()),
'ExtendedResponse': TypeInfo(TypeOf.Class, create:() => ExtendedResponse()),
'PaysecureVersion': TypeInfo(TypeOf.Class, create:() => PaysecureVersion()),
'WICBalance': TypeInfo(TypeOf.Class, create:() => WICBalance()),
'WICProductCodeInd': TypeInfo(TypeOf.Enum, enumValues:WICProductCodeInd.values),
'WICActionCode': TypeInfo(TypeOf.Enum, enumValues:WICActionCode.values),
'WICProduct': TypeInfo(TypeOf.Class, create:() => WICProduct()),
'WICSubstitution': TypeInfo(TypeOf.Class, create:() => WICSubstitution()),
'List<WICBalance>': TypeInfo(TypeOf.Class, create:() => <WICBalance>[]),
'List<WICProduct>': TypeInfo(TypeOf.Class, create:() => <WICProduct>[]),
'RequestorCredentials': TypeInfo(TypeOf.Class, create:() => RequestorCredentials()),
'TelephoneType': TypeInfo(TypeOf.Enum, enumValues:TelephoneType.values),
'Avs': TypeInfo(TypeOf.Class, create:() => Avs()),
'MerchantDataElements': TypeInfo(TypeOf.Class, create:() => MerchantDataElements()),
'MerchantDescriptorBase': TypeInfo(TypeOf.AbstractClass),
'MerchantDescriptor': TypeInfo(TypeOf.Class, create:() => MerchantDescriptor()),
'FundingSourceType': TypeInfo(TypeOf.Enum, enumValues:FundingSourceType.values),
'SenderInfo': TypeInfo(TypeOf.Class, create:() => SenderInfo()),
'NetworkName': TypeInfo(TypeOf.Enum, enumValues:NetworkName.values),
'ReceiverInfo': TypeInfo(TypeOf.Class, create:() => ReceiverInfo()),
'BillPayGroup': TypeInfo(TypeOf.Enum, enumValues:BillPayGroup.values),
'DigitalWalletInfo': TypeInfo(TypeOf.Enum, enumValues:DigitalWalletInfo.values),
'WalletDescriptor': TypeInfo(TypeOf.Class, create:() => WalletDescriptor()),
'SecureDescriptor': TypeInfo(TypeOf.Class, create:() => SecureDescriptor()),
'TaxIndicator': TypeInfo(TypeOf.Enum, enumValues:TaxIndicator.values),
'Level2Descriptor': TypeInfo(TypeOf.Class, create:() => Level2Descriptor()),
'PaymentFacilitatorDescriptor': TypeInfo(TypeOf.Class, create:() => PaymentFacilitatorDescriptor()),
'TokenTypes': TypeInfo(TypeOf.Enum, enumValues:TokenTypes.values),
'TokenDescriptor': TypeInfo(TypeOf.Class, create:() => TokenDescriptor()),
'CardonFileInfo': TypeInfo(TypeOf.Enum, enumValues:CardonFileInfo.values),
'StoredCredentialIndicatorInfo': TypeInfo(TypeOf.Enum, enumValues:StoredCredentialIndicatorInfo.values),
'TransactionInitiateInfo': TypeInfo(TypeOf.Enum, enumValues:TransactionInitiateInfo.values),
'ScheduleIndicatorInfo': TypeInfo(TypeOf.Enum, enumValues:ScheduleIndicatorInfo.values),
'CardonFileIndicatorDescriptor': TypeInfo(TypeOf.Class, create:() => CardonFileIndicatorDescriptor()),
'CardAccountUpdaterInfo': TypeInfo(TypeOf.Enum, enumValues:CardAccountUpdaterInfo.values),
'OrderTypeInfo': TypeInfo(TypeOf.Enum, enumValues:OrderTypeInfo.values),
'BillPayGroupIndicator': TypeInfo(TypeOf.Class, create:() => BillPayGroupIndicator()),
'ChargeTypeInfo': TypeInfo(TypeOf.Enum, enumValues:ChargeTypeInfo.values),
'SAFEligibleFlag': TypeInfo(TypeOf.Enum, enumValues:SAFEligibleFlag.values),
'ExtendedData': TypeInfo(TypeOf.Class, create:() => ExtendedData()),
'WICSubstitutionRequest': TypeInfo(TypeOf.Class, create:() => WICSubstitutionRequest()),
});
Dart WICSubstitutionRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /WICSubstitution HTTP/1.1
Host: api.paysecure.acculynk.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<WICSubstitutionRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<Amount>0</Amount>
<Credentials>
<MerchantId>String</MerchantId>
<Password>String</Password>
<UserName>String</UserName>
<Version>String</Version>
</Credentials>
<CurrencyCode>String</CurrencyCode>
<Custom1>String</Custom1>
<Custom2>String</Custom2>
<Custom3>String</Custom3>
<Custom4>String</Custom4>
<Custom5>String</Custom5>
<DeliveryAddress>
<Address>String</Address>
<City>String</City>
<Country>String</Country>
<DeliveryMethod>0</DeliveryMethod>
<Email>String</Email>
<FirstName>String</FirstName>
<IPAddress>String</IPAddress>
<LastName>String</LastName>
<MiddleName>String</MiddleName>
<State>String</State>
<TelephoneNumber>String</TelephoneNumber>
<TelephoneType>D</TelephoneType>
<Zip>String</Zip>
</DeliveryAddress>
<DiscountAmount>0</DiscountAmount>
<ExtendedData>
<BillPayGroup>Default</BillPayGroup>
<BillPayGroupIndicator>
<MITAmount>String</MITAmount>
<MITAmountType>String</MITAmountType>
<MITFrequency>String</MITFrequency>
<MITSequenceIndicator>String</MITSequenceIndicator>
<MITTotalPaymentCount>String</MITTotalPaymentCount>
<MITUniqueID>String</MITUniqueID>
<MITValidationFlag>String</MITValidationFlag>
<MITValidationReference>String</MITValidationReference>
</BillPayGroupIndicator>
<CardAccountUpdater>Default</CardAccountUpdater>
<CardonFileIndicator>
<CardonFile>Default</CardonFile>
<NetworkTransactionId>String</NetworkTransactionId>
<ScheduleIndicator>Default</ScheduleIndicator>
<StoredCredentialIndicator>Default</StoredCredentialIndicator>
<TransactionInitiate>Default</TransactionInitiate>
</CardonFileIndicator>
<CashbackAmount>0</CashbackAmount>
<ChargeTypeDetail>Default</ChargeTypeDetail>
<CurrentShipment>0</CurrentShipment>
<IsTokenRequested>false</IsTokenRequested>
<Level2Data>
<DestinationPostalCode>String</DestinationPostalCode>
<MerchantReferenceNumber>String</MerchantReferenceNumber>
<MerchantTaxId>String</MerchantTaxId>
<OrderNumber>String</OrderNumber>
<ProductDescription>String</ProductDescription>
<TaxAmount>0</TaxAmount>
<TaxDetails>Default</TaxDetails>
</Level2Data>
<Network>Default</Network>
<OTPTranId>String</OTPTranId>
<OrderTypeDetail>Default</OrderTypeDetail>
<PaymentFacilitatorData>
<PFPhoneNumber>String</PFPhoneNumber>
<PaymentFacilitatorIndicator>String</PaymentFacilitatorIndicator>
<SellerID>String</SellerID>
<SubMerchID>String</SubMerchID>
</PaymentFacilitatorData>
<ReceiverInfo>
<AccountNumber>String</AccountNumber>
<Address>String</Address>
<City>String</City>
<Country>String</Country>
<Name>String</Name>
<PhoneNumber>String</PhoneNumber>
<ReferenceNumber>String</ReferenceNumber>
<State>String</State>
<Zip>String</Zip>
</ReceiverInfo>
<RetryAttemptCount>0</RetryAttemptCount>
<SAFEligible>Default</SAFEligible>
<SecureData>
<CAVV>String</CAVV>
<SecureTransactionId>String</SecureTransactionId>
</SecureData>
<SenderInfo>
<AccountNumber>String</AccountNumber>
<Address>String</Address>
<City>String</City>
<Country>String</Country>
<DateOfBirth>String</DateOfBirth>
<FundingSource>DepositAccount</FundingSource>
<Name>String</Name>
<PhoneNumber>String</PhoneNumber>
<ReferenceNumber>String</ReferenceNumber>
<State>String</State>
<Zip>String</Zip>
</SenderInfo>
<SignatureHashVersion>String</SignatureHashVersion>
<TokenData>
<TokenCryptogramData1>String</TokenCryptogramData1>
<TokenCryptogramData2>String</TokenCryptogramData2>
<TokenType>Default</TokenType>
</TokenData>
<TotalAuthAmount>0</TotalAuthAmount>
<TotalShipments>0</TotalShipments>
<Track2DataForEMVTransaction>String</Track2DataForEMVTransaction>
<WalletData>
<ApplicationData>String</ApplicationData>
<ApplicationDataHash>String</ApplicationDataHash>
<DigitalWalletIndicator>Default</DigitalWalletIndicator>
<EncryptedData>String</EncryptedData>
<EphemeralPublicKey>String</EphemeralPublicKey>
<MerchantIdentifier>String</MerchantIdentifier>
<PublicKeyHash>String</PublicKeyHash>
<Signature>String</Signature>
<SpecialPayment>String</SpecialPayment>
<TransactionId>String</TransactionId>
<Type>String</Type>
<Version>String</Version>
</WalletData>
</ExtendedData>
<MerchantDetails>
<DataElements>
<RefundSettlementTypeDetails>0</RefundSettlementTypeDetails>
<SendRecurringPOSEntryModeFeature>false</SendRecurringPOSEntryModeFeature>
<UseOrgPOSCode>false</UseOrgPOSCode>
</DataElements>
<Address>String</Address>
<City>String</City>
<Country>String</Country>
<CustomerServiceNumber>String</CustomerServiceNumber>
<Email>String</Email>
<FNSnum>String</FNSnum>
<MCC>String</MCC>
<Name>String</Name>
<State>String</State>
<Zip>String</Zip>
</MerchantDetails>
<ReferenceKey>String</ReferenceKey>
<SignatureHash>String</SignatureHash>
<TranId>String</TranId>
<WICProducts>
<WICProduct>
<ActionCode>Approved</ActionCode>
<ItemPrice>0</ItemPrice>
<ItemQuantity>0</ItemQuantity>
<OriginalItemPrice>0</OriginalItemPrice>
<OriginalItemQuantity>0</OriginalItemQuantity>
<ProductCode>String</ProductCode>
<ProductCodeInd>PLU</ProductCodeInd>
</WICProduct>
</WICProducts>
</WICSubstitutionRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <WICSubstitution xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types"> <Timestamps> <AppLayer> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </AppLayer> <BackendProcess> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </BackendProcess> <CardEncrypt> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </CardEncrypt> <CardTokenize> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </CardTokenize> <DBInsert> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </DBInsert> <DBUpdate> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </DBUpdate> <GetCardData> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </GetCardData> <Network> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </Network> <ParentLookup> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </ParentLookup> <ParentUpdate> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </ParentUpdate> <RetryLookup> <InTime>0001-01-01T00:00:00</InTime> <OutTime>0001-01-01T00:00:00</OutTime> </RetryLookup> </Timestamps> <ExtendedData> <CHEmailAddrResult>String</CHEmailAddrResult> <CardAccountUpdater> <CardDataType>CardNumber</CardDataType> <CardNumberInfo>String</CardNumberInfo> <CardToken>String</CardToken> <ErrorCode>String</ErrorCode> <ExpiryDate>String</ExpiryDate> <Status>String</Status> </CardAccountUpdater> <NetworkResponseCode>String</NetworkResponseCode> <NetworkTransactionId>String</NetworkTransactionId> <ProductId>String</ProductId> </ExtendedData> <LocalDateTime>String</LocalDateTime> <Token>String</Token> <ApprovalCode>String</ApprovalCode> <ApprovedAmount>0</ApprovedAmount> <DiscountAmount>0</DiscountAmount> <EarliestBenefitExpirationDate>String</EarliestBenefitExpirationDate> <ErrorCode>String</ErrorCode> <ErrorMessage>String</ErrorMessage> <Network>String</Network> <ResponseCode>String</ResponseCode> <TranId>String</TranId> <WICBalances> <WICBalance> <WICCategory>String</WICCategory> <WICQuantity>0</WICQuantity> <WICSubcategory>String</WICSubcategory> </WICBalance> </WICBalances> <WICProducts> <WICProduct> <ActionCode>Approved</ActionCode> <ItemPrice>0</ItemPrice> <ItemQuantity>0</ItemQuantity> <OriginalItemPrice>0</OriginalItemPrice> <OriginalItemQuantity>0</OriginalItemQuantity> <ProductCode>String</ProductCode> <ProductCodeInd>PLU</ProductCodeInd> </WICProduct> </WICProducts> </WICSubstitution>