Source: remotepay/ICloverConnector.js

/**
 * Autogenerated by Avro
 *
 * DO NOT EDIT DIRECTLY
 */


/**
 *  Interface to the Clover remote-pay API.
 *
 *  Defines the interface used to interact with remote pay
 *  adapters.
 */
/**
 * @constructor
 * @memberof remotepay
 */
var ICloverConnector = function() {
};


/**
 * If a signature is captured during a transaction, this method
 * accepts the signature as entered.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.VerifySignatureRequest} request
 * @return void
 */
ICloverConnector.prototype.acceptSignature = function(request) {
};

/**
 * If Payment confirmation is required during a transaction due to a Challenge,
 * this method accepts the Payment. A Challenge may be triggered by a
 * potential duplicate Payment or an offline Payment. For more information,
 * see {@link https://docs.clover.com/build/working-with-challenges/|Working with Challenges}.
 * @memberof remotepay.ICloverConnector
 *
 * @param {payments.Payment} payment
 * @return void
 */
ICloverConnector.prototype.acceptPayment = function(payment) {
};

/**
 * If Payment confirmation is required during a transaction due to a Challenge,
 * this method rejects the Payment. A Challenge may be triggered by a
 * potential duplicate Payment or an offline Payment. For more information,
 * see {@link https://docs.clover.com/build/working-with-challenges/|Working with Challenges}.
 * @memberof remotepay.ICloverConnector
 *
 * @param {payments.Payment} payment
 * @param {base.Challenge} challenge
 * @return void
 */
ICloverConnector.prototype.rejectPayment = function(payment, challenge) {
};

/**
 * Requests an Auth transaction. The tip for an Auth can be adjusted
 * through the TipAdjustAuth() call until the batch Closeout is processed.
 * Note: The MerchantInfo.SupportsAuths boolean must be set to true.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.AuthRequest} authRequest
 * @return void
 */
ICloverConnector.prototype.auth = function(authRequest) {
};

/**
 * Initiates a PreAuth transaction (a pre-authorization for a certain amount). This transaction
 * lets the merchant know whether the account associated with a card has sufficient funds,
 * without actually charging the card. When the merchant is ready to charge a final amount,
 * the POS will call CapturePreAuth() to complete the Payment.
 * Note: The MerchantInfo.SupportsPreAuths boolean must be set to true.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.PreAuthRequest} preAuthRequest
 * @return void
 */
ICloverConnector.prototype.preAuth = function(preAuthRequest) {
};

/**
 * Sends a "cancel" button press to the Clover device.
 * @deprecated - use {@link #invokeInputOption(InputOption)} or {@link #resetDevice()} instead.
 * @memberof remotepay.ICloverConnector
 *
 * @return void
 */
ICloverConnector.prototype.cancel = function() {
};

/**
 * Marks a PreAuth Payment for capture by a Closeout process. After a PreAuth is captured,
 * it is effectively the same as an Auth Payment.
 * Note: Should only be called if the request's PaymentID is from a PreAuthResponse.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.CapturePreAuthRequest} capturePreAuthRequest
 * @return void
 */
ICloverConnector.prototype.capturePreAuth = function(capturePreAuthRequest) {
};

/**
 * Sends a request to the Clover server to close out all transactions.
 * Note: The merchant account must be configured to allow transaction closeout.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.CloseoutRequest} closeoutRequest
 * @return void
 */
ICloverConnector.prototype.closeout = function(closeoutRequest) {
};

/**
 * Shows the customer-facing receipt option screen for the specified Payment.
 *
 * @deprecated - use #displayPaymentReceiptOptions(string orderId, string paymentId) instead.
 * @memberof remotepay.ICloverConnector
 *
 * @param {String} orderId
 * @param {String} paymentId
 * @return void
 */
ICloverConnector.prototype.showPaymentReceiptOptions = function(orderId, paymentId) {
};

/**
 * Displays the customer-facing receipt options (print, email, etc.) for a Payment on the Clover device.
 * @memberof remotepay.ICloverConnector
 *
 * @param {String} orderId
 * @param {String} paymentId
 * @return void
 */
ICloverConnector.prototype.displayPaymentReceiptOptions = function(orderId, paymentId) {
};

/**
 * Displays an Order and associated line items on the Clover device. Will replace an Order that is
 * already displayed on the device screen.
 * @memberof remotepay.ICloverConnector
 *
 * @param {order.DisplayOrder} order
 * @return void
 */
ICloverConnector.prototype.showDisplayOrder = function(order) {
};

/**
 * Removes the DisplayOrder object from the Clover device's screen.
 * @memberof remotepay.ICloverConnector
 *
 * @param {order.DisplayOrder} order
 * @return void
 */
ICloverConnector.prototype.removeDisplayOrder = function(order) {
};

/**
 * Notify device of a discount being added to the order. The discount will then reflect in the displayOrder.
 * Note: This is independent of a discount being added to a display line item.
 * @memberof remotepay.ICloverConnector
 *
 * @param {order.DisplayDiscount} discount
 * @param {order.DisplayOrder} order
 * @return void
 */
ICloverConnector.prototype.discountAddedToDisplayOrder = function(discount, order) {
};

/**
 * Notify device of a discount being removed to the order. The discount will then reflect in the displayOrder.
 * Note: This is independent of a discount being removed to a display line item.
 * @memberof remotepay.ICloverConnector
 *
 * @param {order.DisplayDiscount} discount
 * @param {order.DisplayOrder} order
 * @return void
 */
ICloverConnector.prototype.discountRemovedFromDisplayOrder = function(discount, order) {
};

/**
 * Notify device of a line item being added to the order. The line item will then reflect in the displayOrder.
 * Note: This is independent of a line item being added to a display line item.
 * @memberof remotepay.ICloverConnector
 *
 * @param {order.DisplayLineItem} lineItem
 * @param {order.DisplayOrder} order
 * @return void
 */
ICloverConnector.prototype.lineItemAddedToDisplayOrder = function(lineItem, order) {
};

/**
 * Notify device of a line item being removed to the order. The line item will then reflect in the displayOrder.
 * Note: This is independent of a line item being removed to a display line item.
 * @memberof remotepay.ICloverConnector
 *
 * @param {order.DisplayLineItem} lineItem
 * @param {order.DisplayOrder} order
 * @return void
 */
ICloverConnector.prototype.lineItemRemovedFromDisplayOrder = function(lineItem, order) {
};

/**
 * Disposes the connection to the Clover device. After this is called, the connection to the device is severed, and the
 * CloverConnector object is no longer usable. Instantiate a new CloverConnector object in order to
 * call initializeConnection().
 * @memberof remotepay.ICloverConnector
 *
 * @return void
 */
ICloverConnector.prototype.dispose = function() {
};

/**
 * Sends a keystroke to the Clover device that invokes an input option (e.g. OK, CANCEL, DONE, etc.) on the customer's behalf.
 * InputOptions are in the CloverDeviceEvent passed to onDeviceActivityStart().
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.InputOption} io
 * @return void
 */
ICloverConnector.prototype.invokeInputOption = function(io) {
};

/**
 * Initiates a Manual Refund transaction (a “Refund” or credit that is not associated with a previous Payment).
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.ManualRefundRequest} request
 * @return void
 */
ICloverConnector.prototype.manualRefund = function(request) {
};

/**
 * Refunds the full or partial amount of a Payment.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.RefundPaymentRequest} request
 * @return void
 */
ICloverConnector.prototype.refundPayment = function(request) {
};

/**
 * Opens the first cash drawer found connected to the Clover device. The reason for
 * opening the cash drawer must be set on OpenCashDrawerRequest.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.OpenCashDrawerRequest} request
 * @return void
 */
ICloverConnector.prototype.openCashDrawer = function(request) {
};

/**
 * Prints an image on paper receipts through the Clover Mini's built-in printer.
 * @deprecated: Use {@link #print()} instead.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.Img} bitmap
 * @return void
 */
ICloverConnector.prototype.printImage = function(bitmap) {
};

/**
 * Prints an image from the web on paper receipts through the Clover device's built-in printer.
 * @deprecated: Use {@link #print()} instead.
 * @memberof remotepay.ICloverConnector
 *
 * @param {String} imgUrl
 * @return void
 */
ICloverConnector.prototype.printImageFromURL = function(imgUrl) {
};

/**
 * Prints custom messages in plain text through the Clover Mini's built-in printer.
 * @deprecated: Use {@link #print()} instead.
 * @memberof remotepay.ICloverConnector
 *
 * @param {Array.<String>} messages An array of
 * @return void
 */
ICloverConnector.prototype.printText = function(messages) {
};

/**
 * Sends a print request using the PrintRequest object. Used to print
 * text, Bitmap image objects, and images from a URL using the specified
 * Clover-supported printer.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.PrintRequest} request
 * @return void
 */
ICloverConnector.prototype.print = function(request) {
};

/**
 * If a signature is captured during a transaction, this method
 * rejects the signature as entered.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.VerifySignatureRequest} request
 * @return void
 */
ICloverConnector.prototype.rejectSignature = function(request) {
};

/**
 * Sends a request to reset the Clover device back to the welcome screen. Can be used
 * when the device is in an unknown or invalid state from the perspective of the POS.
 * Note: This request could cause the POS to miss a transaction or
 * other information. Use cautiously as a last resort.
 * @memberof remotepay.ICloverConnector
 *
 * @return void
 */
ICloverConnector.prototype.resetDevice = function() {
};

/**
 * Requests a Sale transaction (purchase).
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.SaleRequest} request
 * @return void
 */
ICloverConnector.prototype.sale = function(request) {
};

/**
 * Displays a string-based message on the Clover device's screen.
 * @memberof remotepay.ICloverConnector
 *
 * @param {String} message
 * @return void
 */
ICloverConnector.prototype.showMessage = function(message) {
};

/**
 * Displays the thank you screen on the Clover device.
 * @memberof remotepay.ICloverConnector
 *
 * @return void
 */
ICloverConnector.prototype.showThankYouScreen = function() {
};

/**
 * Displays the welcome screen on the Clover device.
 * @memberof remotepay.ICloverConnector
 *
 * @return void
 */
ICloverConnector.prototype.showWelcomeScreen = function() {
};

/**
 * Adjusts the tip for a previous Auth transaction. This call can be made
 * until the Auth Payment has been finalized by a Closeout.
 * Note: Should only be called if the request's PaymentID is from an AuthResponse.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.TipAdjustAuthRequest} request
 * @return void
 */
ICloverConnector.prototype.tipAdjustAuth = function(request) {
};

/**
 * Asks the Clover device to capture card information and request a payment token
 * from the payment gateway. The payment token can be used for future
 * Sale and Auth requests in place of the card details. The
 * merchant account must be configured to allow payment tokens.
 * Note: The MerchantInfo.SupportsVaultCards boolean must be set to true.
 * Note: If the cardEntryMethods param is null, the default values (CARD_ENTRY_METHOD_MAG_STRIPE,
 * CARD_ENTRY_METHOD_ICC_CONTACT, and CARD_ENTRY_METHOD_NFC_CONTACTLESS)
 * will be used.
 * @memberof remotepay.ICloverConnector
 *
 * @param {Number} cardEntryMethods must be an integer
 * @return void
 */
ICloverConnector.prototype.vaultCard = function(cardEntryMethods) {
};

/**
 * Voids a transaction.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.VoidPaymentRequest} request
 * @return void
 */
ICloverConnector.prototype.voidPayment = function(request) {
};

/**
 * Initializes the connection and starts communication with the Clover device.
 * This method is called after the connector has been created and
 * listeners have been added to it. It must be called before any other method
 * (other than those that add or remove listeners).
 * @memberof remotepay.ICloverConnector
 *
 * @return void
 */
ICloverConnector.prototype.initializeConnection = function() {
};

/**
 * Retrieves a list of unprocessed Payments that were taken offline
 * and are pending submission to the server.
 * @memberof remotepay.ICloverConnector
 *
 * @return void
 */
ICloverConnector.prototype.retrievePendingPayments = function() {
};

/**
 * Requests card information (specifically Track 1 and Track 2 card data).
 * @see ICloverConnectorListener.onReadCardDataResponse(ReadCardDataResponse)
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.ReadCardDataRequest} request
 * @return void
 */
ICloverConnector.prototype.readCardData = function(request) {
};

/**
 * Sends a message to a Custom Activity running on a Clover device.
 * @see ICloverConnectorListener.onMessageFromActivity(MessageFromActivity)
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.MessageToActivity} request
 * @return void
 */
ICloverConnector.prototype.sendMessageToActivity = function(request) {
};

/**
 *  Starts a Custom Activity on the Clover device.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.CustomActivityRequest} request
 * @return void
 */
ICloverConnector.prototype.startCustomActivity = function(request) {
};

/**
 * Sends a message requesting the current status of the Clover device.
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.RetrieveDeviceStatusRequest} request
 * @return {Null}
 */
ICloverConnector.prototype.retrieveDeviceStatus = function(request) {
    return null;
};

/**
 * Requests the Payment information associated with the externalPaymentId passed in.
 * Only valid for Payments made in the past 24 hours on the Clover device queried.
 * @see ICloverConnectorListener.onRetrievePaymentResponse(RetrievePaymentResponse)
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.RetrievePaymentRequest} request
 * @return void
 */
ICloverConnector.prototype.retrievePayment = function(request) {
};

/**
 * Queries available printers attached to the Clover device using the RetrievePrintersRequest object.
 * @see ICloverConnectorListener.onRetrievePrintersResponse(RetrievePrintersResponse)
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.RetrievePrintersRequest} request
 * @return void
 */
ICloverConnector.prototype.retrievePrinters = function(request) {
};

/**
 * Queries the status of a print job.
 * @see ICloverConnectorListener.onPrintJobStatusResponse(PrintJobStatusResponse)
 * @memberof remotepay.ICloverConnector
 *
 * @param {remotepay.PrintJobStatusRequest} request
 * @return void
 */
ICloverConnector.prototype.retrievePrintJobStatus = function(request) {
};


//
// Expose the module.
//
if ('undefined' !== typeof module) {
    module.exports = ICloverConnector;
}