C
C
CardConnect Void
See more CardConnect Examples
Demonstrates how to send a CardConnect void request.The void service cancels a transaction that is in either "Authorized" or "Queued for Capture" status.. ...
See https://developer.cardconnect.com/cardconnect-api#void
Chilkat C Downloads
#include <C_CkHttp.h>
#include <C_CkJsonObject.h>
#include <C_CkHttpResponse.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttp http;
HCkJsonObject json;
const char *url;
HCkHttpResponse resp;
HCkJsonObject jsonResp;
const char *authcode;
const char *respproc;
const char *amount;
const char *resptext;
const char *currency;
const char *retref;
const char *respstat;
const char *respcode;
const char *merchid;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttp_Create();
CkHttp_putBasicAuth(http,TRUE);
CkHttp_putLogin(http,"API_USERNAME");
CkHttp_putPassword(http,"API_PASSWORD");
// Build and send the following JSON:
// The "retref" is the value returned in the JSON response for the Authorization request.
// {
// "retref":"112989260941",
// "merchid":"MERCHANT_ID"
// }
json = CkJsonObject_Create();
CkJsonObject_UpdateString(json,"retref","112989260941");
CkJsonObject_UpdateString(json,"merchid","MERCHANT_ID");
url = "https://<site>.cardconnect.com:<port>/cardconnect/rest/void";
resp = CkHttpResponse_Create();
success = CkHttp_HttpStr(http,"PUT",url,CkJsonObject_emit(json),"utf-8","application/json",resp);
if (success == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
CkHttpResponse_Dispose(resp);
return;
}
// A response status of 200 indicates potential success. The JSON response body
// must be examined to determine if it was truly successful or an error.
printf("response status code = %d\n",CkHttpResponse_getStatusCode(resp));
jsonResp = CkJsonObject_Create();
CkJsonObject_Load(jsonResp,CkHttpResponse_bodyStr(resp));
CkJsonObject_putEmitCompact(jsonResp,FALSE);
printf("response JSON:\n");
printf("%s\n",CkJsonObject_emit(jsonResp));
// A successful response looks like this:
// {
// "authcode": "REVERS",
// "respproc": "FNOR",
// "amount": "0.00",
// "resptext": "Approval",
// "currency": "USD",
// "retref": "112989260941",
// "respstat": "A",
// "respcode": "00",
// "merchid": "496160873888"
// }
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
authcode = CkJsonObject_stringOf(jsonResp,"authcode");
respproc = CkJsonObject_stringOf(jsonResp,"respproc");
amount = CkJsonObject_stringOf(jsonResp,"amount");
resptext = CkJsonObject_stringOf(jsonResp,"resptext");
currency = CkJsonObject_stringOf(jsonResp,"currency");
retref = CkJsonObject_stringOf(jsonResp,"retref");
respstat = CkJsonObject_stringOf(jsonResp,"respstat");
respcode = CkJsonObject_stringOf(jsonResp,"respcode");
merchid = CkJsonObject_stringOf(jsonResp,"merchid");
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
CkHttpResponse_Dispose(resp);
CkJsonObject_Dispose(jsonResp);
}