/* Options: Date: 2024-11-14 01:41:50 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.paysecure.acculynk.net //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: AuthorizePinDebitRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/PinDebit", Verbs="POST") @DataContract open class AuthorizePinDebitRequest : IReturn { @DataMember var Credentials:RequestorCredentials? = null @DataMember var CardNumberInfo:Card? = null @DataMember var Amount:Int? = null @DataMember var ExpirationDate:String? = null @DataMember var ReferenceKey:String? = null @DataMember var CurrencyCode:String? = null @DataMember var CVN:String? = null @DataMember var AVS:Avs? = null @DataMember var MerchantDetails:MerchantDescriptor? = null @DataMember var Custom1:String? = null @DataMember var Custom2:String? = null @DataMember var Custom3:String? = null @DataMember var Custom4:String? = null @DataMember var Custom5:String? = null @DataMember var SignatureHash:String? = null @DataMember var ExtendedData:ExtendedData? = null @DataMember var OTP:String? = null @DataMember var PINData:String? = null @DataMember var MFK:String? = null @DataMember var TransType:PINTransType? = null companion object { private val responseType = AuthorizePinDebit::class.java } override fun getResponseType(): Any? = AuthorizePinDebitRequest.responseType } @DataContract open class AuthorizePinDebit : PaysecureResponseInternal() { @DataMember var TranId:String? = null @DataMember var ApprovalCode:String? = null @DataMember var ResponseCode:String? = null @DataMember var Network:String? = null @DataMember var ApprovedAmount:Int? = null @DataMember var AVS:String? = null @DataMember var CVN:String? = null @DataMember var OTP:String? = null @DataMember var ErrorMessage:String? = null @DataMember var ErrorCode:String? = null } open class RequestorCredentials { @Required() var MerchantId:String? = null @Required() var UserName:String? = null @Required() var Password:String? = null @Required() var Version:String? = null } open class Card { var CardDataType:CardInfoType? = null var CardNumberData:String? = null var KeyID:String? = null } open class Avs { var Address:String? = null var City:String? = null var State:String? = null var Zip:String? = null var Country:String? = null var Email:String? = null var IPAddress:String? = null var TelephoneNumber:String? = null var TelephoneType:TelephoneType? = null var DeliveryMethod:Int? = null var FirstName:String? = null var MiddleName:String? = null var LastName:String? = null } open class MerchantDescriptor : MerchantDescriptorBase() { var Name:String? = null var Address:String? = null var City:String? = null var State:String? = null var Zip:String? = null var Country:String? = null var CustomerServiceNumber:String? = null var MCC:String? = null var FNSnum:String? = null var Email:String? = null } @DataContract open class ExtendedData { @DataMember var Track2DataForEMVTransaction:String? = null @DataMember var SenderInfo:SenderInfo? = null @DataMember var CashbackAmount:Int? = null @DataMember var Network:NetworkName? = null @DataMember var ReceiverInfo:ReceiverInfo? = null @DataMember var BillPayGroup:BillPayGroup? = null @DataMember var WalletData:WalletDescriptor? = null @DataMember var SecureData:SecureDescriptor? = null @DataMember var Level2Data:Level2Descriptor? = null @DataMember var PaymentFacilitatorData:PaymentFacilitatorDescriptor? = null @DataMember var TokenData:TokenDescriptor? = null @DataMember var OTPTranId:String? = null @DataMember var CurrentShipment:Int? = null @DataMember var TotalShipments:Int? = null @DataMember var IsTokenRequested:Boolean? = null @DataMember var CardonFileIndicator:CardonFileIndicatorDescriptor? = null @DataMember var CardAccountUpdater:CardAccountUpdaterInfo? = null @DataMember var RetryAttemptCount:Int? = null @DataMember var TotalAuthAmount:Int? = null @DataMember var SignatureHashVersion:String? = null @DataMember var OrderTypeDetail:OrderTypeInfo? = null @DataMember var BillPayGroupIndicator:BillPayGroupIndicator? = null @DataMember var ChargeTypeDetail:ChargeTypeInfo? = null @DataMember var SAFEligible:SAFEligibleFlag? = null } enum class PINTransType(val value:Int) { Ipd(9), ECommerce(11), } @DataContract open class RequestTimestamps { @DataMember(EmitDefaultValue=false) var AppLayer:InOutTimes? = null @DataMember(EmitDefaultValue=false) var ParentLookup:InOutTimes? = null @DataMember(EmitDefaultValue=false) var RetryLookup:InOutTimes? = null @DataMember(EmitDefaultValue=false) var GetCardData:InOutTimes? = null @DataMember(EmitDefaultValue=false) var CardTokenize:InOutTimes? = null @DataMember(EmitDefaultValue=false) var CardEncrypt:InOutTimes? = null @DataMember(EmitDefaultValue=false) var DBInsert:InOutTimes? = null @DataMember(EmitDefaultValue=false) var BackendProcess:InOutTimes? = null @DataMember(EmitDefaultValue=false) var DBUpdate:InOutTimes? = null @DataMember(EmitDefaultValue=false) var ParentUpdate:InOutTimes? = null @DataMember(EmitDefaultValue=false) var Network:InOutTimes? = null } @DataContract open class PaysecureResponseInternal { @DataMember(EmitDefaultValue=false) var Timestamps:RequestTimestamps? = null } enum class CardInfoType { CardNumber, Token, Track, Emv, Encrypted, Dpan, ApplePay, GooglePay, SamsungPay, CpToken, EncryptedEnhanced, EncryptedJWE, } enum class TelephoneType { D, H, N, W, } open class MerchantDataElements { var RefundSettlementTypeDetails:Int? = null var SendRecurringPOSEntryModeFeature:Boolean? = null var UseOrgPOSCode:Boolean? = null } open class MerchantDescriptorBase { var DataElements:MerchantDataElements? = null } open class SenderInfo { var ReferenceNumber:String? = null var AccountNumber:String? = null /** * Name Format FirstName{Space}LastName. For Example :- Alvaro Morata */ var Name:String? = null var Address:String? = null var City:String? = null var State:String? = null var Country:String? = null /** * DateOfBirth Format MMDDYYYY. For Example :- 05051960 */ var DateOfBirth:String? = null var Zip:String? = null var PhoneNumber:String? = null var FundingSource:FundingSourceType? = null } enum class NetworkName { Default, Nyce, CU24, Xcel, Star, Puls, Shzm, Visa, Mast, Disc, Amex, Alip, Upin, Stac, Stne, Maes, Intl, } open class ReceiverInfo { var ReferenceNumber:String? = null var AccountNumber:String? = null /** * Name Format FirstName{Space}LastName. For Example :- Alvaro Morata */ var Name:String? = null var Address:String? = null var City:String? = null var State:String? = null var Country:String? = null var Zip:String? = null var PhoneNumber:String? = null } enum class BillPayGroup { Default, Single, Recurring, Installment, Deferred, } open class WalletDescriptor { var Type:String? = null var EncryptedData:String? = null var ApplicationDataHash:String? = null var EphemeralPublicKey:String? = null var PublicKeyHash:String? = null var TransactionId:String? = null var Signature:String? = null var Version:String? = null var ApplicationData:String? = null var MerchantIdentifier:String? = null var SpecialPayment:String? = null var DigitalWalletIndicator:DigitalWalletInfo? = null } open class SecureDescriptor { var CAVV:String? = null var SecureTransactionId:String? = null } open class Level2Descriptor { var TaxDetails:TaxIndicator? = null var MerchantReferenceNumber:String? = null var MerchantTaxId:String? = null var OrderNumber:String? = null var TaxAmount:Int? = null var DestinationPostalCode:String? = null var ProductDescription:String? = null } open class PaymentFacilitatorDescriptor { var PaymentFacilitatorIndicator:String? = null var PFPhoneNumber:String? = null var SubMerchID:String? = null var SellerID:String? = null } open class TokenDescriptor { var TokenType:TokenTypes? = null var TokenCryptogramData1:String? = null var TokenCryptogramData2:String? = null } open class CardonFileIndicatorDescriptor { var CardonFile:CardonFileInfo? = null var StoredCredentialIndicator:StoredCredentialIndicatorInfo? = null var TransactionInitiate:TransactionInitiateInfo? = null var ScheduleIndicator:ScheduleIndicatorInfo? = null var NetworkTransactionId:String? = null } enum class CardAccountUpdaterInfo { Default, Supported, NotSupported, } enum class OrderTypeInfo { Default, Standing, Subscription, } open class BillPayGroupIndicator { var MITTotalPaymentCount:String? = null var MITAmountType:String? = null var MITAmount:String? = null var MITUniqueID:String? = null var MITFrequency:String? = null var MITValidationFlag:String? = null var MITValidationReference:String? = null var MITSequenceIndicator:String? = null } enum class ChargeTypeInfo { Default, PartialShipment, Delayed, NoShow, Resubmission, } enum class SAFEligibleFlag { Default, True, False, } @DataContract open class InOutTimes { } enum class FundingSourceType { DepositAccount, Credit, Debit, Prepaid, } enum class DigitalWalletInfo { Default, Staged, Passthrough, } enum class TaxIndicator { Default, NoTaxInfoProvided, TaxInfoProvided, TaxExemptItem, } enum class TokenTypes { Default, Ucaf, Dsrp, Ucafdsrp, VisaVerified, DigitalWallet, VisaVerifiedDigitalWallet, } enum class CardonFileInfo { Default, Supported, NotSupported, } enum class StoredCredentialIndicatorInfo { Default, Initial, Subsequent, } enum class TransactionInitiateInfo { Default, Merchant, Terminal, Customer, } enum class ScheduleIndicatorInfo { Default, Scheduled, Unscheduled, }