import * as sdk from 'remote-pay-cloud-api'; import { CloverConnectorBroadcaster } from './CloverConnectorBroadcaster'; import { CloverDevice } from './device/CloverDevice'; import { CloverDeviceConfiguration } from './device/CloverDeviceConfiguration'; import { CloverDeviceObserver } from './CloverDeviceObserver'; import { Logger } from './util/Logger'; /** * Clover Connector * * The clover connector implements the ICloverConnector interface. This is where * we define how the connector interacts with remote pay adapters. */ export declare class CloverConnector implements sdk.remotepay.ICloverConnector { static CANCEL_INPUT_OPTION: sdk.remotemessage.InputOption; private cardEntryMethods; protected logger: Logger; device: CloverDevice; merchantInfo: sdk.remotepay.MerchantInfo; private deviceObserver; broadcaster: CloverConnectorBroadcaster; private configuration; isReady: boolean; static MAX_PAYLOAD_SIZE: number; constructor(config: CloverDeviceConfiguration); /** * Initialize the connector with a new config * * @param {CloverDeviceConfiguration} config - the configuration for the connector */ initialize(config: CloverDeviceConfiguration): void; initializeConnection(): void; /** * Add new listener to receive broadcast notifications * * @param {sdk.remotepay.ICloverConnectorListener} connectorListener - the listener to add */ addCloverConnectorListener(connectorListener: sdk.remotepay.ICloverConnectorListener): void; /** * Remove a listener * * @param {sdk.remotepay.ICloverConnectorListener} connectorListener - the listener to remove */ removeCloverConnectorListener(connectorListener: sdk.remotepay.ICloverConnectorListener): void; sale(request: sdk.remotepay.SaleRequest): void; private setupPreauthRequest; private setupAuthRequest; setupSaleRequest(request: sdk.remotepay.SaleRequest): void; private setupTransactionRequest; private setupBaseTransactionRequest; notifyDeviceNotConnected(message: string): void; notifyInvalidData(message: string): void; notifyDeviceError(errorType: sdk.remotepay.ErrorType, errorCode: sdk.remotepay.DeviceErrorEventCode, cause: sdk.remotepay.PlatformError, message: string): void; acceptSignature(request: sdk.remotepay.VerifySignatureRequest): void; rejectSignature(request: sdk.remotepay.VerifySignatureRequest): void; acceptPayment(payment: sdk.payments.Payment): void; rejectPayment(payment: sdk.payments.Payment, challenge: sdk.base.Challenge): void; auth(request: sdk.remotepay.AuthRequest): void; preAuth(request: sdk.remotepay.PreAuthRequest): void; capturePreAuth(request: sdk.remotepay.CapturePreAuthRequest): void; incrementPreAuth(request: sdk.remotepay.IncrementPreAuthRequest): void; tipAdjustAuth(request: sdk.remotepay.TipAdjustAuthRequest): void; vaultCard(cardEntryMethods: number): void; voidPayment(request: sdk.remotepay.VoidPaymentRequest): void; refundPayment(request: sdk.remotepay.RefundPaymentRequest): void; voidPaymentRefund(request: sdk.remotepay.VoidPaymentRefundRequest): void; manualRefund(request: sdk.remotepay.ManualRefundRequest): void; retrievePendingPayments(): void; readCardData(request: sdk.remotepay.ReadCardDataRequest): void; sendMessageToActivity(request: sdk.remotepay.MessageToActivity): void; retrievePayment(request: sdk.remotepay.RetrievePaymentRequest): void; registerForCustomerProvidedData(request: sdk.remotepay.RegisterForCustomerProvidedDataRequest): void; private convertConfigurations; private convertConfiguration; setCustomerInfo(request: sdk.remotepay.SetCustomerInfoRequest): void; retrievePrinters(request: sdk.remotepay.RetrievePrintersRequest): void; retrievePrintJobStatus(request: sdk.remotepay.PrintJobStatusRequest): void; closeout(request: sdk.remotepay.CloseoutRequest): void; print(request: sdk.remotepay.PrintRequest): void; validatePrintRequest(request: sdk.remotepay.PrintRequest): boolean; showMessage(message: string): void; sendDebugLog(message: string): void; showWelcomeScreen(): void; showThankYouScreen(): void; displayReceiptOptions(displayReceiptOptionsRequest: sdk.remotepay.DisplayReceiptOptionsRequest): void; openCashDrawer(request: sdk.remotepay.OpenCashDrawerRequest | string): void; showDisplayOrder(order: sdk.order.DisplayOrder): void; removeDisplayOrder(order: sdk.order.DisplayOrder): void; discountAddedToDisplayOrder(discount: sdk.order.DisplayDiscount, order: sdk.order.DisplayOrder): void; discountRemovedFromDisplayOrder(discount: sdk.order.DisplayDiscount, order: sdk.order.DisplayOrder): void; lineItemAddedToDisplayOrder(lineItem: sdk.order.DisplayLineItem, order: sdk.order.DisplayOrder): void; lineItemRemovedFromDisplayOrder(lineItem: sdk.order.DisplayLineItem, order: sdk.order.DisplayOrder): void; dispose(): void; invokeInputOption(io: sdk.remotepay.InputOption): void; resetDevice(): void; retrieveDeviceStatus(request: sdk.remotepay.RetrieveDeviceStatusRequest): void; private getCardEntryMethods; startCustomActivity(request: sdk.remotepay.CustomActivityRequest): void; checkBalance(request: sdk.remotepay.CheckBalanceRequest): void; requestSignature(request: sdk.remotepay.SignatureRequest): void; requestTip(request: sdk.remotepay.TipRequest): void; static populateBaseResponse(response: sdk.remotepay.BaseResponse, success: boolean, responseCode: sdk.remotepay.ResponseCode, reason?: string, message?: string): void; static populatePaymentResponse(response: sdk.remotepay.PaymentResponse, success: boolean, responseCode: sdk.remotepay.ResponseCode, payment: sdk.payments.Payment, signature?: sdk.base.Signature, reason?: string, message?: string): void; static setResponseFlags(response: any, payment: sdk.payments.Payment): void; } export declare namespace CloverConnector { class TxTypeRequestInfo { static SALE_REQUEST: string; static AUTH_REQUEST: string; static PREAUTH_REQUEST: string; static CREDIT_REQUEST: string; static REFUND_REQUEST: string; } class InnerDeviceObserver implements CloverDeviceObserver { logger: Logger; cloverConnector: CloverConnector; lastPRR: sdk.remotepay.RefundPaymentResponse; constructor(cc: CloverConnector); onTxState(txState: sdk.remotemessage.TxState): void; private resultSuccessToResponseCode; private resultStatusToResponseCode; onTxStartResponse(txStartResponseMessage: sdk.remotemessage.TxStartResponseMessage): void; onUiState(uiState: sdk.remotemessage.UiState, uiText: string, uiDirection: sdk.remotemessage.UiDirection, inputOptions: Array): void; onTipAdded(tip: number): void; onAuthTipAdjusted(tarm: sdk.remotemessage.TipAdjustResponseMessage, responseCode?: sdk.remotepay.ResponseCode): void; onCashbackSelected(cashbackAmount: number): void; onPartialAuth(partialAmount: number): void; onFinishOkPayment(payment: sdk.payments.Payment, signature: sdk.base.Signature, requestInfo: string): void; onFinishOkCredit(credit: sdk.payments.Credit): void; onFinishOkRefund(refund: sdk.payments.Refund): void; onFinishOk(payment: sdk.payments.Payment, signature: sdk.base.Signature, requestInfo: string): void; onFinishOk(credit: sdk.payments.Credit): void; onFinishOk(refund: sdk.payments.Refund): void; onFinishCancel_rmm(result: sdk.remotepay.ResponseCode, reason: string, message: string, requestInfo: string): void; onFinishCancel(requestInfo: string): void; onFinishCancelPreAuth(result: sdk.remotepay.ResponseCode, reason?: string, message?: string): void; onFinishCancelSale(result: sdk.remotepay.ResponseCode, reason?: string, message?: string): void; onFinishCancelAuth(result: sdk.remotepay.ResponseCode, reason?: string, message?: string): void; onFinishCancelManualRefund(result: sdk.remotepay.ResponseCode, reason?: string, message?: string): void; onFinishCancelRefund(result: sdk.remotepay.ResponseCode, reason?: string, message?: string): void; onVerifySignature(payment: sdk.payments.Payment, signature: sdk.base.Signature): void; onConfirmPayment(payment: sdk.payments.Payment, challenges: sdk.base.Challenge[]): void; onPaymentVoided(voidPaymentResponseMessage: sdk.remotemessage.VoidPaymentResponseMessage): void; onPaymentVoided_responseCode(code: sdk.remotepay.ResponseCode, reason: string, message: string): void; onPaymentRefundVoided(refund: sdk.payments.Refund, code: sdk.remotepay.ResponseCode, reason: string, message: string): void; onKeyPressed(keyPress: sdk.remotemessage.KeyPress): void; onPaymentRefundResponse(refundResponseMessage: sdk.remotemessage.RefundResponseMessage): void; onPaymentRefundVoidResponse(voidPaymentRefundResponseMessage: sdk.remotemessage.VoidPaymentRefundResponseMessage): void; onVaultCardResponse(vaultCardResponseMessage: sdk.remotemessage.VaultCardResponseMessage, code?: sdk.remotepay.ResponseCode, message?: string): void; onCapturePreAuthError(result: sdk.remotepay.ResponseCode, reason: string, message: string, paymentId: string): void; onCapturePreAuth(capturePreAuthResponseMessage: sdk.remotemessage.CapturePreAuthResponseMessage): void; onIncrementPreAuthError(result: sdk.remotepay.ResponseCode, reason: string, message: string): void; onIncrementPreAuthResponse(responseMsg: sdk.remotemessage.IncrementPreAuthResponseMessage): void; onCloseoutResponse(status: sdk.remotemessage.ResultStatus, reason: string, batch: sdk.payments.Batch): void; onDeviceDisconnected(device: CloverDevice, message?: string): void; onDeviceConnected(): void; onDeviceReady(device: CloverDevice, drm: sdk.remotemessage.DiscoveryResponseMessage): void; onDeviceError(errorEvent: sdk.remotepay.CloverDeviceErrorEvent): void; onPrintRefundPayment(payment: sdk.payments.Payment, order: sdk.order.Order, refund: sdk.payments.Refund): void; onPrintMerchantReceipt(payment: sdk.payments.Payment): void; onPrintPaymentDecline(payment: sdk.payments.Payment, reason: string): void; onPrintPayment(payment: sdk.payments.Payment, order: sdk.order.Order): void; onPrintCredit(credit: sdk.payments.Credit): void; onPrintCreditDecline(credit: sdk.payments.Credit, reason: string): void; onMessageAck(messageId: string): void; onPendingPaymentsResponse(success: boolean, pendingPayments: Array, reason?: string, message?: string): void; onReadCardResponse(status: sdk.remotemessage.ResultStatus, reason: string, cardData: sdk.base.CardData): void; onMessageFromActivity(actionId: string, payload: string): void; onReadCardDataResponse(result: sdk.remotepay.ResponseCode, reason: string, message: string): void; onActivityResponse(status: sdk.remotemessage.ResultStatus, payload: string, reason: string, actionId: string): void; onDeviceStatusResponse(retrieveDeviceStatusResponseMessage: sdk.remotemessage.RetrieveDeviceStatusResponseMessage): void; onInvalidStateTransitionResponse(status: sdk.remotemessage.ResultStatus, reason: string, requestedTransition: string, state: sdk.remotemessage.ExternalDeviceState, data: sdk.remotemessage.ExternalDeviceStateData): void; onResetDeviceResponse(result: sdk.remotepay.ResponseCode, reason: string, state: sdk.remotemessage.ExternalDeviceState): void; onRetrievePaymentResponse(retrievePaymentResponseMessage: sdk.remotemessage.RetrievePaymentResponseMessage): void; onRetrievePrintersResponse(result: sdk.remotepay.ResponseCode, printers: Array): void; onPrintJobStatusResponse(result: sdk.remotepay.ResponseCode, printRequestId: string, printStatus: sdk.printer.PrintJobStatus): void; onCustomerProvidedDataMessage(result: sdk.remotepay.ResponseCode, eventId: string, config: sdk.loyalty.LoyaltyDataConfig, data: string): void; onDisplayReceiptOptionsResponse(status: sdk.remotemessage.ResultStatus, reason: string): void; onSignatureCollected(signatureResponseMessage: sdk.remotemessage.SignatureResponseMessage): void; onBalanceInquiryResponse(balanceInquiryResponseMessage: sdk.remotemessage.BalanceInquiryResponseMessage): void; onRequestTipResponse(requestTipResponseMessage: sdk.remotemessage.RequestTipResponseMessage): void; } }