|
|
(17 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| {{Template:C9Header|API Documentation}} | | {{Template:C9Header|API Documentation}} |
− | =Step One=
| + | <br> |
− | Please, review the '''[[Payment_Processing_Developer_Guide|Developer Guide]]''' to determine the best integration approach, before diving into the API Documentation below.
| + | &rarrn; '''ALL API is COPYRIGHT by 911 Software, INC 2019''' |
| + | <br> |
| | | |
− | ==Elements== | + | =RESTful JSON & HTML API Documenation <- RECOMMENDED!= |
− | The library has two basic elements:
| + | <br> |
− | ;Connection:Client can either connect directly to<br>a)Cloud9 Server Payment Web Controller (PWC) - this is a good option is local hardware payment terminals are not used<br>b)Local Payment Device Controller (PDC), which controls the payment terminal.
| + | See [[JSON API Documentation]] |
− | ;Payment Processing Transaction Session:an object that holds description of the transaction and it's result. There is one transaction per session
| + | <br> |
− | | |
− | ==Basic Flow==
| |
− | #Initialize
| |
− | #Connect <br><code>repeat as many times as necessary</code>
| |
− | #Create New Transaction Session
| |
− | #Set Transaction Parameters (uses simple Set String and Set Value commands)
| |
− | #Send Transaction Request
| |
− | #Get Transaction Response (uses simple Get String and Get Value commands)
| |
− | #Close the Session<br><code>go back to create a new transaction session, if more transactions needed</code>
| |
− | #Disconnect
| |
− | | |
− | ==Detailed Flow with C Examples==
| |
− | #'''Initialize the library'''<br><code>PgcInit("PgcSample");</code>
| |
− | #'''Connect to the Payment Web Controller (PWC - direct Cloud9 Server connection) or local Payment Device Controller (PDC) Server'''
| |
− | ##Create Connection Handle<br><code>int nConn = PgcNewConn(PGC_SVC_C9PG_PDC, "Name", "Token", PGC_TIMEO_TXN_UI, "PgcSample", ""); //USE PGC_SVC_C9PG_PWE_TEST for PWE</code>
| |
− | ##Open the Connection, specified by Connection Handle<br><code>int nErr = PgcConnect(nConn);</code>
| |
− | #'''Create New Transaction Session'''<br><code>int nSess = PgcNewSess(nConn, 1);</code>
| |
− | #'''Set Session Parameters'''
| |
− | ##Set MID/TID/PWD<br><code>PgcSetStr(nSess, 0, PGC_GWKEY_GMID, "1001396250"); // Gateway merchant ID<br>PgcSetStr(nSess, 0, PGC_GWKEY_GTID, "GT1001396253"); // Gateway terminal ID<br>PgcSetStr(nSess, 0, PGC_GWKEY_GMPW, "123"); // Gateway merchant password</code>
| |
− | ##Set Transaction Type<br><code>PgcSetStr(nSess, 0, PGC_GWKEY_TXNACT, PGC_GWVAL_TXNACT_AUTH); // Transaction action type -> authorization</code>
| |
− | ##Set Transaction Medium (e.g. Credit Card)<br><code>PgcSetStr(nSess, 0, PGC_GWKEY_MDM, PGC_GWVAL_MDM_CREDIT); // Payment medium -> credit card</code>
| |
− | ##Set Transaction Parameters (e.g. Amount, Tax, Trace#)<br><code>PgcSetAmt(nSess, 0, PGC_GWKEY_MAINAMT, 123); // Main amount -> $1.23<br>PgcSetAmt(nSess, 0, PGC_GWKEY_INCTAXAMT, 8); // Included tax amount -> $0.08<br>PgcSetStr(nSess, 0, PGC_GWKEY_SRCTRACENUM, "123456"); // Source trace number; will be returned for matching</code>
| |
− | #'''Send Transaction Request'''<br><code>int nErr = PgcRequest(nSess);</code>
| |
− | #'''Get Transaction Response and Approval Code'''<br><code>PgcGetStr(nSess, 0, PGC_GWKEY_STATUS, sStatus, 256); // Transaction status, indicating if it is successful<br>...<br>PgcGetStr(nSess, 0, PGC_GWKEY_RSPCODE, sRspCode, 256); // Response code returned from the host<br>...<br>PgcGetStr(nSess, 0, PGC_GWKEY_RSPTEXT, sRspText, 256); // Response text returned from the host<br>...<br>PgcGetStr(nSess, 0, PGC_GWKEY_AUTHCODE, sAuthCode, 256); // Auth code</code>
| |
− | #'''Close the Transaction Session'''<br><code>PgcFreeSess(nSess);</code>
| |
− | #'''Disconnect from Server'''<br><code>PgcDisconnect(nConn); // Disconnecting from the controller; will be called automatically upon closing<br>PgcFreeConn(nConn); // Closing connection to the controller; called once per connection</code>
| |
− | #'''Un-Initialize'''<br><code>PgcUninit("PgcSample"); // Uninitializing library; called once per application upon exit</code>
| |
− | | |
− | → '''Online Documentation:''' [http://cloud9paymentgateway.com/docs/API/ Payment Gateway Client Library ver 17.08.14 documentation]
| |
− | | |
− | ==Using API Documentation==
| |
− | → '''NOTE:''' It is '''highly recommended''' that you use the live '''[[Cloud9 API|PDC API Sample]]''' or '''[[HTML Web API|WEB API Sample]]''',<br>which have real time source code windows to help you understand the API.
| |
| <br> | | <br> |
− | *'''There are two main files of interest:'''<br>
| |
− | ;PgcClient.h:contains functions
| |
− | ;PgcKey.h: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.<br>You can also use Search to find a function''' | + | '''NOTE: THE FOLLOWING IS DEPRECATED, ALTHOUGH MAY BE USEFUL AS SAMPLES''' |
− | <br>[[File:doxygen1.jpg|none|frame]]
| + | =Web Browser HTML/JavaScript Integration= |
− | <br>'''This is how you can browse the parameter definitions'''
| + | See [[HTML_Web_API|Web Browser Integration Samples]] |
− | <br>[[File:doxygen3.jpg|none|frame]]
| + | =C/C++/C# & VB API documentation= |
| + | See [[C Languages API Documentation]] |
| + | =iOS API Documentation= |
| + | See [[iOS API Documentation]] |
| + | =Android API Documentation= |
| + | See [[Android API Documentation]] |
| | | |
− | =Cloud9 Payment Gateway Documentation=
| |
− | → ''' Please, see [http://cloud9paymentgateway.com/docs/API Payment Gateway Documentation Portal]
| |
| {{Template:C9Footer|Integration}} | | {{Template:C9Footer|Integration}} |