![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) CardConnect VoidDemonstrates 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 Note: This example requires Chilkat v11.0.0 or greater.
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() success.i = 0 ; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkHttp::setCkBasicAuth(http, 1) CkHttp::setCkLogin(http, "API_USERNAME") CkHttp::setCkPassword(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.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckUpdateString(json,"retref","112989260941") CkJsonObject::ckUpdateString(json,"merchid","MERCHANT_ID") url.s = "https://<site>.cardconnect.com:<port>/cardconnect/rest/void" resp.i = CkHttpResponse::ckCreate() If resp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkHttp::ckHttpStr(http,"PUT",url,CkJsonObject::ckEmit(json),"utf-8","application/json",resp) If success = 0 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkJsonObject::ckDispose(json) CkHttpResponse::ckDispose(resp) ProcedureReturn EndIf ; 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. Debug "response status code = " + Str(CkHttpResponse::ckStatusCode(resp)) jsonResp.i = CkJsonObject::ckCreate() If jsonResp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckLoad(jsonResp,CkHttpResponse::ckBodyStr(resp)) CkJsonObject::setCkEmitCompact(jsonResp, 0) Debug "response JSON:" Debug CkJsonObject::ckEmit(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.s = CkJsonObject::ckStringOf(jsonResp,"authcode") respproc.s = CkJsonObject::ckStringOf(jsonResp,"respproc") amount.s = CkJsonObject::ckStringOf(jsonResp,"amount") resptext.s = CkJsonObject::ckStringOf(jsonResp,"resptext") currency.s = CkJsonObject::ckStringOf(jsonResp,"currency") retref.s = CkJsonObject::ckStringOf(jsonResp,"retref") respstat.s = CkJsonObject::ckStringOf(jsonResp,"respstat") respcode.s = CkJsonObject::ckStringOf(jsonResp,"respcode") merchid.s = CkJsonObject::ckStringOf(jsonResp,"merchid") CkHttp::ckDispose(http) CkJsonObject::ckDispose(json) CkHttpResponse::ckDispose(resp) CkJsonObject::ckDispose(jsonResp) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.