/* Options: Date: 2026-11-08 11:38:24 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://devapi.billhighway.com //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: DonationCreditCardRequest.* //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 BH.CloudAPI.Common4.DTO.Donations; using ServiceStack.Text; using BH.CloudAPI.Common.Interfaces; using BH.API.CloudApi.Core; namespace BH.API.CloudApi.Core { public partial interface IHaveErrorField { bool IsError { get; set; } } } namespace BH.CloudAPI.Common.Interfaces { public partial interface IHaveErrorField { bool IsError { get; set; } } } namespace BH.CloudAPI.Common4.DTO.Donations { [Route("/donations/creditcard", "POST")] public partial class DonationCreditCardRequest : DonationRequestBase, IReturn, IDonationRequestWithDonorInfo { /// ///Not required if MemberInfo is present on request /// [ApiMember(Description="Not required if MemberInfo is present on request")] public virtual DonationDonorInfo DonorInfo { get; set; } /// ///Not required if DonorInfo is present on request /// [ApiMember(Description="Not required if DonorInfo is present on request")] public virtual DonationMemberInfo MemberInfo { get; set; } /// ///Campaign to track donation against and to define fund allocation. Use GET /campaigns to retreive valid list of campaignIDs /// [ApiMember(Description="Campaign to track donation against and to define fund allocation. Use GET /campaigns to retreive valid list of campaignIDs")] public virtual int? CampaignId { get; set; } /// ///CardRef returned from client-side tokenization. Also handles raw card number if your servers are PCI-DSS-compliant, and in that case this must be a valid card number for the CardType indicated. /// [ApiMember(Description="CardRef returned from client-side tokenization. Also handles raw card number if your servers are PCI-DSS-compliant, and in that case this must be a valid card number for the CardType indicated.", IsRequired=true, Name="CardReferenceOrCardNumber")] public virtual string CardReferenceOrCardNumber { get; set; } public virtual string CardType { get; set; } /// ///Credit Card Validation value. If Visa, Master Card or Discover, must be 3 digits. If AmEx, must be 4 digits. /// [ApiMember(Description="Credit Card Validation value. If Visa, Master Card or Discover, must be 3 digits. If AmEx, must be 4 digits.", Name="Cvv")] public virtual string Cvv { get; set; } [ApiMember(IsRequired=true)] [ApiMember(Description="Credit Card expiration month. Valid Values 1-12.", IsRequired=true, Name="ExpirationMonth")] public virtual int ExpirationMonth { get; set; } /// ///Credit Card expiration year. Four-digit Year. Value cannot be less than current year or more than 20 years in the future. ExpMonth + ExpYear must not be in the past. /// [ApiMember(Description="Credit Card expiration year. Four-digit Year. Value cannot be less than current year or more than 20 years in the future. ExpMonth + ExpYear must not be in the past.", IsRequired=true, Name="ExpirationYear")] public virtual int ExpirationYear { get; set; } } public partial class DonationCreditCardResponse : IHaveErrorField { /// ///Legacy ErrorCode /// [ApiMember(Description="Legacy ErrorCode", ExcludeInSchema=true)] [Ignore] public virtual int ErrorCode { get; set; } public virtual string ErrorMessage { get; set; } public virtual bool IsError { get; set; } /// ///Donation Transaction ID /// [ApiMember(Description="Donation Transaction ID")] public virtual string TransactionId { get; set; } public virtual string CardRef { get; set; } } public partial class DonationDonorInfo { /// ///Name of donor. Maximum 100 characters. Format must be Firstname {space} Lastname. /// [ApiMember(Description="Name of donor. Maximum 100 characters. Format must be Firstname {space} Lastname.", IsRequired=true, Name="FullName")] public virtual string FullName { get; set; } /// ///Billing address. Maximum 100 characters. /// [ApiMember(Description="Billing address. Maximum 100 characters.", IsRequired=true, Name="Address")] public virtual string Address { get; set; } /// ///Billing city. Maximum 100 characters. /// [ApiMember(Description="Billing city. Maximum 100 characters.", IsRequired=true, Name="City")] public virtual string City { get; set; } /// ///Billing state. Two characters, must match valid US state code. /// [ApiMember(Description="Billing state. Two characters, must match valid US state code.", IsRequired=true, Name="State")] public virtual string State { get; set; } /// ///Credit Card billing address postal code. Maximum 10 characters. /// [ApiMember(Description="Credit Card billing address postal code. Maximum 10 characters.", IsRequired=true, Name="PostalCode")] public virtual string PostalCode { get; set; } /// ///Email address of donor. Maximum 100 characters. If provided, must be valid email format. /// [ApiMember(Description="Email address of donor. Maximum 100 characters. If provided, must be valid email format.", Name="EmailAddress")] public virtual string EmailAddress { get; set; } /// ///Preferred phone number. Maximum 12 characters. /// [ApiMember(Description="Preferred phone number. Maximum 12 characters.", Name="Phone")] public virtual string Phone { get; set; } } public partial class DonationMemberInfo { [ApiMember(IsRequired=true)] public virtual int BhUserId { get; set; } } public partial class DonationRecurringInfo { /// ///How often donation is collected automatically /// [ApiMember(Description="How often donation is collected automatically", IsRequired=true, Name="Frequency")] public virtual string Frequency { get; set; } /// ///Number of recurring donation cycles. /// [ApiMember(Description="Number of recurring donation cycles.", IsRequired=true, Name="NumberOfOccurrences")] public virtual int NumberOfOccurrences { get; set; } /// ///Allows the submitter to set a future date for the donation /// [ApiMember(Description="Allows the submitter to set a future date for the donation", Name="FutureDonationDate")] public virtual DateTime? FutureDonationDate { get; set; } } public partial class DonationRequestBase { /// ///Client value for Group. String must already be configured in Billhighway system. /// [ApiMember(Description="Client value for Group. String must already be configured in Billhighway system.", IsRequired=true, Name="GroupID")] public virtual string GroupId { get; set; } /// ///Amount of the payment. Must be an amount less than $10,000,000.00. /// [ApiMember(Description="Amount of the payment. Must be an amount less than $10,000,000.00.", IsRequired=true, Name="Amount")] public virtual decimal Amount { get; set; } /// ///The currency the payment is being made in. Three digit currency code (see ISO 4217) for a valid currency supported by Billhighway. Defaults to USD /// [ApiMember(Description="The currency the payment is being made in. Three digit currency code (see ISO 4217) for a valid currency supported by Billhighway. Defaults to USD", ExcludeInSchema=true, Name="CurrencyCode")] public virtual string CurrencyCode { get; set; } /// ///Notes about the donation. Maximum 70 characters. /// [ApiMember(Description="Notes about the donation. Maximum 70 characters.", Name="Memo")] public virtual string Memo { get; set; } [ApiMember] public virtual DonationRecurringInfo DonationRecurringInfo { get; set; } /// ///Custom fields /// [ApiMember(Description="Custom fields", Name="MetaData")] public virtual JsonObject MetaData { get; set; } } public partial interface IDonationRequestWithDonorInfo { DonationDonorInfo DonorInfo { get; set; } DonationMemberInfo MemberInfo { get; set; } string GroupId { get; set; } } } namespace ServiceStack.Text { public partial class JsonObject : Dictionary { } }