/* Options: Date: 2026-11-08 11:48:06 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: CoreChargeRq.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } 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 ReferenceIdTypedAssociationItem { public Value: string; public Type: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CoreChargeGatewaySaleResponse { 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 CoreCreditCardChargeDetails { 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 CoreChargeDetails { public PaymentType: string; public Amount: number; public IntegrationType: string; public Currency: string; public CardDetails: CoreCreditCardChargeDetails; 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 CoreChargeRs { 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: CoreChargeGatewaySaleResponse; public ChargeDetails: CoreChargeDetails; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/integrations/api/{integrationType}/core/charge", "POST") export class CoreChargeRq implements IReturn, IChargeRequest { // @ApiMember(ParameterType="path") public integrationType: string; public NationalId: number; public ChapterId: number; public StoredAccountId: number; public ContextIntegrationPartnerId: number; public CallerIntegrationPartnerId: number; public UserId: number; public AuthenticationId: number; public ChargeType: string; public Token: string; // @ApiMember(Format="decimal", ParameterType="model") public Amount: number; public Description: string; public Invoices: { [index: number]: number; }; public CreatedById: number; public ReferenceIds: ReferenceIdTypedAssociationItem[]; public TransactionId: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'CoreChargeRq'; } public getMethod() { return 'POST'; } public createResponse() { return new CoreChargeRs(); } }