Cloud Controlled Payment Device Setup

Table of Contents


Cloud Payment Device Controller or Cloud PDC is a cloud-based payment device driver and control service. It is most useful, when IP based control over the payment device is desired and Local Store&Forward functionality is not needed or provided by the device itself.

The chain of command, when using PDC, is as follows:

  1. Point of Sale (POS) communicates with Cloud PDC
  2. Cloud PDC communicated with the Payment Terminal
  3. Cloud PDC communicates with Cloud9 Payment Gateway (C9PG)
  4. C9PG communicates with Processors/Clearing Houses.

In this way, POS does not need to exercise low level payment terminal level control, using specific API of the payment terminal manufacturer. It is an elegant solution to abstract the complexity of direct payment terminal integration

Payment Device Firmware Setup

See Payment Device Firmware Setup Guide

Payment Device C9PG registration

The registration C9PG API is illustrated under Cloud PDC Section.


Test Environment

Production Environment

Required Fields

GMID: Gateway Merchant ID from the Gateway Setup

SN: Serial Number from the bottom of the payment device.

TransType: Register

Optional Field (Recommended)

GTID: Gateway Terminal ID. You can use a pre-created C9PG Terminal GTID to link it the existing C9PG Terminal Node. It is recommended that you supply your own GTID, after creating a new Terminal for your Merchant Account.  This will attach the payment device to the UI Terminal node.

If you do not supply this parameter, a GTID will be created for you and provided in the return packet (see below).

C9PG Portal Terminal Node

Supplying your own GTID from the C9PG Terminal node ensures easy support in the future.


{ "GMID": "1110222484", "GTID": "GT1120095178", "TransType": "Register", "SN": "15297PP12345678" }


{ "AuthDate": "20200519", "AuthTime": "121546", "ErrorCode": "100", "ErrorText": "No Error", "GMID": "1110222484", "GTID": "GT1120095178", "GMPW": "GMPW1001396467", "ResponseCode": "00", "ResponseText": "No Error", "ResultCode": "100", "ResultText": "No Error", "SN": "12345678", "SignatureData": "", "Status": "success" }
Scroll to Top