CloverConnector  4.0.5
Copyright (C) 2018 Clover Network, Inc.

Semi-Integration with Clover

Integrate your hardware and software with Clover’s hardware and software, making your point-of-sale EMV compliant quickly and easily. Clover’s secure semi-integration solution allows your existing point-of-sale software to accept EMV-ready, PCI-compliant payments, as part of a customer-facing experience that enhances the POS and handles all payment acceptance tasks.

ISVs can integrate with Clover Minis, Mobiles, and Stations and engage in a payments-as-a-service model. When you integrate with Clover, your point-of-sale can become EMV compliant quickly and easily. We currently offer integration with devices suited for brick-and-mortar locations, as well as a developer preview of mobile SDK libraries that work for BYOD scenarios.

ISVs who semi-integrate with third-party hardware will use our high-level SDKs to send messages to and receive messages from a Clover device. Keep your merchants satisfied with the system they’re used to, and let us take the hassle of EMV compliance away from you. After integrating with us, the Clover device becomes a plug-and-play solution for your merchant base.

If you have an existing POS with a strong merchant base and are looking for the fastest way to make that system EMV compliant, then this is probably the best option for you. Other scenarios where semi-integration is a good choice include:

  • You have a sophisticated system from which it is difficult to move away
  • You have a strong brand with which your merchants identify
  • You have a POS system which requires specialized hardware *

Quick Start

The core communication with a Clover Payment Device via the Clover Connector SDK is issuing commands through a CloverConnector created through the API and receiving messages back through an ICloverConnectorListener interface implemented in the calling software.

For example, to accept a payment from a customer, call CloverConnector.Sale(request);, this will start the appropriate payment flow of screens on the Clover Payment Device. When the payment is completed, the ICloverConnectorListener.SaleResponse(...) interface method will be called with the sale's results.

For convenience, and to avoid implementing the full ICloverConnectorListener with all the details, the API contains two convenience wrappers.

The CloverEventConnector wraps the CloverConnector and CloverConnectorListener in an event model. You can subscribe to the generic Message event and/or to the interesting individual response events to receive event signals rather than interface calls. All CloverConnector calls can be made to the CloverEventConnector object, and all messages can come back through the CloverEventConnector events. This can be especially convenient for small applications or for organizations that prefer the event model.

The DefaultCloverConnectorListener is an abstract base class that implements the ICloverConnectorListener. You can derive from this class and override the interface calls that you are interested in without having to implement the full ICloverConnectorListener interface. This can be convenient for organizations that do not like the event model.


  • Always start with a Transport (USB, WebService, etc.) Configuration object
  • Call the CloverConnectorFactory to create the proper CloverConnector Object
  • Use a convenience wrapper or directly implement the ICloverConnectorListener in application code
  • Attach/Subscribe the ICloverConnectorListener by calling CloverConnector.AddCloverConnectorListener(...)
  • Call CloverConnector.InitializeConnection() to start communicating with the device

Getting the Bits

There are three sources to get the CloverConnector API binaries.

The C# source code is available on Clover's GitHub Project and can be read, altered, and built to your needs. The .NET binary assemblies and USB drivers are available as Releases in Clover's GitHub Project The .NET binary assemblies are available as a NuGet Reference for convenient dependency management:

Install-Package Clover.RemotePayWindows -Version 3.0.2