/**
* 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) {
};
/**
* Increases the total authorized amount of an open PreAuth by the amount increment passed into the request.
* @memberof remotepay.ICloverConnector
*
* @param {remotepay.IncrementPreAuthRequest} incrementPreauthRequest
* @return void
*/
ICloverConnector.prototype.incrementPreAuth = function(incrementPreauthRequest) {
};
/**
* 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) {
};
/**
* Display receipt options for a Credit, Refund, or Payment
* @param request The request details
* @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) {
};
/**
* Check the balance on a card, if card supports balance inquiry
* @param request
* @memberof remotepay.ICloverConnector
*
* @param {remotepay.CheckBalanceRequest} request
* @return void
*/
ICloverConnector.prototype.checkBalance = function(request) {
};
/**
* Launch customer facing signature screen to collect a signature
* @param request
* @memberof remotepay.ICloverConnector
*
* @param {remotepay.SignatureRequest} request
* @return void
*/
ICloverConnector.prototype.requestSignature = function(request) {
};
/**
* Launch customer facing tip screen to request a tip amount
* @param request
* @memberof remotepay.ICloverConnector
*
* @param {remotepay.TipRequest} request
* @return void
*/
ICloverConnector.prototype.requestTip = function(request) {
};
//
// Expose the module.
//
if ('undefined' !== typeof module) {
module.exports = ICloverConnector;
}