/* Options: Date: 2024-11-21 06:13:22 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: AchRefundRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/ACHRefund", Verbs="POST") @DataContract open class AchRefundRequest : IReturn { @DataMember var Credentials:RequestorCredentials? = null @DataMember var TranId:String? = null @DataMember var Amount:Int? = null @DataMember var ReferenceKey:String? = 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 AVS:Avs? = null @DataMember var ExtendedData:ACHExtendedData? = null companion object { private val responseType = Refund::class.java } override fun getResponseType(): Any? = AchRefundRequest.responseType } @DataContract open class Refund : PaysecureVersion() { @DataMember var TranId:String? = null @DataMember var ApprovalCode:String? = null @DataMember var ResponseCode:String? = null @DataMember var Network: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 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 ACHExtendedData { @DataMember var CashbackAmount:Int? = null @DataMember var ConnectPaySubScriberId:String? = null @DataMember var OrganizationId:String? = null @DataMember var DeviceFingerPrint:String? = null @DataMember var MerchantSessionId:String? = null @DataMember var CurrencyCode:String? = null @DataMember var PaymentType:String? = null @DataMember var VerifyCustomer:Boolean? = null @DataMember var CustomerExternalId:String? = null @DataMember var Description:String? = null @DataMember var CustomerName:String? = null @DataMember var AddressLine1:String? = null @DataMember var AddressLine2:String? = null @DataMember var City:String? = null @DataMember var State:String? = null @DataMember var Zip:String? = null @DataMember var Country:String? = null @DataMember var Email:String? = null @DataMember var TelephoneNumber:String? = null @DataMember var ReturnUrl:String? = null @DataMember var CancelUrl:String? = null @DataMember var EstablishData:String? = null @DataMember var RedirectUrl:String? = null @DataMember var RetryAttemptCount:Int? = null @DataMember var SignatureHashVersion:String? = null @DataMember var DeadlineHashDate:Date? = null } @DataContract open class ExtendedResponse { @DataMember(EmitDefaultValue=false) var CardAccountUpdater:CardAccountUpdaterDescriptor? = null @DataMember(EmitDefaultValue=false) var ProductId:String? = null @DataMember(EmitDefaultValue=false) var NetworkResponseCode:String? = null @DataMember(EmitDefaultValue=false) var NetworkTransactionId:String? = null @DataMember(EmitDefaultValue=false) var CHEmailAddrResult:String? = null } @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 PaysecureVersion : PaysecureResponseInternal() { @DataMember(EmitDefaultValue=false) var LocalDateTime:String? = null @DataMember(EmitDefaultValue=false) var Token:String? = null @DataMember(EmitDefaultValue=false) var ExtendedData:ExtendedResponse? = 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 CardAccountUpdaterDescriptor { var CardDataType:CardInfoType? = null var CardNumberInfo:String? = null var ExpiryDate:String? = null var Status:String? = null var ErrorCode:String? = null var CardToken:String? = null } @DataContract open class InOutTimes { }