Difference between revisions of "JSON API Documentation"

From Cloud9 Payment Processing Gateway Documentation
Jump to: navigation, search
(Sample Working JSON)
(JSON Schema)
 
(31 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Template:C9Header|JSON API Documentation}}
 
{{Template:C9Header|JSON API Documentation}}
=Step One=
 
Please, review the '''[[Payment_Processing_Developer_Guide|Developer Guide]]''' to determine the best integration approach, before diving into the API Documentation below.
 
  
 +
<br>
 +
'''ALL API is COPYRIGHT by 911 Software, INC 2019'''
 +
<br>
 
=API DOCUMENTATION=
 
=API DOCUMENTATION=
 +
==Executable Sandbox==
 +
* '''[http://apidocs.c9pg.com  C9PG JSON API Documentation, Sandbox, Demo and Test Suite (Swagger)]'''
 +
<br> Note: the API Sandbox contains a fair number of samples, but for complete API please refer to '''[http://cloud9paymentgateway.com/docs/API/JSON/  C9PG JSON API Documentation PDF]'''
  
&rarr; ''' [http://cloud9paymentgateway.com/docs/API/JSON/  Full SOAP/JSON API Documentation]
+
===JSON Schema===
 +
[[image:swagger_schema.jpg|none|thumb|750px|You can click on Schema to reveal the JSON schema for the operation.|link=http://apidocs.c9pg.com]]<br>
 +
 
 +
===Executable API===
 +
[[image:swagger.jpg|none|thumb|750px|You can click on any API, such as SALE, then "Try It Out" and "Execute" to run the transaction against a test server.|link=http://apidocs.c9pg.com]]<br>
 +
 
 +
==PDF Documentation==
 +
* '''[http://cloud9paymentgateway.com/docs/API/JSON/  C9PG JSON API Documentation PDF]'''
  
 
See below for a good intro to the API with some examples.
 
See below for a good intro to the API with some examples.
 +
 +
= C9PG Portal Access =
 +
Please [http://cloud9paymentgateway.com/contact/ contact us to get access to the portal for the above Sandbox]
  
 
=Sample Working JSON=
 
=Sample Working JSON=
 +
While we supply a complete sandbox [http://apidocs.c9pg.com here], where you can test various API,<br>
 +
you can also try out the examples below, using any free testing tool, such as [https://www.getpostman.com/ Postman]
 +
[[image:postman1.jpg|none|thumb|750px|POSTMAN Cloud9 JSON Sample Screenshot|link=https://www.getpostman.com/]]<br>
 +
 
==Request==
 
==Request==
POST to URL: <code>https://link.c9pg.com:11911/restApi</code>
+
POST to URL: <code>https://testlink.c9pg.com:11911/restApi</code>
 +
===Sale===
 +
<code>
 +
{
 +
  "GMID": "1110222484",
 +
  "GTID": "GT1120095178",
 +
  "GMPW": "GMPW3010300378",
 +
  "TransType": "Sale",
 +
  "Medium": "Credit",
 +
  "AccountNum": "4788250000028291",
 +
  "ExpDate": "1222",
 +
  "MainAmt": "1001",
 +
  "TipAmt": "212",
 +
  "IncTaxAmt": "153",
 +
  "EntryMode": "Manual",
 +
  "NeedSwipeCard": "N"
 +
}
 +
</code>
  
 +
or another example of request:
 +
 +
===Card Authentication (Verify)===
 
<code>
 
<code>
 
{
 
{
<br>"GMID": "1511093260",
+
 
<br>"GTID": "GT1521035963",
+
  "GMID": "1110222484",
<br>"GMPW": "GMPW3010024515",
+
  "GTID": "GT1120095178",
<br>"TransType": "Sale",
+
  "GMPW": "GMPW3010300378",
<br>"Medium": "Credit",
+
  "TransType": "Verify",
<br>"AccountNum": "4788250000028291",
+
  "Medium": "Credit",
<br>"CustomerAddress": "8320",
+
  "AccountNum": "4788250000028291",
<br>"CustomerZipCode": "85284",
+
  "ExpDate": "1222",
<br>"CVVNum": "999",
+
  "MainAmt": "0",
<br>"ExpDate": "1222",
+
  "EntryMode": "Manual",
<br>"MainAmt": "100",
+
  "CardPresent": "N"
<br>"TipAmt": "212",
 
<br>"IncTaxAmt": "153",
 
<br>"EntryMode": "Manual",
 
<br>"NeedSwipeCard": "N"
 
 
}
 
}
<br>}
 
 
</code>
 
</code>
  
 
==Response==
 
==Response==
 +
You will receive an appropriate response in JSON format. Here is an example
 +
 
<code>
 
<code>
{"AVSResultCode":"Y","AccountNum":"478825******8291","AuthAmt":"312","AuthCode":"TAS246","AuthDate":"20190514","AuthTime":"164509","Brand":"Visa","CVVResultCode":"M","EntryMode":"Manual","ErrorCode":"000","ErrorText":"EXACT MATCH    ","ExpDate":"1222","GMID":"1511093260","GMPW":"GMPW3010024515","GTID":"GT1521035963","GTRC":"02c30bb676f14418876666bda2691be9","Medium":"Credit","MerchantAddr":"265 S Federal Hwy","MerchantCity":"Deerfield Beach","MerchantName":"Main Profit Center","MerchantPhoneNum":"5613929606","MerchantState":"Florida","MerchantZip":"33441","NewRecordCreated":"Y","ProcessorID":"40203","ResponseCode":"00","ResponseText":"EXACT MATCH    ","ResultCode":"000","ResultText":"EXACT MATCH     ","Status":"success","TipAmt":"212","TransType":"Sale","TransactionIdentifier":"000000000198667","SESSIONID":"Web{15173afe-5013-4df8-b74c-ec450155ba75}_1557866709305"}
+
{
 +
    "AVSResultCode": "0",
 +
    "AccountNum": "478825******8291",
 +
    "AuthAmt": "1213",
 +
    "AuthCode": "TAS701",
 +
    "AuthDate": "20191010",
 +
    "AuthTime": "050209",
 +
    "Brand": "Visa",
 +
    "ErrorCode": "000",
 +
    "ErrorText": "APPROVAL TAS701 ",
 +
    "ExpDate": "1222",
 +
    "GMID": "1110222484",
 +
    "GMPW": "GMPW3010300378",
 +
    "GTID": "GT1120095178",
 +
    "GTRC": "194baa7ad35b4daea69879c94a3a9898",
 +
    "MainAmt": "1001",
 +
    "Medium": "Credit",
 +
    "MerchantAddr": "265 S Federal Hwy",
 +
    "MerchantCity": "Deerfield Beach",
 +
    "MerchantName": "TSYS Test",
 +
    "MerchantPhoneNum": "5613929606",
 +
    "MerchantState": "FL",
 +
    "MerchantZip": "33441",
 +
    "NewRecordCreated": "Y",
 +
    "ProcessorID": "40203",
 +
    "ResponseCode": "00",
 +
    "ResponseText": "APPROVAL TAS701 ",
 +
    "ResultCode": "000",
 +
    "ResultText": "APPROVAL TAS701 ",
 +
     "SESSIONID": "Web{a6270e3e-d488-4243-a46f-d8740d3e725d}_1570698127640",
 +
    "Status": "success",
 +
    "TipAmt": "212",
 +
    "TransType": "Sale",
 +
    "TransactionIdentifier": "000000000234399"
 +
}
 
</code>
 
</code>
  
Line 50: Line 119:
 
=Connection Types=
 
=Connection Types=
 
{{Template:ConnectionTypes}}
 
{{Template:ConnectionTypes}}
 
=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=
 
=Core Key Names / Commands=
Line 94: Line 144:
 
|-
 
|-
 
|IncTaxAmt
 
|IncTaxAmt
|Tax Amount
+
|Tax Amount - Required for Corporate Cards to avoid downgrades
 
|-
 
|-
 
|SourceTraceNum
 
|SourceTraceNum
 
|Merchant Transaction Trace Number
 
|Merchant Transaction Trace Number
|-
 
|IncTaxAmt
 
|Tax Amount
 
 
|-
 
|-
 
|InvoiceNum
 
|InvoiceNum
Line 213: Line 260:
 
|False or No
 
|False or No
 
|}
 
|}
 
=Live Sample Companion=
 
&rarr; '''NOTE:''' It is '''highly recommended''' that you use the live '''[[Windows_Integration_Samples|Integration Samples]]''', which has real time source code windows to help you understand the API.
 
<br>'''You can see the JSON Payload at the bottom of the page, for reference.'''
 
[[image:cloud9api.jpg|none|thumb|750px|API Sample Screenshot|link=Windows_Integration_Samples]]<br>
 
  
  
=Source C Documentation=
 
You might find '''[http://cloud9paymentgateway.com/docs/API  Payment Gateway C-languages Documentation]''' useful, if you would like to explore the source for JSON interface (see PgcKey.h file for definitions)
 
 
{{Template:C9Footer|Integration}}
 
{{Template:C9Footer|Integration}}

Latest revision as of 21:44, 19 February 2020




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


ALL API is COPYRIGHT by 911 Software, INC 2019

API DOCUMENTATION

Executable Sandbox


Note: the API Sandbox contains a fair number of samples, but for complete API please refer to C9PG JSON API Documentation PDF

JSON Schema

You can click on Schema to reveal the JSON schema for the operation.

Executable API

You can click on any API, such as SALE, then "Try It Out" and "Execute" to run the transaction against a test server.

PDF Documentation

See below for a good intro to the API with some examples.

C9PG Portal Access

Please contact us to get access to the portal for the above Sandbox

Sample Working JSON

While we supply a complete sandbox here, where you can test various API,
you can also try out the examples below, using any free testing tool, such as Postman

POSTMAN Cloud9 JSON Sample Screenshot

Request

POST to URL: https://testlink.c9pg.com:11911/restApi

Sale

{

 "GMID": "1110222484",
 "GTID": "GT1120095178",
 "GMPW": "GMPW3010300378",
 "TransType": "Sale",
 "Medium": "Credit",
 "AccountNum": "4788250000028291",
 "ExpDate": "1222",
 "MainAmt": "1001",
 "TipAmt": "212",
 "IncTaxAmt": "153",
 "EntryMode": "Manual",
 "NeedSwipeCard": "N"

}

or another example of request:

Card Authentication (Verify)

{

 "GMID": "1110222484",
 "GTID": "GT1120095178",
 "GMPW": "GMPW3010300378",
 "TransType": "Verify",
 "Medium": "Credit",
 "AccountNum": "4788250000028291",
 "ExpDate": "1222",
 "MainAmt": "0",
 "EntryMode": "Manual",
 "CardPresent": "N"

}

Response

You will receive an appropriate response in JSON format. Here is an example

{

   "AVSResultCode": "0",
   "AccountNum": "478825******8291",
   "AuthAmt": "1213",
   "AuthCode": "TAS701",
   "AuthDate": "20191010",
   "AuthTime": "050209",
   "Brand": "Visa",
   "ErrorCode": "000",
   "ErrorText": "APPROVAL TAS701 ",
   "ExpDate": "1222",
   "GMID": "1110222484",
   "GMPW": "GMPW3010300378",
   "GTID": "GT1120095178",
   "GTRC": "194baa7ad35b4daea69879c94a3a9898",
   "MainAmt": "1001",
   "Medium": "Credit",
   "MerchantAddr": "265 S Federal Hwy",
   "MerchantCity": "Deerfield Beach",
   "MerchantName": "TSYS Test",
   "MerchantPhoneNum": "5613929606",
   "MerchantState": "FL",
   "MerchantZip": "33441",
   "NewRecordCreated": "Y",
   "ProcessorID": "40203",
   "ResponseCode": "00",
   "ResponseText": "APPROVAL TAS701 ",
   "ResultCode": "000",
   "ResultText": "APPROVAL TAS701 ",
   "SESSIONID": "Web{a6270e3e-d488-4243-a46f-d8740d3e725d}_1570698127640",
   "Status": "success",
   "TipAmt": "212",
   "TransType": "Sale",
   "TransactionIdentifier": "000000000234399"

}

Test Cards and Amounts

Aside from the example above, only specific account numbers, AVS, CVV and amounts will result in approvals
Please, see TSYS Test Account

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

  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

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 - Required for Corporate Cards to avoid downgrades
SourceTraceNum Merchant Transaction Trace Number
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






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