/* Options: Date: 2025-11-17 03:45:53 Version: 6.50 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://clubready.com/api/current //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: AddPaymentAccount.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using ClubReady.Web.Api; using ClubReady.Core.Api; using ClubReadyGateway.Vault; using ClubReady.Core.Api.Models; using ClubReady.Web.Api.Sales.Model; namespace ClubReady.Core.Api { public partial class ApiDtoBase : IApiDtoBase { public virtual string ApiKey { get; set; } public virtual int? StoreId { get; set; } public virtual int? ChainId { get; set; } } public partial interface IApiDtoBase { string ApiKey { get; set; } int? StoreId { get; set; } int? ChainId { get; set; } } } namespace ClubReady.Core.Api.Models { public partial class AddPaymentProfileRequest : ApiDtoBase { public virtual int UserId { get; set; } public virtual string AcctToken { get; set; } public virtual string Last4 { get; set; } public virtual int? ExpMonth { get; set; } public virtual int? ExpYear { get; set; } public virtual AcctType? AcctType { get; set; } public virtual int? BnkRoute { get; set; } public virtual string FirstName { get; set; } public virtual string MiddleName { get; set; } public virtual string LastName { get; set; } public virtual string Address1 { get; set; } public virtual string Address2 { get; set; } public virtual string City { get; set; } public virtual string State { get; set; } public virtual string PostalCode { get; set; } public virtual string CountryCode { get; set; } public virtual string Urbanization { get; set; } public virtual bool DoNotUpdatePaymentTypePreference { get; set; } public virtual bool IsTemp { get; set; } } public partial class AddPaymentProfileResponse { public virtual string Success { get; set; } public virtual string Message { get; set; } } } namespace ClubReady.Web.Api { public partial interface IApiKeyEndpoint { string ApiKey { get; set; } } public partial interface IRestrictedApiRequest : IApiKeyEndpoint { int? RestrictedId { get; set; } RestrictedResourceType RestrictedResourceType { get; set; } } public enum RestrictedResourceType { Store, Chain, User, Undefined, } } namespace ClubReady.Web.Api.Sales.Model { [Route("/sales/member/{MemberId}/payment/profile", "POST")] [ApiResponse(Description="", ResponseType=typeof(ClubReady.Core.Api.Models.AddPaymentProfileResponse), StatusCode=200)] public partial class AddPaymentAccount : AddPaymentProfileRequest, IReturn, IRestrictedApiRequest { /// ///IP address of the end user /// [ApiMember(Description="IP address of the end user", Name="X-Forwarded-For", ParameterType="header")] public virtual string XForwardedFor { get; set; } /// ///Api Authentication Key /// [ApiMember(Description="Api Authentication Key", IsRequired=true, ParameterType="query")] public virtual string ApiKey { get; set; } /// ///Id of the store for the user /// [ApiMember(Description="Id of the store for the user", IsRequired=true, ParameterType="query")] public virtual int? StoreId { get; set; } /// ///Member Id of the user to update their Payment Profile /// [ApiMember(Description="Member Id of the user to update their Payment Profile", IsRequired=true, ParameterType="path")] public virtual int MemberId { get; set; } /// ///The AcctToken provided by creating a Payment Profile with the Vault Api /// [ApiMember(Description="The AcctToken provided by creating a Payment Profile with the Vault Api", IsRequired=true)] public virtual string AcctToken { get; set; } /// ///Last 4 digits of the Payment Profile /// [ApiMember(Description="Last 4 digits of the Payment Profile")] public virtual string Last4 { get; set; } /// ///2 digit expiration month **Required for Credit Card** /// [ApiMember(Description="2 digit expiration month \n**Required for Credit Card**")] public virtual int? ExpMonth { get; set; } /// ///2 digit expiration year **Required for Credit Card** /// [ApiMember(Description="2 digit expiration year \n**Required for Credit Card**")] public virtual int? ExpYear { get; set; } /// ///The Account Type of the Payment Profile **Required when adding Gift Card**Common Values

You may use the Text or the Numerical value.

TextNumericalAccount Type
VISA1Visa
MC2MasterCard
Disc3Discover
Amex4American Express
PC11Personal Checking
PS12Personal Savings
BC13Business Checking
Factor442Factor4 Gift Card
///
[ApiMember(Description="\r\nThe Account Type of the Payment Profile \r\n**Required when adding Gift Card**\r\nCommon Values\r\n

You may use the Text or the Numerical value.

\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
TextNumericalAccount Type
VISA1Visa
MC2MasterCard
Disc3Discover
Amex4American Express
PC11Personal Checking
PS12Personal Savings
BC13Business Checking
Factor442Factor4 Gift Card
\r\n")] public virtual AcctType? AcctType { get; set; } /// ///Bank Routing Number **Required for Bank Accounts** /// [ApiMember(Description="Bank Routing Number \n**Required for Bank Accounts**")] public virtual int? BnkRoute { get; set; } /// ///Set to `true` to not set the user's Payment Type Preference when adding an on-file profile /// [ApiMember(Description="Set to `true` to not set the user's Payment Type Preference when adding an on-file profile")] public virtual bool DoNotUpdatePaymentTypePreference { get; set; } /// ///Whether the Payment Profile is Temporary (One time transactions and Gift Cards are IsTemp = `true`) /// [ApiMember(Description="Whether the Payment Profile is Temporary (One time transactions and Gift Cards are IsTemp = `true`)")] public virtual bool IsTemp { get; set; } public virtual int? RestrictedId { get; set; } public virtual RestrictedResourceType RestrictedResourceType { get; set; } } } namespace ClubReadyGateway.Vault { [DataContract] public enum AcctType { Uninitialized = 0, Visa = 1, MC = 2, Disc = 3, Amex = 4, Diners = 5, JCB = 6, enRoute = 7, PayPal = 8, BillMe = 9, PC = 11, PS = 12, BC = 13, BS = 14, Becs = 15, Bacs = 16, Maestro = 20, Solo = 21, VisaElectron = 22, CIBC = 23, RoyalBankCa = 24, TDCaTrust = 25, Scotia = 26, BMO = 27, HSBCCa = 28, UnionPay = 29, InterPayment = 30, Laser = 31, UnknownCredit = 40, TransArmor = 41, Factor4 = 42, XPass = 43, ConnectedAccount = 44, UnknownBank = 45, Error = -1, } }