UNPKG

@calf/dotypay

Version:

Dotypay module of Calf framework.

245 lines (244 loc) 7.46 kB
/** * Common * @description Namespace for Common */ export declare namespace Common { /** * Enums * @description Namespace for Enums */ namespace Enums { /** * Result * @description Enum for Result */ enum Result { Success = "Success", Failure = "Failure" } /** * Error condition * @description Enum for Error condition */ enum ErrorCondition { Refusal = "Refusal" } /** * Message category * @description Enum for Message category */ enum MessageCategory { Payment = "Payment", Abort = "Abort", Reversal = "Reversal", TransactionStatus = "TransactionStatus", Reconciliation = "Reconciliation", Diagnosis = "Diagnosis", TransactionReport = "TransactionReport" } /** * Message class * @description Enum for Message class */ enum MessageClass { Service = "Service" } /** * Message type * @description Enum for Message type */ enum MessageType { Request = "Request" } /** * Result code * @description Enum for Result code */ enum ResultCode { Undefined = -1, Ok = 0, Unauthorized = 100, InvalidContentType = 101, InvalidJson = 102, EmptyBody = 103, UnknownRequest = 104, MandatoryDataMissing = 105, AnotherRequestBeingProcessed = 106, HttpMethodNotAllowed = 107, RequestTypeNotAllowed = 108, WrongTID = 109, CurrencyNotAllowed = 110, InvalidAmount = 111, Timeout = 200, NotFound = 201, NoReversibleTransactionFound = 202, TransactionIsNotReversible = 203, CanceledByUser = 204, CardReadError = 205, Aborted = 206, CardReadTimeout = 207, NoConnection = 208, NotAbortable = 209, PinTimeout = 210, PinError = 211, PinKeyNotSynchronized = 212, HostRefusedGeneric = 300, WrongPin = 301, EmptyHostResponse = 302, TechnicalReversal = 303, PaymentSwitchCommunicationError = 304, PlaceCall = 305, SignatureNotVerified = 306, CallSupport = 307, EmvDeclined = 308, SettlementError = 309 } } /** * Interfaces * @description Namespace for Interfaces */ namespace Interfaces { /** * Message header * @description Interface for Message header */ interface IMessageHeader { MessageCategory?: Enums.MessageCategory; MessageClass?: Enums.MessageClass; MessageType?: Enums.MessageType; POIID?: string; ProtocolVersion?: string; SaleID?: string; ServiceID?: string; } /** * Sale to POI request * @description Interface for Sale to POI request */ interface ISaleToPOIRequest { MessageHeader?: IMessageHeader; } /** * Sale to POI response * @description Interface for Sale to POI response */ interface ISaleToPOIResponse { MessageHeader?: IMessageHeader; } /** * Message request * @description Interface for Message request */ interface IMessageRequest<TRequest extends ISaleToPOIRequest> { SaleToPOIRequest?: TRequest; } /** * Message response * @description Interface for Message response */ interface IMessageResponse<TResponse extends ISaleToPOIResponse> { ResultCode?: Enums.ResultCode; SaleToPOIResponse?: TResponse; } /** * Response * @description Interface for Response */ interface IResponse { Result?: Enums.Result; ErrorCondition?: Enums.ErrorCondition; } /** * POI data * @description Interface for POI data */ interface IPOIData { POITransactionID?: ITransactionID; } /** * Transaction id * @description Interface for Transaction id */ interface ITransactionID { TimeStamp?: string; TransactionID?: string; } /** * Payment instrument data * @description Interface for Payment instrument data */ interface IPaymentInstrumentData { CardData?: ICardData; } /** * Card data * @description Interface for Card data */ interface ICardData { MaskedPan?: string; } /** * Proprietary tags * @description Interface for Proprietary tags */ interface IProprietaryTags { Aid?: string; ApplicationName?: string; AuthorizationCode?: string; Brand?: string; CardExpiration?: string; CardPresentationMethod?: string; ReceiptDate?: string; AskForTip?: boolean; VariableSymbol?: string; SequenceNumber?: string; SignatureRequired?: boolean; CustomIdentifier?: string; AskForVariableSymbol?: boolean; ECRPrint?: boolean; TerminalId?: string; RequireTipConfirmation?: boolean; EnterTipAsTargetAmount?: boolean; ForceCustomTip?: boolean; VerifiedByDevice?: boolean; Note?: string; } /** * Message reference * @description Interface for Message reference */ interface IMessageReference { MessageCategory?: Enums.MessageCategory; SaleID?: string; ServiceID?: string; POIID?: string; } /** * Terminal * @description Interface for Terminal */ interface IPOITerminal { POIID?: string; BusinessId?: string; MerchantName?: string; Currency?: string; SmartTipsAvailable?: boolean; AdditionalData?: IPOITerminalAdditionalData; } /** * Terminal additional data * @description Interface for Terminal additional data */ interface IPOITerminalAdditionalData { BranchId?: string; CustomIdentifierCaption?: string; CustomIdentifierForbiddenCharacters?: string; DisplayName?: string; MerchantId?: string; ParserVariableSymbolFromCustomIdentifier?: boolean; QrPaymentEnabled?: boolean; VariableSymbolAllowed?: boolean; } } }