/* Options: Date: 2024-12-03 12:09:28 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.paysecure.acculynk.net //Package: //GlobalNamespace: dtos //AddPropertyAccessors: True //SettersReturnThis: True //AddServiceStackTypes: True //AddResponseStatus: False //AddDescriptionAsComments: True //AddImplicitVersion: IncludeTypes: EcomEbtDebitRequest.* //ExcludeTypes: //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.*; import java.util.*; import net.servicestack.client.*; public class dtos { @Route(Path="/EcomEbtDebit", Verbs="POST") @DataContract public static class EcomEbtDebitRequest implements IReturn { @DataMember public RequestorCredentials Credentials = null; @DataMember public Integer Amount = null; @DataMember public String TranId = null; @DataMember public EbtTransType TransType = null; @DataMember public String ReferenceKey = null; @DataMember public String CurrencyCode = null; @DataMember public String CVN = null; @DataMember public Avs DeliveryAddress = null; @DataMember public MerchantDescriptor MerchantDetails = null; @DataMember public String Custom1 = null; @DataMember public String Custom2 = null; @DataMember public String Custom3 = null; @DataMember public String Custom4 = null; @DataMember public String Custom5 = null; @DataMember public String SignatureHash = null; @DataMember public ExtendedData ExtendedData = null; @DataMember public String IntegratorID = null; public RequestorCredentials getCredentials() { return Credentials; } public EcomEbtDebitRequest setCredentials(RequestorCredentials value) { this.Credentials = value; return this; } public Integer getAmount() { return Amount; } public EcomEbtDebitRequest setAmount(Integer value) { this.Amount = value; return this; } public String getTranId() { return TranId; } public EcomEbtDebitRequest setTranId(String value) { this.TranId = value; return this; } public EbtTransType getTransType() { return TransType; } public EcomEbtDebitRequest setTransType(EbtTransType value) { this.TransType = value; return this; } public String getReferenceKey() { return ReferenceKey; } public EcomEbtDebitRequest setReferenceKey(String value) { this.ReferenceKey = value; return this; } public String getCurrencyCode() { return CurrencyCode; } public EcomEbtDebitRequest setCurrencyCode(String value) { this.CurrencyCode = value; return this; } public String getCvn() { return CVN; } public EcomEbtDebitRequest setCvn(String value) { this.CVN = value; return this; } public Avs getDeliveryAddress() { return DeliveryAddress; } public EcomEbtDebitRequest setDeliveryAddress(Avs value) { this.DeliveryAddress = value; return this; } public MerchantDescriptor getMerchantDetails() { return MerchantDetails; } public EcomEbtDebitRequest setMerchantDetails(MerchantDescriptor value) { this.MerchantDetails = value; return this; } public String getCustom1() { return Custom1; } public EcomEbtDebitRequest setCustom1(String value) { this.Custom1 = value; return this; } public String getCustom2() { return Custom2; } public EcomEbtDebitRequest setCustom2(String value) { this.Custom2 = value; return this; } public String getCustom3() { return Custom3; } public EcomEbtDebitRequest setCustom3(String value) { this.Custom3 = value; return this; } public String getCustom4() { return Custom4; } public EcomEbtDebitRequest setCustom4(String value) { this.Custom4 = value; return this; } public String getCustom5() { return Custom5; } public EcomEbtDebitRequest setCustom5(String value) { this.Custom5 = value; return this; } public String getSignatureHash() { return SignatureHash; } public EcomEbtDebitRequest setSignatureHash(String value) { this.SignatureHash = value; return this; } public ExtendedData getExtendedData() { return ExtendedData; } public EcomEbtDebitRequest setExtendedData(ExtendedData value) { this.ExtendedData = value; return this; } public String getIntegratorID() { return IntegratorID; } public EcomEbtDebitRequest setIntegratorID(String value) { this.IntegratorID = value; return this; } private static Object responseType = EcomEbtDebit.class; public Object getResponseType() { return responseType; } } @DataContract public static class EcomEbtDebit extends PaysecureResponseInternal { @DataMember public String ApprovalCode = null; @DataMember public String TranId = null; @DataMember public String ErrorMessage = null; @DataMember public String ErrorCode = null; @DataMember public Integer ApprovedAmount = null; @DataMember public String Network = null; @DataMember public String CVN = null; @DataMember public Integer RemainingBalanceCash = null; @DataMember public String CashCurrencyCode = null; @DataMember public Integer RemainingBalanceSNAP = null; @DataMember public String SNAPCurrencyCode = null; @DataMember public String ResponseCode = null; public String getApprovalCode() { return ApprovalCode; } public EcomEbtDebit setApprovalCode(String value) { this.ApprovalCode = value; return this; } public String getTranId() { return TranId; } public EcomEbtDebit setTranId(String value) { this.TranId = value; return this; } public String getErrorMessage() { return ErrorMessage; } public EcomEbtDebit setErrorMessage(String value) { this.ErrorMessage = value; return this; } public String getErrorCode() { return ErrorCode; } public EcomEbtDebit setErrorCode(String value) { this.ErrorCode = value; return this; } public Integer getApprovedAmount() { return ApprovedAmount; } public EcomEbtDebit setApprovedAmount(Integer value) { this.ApprovedAmount = value; return this; } public String getNetwork() { return Network; } public EcomEbtDebit setNetwork(String value) { this.Network = value; return this; } public String getCvn() { return CVN; } public EcomEbtDebit setCvn(String value) { this.CVN = value; return this; } public Integer getRemainingBalanceCash() { return RemainingBalanceCash; } public EcomEbtDebit setRemainingBalanceCash(Integer value) { this.RemainingBalanceCash = value; return this; } public String getCashCurrencyCode() { return CashCurrencyCode; } public EcomEbtDebit setCashCurrencyCode(String value) { this.CashCurrencyCode = value; return this; } public Integer getRemainingBalanceSNAP() { return RemainingBalanceSNAP; } public EcomEbtDebit setRemainingBalanceSNAP(Integer value) { this.RemainingBalanceSNAP = value; return this; } public String getSnapCurrencyCode() { return SNAPCurrencyCode; } public EcomEbtDebit setSnapCurrencyCode(String value) { this.SNAPCurrencyCode = value; return this; } public String getResponseCode() { return ResponseCode; } public EcomEbtDebit setResponseCode(String value) { this.ResponseCode = value; return this; } } public static class RequestorCredentials { @Required() public String MerchantId = null; @Required() public String UserName = null; @Required() public String Password = null; @Required() public String Version = null; public String getMerchantId() { return MerchantId; } public RequestorCredentials setMerchantId(String value) { this.MerchantId = value; return this; } public String getUserName() { return UserName; } public RequestorCredentials setUserName(String value) { this.UserName = value; return this; } public String getPassword() { return Password; } public RequestorCredentials setPassword(String value) { this.Password = value; return this; } public String getVersion() { return Version; } public RequestorCredentials setVersion(String value) { this.Version = value; return this; } } public static class Avs { public String Address = null; public String City = null; public String State = null; public String Zip = null; public String Country = null; public String Email = null; public String IPAddress = null; public String TelephoneNumber = null; public TelephoneType TelephoneType = null; public Integer DeliveryMethod = null; public String FirstName = null; public String MiddleName = null; public String LastName = null; public String getAddress() { return Address; } public Avs setAddress(String value) { this.Address = value; return this; } public String getCity() { return City; } public Avs setCity(String value) { this.City = value; return this; } public String getState() { return State; } public Avs setState(String value) { this.State = value; return this; } public String getZip() { return Zip; } public Avs setZip(String value) { this.Zip = value; return this; } public String getCountry() { return Country; } public Avs setCountry(String value) { this.Country = value; return this; } public String getEmail() { return Email; } public Avs setEmail(String value) { this.Email = value; return this; } public String getIpAddress() { return IPAddress; } public Avs setIpAddress(String value) { this.IPAddress = value; return this; } public String getTelephoneNumber() { return TelephoneNumber; } public Avs setTelephoneNumber(String value) { this.TelephoneNumber = value; return this; } public TelephoneType getTelephoneType() { return TelephoneType; } public Avs setTelephoneType(TelephoneType value) { this.TelephoneType = value; return this; } public Integer getDeliveryMethod() { return DeliveryMethod; } public Avs setDeliveryMethod(Integer value) { this.DeliveryMethod = value; return this; } public String getFirstName() { return FirstName; } public Avs setFirstName(String value) { this.FirstName = value; return this; } public String getMiddleName() { return MiddleName; } public Avs setMiddleName(String value) { this.MiddleName = value; return this; } public String getLastName() { return LastName; } public Avs setLastName(String value) { this.LastName = value; return this; } } public static class MerchantDescriptor extends MerchantDescriptorBase { public String Name = null; public String Address = null; public String City = null; public String State = null; public String Zip = null; public String Country = null; public String CustomerServiceNumber = null; public String MCC = null; public String FNSnum = null; public String Email = null; public String getName() { return Name; } public MerchantDescriptor setName(String value) { this.Name = value; return this; } public String getAddress() { return Address; } public MerchantDescriptor setAddress(String value) { this.Address = value; return this; } public String getCity() { return City; } public MerchantDescriptor setCity(String value) { this.City = value; return this; } public String getState() { return State; } public MerchantDescriptor setState(String value) { this.State = value; return this; } public String getZip() { return Zip; } public MerchantDescriptor setZip(String value) { this.Zip = value; return this; } public String getCountry() { return Country; } public MerchantDescriptor setCountry(String value) { this.Country = value; return this; } public String getCustomerServiceNumber() { return CustomerServiceNumber; } public MerchantDescriptor setCustomerServiceNumber(String value) { this.CustomerServiceNumber = value; return this; } public String getMcc() { return MCC; } public MerchantDescriptor setMcc(String value) { this.MCC = value; return this; } public String getFnSnum() { return FNSnum; } public MerchantDescriptor setFnSnum(String value) { this.FNSnum = value; return this; } public String getEmail() { return Email; } public MerchantDescriptor setEmail(String value) { this.Email = value; return this; } } @DataContract public static class ExtendedData { @DataMember public String Track2DataForEMVTransaction = null; @DataMember public SenderInfo SenderInfo = null; @DataMember public Integer CashbackAmount = null; @DataMember public NetworkName Network = null; @DataMember public ReceiverInfo ReceiverInfo = null; @DataMember public BillPayGroup BillPayGroup = null; @DataMember public WalletDescriptor WalletData = null; @DataMember public SecureDescriptor SecureData = null; @DataMember public Level2Descriptor Level2Data = null; @DataMember public PaymentFacilitatorDescriptor PaymentFacilitatorData = null; @DataMember public TokenDescriptor TokenData = null; @DataMember public String OTPTranId = null; @DataMember public Integer CurrentShipment = null; @DataMember public Integer TotalShipments = null; @DataMember public Boolean IsTokenRequested = null; @DataMember public CardonFileIndicatorDescriptor CardonFileIndicator = null; @DataMember public CardAccountUpdaterInfo CardAccountUpdater = null; @DataMember public Integer RetryAttemptCount = null; @DataMember public Integer TotalAuthAmount = null; @DataMember public String SignatureHashVersion = null; @DataMember public OrderTypeInfo OrderTypeDetail = null; @DataMember public BillPayGroupIndicator BillPayGroupIndicator = null; @DataMember public ChargeTypeInfo ChargeTypeDetail = null; @DataMember public SAFEligibleFlag SAFEligible = null; public String getTrack2DataForEMVTransaction() { return Track2DataForEMVTransaction; } public ExtendedData setTrack2DataForEMVTransaction(String value) { this.Track2DataForEMVTransaction = value; return this; } public SenderInfo getSenderInfo() { return SenderInfo; } public ExtendedData setSenderInfo(SenderInfo value) { this.SenderInfo = value; return this; } public Integer getCashbackAmount() { return CashbackAmount; } public ExtendedData setCashbackAmount(Integer value) { this.CashbackAmount = value; return this; } public NetworkName getNetwork() { return Network; } public ExtendedData setNetwork(NetworkName value) { this.Network = value; return this; } public ReceiverInfo getReceiverInfo() { return ReceiverInfo; } public ExtendedData setReceiverInfo(ReceiverInfo value) { this.ReceiverInfo = value; return this; } public BillPayGroup getBillPayGroup() { return BillPayGroup; } public ExtendedData setBillPayGroup(BillPayGroup value) { this.BillPayGroup = value; return this; } public WalletDescriptor getWalletData() { return WalletData; } public ExtendedData setWalletData(WalletDescriptor value) { this.WalletData = value; return this; } public SecureDescriptor getSecureData() { return SecureData; } public ExtendedData setSecureData(SecureDescriptor value) { this.SecureData = value; return this; } public Level2Descriptor getLevel2Data() { return Level2Data; } public ExtendedData setLevel2Data(Level2Descriptor value) { this.Level2Data = value; return this; } public PaymentFacilitatorDescriptor getPaymentFacilitatorData() { return PaymentFacilitatorData; } public ExtendedData setPaymentFacilitatorData(PaymentFacilitatorDescriptor value) { this.PaymentFacilitatorData = value; return this; } public TokenDescriptor getTokenData() { return TokenData; } public ExtendedData setTokenData(TokenDescriptor value) { this.TokenData = value; return this; } public String getOtpTranId() { return OTPTranId; } public ExtendedData setOtpTranId(String value) { this.OTPTranId = value; return this; } public Integer getCurrentShipment() { return CurrentShipment; } public ExtendedData setCurrentShipment(Integer value) { this.CurrentShipment = value; return this; } public Integer getTotalShipments() { return TotalShipments; } public ExtendedData setTotalShipments(Integer value) { this.TotalShipments = value; return this; } public Boolean getIsTokenRequested() { return IsTokenRequested; } public ExtendedData setIsTokenRequested(Boolean value) { this.IsTokenRequested = value; return this; } public CardonFileIndicatorDescriptor getCardonFileIndicator() { return CardonFileIndicator; } public ExtendedData setCardonFileIndicator(CardonFileIndicatorDescriptor value) { this.CardonFileIndicator = value; return this; } public CardAccountUpdaterInfo getCardAccountUpdater() { return CardAccountUpdater; } public ExtendedData setCardAccountUpdater(CardAccountUpdaterInfo value) { this.CardAccountUpdater = value; return this; } public Integer getRetryAttemptCount() { return RetryAttemptCount; } public ExtendedData setRetryAttemptCount(Integer value) { this.RetryAttemptCount = value; return this; } public Integer getTotalAuthAmount() { return TotalAuthAmount; } public ExtendedData setTotalAuthAmount(Integer value) { this.TotalAuthAmount = value; return this; } public String getSignatureHashVersion() { return SignatureHashVersion; } public ExtendedData setSignatureHashVersion(String value) { this.SignatureHashVersion = value; return this; } public OrderTypeInfo getOrderTypeDetail() { return OrderTypeDetail; } public ExtendedData setOrderTypeDetail(OrderTypeInfo value) { this.OrderTypeDetail = value; return this; } public BillPayGroupIndicator getBillPayGroupIndicator() { return BillPayGroupIndicator; } public ExtendedData setBillPayGroupIndicator(BillPayGroupIndicator value) { this.BillPayGroupIndicator = value; return this; } public ChargeTypeInfo getChargeTypeDetail() { return ChargeTypeDetail; } public ExtendedData setChargeTypeDetail(ChargeTypeInfo value) { this.ChargeTypeDetail = value; return this; } public SAFEligibleFlag getSafEligible() { return SAFEligible; } public ExtendedData setSafEligible(SAFEligibleFlag value) { this.SAFEligible = value; return this; } } public static enum EbtTransType { Cash(26), Snap(27); private final int value; EbtTransType(final int intValue) { value = intValue; } public int getValue() { return value; } } @DataContract public static class RequestTimestamps { @DataMember(EmitDefaultValue=false) public InOutTimes AppLayer = null; @DataMember(EmitDefaultValue=false) public InOutTimes ParentLookup = null; @DataMember(EmitDefaultValue=false) public InOutTimes RetryLookup = null; @DataMember(EmitDefaultValue=false) public InOutTimes GetCardData = null; @DataMember(EmitDefaultValue=false) public InOutTimes CardTokenize = null; @DataMember(EmitDefaultValue=false) public InOutTimes CardEncrypt = null; @DataMember(EmitDefaultValue=false) public InOutTimes DBInsert = null; @DataMember(EmitDefaultValue=false) public InOutTimes BackendProcess = null; @DataMember(EmitDefaultValue=false) public InOutTimes DBUpdate = null; @DataMember(EmitDefaultValue=false) public InOutTimes ParentUpdate = null; @DataMember(EmitDefaultValue=false) public InOutTimes Network = null; public InOutTimes getAppLayer() { return AppLayer; } public RequestTimestamps setAppLayer(InOutTimes value) { this.AppLayer = value; return this; } public InOutTimes getParentLookup() { return ParentLookup; } public RequestTimestamps setParentLookup(InOutTimes value) { this.ParentLookup = value; return this; } public InOutTimes getRetryLookup() { return RetryLookup; } public RequestTimestamps setRetryLookup(InOutTimes value) { this.RetryLookup = value; return this; } public InOutTimes getGetCardData() { return GetCardData; } public RequestTimestamps setGetCardData(InOutTimes value) { this.GetCardData = value; return this; } public InOutTimes getCardTokenize() { return CardTokenize; } public RequestTimestamps setCardTokenize(InOutTimes value) { this.CardTokenize = value; return this; } public InOutTimes getCardEncrypt() { return CardEncrypt; } public RequestTimestamps setCardEncrypt(InOutTimes value) { this.CardEncrypt = value; return this; } public InOutTimes getDbInsert() { return DBInsert; } public RequestTimestamps setDbInsert(InOutTimes value) { this.DBInsert = value; return this; } public InOutTimes getBackendProcess() { return BackendProcess; } public RequestTimestamps setBackendProcess(InOutTimes value) { this.BackendProcess = value; return this; } public InOutTimes getDbUpdate() { return DBUpdate; } public RequestTimestamps setDbUpdate(InOutTimes value) { this.DBUpdate = value; return this; } public InOutTimes getParentUpdate() { return ParentUpdate; } public RequestTimestamps setParentUpdate(InOutTimes value) { this.ParentUpdate = value; return this; } public InOutTimes getNetwork() { return Network; } public RequestTimestamps setNetwork(InOutTimes value) { this.Network = value; return this; } } @DataContract public static class PaysecureResponseInternal { @DataMember(EmitDefaultValue=false) public RequestTimestamps Timestamps = null; public RequestTimestamps getTimestamps() { return Timestamps; } public PaysecureResponseInternal setTimestamps(RequestTimestamps value) { this.Timestamps = value; return this; } } public static enum TelephoneType { D, H, N, W; } public static class MerchantDataElements { public Integer RefundSettlementTypeDetails = null; public Boolean SendRecurringPOSEntryModeFeature = null; public Boolean UseOrgPOSCode = null; public Integer getRefundSettlementTypeDetails() { return RefundSettlementTypeDetails; } public MerchantDataElements setRefundSettlementTypeDetails(Integer value) { this.RefundSettlementTypeDetails = value; return this; } public Boolean isSendRecurringPOSEntryModeFeature() { return SendRecurringPOSEntryModeFeature; } public MerchantDataElements setSendRecurringPOSEntryModeFeature(Boolean value) { this.SendRecurringPOSEntryModeFeature = value; return this; } public Boolean isUseOrgPOSCode() { return UseOrgPOSCode; } public MerchantDataElements setUseOrgPOSCode(Boolean value) { this.UseOrgPOSCode = value; return this; } } public static class MerchantDescriptorBase { public MerchantDataElements DataElements = null; public MerchantDataElements getDataElements() { return DataElements; } public MerchantDescriptorBase setDataElements(MerchantDataElements value) { this.DataElements = value; return this; } } public static class SenderInfo { public String ReferenceNumber = null; public String AccountNumber = null; /** * Name Format FirstName{Space}LastName. For Example :- Alvaro Morata */ public String Name = null; public String Address = null; public String City = null; public String State = null; public String Country = null; /** * DateOfBirth Format MMDDYYYY. For Example :- 05051960 */ public String DateOfBirth = null; public String Zip = null; public String PhoneNumber = null; public FundingSourceType FundingSource = null; public String getReferenceNumber() { return ReferenceNumber; } public SenderInfo setReferenceNumber(String value) { this.ReferenceNumber = value; return this; } public String getAccountNumber() { return AccountNumber; } public SenderInfo setAccountNumber(String value) { this.AccountNumber = value; return this; } public String getName() { return Name; } public SenderInfo setName(String value) { this.Name = value; return this; } public String getAddress() { return Address; } public SenderInfo setAddress(String value) { this.Address = value; return this; } public String getCity() { return City; } public SenderInfo setCity(String value) { this.City = value; return this; } public String getState() { return State; } public SenderInfo setState(String value) { this.State = value; return this; } public String getCountry() { return Country; } public SenderInfo setCountry(String value) { this.Country = value; return this; } public String getDateOfBirth() { return DateOfBirth; } public SenderInfo setDateOfBirth(String value) { this.DateOfBirth = value; return this; } public String getZip() { return Zip; } public SenderInfo setZip(String value) { this.Zip = value; return this; } public String getPhoneNumber() { return PhoneNumber; } public SenderInfo setPhoneNumber(String value) { this.PhoneNumber = value; return this; } public FundingSourceType getFundingSource() { return FundingSource; } public SenderInfo setFundingSource(FundingSourceType value) { this.FundingSource = value; return this; } } public static enum NetworkName { Default, Nyce, CU24, Xcel, Star, Puls, Shzm, Visa, Mast, Disc, Amex, Alip, Upin, Stac, Stne, Maes, Intl; } public static class ReceiverInfo { public String ReferenceNumber = null; public String AccountNumber = null; /** * Name Format FirstName{Space}LastName. For Example :- Alvaro Morata */ public String Name = null; public String Address = null; public String City = null; public String State = null; public String Country = null; public String Zip = null; public String PhoneNumber = null; public String getReferenceNumber() { return ReferenceNumber; } public ReceiverInfo setReferenceNumber(String value) { this.ReferenceNumber = value; return this; } public String getAccountNumber() { return AccountNumber; } public ReceiverInfo setAccountNumber(String value) { this.AccountNumber = value; return this; } public String getName() { return Name; } public ReceiverInfo setName(String value) { this.Name = value; return this; } public String getAddress() { return Address; } public ReceiverInfo setAddress(String value) { this.Address = value; return this; } public String getCity() { return City; } public ReceiverInfo setCity(String value) { this.City = value; return this; } public String getState() { return State; } public ReceiverInfo setState(String value) { this.State = value; return this; } public String getCountry() { return Country; } public ReceiverInfo setCountry(String value) { this.Country = value; return this; } public String getZip() { return Zip; } public ReceiverInfo setZip(String value) { this.Zip = value; return this; } public String getPhoneNumber() { return PhoneNumber; } public ReceiverInfo setPhoneNumber(String value) { this.PhoneNumber = value; return this; } } public static enum BillPayGroup { Default, Single, Recurring, Installment, Deferred; } public static class WalletDescriptor { public String Type = null; public String EncryptedData = null; public String ApplicationDataHash = null; public String EphemeralPublicKey = null; public String PublicKeyHash = null; public String TransactionId = null; public String Signature = null; public String Version = null; public String ApplicationData = null; public String MerchantIdentifier = null; public String SpecialPayment = null; public DigitalWalletInfo DigitalWalletIndicator = null; public String getType() { return Type; } public WalletDescriptor setType(String value) { this.Type = value; return this; } public String getEncryptedData() { return EncryptedData; } public WalletDescriptor setEncryptedData(String value) { this.EncryptedData = value; return this; } public String getApplicationDataHash() { return ApplicationDataHash; } public WalletDescriptor setApplicationDataHash(String value) { this.ApplicationDataHash = value; return this; } public String getEphemeralPublicKey() { return EphemeralPublicKey; } public WalletDescriptor setEphemeralPublicKey(String value) { this.EphemeralPublicKey = value; return this; } public String getPublicKeyHash() { return PublicKeyHash; } public WalletDescriptor setPublicKeyHash(String value) { this.PublicKeyHash = value; return this; } public String getTransactionId() { return TransactionId; } public WalletDescriptor setTransactionId(String value) { this.TransactionId = value; return this; } public String getSignature() { return Signature; } public WalletDescriptor setSignature(String value) { this.Signature = value; return this; } public String getVersion() { return Version; } public WalletDescriptor setVersion(String value) { this.Version = value; return this; } public String getApplicationData() { return ApplicationData; } public WalletDescriptor setApplicationData(String value) { this.ApplicationData = value; return this; } public String getMerchantIdentifier() { return MerchantIdentifier; } public WalletDescriptor setMerchantIdentifier(String value) { this.MerchantIdentifier = value; return this; } public String getSpecialPayment() { return SpecialPayment; } public WalletDescriptor setSpecialPayment(String value) { this.SpecialPayment = value; return this; } public DigitalWalletInfo getDigitalWalletIndicator() { return DigitalWalletIndicator; } public WalletDescriptor setDigitalWalletIndicator(DigitalWalletInfo value) { this.DigitalWalletIndicator = value; return this; } } public static class SecureDescriptor { public String CAVV = null; public String SecureTransactionId = null; public String getCavv() { return CAVV; } public SecureDescriptor setCavv(String value) { this.CAVV = value; return this; } public String getSecureTransactionId() { return SecureTransactionId; } public SecureDescriptor setSecureTransactionId(String value) { this.SecureTransactionId = value; return this; } } public static class Level2Descriptor { public TaxIndicator TaxDetails = null; public String MerchantReferenceNumber = null; public String MerchantTaxId = null; public String OrderNumber = null; public Integer TaxAmount = null; public String DestinationPostalCode = null; public String ProductDescription = null; public TaxIndicator getTaxDetails() { return TaxDetails; } public Level2Descriptor setTaxDetails(TaxIndicator value) { this.TaxDetails = value; return this; } public String getMerchantReferenceNumber() { return MerchantReferenceNumber; } public Level2Descriptor setMerchantReferenceNumber(String value) { this.MerchantReferenceNumber = value; return this; } public String getMerchantTaxId() { return MerchantTaxId; } public Level2Descriptor setMerchantTaxId(String value) { this.MerchantTaxId = value; return this; } public String getOrderNumber() { return OrderNumber; } public Level2Descriptor setOrderNumber(String value) { this.OrderNumber = value; return this; } public Integer getTaxAmount() { return TaxAmount; } public Level2Descriptor setTaxAmount(Integer value) { this.TaxAmount = value; return this; } public String getDestinationPostalCode() { return DestinationPostalCode; } public Level2Descriptor setDestinationPostalCode(String value) { this.DestinationPostalCode = value; return this; } public String getProductDescription() { return ProductDescription; } public Level2Descriptor setProductDescription(String value) { this.ProductDescription = value; return this; } } public static class PaymentFacilitatorDescriptor { public String PaymentFacilitatorIndicator = null; public String PFPhoneNumber = null; public String SubMerchID = null; public String SellerID = null; public String getPaymentFacilitatorIndicator() { return PaymentFacilitatorIndicator; } public PaymentFacilitatorDescriptor setPaymentFacilitatorIndicator(String value) { this.PaymentFacilitatorIndicator = value; return this; } public String getPfPhoneNumber() { return PFPhoneNumber; } public PaymentFacilitatorDescriptor setPfPhoneNumber(String value) { this.PFPhoneNumber = value; return this; } public String getSubMerchID() { return SubMerchID; } public PaymentFacilitatorDescriptor setSubMerchID(String value) { this.SubMerchID = value; return this; } public String getSellerID() { return SellerID; } public PaymentFacilitatorDescriptor setSellerID(String value) { this.SellerID = value; return this; } } public static class TokenDescriptor { public TokenTypes TokenType = null; public String TokenCryptogramData1 = null; public String TokenCryptogramData2 = null; public TokenTypes getTokenType() { return TokenType; } public TokenDescriptor setTokenType(TokenTypes value) { this.TokenType = value; return this; } public String getTokenCryptogramData1() { return TokenCryptogramData1; } public TokenDescriptor setTokenCryptogramData1(String value) { this.TokenCryptogramData1 = value; return this; } public String getTokenCryptogramData2() { return TokenCryptogramData2; } public TokenDescriptor setTokenCryptogramData2(String value) { this.TokenCryptogramData2 = value; return this; } } public static class CardonFileIndicatorDescriptor { public CardonFileInfo CardonFile = null; public StoredCredentialIndicatorInfo StoredCredentialIndicator = null; public TransactionInitiateInfo TransactionInitiate = null; public ScheduleIndicatorInfo ScheduleIndicator = null; public String NetworkTransactionId = null; public CardonFileInfo getCardonFile() { return CardonFile; } public CardonFileIndicatorDescriptor setCardonFile(CardonFileInfo value) { this.CardonFile = value; return this; } public StoredCredentialIndicatorInfo getStoredCredentialIndicator() { return StoredCredentialIndicator; } public CardonFileIndicatorDescriptor setStoredCredentialIndicator(StoredCredentialIndicatorInfo value) { this.StoredCredentialIndicator = value; return this; } public TransactionInitiateInfo getTransactionInitiate() { return TransactionInitiate; } public CardonFileIndicatorDescriptor setTransactionInitiate(TransactionInitiateInfo value) { this.TransactionInitiate = value; return this; } public ScheduleIndicatorInfo getScheduleIndicator() { return ScheduleIndicator; } public CardonFileIndicatorDescriptor setScheduleIndicator(ScheduleIndicatorInfo value) { this.ScheduleIndicator = value; return this; } public String getNetworkTransactionId() { return NetworkTransactionId; } public CardonFileIndicatorDescriptor setNetworkTransactionId(String value) { this.NetworkTransactionId = value; return this; } } public static enum CardAccountUpdaterInfo { Default, Supported, NotSupported; } public static enum OrderTypeInfo { Default, Standing, Subscription; } public static class BillPayGroupIndicator { public String MITTotalPaymentCount = null; public String MITAmountType = null; public String MITAmount = null; public String MITUniqueID = null; public String MITFrequency = null; public String MITValidationFlag = null; public String MITValidationReference = null; public String MITSequenceIndicator = null; public String getMitTotalPaymentCount() { return MITTotalPaymentCount; } public BillPayGroupIndicator setMitTotalPaymentCount(String value) { this.MITTotalPaymentCount = value; return this; } public String getMitAmountType() { return MITAmountType; } public BillPayGroupIndicator setMitAmountType(String value) { this.MITAmountType = value; return this; } public String getMitAmount() { return MITAmount; } public BillPayGroupIndicator setMitAmount(String value) { this.MITAmount = value; return this; } public String getMitUniqueID() { return MITUniqueID; } public BillPayGroupIndicator setMitUniqueID(String value) { this.MITUniqueID = value; return this; } public String getMitFrequency() { return MITFrequency; } public BillPayGroupIndicator setMitFrequency(String value) { this.MITFrequency = value; return this; } public String getMitValidationFlag() { return MITValidationFlag; } public BillPayGroupIndicator setMitValidationFlag(String value) { this.MITValidationFlag = value; return this; } public String getMitValidationReference() { return MITValidationReference; } public BillPayGroupIndicator setMitValidationReference(String value) { this.MITValidationReference = value; return this; } public String getMitSequenceIndicator() { return MITSequenceIndicator; } public BillPayGroupIndicator setMitSequenceIndicator(String value) { this.MITSequenceIndicator = value; return this; } } public static enum ChargeTypeInfo { Default, PartialShipment, Delayed, NoShow, Resubmission; } public static enum SAFEligibleFlag { Default, True, False; } @DataContract public static class InOutTimes { } public static enum FundingSourceType { DepositAccount, Credit, Debit, Prepaid; } public static enum DigitalWalletInfo { Default, Staged, Passthrough; } public static enum TaxIndicator { Default, NoTaxInfoProvided, TaxInfoProvided, TaxExemptItem; } public static enum TokenTypes { Default, Ucaf, Dsrp, Ucafdsrp, VisaVerified, DigitalWallet, VisaVerifiedDigitalWallet; } public static enum CardonFileInfo { Default, Supported, NotSupported; } public static enum StoredCredentialIndicatorInfo { Default, Initial, Subsequent; } public static enum TransactionInitiateInfo { Default, Merchant, Terminal, Customer; } public static enum ScheduleIndicatorInfo { Default, Scheduled, Unscheduled; } }