/* Options: Date: 2024-12-03 12:31:40 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.paysecure.acculynk.net //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: AchAuthorizeDebitRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class RequestorCredentials { // @Required() public MerchantId: string; // @Required() public UserName: string; // @Required() public Password: string; // @Required() public Version: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum ACHType { Token = 'Token', CPToken = 'CPToken', } export class ACHTokenDescriptor { public ACHTokenType: ACHType; public ACHTokenData: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ACHExtendedData { // @DataMember public CashbackAmount: number; // @DataMember public ConnectPaySubScriberId: string; // @DataMember public OrganizationId: string; // @DataMember public DeviceFingerPrint: string; // @DataMember public MerchantSessionId: string; // @DataMember public CurrencyCode: string; // @DataMember public PaymentType: string; // @DataMember public VerifyCustomer: boolean; // @DataMember public CustomerExternalId: string; // @DataMember public Description: string; // @DataMember public CustomerName: string; // @DataMember public AddressLine1: string; // @DataMember public AddressLine2: string; // @DataMember public City: string; // @DataMember public State: string; // @DataMember public Zip: string; // @DataMember public Country: string; // @DataMember public Email: string; // @DataMember public TelephoneNumber: string; // @DataMember public ReturnUrl: string; // @DataMember public CancelUrl: string; // @DataMember public EstablishData: string; // @DataMember public RedirectUrl: string; // @DataMember public RetryAttemptCount: number; // @DataMember public SignatureHashVersion: string; // @DataMember public DeadlineHashDate?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class InOutTimes { public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class RequestTimestamps { // @DataMember(EmitDefaultValue=false) public AppLayer: InOutTimes; // @DataMember(EmitDefaultValue=false) public ParentLookup: InOutTimes; // @DataMember(EmitDefaultValue=false) public RetryLookup: InOutTimes; // @DataMember(EmitDefaultValue=false) public GetCardData: InOutTimes; // @DataMember(EmitDefaultValue=false) public CardTokenize: InOutTimes; // @DataMember(EmitDefaultValue=false) public CardEncrypt: InOutTimes; // @DataMember(EmitDefaultValue=false) public DBInsert: InOutTimes; // @DataMember(EmitDefaultValue=false) public BackendProcess: InOutTimes; // @DataMember(EmitDefaultValue=false) public DBUpdate: InOutTimes; // @DataMember(EmitDefaultValue=false) public ParentUpdate: InOutTimes; // @DataMember(EmitDefaultValue=false) public Network: InOutTimes; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class PaysecureResponseInternal { // @DataMember(EmitDefaultValue=false) public Timestamps: RequestTimestamps; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class AchProviderResponse { // @DataMember public NetworkResponseCode: string; // @DataMember public TransactionStatusCode: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ACHExtendedDataResponse { // @DataMember(EmitDefaultValue=false) public NetworkResponseCode: string; // @DataMember(EmitDefaultValue=false) public NetworkErrorCode: string; // @DataMember(EmitDefaultValue=false) public DeclineReferenceCode: string; // @DataMember(EmitDefaultValue=false) public NetworkTransactionId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class AchPaysecureVersion extends PaysecureResponseInternal { // @DataMember(EmitDefaultValue=false) public LocalDateTime: string; // @DataMember(EmitDefaultValue=false) public ExtendedData: ACHExtendedDataResponse; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @DataContract export class AchAuthorizeDebit extends AchPaysecureVersion { // @DataMember public TranId: string; // @DataMember public ApprovalCode: string; // @DataMember public ResponseCode: string; // @DataMember public Network: string; // @DataMember public ApprovedAmount: number; // @DataMember public ErrorMessage: string; // @DataMember public ErrorCode: string; // @DataMember(EmitDefaultValue=false) public AchProviderDetails: AchProviderResponse; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @Route("/ACHDebit", "POST") // @DataContract export class AchAuthorizeDebitRequest implements IReturn { // @DataMember public Credentials: RequestorCredentials; // @DataMember public ACHToken: ACHTokenDescriptor; // @DataMember public Amount: number; // @DataMember public ReferenceKey: string; // @DataMember public Custom1: string; // @DataMember public Custom2: string; // @DataMember public Custom3: string; // @DataMember public Custom4: string; // @DataMember public Custom5: string; // @DataMember public SignatureHash: string; // @DataMember public CurrencyCode: string; // @DataMember public ExtendedData: ACHExtendedData; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'AchAuthorizeDebitRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new AchAuthorizeDebit(); } }