/* Options: Date: 2024-12-03 12:14:01 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: AchRefundRequest.* //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 TelephoneType { D = 'D', H = 'H', N = 'N', W = 'W', } export class Avs { public Address: string; public City: string; public State: string; public Zip: string; public Country: string; public Email: string; public IPAddress: string; public TelephoneNumber: string; public TelephoneType: TelephoneType; public DeliveryMethod: number; public FirstName: string; public MiddleName: string; public LastName: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class MerchantDataElements { public RefundSettlementTypeDetails: number; public SendRecurringPOSEntryModeFeature: boolean; public UseOrgPOSCode: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class MerchantDescriptorBase { public DataElements: MerchantDataElements; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class MerchantDescriptor extends MerchantDescriptorBase { public Name: string; public Address: string; public City: string; public State: string; public Zip: string; public Country: string; public CustomerServiceNumber: string; public MCC: string; public FNSnum: string; public Email: string; public constructor(init?: Partial) { super(init); (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); } } export enum CardInfoType { CardNumber = 'CardNumber', Token = 'Token', Track = 'Track', EMV = 'EMV', Encrypted = 'Encrypted', DPAN = 'DPAN', ApplePay = 'ApplePay', GooglePay = 'GooglePay', SamsungPay = 'SamsungPay', CPToken = 'CPToken', EncryptedEnhanced = 'EncryptedEnhanced', EncryptedJWE = 'EncryptedJWE', } export class CardAccountUpdaterDescriptor { public CardDataType: CardInfoType; public CardNumberInfo: string; public ExpiryDate: string; public Status: string; public ErrorCode: string; public CardToken: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ExtendedResponse { // @DataMember(EmitDefaultValue=false) public CardAccountUpdater: CardAccountUpdaterDescriptor; // @DataMember(EmitDefaultValue=false) public ProductId: string; // @DataMember(EmitDefaultValue=false) public NetworkResponseCode: string; // @DataMember(EmitDefaultValue=false) public NetworkTransactionId: string; // @DataMember(EmitDefaultValue=false) public CHEmailAddrResult: 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 PaysecureVersion extends PaysecureResponseInternal { // @DataMember(EmitDefaultValue=false) public LocalDateTime: string; // @DataMember(EmitDefaultValue=false) public Token: string; // @DataMember(EmitDefaultValue=false) public ExtendedData: ExtendedResponse; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @DataContract export class Refund extends PaysecureVersion { // @DataMember public TranId: string; // @DataMember public ApprovalCode: string; // @DataMember public ResponseCode: string; // @DataMember public Network: string; // @DataMember public ErrorMessage: string; // @DataMember public ErrorCode: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @Route("/ACHRefund", "POST") // @DataContract export class AchRefundRequest implements IReturn { // @DataMember public Credentials: RequestorCredentials; // @DataMember public TranId: string; // @DataMember public Amount: number; // @DataMember public ReferenceKey: string; // @DataMember public MerchantDetails: MerchantDescriptor; // @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 AVS: Avs; // @DataMember public ExtendedData: ACHExtendedData; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'AchRefundRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new Refund(); } }