JSON API Documentation
Cloud9 Payment Gateway Documentation. This site can also be reached at http://docs.cloud9paymentgateway.com
Contents
Step One
Please, review the Developer Guide to determine the best integration approach, before diving into the API Documentation below.
Full JSON/SOAP Documentation
→ Please, see Full SOAP/JSON API Documentation
See below for a good intro to the API with some examples.
Elements
The library has two basic elements:
- Connection
- 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. - Name/Value Pair
Connection Types
- Payment Device Controller (PDC) Connection:Connects to the local device driver - wss://localhost:5556/
Advantage: Offline Store & Forward Capability
Disadvantage: Needs local software install - 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
Basic Transaction
{ // REQUEST
"GMID":"10XXXXXX50", // Gateway Merchant ID "GTID":"GTXXXXXXX53", // Gateway Terminal ID "GMPW":"XXX", // Gateway Password "TransType":"Auth", // Transaction Type "Medium":"Credit", // Transaction Medium (Credit=Credit Card) "MainAmt":"123", // Amount "IncTaxAmt":"56", // Tax Amount "SourceTraceNum":"123456" // Trace Number
}
{ // RESPONSE
"Status": "success", // Response Status "ResponseCode": "00", // Response Code "AuthCode": "12345A" // Authorization Approval Code
}
Core Key Names / Commands
Value | Explanation |
---|---|
GMID | Gateway Merchant ID |
GTID | Gateway Terminal ID |
GMPW | Gateway Account Password |
TransType | Transaction Type |
Medium | Transaction Medium (e.g. Credit Card/Debit Card/etc) |
MainAmt | Main Transaction Amount |
IncTaxAmt | Tax Amount |
SourceTraceNum | Merchant Transaction Trace Number |
IncTaxAmt | Tax Amount |
InvoiceNum | Invoice Number |
OrderNum | Order Number |
VoucherNum | Voucher Number |
AdditionalInfo | Additional Transaction Info |
AccountNum | Account Number (optional - only needed if PDC is not used to control the payment terminal) |
ExpDate | Expiration Date (optional - only needed if PDC is not used to control the payment terminal) |
Track1 | Track1 of Card (optional - only needed if PDC is not used to control the payment terminal) |
Track2 | Track2 of Card (optional - only needed if PDC is not used to control the payment terminal) |
PinData | Pin Data for Debit (optional - only needed if PDC is not used to control the payment terminal) |
CardPresent | Sets the Card Present Indicator (optional) |
EntryMode (optional) | Entry Mode |
Core Values
TransType - Transaction Type Command
Value | Explanation |
---|---|
Auth | Authorization. Authorization is a non-finalized transaction that is used in a tip environment. Add tip to finalize. Only finalized transactions are batched/settled |
Sale | Sale. Sale is a finalized transaction that will be included in the next batch/settlement |
AddTip | Adds Tip to an Auth, finalizing it and getting it ready to be batched/settled |
Modify | Modifies a transaction, also finalizing it and getting it ready to be batched/settled |
Finalize | Finalizes Authorization and turns then into Sale, getting it ready to be batched/settled |
Void | Voids a transaction |
Refund | Refunds a transaction |
Inquiry | Debit, Credit or Gift Card Card Balance Inquiry |
Activate | Activate a Gift Card |
AddValue | Add Value to a Gift Card |
Deactivate | Deactivate a Gift Card |
Medium - Processing Medium Command
Value | Explanation |
---|---|
Credit | Credit Card |
Debit | Debit Card |
Gift | Prepaid |
Prepaid | Prepaid Card |
EBTCash | EBT Cash |
EBTFood | EBT Food |
Boolean Values
Value | Explanation |
---|---|
Y | True or Yes |
N | False or No |
Live Sample Companion
→ NOTE: It is highly recommended that you use the live Integration Samples, which has real time source code windows to help you understand the API.
You can see the JSON Payload at the bottom of the page, for reference.
SOAP
Here is an example of SOAP Request and Response
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sof="http://www.911software.com/"> <soapenv:Header/> <soapenv:Body> <sof:Request> <Request> <Config> <GMID>03</GMID> <GTID>03</GTID> <GMPW>03</GMPW> <AllowsPartialAuth>N</AllowsPartialAuth> </Config> <Action> <TransType>Void</TransType> <IsOffline>N</IsOffline> </Action> <Trace> <SourceTraceNum>000014</SourceTraceNum> <GTRC>abb12a0bee0f4923b6e627a6cb72b774</GTRC> </Trace> <NeedSwipCard>Y</NeedSwipCard> </Request> </sof:Request> </soapenv:Body> </soapenv:Envelope>
Source C Documentation
You might find Payment Gateway C-languages Documentation useful, if you would like to explore the source for JSON interface (see PgcKey.h file for definitions)
From the makers of Cloud9 Payment Processing Gateway and Creditline Credit Card Processing Software