Unicode C PiConnect - Cloud: Credit Sale Convert to JSON

Back to Index

Credit Sale Convert to JSON

Documentation: https://api-cloud.piconnect.io/#670fa1b8-aa65-9dfe-f4b3-1e3e86a7b218

CURL Command

curl --request POST \
  --url https://pipay.io/piconnect/process \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data 'response=%20%1CT01%1C1.37%1C000000%1COK%1C00%1FAPPROVAL%20TAS213%1FTAS213%1F801719500067%1F%1F23%1C01%1C2203%1F0%1F0%1F0%1F0%1F0%1F%1F%1C2142%1F4%1F0121%1F%1F%1F%1F01%1FPAYMENT%20INNOVATORS%2FTEST%20T%1F%1F%1F0%1C13%1F50%1F20180117111513%1C%1F%1C%1C%1CTOKEN%3DXj02K6IZfo5M2142%1FCARDBIN%3D441840%1FSN%3D53211269%1FTC%3DC5BB26C00F78D78B%1FTVR%3D8080008000%1FAID%3DA0000000031010%1FTSI%3D6C00%1FATC%3D0019%1FAPPLAB%3DVisa%20Credit%1FIAD%3D06010A03600000%1FARC%3D00%1FCID%3D40%1FCVM%3D6&account=1512407959&sn=31415926&mode=2'

Unicode C Example

#include <C_CkRestW.h>
#include <C_CkJsonObjectW.h>

void ChilkatSample(void)
    {
    HCkRestW rest;
    BOOL success;
    BOOL bTls;
    int port;
    BOOL bAutoReconnect;
    const wchar_t *strResponseBody;
    HCkJsonObjectW jsonResponse;
    const wchar_t *TransactionResult;
    const wchar_t *PTK;
    const wchar_t *ResponseCode;
    int ApprovedAmount;
    const wchar_t *TransactionID;
    const wchar_t *AuthCode;
    const wchar_t *Token;
    const wchar_t *CardType;
    const wchar_t *AccountNum;
    const wchar_t *ExpDate;
    const wchar_t *TicketID;
    const wchar_t *ResponseMsg;
    const wchar_t *HostCode;
    const wchar_t *Timestamp;
    BOOL AvsResponse;
    const wchar_t *CardHolder;
    const wchar_t *BusinessId;
    const wchar_t *UniqueId;
    const wchar_t *TransType;
    const wchar_t *EntryMode;
    const wchar_t *RefNum;
    const wchar_t *SerialNo;
    const wchar_t *AmountDue;
    int TipAmount;
    BOOL CvResponse;
    const wchar_t *HostResponse;
    BOOL ExtraBalance;
    const wchar_t *CardBin;
    const wchar_t *Tc;
    const wchar_t *Tvr;
    const wchar_t *Aid;
    const wchar_t *Tsi;
    const wchar_t *Atc;
    const wchar_t *AppLab;
    BOOL AppPN;
    const wchar_t *Iad;
    const wchar_t *Arc;
    const wchar_t *Cid;
    BOOL Cvm;
    int i;
    int count_i;
    const wchar_t *strVal;

    rest = CkRestW_Create();

    //  URL: https://pipay.io/piconnect/process
    bTls = TRUE;
    port = 443;
    bAutoReconnect = TRUE;
    success = CkRestW_Connect(rest,L"pipay.io",port,bTls,bAutoReconnect);
    if (success != TRUE) {
        wprintf(L"ConnectFailReason: %d\n",CkRestW_getConnectFailReason(rest));
        wprintf(L"%s\n",CkRestW_lastErrorText(rest));
        CkRestW_Dispose(rest);
        return;
    }

    CkRestW_AddQueryParam(rest,L"response",L" T011.37000000OK00APPROVAL TAS213TAS213801719500067230122030000021424012101PAYMENT INNOVATORS/TEST T0135020180117111513TOKEN=Xj02K6IZfo5M2142CARDBIN=441840SN=53211269TC=C5BB26C00F78D78BTVR=8080008000AID=A0000000031010TSI=6C00ATC=0019APPLAB=Visa CreditIAD=06010A03600000ARC=00CID=40CVM=6");
    CkRestW_AddQueryParam(rest,L"account",L"1512407959");
    CkRestW_AddQueryParam(rest,L"sn",L"31415926");
    CkRestW_AddQueryParam(rest,L"mode",L"2");

    strResponseBody = CkRestW_fullRequestFormUrlEncoded(rest,L"POST",L"/piconnect/process");
    if (CkRestW_getLastMethodSuccess(rest) != TRUE) {
        wprintf(L"%s\n",CkRestW_lastErrorText(rest));
        CkRestW_Dispose(rest);
        return;
    }

    jsonResponse = CkJsonObjectW_Create();
    CkJsonObjectW_Load(jsonResponse,strResponseBody);

    TransactionResult = CkJsonObjectW_stringOf(jsonResponse,L"TransactionResult");
    PTK = CkJsonObjectW_stringOf(jsonResponse,L"PTK");
    ResponseCode = CkJsonObjectW_stringOf(jsonResponse,L"ResponseCode");
    ApprovedAmount = CkJsonObjectW_IntOf(jsonResponse,L"ApprovedAmount");
    TransactionID = CkJsonObjectW_stringOf(jsonResponse,L"TransactionID");
    AuthCode = CkJsonObjectW_stringOf(jsonResponse,L"AuthCode");
    Token = CkJsonObjectW_stringOf(jsonResponse,L"Token");
    CardType = CkJsonObjectW_stringOf(jsonResponse,L"CardType");
    AccountNum = CkJsonObjectW_stringOf(jsonResponse,L"AccountNum");
    ExpDate = CkJsonObjectW_stringOf(jsonResponse,L"ExpDate");
    TicketID = CkJsonObjectW_stringOf(jsonResponse,L"TicketID");
    ResponseMsg = CkJsonObjectW_stringOf(jsonResponse,L"ResponseMsg");
    HostCode = CkJsonObjectW_stringOf(jsonResponse,L"HostCode");
    Timestamp = CkJsonObjectW_stringOf(jsonResponse,L"Timestamp");
    AvsResponse = CkJsonObjectW_IsNullOf(jsonResponse,L"AvsResponse");
    CardHolder = CkJsonObjectW_stringOf(jsonResponse,L"CardHolder");
    BusinessId = CkJsonObjectW_stringOf(jsonResponse,L"BusinessId");
    UniqueId = CkJsonObjectW_stringOf(jsonResponse,L"UniqueId");
    TransType = CkJsonObjectW_stringOf(jsonResponse,L"TransType");
    EntryMode = CkJsonObjectW_stringOf(jsonResponse,L"EntryMode");
    RefNum = CkJsonObjectW_stringOf(jsonResponse,L"RefNum");
    SerialNo = CkJsonObjectW_stringOf(jsonResponse,L"SerialNo");
    AmountDue = CkJsonObjectW_stringOf(jsonResponse,L"AmountDue");
    TipAmount = CkJsonObjectW_IntOf(jsonResponse,L"TipAmount");
    CvResponse = CkJsonObjectW_IsNullOf(jsonResponse,L"CvResponse");
    HostResponse = CkJsonObjectW_stringOf(jsonResponse,L"HostResponse");
    ExtraBalance = CkJsonObjectW_IsNullOf(jsonResponse,L"ExtraBalance");
    CardBin = CkJsonObjectW_stringOf(jsonResponse,L"CardBin");
    Tc = CkJsonObjectW_stringOf(jsonResponse,L"Tc");
    Tvr = CkJsonObjectW_stringOf(jsonResponse,L"Tvr");
    Aid = CkJsonObjectW_stringOf(jsonResponse,L"Aid");
    Tsi = CkJsonObjectW_stringOf(jsonResponse,L"Tsi");
    Atc = CkJsonObjectW_stringOf(jsonResponse,L"Atc");
    AppLab = CkJsonObjectW_stringOf(jsonResponse,L"AppLab");
    AppPN = CkJsonObjectW_IsNullOf(jsonResponse,L"AppPN");
    Iad = CkJsonObjectW_stringOf(jsonResponse,L"Iad");
    Arc = CkJsonObjectW_stringOf(jsonResponse,L"Arc");
    Cid = CkJsonObjectW_stringOf(jsonResponse,L"Cid");
    Cvm = CkJsonObjectW_IsNullOf(jsonResponse,L"Cvm");
    i = 0;
    count_i = CkJsonObjectW_SizeOfArray(jsonResponse,L"Method");
    while (i < count_i) {
        CkJsonObjectW_putI(jsonResponse,i);
        strVal = CkJsonObjectW_stringOf(jsonResponse,L"Method[i]");
        i = i + 1;
    }



    CkRestW_Dispose(rest);
    CkJsonObjectW_Dispose(jsonResponse);

    }

Sample JSON Response Body

{
  "TransactionResult": "true",
  "PTK": "F9JURF2HLo",
  "ResponseCode": "000000",
  "ApprovedAmount": 22.03,
  "TransactionID": "13",
  "AuthCode": "TAS213",
  "Token": "Xj02K6IZfo5M2142",
  "CardType": "VISA",
  "AccountNum": "2142",
  "ExpDate": "0121",
  "TicketID": "50",
  "ResponseMsg": "OK",
  "HostCode": "00",
  "Timestamp": "20180117111513",
  "AvsResponse": null,
  "CardHolder": "PAYMENT INNOVATORS/TEST T",
  "BusinessId": "1512407959",
  "UniqueId": "5a8af729c5b1b",
  "TransType": "SALE",
  "EntryMode": "CHIP",
  "RefNum": "801719500067",
  "SerialNo": "53211269",
  "AmountDue": "0",
  "TipAmount": 0,
  "CvResponse": null,
  "HostResponse": "APPROVAL TAS213",
  "ExtraBalance": null,
  "CardBin": "441840",
  "Tc": "A0019",
  "Tvr": "8080008000",
  "Aid": "A0000000031010",
  "Tsi": "6C00",
  "Atc": "0019",
  "AppLab": "Visa Credit",
  "AppPN": null,
  "Iad": "06010A03600000",
  "Arc": "00",
  "Cid": "40",
  "Cvm": null,
  "Method": [
    "T01"
  ]
}