/* Options: Date: 2026-11-08 11:52:58 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://devapi.billhighway.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: HeldPaymentChargeRq.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class HeldPaymentChargeItem { public Type: string; public Description: string; public Amount: number; public ClientInvoiceId: string; public ClientInvoiceOwnerTypeId: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IChargeRequest { integrationType: string; NationalId: number; ChapterId: number; StoredAccountId: number; ContextIntegrationPartnerId: number; CallerIntegrationPartnerId: number; AuthenticationId: number; ChargeType: string; Token: string; Amount: number; Description: string; CreatedById: number; TransactionId: number; } export class HeldPaymentGatewaySaleResponse { public FailureType: string; public IsDuplicate: boolean; public IsSuccessful: boolean; public ErrorCode: string; public Message: string; public GatewayId: number; public ConfirmationNumber: string; public NetworkTransactionId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AttributeItem { public Name: string; public Value: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CreditCardBillingAddressItem { public Address1: string; public Address2: string; public City: string; public PostalCode: string; public Region: string; public Country: string; public Attributes: AttributeItem[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CreditCardChargeVerificationResult { public NetworkVerificationAttempted: boolean; public CvvVerificationResult: string; public AddressVerificationResult: string; public PostalCodeVerificationResult: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class HeldPaymentCreditCardChargeDetails { public CardType: string; public ExpMonth: number; public ExpYear: number; public Last4: string; public Address: CreditCardBillingAddressItem; public VerificationResult: CreditCardChargeVerificationResult; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AchChargeVerificationResult { public NetworkVerificationAttempted: boolean; public Result: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class HeldPaymentAchChargeDetails { public AccountType: string; public RoutingNumber: string; public AccountNumberLast4: string; public BankName: string; public VerificationResult: AchChargeVerificationResult; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class HeldPaymentChargeDetails { public PaymentType: string; public Amount: number; public IntegrationType: string; public Currency: string; public CardDetails: HeldPaymentCreditCardChargeDetails; public AchDetails: HeldPaymentAchChargeDetails; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AttributeItem { public Name: string; public Value: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class HeldPaymentChargeRs { public TransactionId: string; public StoredAccountId: number; public NationalId: number; public ChapterId: number; public ChargeType: string; public IntegrationType: string; public ContextIntegrationPartnerId: number; public CallerIntegrationPartnerId: number; public GatewayResponse: HeldPaymentGatewaySaleResponse; public ChargeDetails: HeldPaymentChargeDetails; public ChargeItems: HeldPaymentChargeItem[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/integrations/api/{integrationType}/heldpayment/charge", "POST") export class HeldPaymentChargeRq implements IReturn, IChargeRequest { public integrationType: string; public NationalId: number; public ChapterId: number; public StoredAccountId: number; public ContextIntegrationPartnerId: number; public CallerIntegrationPartnerId: number; public AuthenticationId: number; public ChargeType: string; public Token: string; public Amount: number; public Description: string; public CreatedById: number; public TransactionId: number; public StoreChargeAccount: boolean; public ChargeItems: HeldPaymentChargeItem[]; public CreatedBy: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'HeldPaymentChargeRq'; } public getMethod() { return 'POST'; } public createResponse() { return new HeldPaymentChargeRs(); } }