Sample code for 30+ languages & platforms
B4X Requires Chilkat v11.0.0+

CardConnect Capture Level 3 Data

See more CardConnect Examples

Demonstrates how to send a CardConnect Capture request with Lavel 3 line item data.
If available, Level 3 line item data can be sent with the capture request, particularly for any commercial or corporate payment cards. To qualify for Level 3 Interchange rates, Level 2 data must also be provided. ...

See https://developer.cardconnect.com/cardconnect-api#capture-level-3-data

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

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

Dim http As ChilkatHttp
http.Initialize("http")

http.BasicAuth = True
http.Login = "API_USERNAME"
http.Password = "API_PASSWORD"

'  Build and send the following JSON:

'  The "retref" is the value returned in the JSON response for the Authorization request.

'  {
'    "retref": "2880000333",
'    "shiptozip": "11111-1111",
'    "shipfromzip": "99999-9999",
'    "amount": "596.00",
'    "items": [
'      {
'        "discamnt": "0",
'        "unitcost": "900",
'        "uom": "CS",
'        "lineno": "1",
'        "description": "DESCRIPTION-1",
'        "taxamnt": "117",
'        "quantity": "1000",
'        "upc": "UPC-1",
'        "netamnt": "150",
'        "material": "MATERIAL-1"
'      },
'      {
'        "discamnt": "0",
'        "unitcost": "450",
'        "uom": "CS",
'        "lineno": "2",
'        "description": "DESCRIPTION-2",
'        "taxamnt": "117",
'        "quantity": "2000",
'        "upc": "UPC-1",
'        "netamnt": "300",
'        "material": "MATERIAL-2"
'      }
'    ],
'    "taxamount": "40.00",
'    "merchid": "123456789012",
'    "account": "4111111111111111",
'    "ponumber": "PO-0736332"
'  }
'  
'  Use this online tool to generate the code from sample JSON: 
'  Generate Code to Create JSON

Dim json As ChilkatJsonObject
json.Initialize
json.UpdateString("retref", "112989260941")
json.UpdateString("shiptozip", "11111-1111")
json.UpdateString("shipfromzip", "99999-9999")
json.UpdateString("amount", "596.00")
json.UpdateString("items[0].discamnt", "0")
json.UpdateString("items[0].unitcost", "900")
json.UpdateString("items[0].uom", "CS")
json.UpdateString("items[0].lineno", "1")
json.UpdateString("items[0].description", "DESCRIPTION-1")
json.UpdateString("items[0].taxamnt", "117")
json.UpdateString("items[0].quantity", "1000")
json.UpdateString("items[0].upc", "UPC-1")
json.UpdateString("items[0].netamnt", "150")
json.UpdateString("items[0].material", "MATERIAL-1")
json.UpdateString("items[1].discamnt", "0")
json.UpdateString("items[1].unitcost", "450")
json.UpdateString("items[1].uom", "CS")
json.UpdateString("items[1].lineno", "2")
json.UpdateString("items[1].description", "DESCRIPTION-2")
json.UpdateString("items[1].taxamnt", "117")
json.UpdateString("items[1].quantity", "2000")
json.UpdateString("items[1].upc", "UPC-1")
json.UpdateString("items[1].netamnt", "300")
json.UpdateString("items[1].material", "MATERIAL-2")
json.UpdateString("taxamount", "40.00")
json.UpdateString("merchid", "MERCHANT_ID")
json.UpdateString("account", "4111111111111111")
json.UpdateString("ponumber", "PO-0736332")

Dim url As String = "https://<site>.cardconnect.com:<port>/cardconnect/rest/capture"

Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpStr("PUT", url, json.Emit, "utf-8", "application/json", resp)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


'  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.
Log("response status code = " & resp.StatusCode)

Dim jsonResp As ChilkatJsonObject
jsonResp.Initialize
jsonResp.Load(resp.BodyStr)
jsonResp.EmitCompact = False

Log("response JSON:")
Log(jsonResp.Emit)

'  A successful response looks like this:

'  {
'    "amount": "596.00",
'    "resptext": "Approval",
'    "setlstat": "Queued for Capture",
'    "commcard": " C ",
'    "respcode": "00",
'    "batchid": "1900942291",
'    "merchid": "MERCHANT_ID",
'    "token": "9418594164541111",
'    "authcode": "PPS158",
'    "respproc": "FNOR",
'    "retref": "112989260941",
'    "respstat": "A",
'    "account": "9418594164541111"
'  }

'  Use this online tool to generate parsing code from sample JSON: 
'  Generate Parsing Code from JSON

Dim amount As String = jsonResp.StringOf("amount")
Dim resptext As String = jsonResp.StringOf("resptext")
Dim setlstat As String = jsonResp.StringOf("setlstat")
Dim commcard As String = jsonResp.StringOf("commcard")
Dim respcode As String = jsonResp.StringOf("respcode")
Dim batchid As String = jsonResp.StringOf("batchid")
Dim merchid As String = jsonResp.StringOf("merchid")
Dim token As String = jsonResp.StringOf("token")
Dim authcode As String = jsonResp.StringOf("authcode")
Dim respproc As String = jsonResp.StringOf("respproc")
Dim retref As String = jsonResp.StringOf("retref")
Dim respstat As String = jsonResp.StringOf("respstat")
Dim account As String = jsonResp.StringOf("account")