/* Options: Date: 2024-11-24 13:32:53 Version: 6.50 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://clubready.com/api/current //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: PaymentProfileImportEndpoint.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/sales/paymentprofile/import", Verbs="POST") @ApiResponse(Description="", ResponseType=PaymentProfileImportResponse.class, StatusCode=200) open class PaymentProfileImportEndpoint : PaymentProfileImportRequest(), IReturn, IApiKeyEndpoint { /** * Api Authentication Key */ @ApiMember(Description="Api Authentication Key", IsRequired=true, ParameterType="query") var ApiKey:String? = null /** * Encoded data uniquely identifying the payment profile. Long term storage of AcctToken is not recommended, as the token may change over time (for example, by processes like Account Updater). The length is usually 80 characters. */ @ApiMember(Description="\r\nEncoded data uniquely identifying the payment profile. \r\nLong term storage of AcctToken is not recommended, as the token may change over time (for example, by processes like Account Updater). \r\nThe length is usually 80 characters.", IsRequired=true) var AcctToken:String? = null /** * Encoded data containing non-PCI information about the Payment Profile. ProfileTokens contain a timestamp. If the ClubReady API does not process the token within 5 minutes,it cannot be accepted and a new profile will have to be created with a new AcctToken. The timevalidation is to prevent old tokens from be re-played at a later time. The length is variable, but generally around 1,000 characters. */ @ApiMember(Description="\r\nEncoded data containing non-PCI information about the Payment Profile. \r\n\r\nProfileTokens contain a timestamp. If the ClubReady API does not process the token within 5 minutes,\r\nit cannot be accepted and a new profile will have to be created with a new AcctToken. The time\r\nvalidation is to prevent old tokens from be re-played at a later time. \r\n\r\nThe length is variable, but generally around 1,000 characters.", IsRequired=true) var ProfileToken:String? = null /** * When adding a Payment Profile that is 'on-file', the default behavior is to update the user's Payment TypePreference to the AcctClass of the new profile. If you wish to not update the preference, you can set`DoNotUpdatePaymentTypePreference` to `true`. Otherwise, this can be omitted or `false`. For `IsTemp == true` profiles, `DoNotUpdatePaymentTypePreference` is ignored. */ @ApiMember(Description="\r\nWhen adding a Payment Profile that is 'on-file', the default behavior is to update the user's Payment Type\r\nPreference to the AcctClass of the new profile. If you wish to not update the preference, you can set\r\n`DoNotUpdatePaymentTypePreference` to `true`. Otherwise, this can be omitted or `false`. \r\n\r\nFor `IsTemp == true` profiles, `DoNotUpdatePaymentTypePreference` is ignored.") var DoNotUpdatePaymentTypePreference:Boolean? = null /** * **Conditionally Required** When adding a Payment Profile that has an OwnerType of `TempStUser`, the ownership will be changed to OwnerType of `User`with the `UserId` of the supplied `NewOwnerId`. */ @ApiMember(Description="\r\n**Conditionally Required** \r\n\r\nWhen adding a Payment Profile that has an OwnerType of `TempStUser`, the ownership will be changed to OwnerType of `User`\r\nwith the `UserId` of the supplied `NewOwnerId`.") var NewOwnerId:Int? = null companion object { private val responseType = PaymentProfileImportResponse::class.java } override fun getResponseType(): Any? = PaymentProfileImportEndpoint.responseType } open class PaymentProfileImportResponse { var Success:Boolean? = null var Message:String? = null var PaymentProfile:PaymentProfile? = null } open interface IApiKeyEndpoint { var ApiKey:String? } open class PaymentProfileImportRequest { var AcctToken:String? = null var ProfileToken:String? = null var DoNotUpdatePaymentTypePreference:Boolean? = null var NewOwner:ValueTuple? = null } open class PaymentProfile { var PaymentProfileId:Int? = null var AcctToken:String? = null var OwnerId:Int? = null var OwnerTypeId:Short? = null var AcctTypeId:Short? = null var AcctClassId:Short? = null var PrefixName:String? = null var FirstName:String? = null var MiddleName:String? = null var LastName:String? = null var SuffixName:String? = null var Address1:String? = null var Address2:String? = null var Urbanization:String? = null var City:String? = null var State:String? = null var PostalCode:String? = null var CountryCode:String? = null var Last4:String? = null var CcExpMonth:Short? = null var CcExpYear:Short? = null var IsTemp:Boolean? = null var IsDisabled:Boolean? = null var OnHoldUtc:Date? = null var OnHoldReasonCode:Short? = null var OnHoldReasonDetail:String? = null var AcctUpdaterFlagUtc:Date? = null var CreatedBy:Int? = null var CreatedUtc:Date? = null var ModifiedBy:Int? = null var ModifiedUtc:Date? = null var AcctUpdaterFlag:Boolean? = null var EntryModeId:Short? = null var ExcludeFromAcctUpdater:Boolean? = null }