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) {
};

/**
* 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) {
};

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

/**
* 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) {
};

/**
* 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) {
};

/**
* Register an interest in receiving customer provided data.
* @memberof remotepay.ICloverConnector
*
* @param {remotepay.RegisterForCustomerProvidedDataRequest} request 
* @return void
*/
ICloverConnector.prototype.registerForCustomerProvidedData = function(request) {
};

/**
*
* @memberof remotepay.ICloverConnector
*
* @param {remotepay.SetCustomerInfoRequest} request 
* @return void
*/
ICloverConnector.prototype.setCustomerInfo = function(request) {
};


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