C Languages API Documentation

From Cloud9 Payment Processing Gateway Documentation
Jump to: navigation, search

Cloud9 Payment Gateway Documentation. This site can also be reached at http://docs.cloud9paymentgateway.com

Step One

Please, review the Developer Guide to determine the best integration approach, before diving into the API Documentation below.

Online API Documentation

Cloud9 Payment Gateway Documentation

Please, see Payment Gateway C-languages Documentation

JSON Sandbox

Online Documentation: C9 API Documentation & Sandbox
We recommend that you browse through the API intro below, first.

REQUIRED LIBRARIES plus Live Sample and Source Code

Windows Development Environment is contained in the Windows Integration Samples
NOTE: It is highly recommended that you use the live Windows Integration Samples, which have real time source code windows to help you understand the API.


The library has two basic elements:

Client can either connect directly to
a)Cloud9 Server Payment Web Controller (PWC) - this is a good option is local hardware payment terminals are not used
b)Local Payment Device Controller (PDC), which controls the payment terminal.
Payment Processing Transaction Session
an object that holds description of the transaction and it's result. There is one transaction per session

Connection Types

  1. Payment Device Controller (PDC) Connection:Connects to the local device driver - wss://localhost:5556/
    Advantage: Offline Store & Forward Capability
    Disadvantage: Needs local software install
    Main Cloud9 Payment Processing Gateway Integration Diagram
  2. Web Based Payment Device Controller (PWC):Connects directly to the Cloud9 server - https://testlink.c9pg.com:5558/hj
    Advantage: No local software required, unlimited cross platform capability
    Disadvantage: No Offline Store & Forward Capability

    Cloud9 PWC Direct Integration Diagram

Basic Flow

  1. Initialize
  2. Connect
    repeat as many times as necessary
  3. Create New Transaction Session
  4. Set Transaction Parameters (uses simple Set String and Set Value commands)
  5. Send Transaction Request
  6. Get Transaction Response (uses simple Get String and Get Value commands)
  7. Close the Session
    go back to create a new transaction session, if more transactions needed
  8. Disconnect

Detailed Flow with C Examples

  1. Initialize the library
  2. Connect to the Payment Web Controller (PWC - direct Cloud9 Server connection) or local Payment Device Controller (PDC) Server
    1. Create Connection Handle
      int nConn = PgcNewConn(PGC_SVC_C9PG_PDC, "Name", "Token", PGC_TIMEO_TXN_UI, "PgcSample", ""); //USE PGC_SVC_C9PG_PWE_TEST for PWE
    2. Open the Connection, specified by Connection Handle
      int nErr = PgcConnect(nConn);
  3. Create New Transaction Session
    int nSess = PgcNewSess(nConn, 1);
  4. Set Session Parameters
    1. Set MID/TID/PWD
      PgcSetStr(nSess, 0, PGC_GWKEY_GMID, "1001396250"); // Gateway merchant ID
      PgcSetStr(nSess, 0, PGC_GWKEY_GTID, "GT1001396253"); // Gateway terminal ID
      PgcSetStr(nSess, 0, PGC_GWKEY_GMPW, "123"); // Gateway merchant password
    2. Set Transaction Type
      PgcSetStr(nSess, 0, PGC_GWKEY_TXNACT, PGC_GWVAL_TXNACT_AUTH); // Transaction action type -> authorization
    3. Set Transaction Medium (e.g. Credit Card)
      PgcSetStr(nSess, 0, PGC_GWKEY_MDM, PGC_GWVAL_MDM_CREDIT); // Payment medium -> credit card
    4. Set Transaction Parameters (e.g. Amount, Tax, Trace#)
      PgcSetAmt(nSess, 0, PGC_GWKEY_MAINAMT, 123); // Main amount -> $1.23
      PgcSetAmt(nSess, 0, PGC_GWKEY_INCTAXAMT, 8); // Included tax amount -> $0.08
      PgcSetStr(nSess, 0, PGC_GWKEY_SRCTRACENUM, "123456"); // Source trace number; will be returned for matching
  5. Send Transaction Request
    int nErr = PgcRequest(nSess);
  6. Get Transaction Response and Approval Code
    PgcGetStr(nSess, 0, PGC_GWKEY_STATUS, sStatus, 256); // Transaction status, indicating if it is successful
    PgcGetStr(nSess, 0, PGC_GWKEY_RSPCODE, sRspCode, 256); // Response code returned from the host
    PgcGetStr(nSess, 0, PGC_GWKEY_RSPTEXT, sRspText, 256); // Response text returned from the host
    PgcGetStr(nSess, 0, PGC_GWKEY_AUTHCODE, sAuthCode, 256); // Auth code
  7. Close the Transaction Session
  8. Disconnect from Server
    PgcDisconnect(nConn); // Disconnecting from the controller; will be called automatically upon closing
    PgcFreeConn(nConn); // Closing connection to the controller; called once per connection
  9. Un-Initialize
    PgcUninit("PgcSample"); // Uninitializing library; called once per application upon exit

Using API Documentation

  • There are two main files of interest:
contains functions
contains parameter definitions for the key pairs

You can use the File List and File Member functions like so, to get more detail on what is available.
You can also use Search to find a function



This is how you can browse the parameter definitions


Cloud9 Payment Gateway Documentation

Please, see Payment Gateway C-languages Documentation

From the makers of Cloud9 Payment Processing Gateway and Creditline Credit Card Processing Software