Sample code for 30+ languages & platforms
DataFlex

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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    Handle hoJson
    String sUrl
    Variant vResp
    Handle hoResp
    Handle hoJsonResp
    String sAuthcode
    String sRespproc
    String sAmount
    String sResptext
    String sCurrency
    String sRetref
    String sRespstat
    String sRespcode
    String sMerchid
    String sTemp1
    Integer iTemp1

    Move False To iSuccess

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    Set ComBasicAuth Of hoHttp To True
    Set ComLogin Of hoHttp To "API_USERNAME"
    Set ComPassword Of hoHttp To "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"
    // }

    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Get ComUpdateString Of hoJson "retref" "112989260941" To iSuccess
    Get ComUpdateString Of hoJson "merchid" "MERCHANT_ID" To iSuccess

    Move "https://<site>.cardconnect.com:<port>/cardconnect/rest/void" To sUrl

    Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
    If (Not(IsComObjectCreated(hoResp))) Begin
        Send CreateComObject of hoResp
    End
    Get ComEmit Of hoJson To sTemp1
    Get pvComObject of hoResp to vResp
    Get ComHttpStr Of hoHttp "PUT" sUrl sTemp1 "utf-8" "application/json" vResp To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // 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.
    Get ComStatusCode Of hoResp To iTemp1
    Showln "response status code = " iTemp1

    Get Create (RefClass(cComChilkatJsonObject)) To hoJsonResp
    If (Not(IsComObjectCreated(hoJsonResp))) Begin
        Send CreateComObject of hoJsonResp
    End
    Get ComBodyStr Of hoResp To sTemp1
    Get ComLoad Of hoJsonResp sTemp1 To iSuccess
    Set ComEmitCompact Of hoJsonResp To False

    Showln "response JSON:"
    Get ComEmit Of hoJsonResp To sTemp1
    Showln sTemp1

    // 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

    Get ComStringOf Of hoJsonResp "authcode" To sAuthcode
    Get ComStringOf Of hoJsonResp "respproc" To sRespproc
    Get ComStringOf Of hoJsonResp "amount" To sAmount
    Get ComStringOf Of hoJsonResp "resptext" To sResptext
    Get ComStringOf Of hoJsonResp "currency" To sCurrency
    Get ComStringOf Of hoJsonResp "retref" To sRetref
    Get ComStringOf Of hoJsonResp "respstat" To sRespstat
    Get ComStringOf Of hoJsonResp "respcode" To sRespcode
    Get ComStringOf Of hoJsonResp "merchid" To sMerchid


End_Procedure