Configuring a cloud connection

Prerequisites

The merchant must:

  • Install your POS app.
    —and—
  • Complete the OAuth flow so your app has the bearer token needed to authenticate your requests.

Installing the Cloud Pay Display app

A cloud connection requires that your merchant's device run the Cloud Pay Display app. You can install this app either from the web dashboard or on the device.

Install from the web dashboard

  1. Log in to the merchant dashboard.
  2. On the sidebar, click More Tools, and then click Apps By Clover.
  3. In the search bar, enter cloud.
  4. Click the Cloud Pay Display result.
  5. On the Cloud Pay Display page, click Connect.
    The app is automatically downloaded and installed on all the merchant's devices.

Install on the device

  1. On the home screen, tap More Tools.
  2. Tap the magnifying glass icon, and enter cloud.
  3. Tap the Cloud Pay Display result.
  4. On the Cloud Pay Display page, tap Connect.
  5. On the Install Cloud Pay Display page, tap Connect.
    The app is automatically downloaded and installed on all the merchant's devices.

Start the app

The Cloud Pay Display app must be running to accept requests from your POS app.
To start the app:

  1. On the home screen, tap Cloud Pay Display.
  2. Tap Start.
    The welcome screen appears.

Building a request

A cloud request is built using these components:

  • Environment- and region-specific base URL
  • Required headers (X-Clover-Device-Id and X-POS-ID)
  • Resource (endpoint) in use
  • Request body

For PCI compliance, all requests must be made using a secure (HTTPS) connection.

Example requests

Display a message on the device:

var request = require("request");

var options = {
  method: 'POST',
  url: 'https://sandbox.dev.clover.com/connect/v1/device/display',
  headers: {
    accept: 'application/json',
    'x-clover-device-id': 'deviceSerialNumber',
    'x-pos-id': 'MyPOS',
    'content-type': 'application/json',
    authorization: 'Bearer OauthToken'
  },
  body: '{"text":"A message to show on the device","beep":true}'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

Did this page help you?