/* Options: Date: 2026-11-08 11:52:45 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://devapi.billhighway.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CoreChargeRq.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/integrations/api/{integrationType}/core/charge", Verbs="POST") open class CoreChargeRq : IReturn, IChargeRequest { @ApiMember(ParameterType="path") var integrationType:String? = null var NationalId:Int? = null var ChapterId:Int? = null var StoredAccountId:Long? = null var ContextIntegrationPartnerId:Int? = null var CallerIntegrationPartnerId:Int? = null var UserId:Int? = null var AuthenticationId:Int? = null var ChargeType:String? = null var Token:String? = null @ApiMember(Format="decimal", ParameterType="model") var Amount:BigDecimal? = null var Description:String? = null var Invoices:HashMap = HashMap() var CreatedById:Int? = null var ReferenceIds:ArrayList = ArrayList() var TransactionId:Long? = null companion object { private val responseType = CoreChargeRs::class.java } override fun getResponseType(): Any? = CoreChargeRq.responseType } open class CoreChargeRs { var TransactionId:String? = null var StoredAccountId:Long? = null var NationalId:Int? = null var ChapterId:Int? = null var ChargeType:String? = null var IntegrationType:String? = null var ContextIntegrationPartnerId:Int? = null var CallerIntegrationPartnerId:Int? = null var GatewayResponse:CoreChargeGatewaySaleResponse? = null var ChargeDetails:CoreChargeDetails? = null } open interface IChargeRequest { var integrationType:String? var NationalId:Int? var ChapterId:Int? var StoredAccountId:Long? var ContextIntegrationPartnerId:Int? var CallerIntegrationPartnerId:Int? var AuthenticationId:Int? var ChargeType:String? var Token:String? var Amount:BigDecimal? var Description:String? var CreatedById:Int? var TransactionId:Long? } open class ReferenceIdTypedAssociationItem { var Value:String? = null var Type:String? = null } open class CoreChargeGatewaySaleResponse { var FailureType:String? = null var IsDuplicate:Boolean? = null var IsSuccessful:Boolean? = null var ErrorCode:String? = null var Message:String? = null var GatewayId:Int? = null var ConfirmationNumber:String? = null var NetworkTransactionId:String? = null } open class CoreChargeDetails { var PaymentType:String? = null var Amount:Int? = null var IntegrationType:String? = null var Currency:String? = null var CardDetails:CoreCreditCardChargeDetails? = null } open class AttributeItem { var Name:String? = null var Value:String? = null } open class CreditCardBillingAddressItem { var Address1:String? = null var Address2:String? = null var City:String? = null var PostalCode:String? = null var Region:String? = null var Country:String? = null var Attributes:ArrayList = ArrayList() } open class CoreCreditCardChargeDetails { var CardType:String? = null var ExpMonth:Int? = null var ExpYear:Int? = null var Last4:String? = null var Address:CreditCardBillingAddressItem? = null var VerificationResult:CreditCardChargeVerificationResult? = null } open class CreditCardChargeVerificationResult { var NetworkVerificationAttempted:Boolean? = null var CvvVerificationResult:String? = null var AddressVerificationResult:String? = null var PostalCodeVerificationResult:String? = null } open class AttributeItem { var Name:String? = null var Value:String? = null }