/* Options: Date: 2024-11-21 06:17:55 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: InitiateRequest.* //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 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 Card { public CardDataType: CardInfoType; public CardNumberData: string; public KeyID: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum EBTIntiateTransStatus { eCommerce = 'eCommerce', EBT = 'EBT', MoneyTransfer = 'MoneyTransfer', WIC = 'WIC', } // @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 Initiate extends PaysecureResponseInternal { // @DataMember public TranId: string; // @DataMember public ErrorMessage: string; // @DataMember public ErrorCode: string; // @DataMember public AccuId: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @Route("/Initiate", "POST") // @DataContract export class InitiateRequest implements IReturn { // @DataMember public Credentials: RequestorCredentials; // @DataMember public CardNumberInfo: Card; // @DataMember public ExpirationDate: string; // @DataMember public Amount: number; // @DataMember public CurrencyCode: string; // @DataMember public TransType: EBTIntiateTransStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'InitiateRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new Initiate(); } }