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

CardConnect Create Profile

See more CardConnect Examples

Demonstrates how to create a profile.
A PUT call to the profile endpoint creates a new profile or adds a new account to an existing profile. ...

See https://developer.cardconnect.com/cardconnect-api?lang=json#create-update-profile-request

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

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

loHttp = createobject("CkHttp")

loHttp.BasicAuth = .T.
loHttp.Login = "API_USERNAME"
loHttp.Password = "API_PASSWORD"

//  Build and send the following JSON:

//  {
//    "region": "AK",
//    "phone": "7778789999",
//    "accttype": "VISA",
//    "postal": "19090",
//    "ssnl4": "3655",
//    "expiry": "0214",
//    "city": "ANYTOWN",
//    "country": "US",
//    "address": "123 MAIN STREET",
//    "merchid": "496400000840",
//    "name": "TOM JONES",
//    "account": "4444333322221111",
//    "license": "123451254",
//  }

loJson = createobject("CkJsonObject")
loJson.UpdateString("region","AK")
loJson.UpdateString("phone","7778789999")
loJson.UpdateString("accttype","VISA")
loJson.UpdateString("postal","19090")
loJson.UpdateString("ssnl4","3655")
loJson.UpdateString("expiry","0214")
loJson.UpdateString("city","ANYTOWN")
loJson.UpdateString("country","US")
loJson.UpdateString("address","123 MAIN STREET")
loJson.UpdateString("merchid","MERCHANT_ID")
loJson.UpdateString("name","TOM JONES")
loJson.UpdateString("account","4444333322221111")
loJson.UpdateString("license","123451254")

lcUrl = "https://<site>.cardconnect.com:<port>/cardconnect/rest/profile"

loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpStr("PUT",lcUrl,loJson.Emit(),"utf-8","application/json",loResp)
if (llSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    release loJson
    release loResp
    return
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.
? "response status code = " + str(loResp.StatusCode)

loJsonResp = createobject("CkJsonObject")
loJsonResp.Load(loResp.BodyStr)
loJsonResp.EmitCompact = .F.

? "response JSON:"
? loJsonResp.Emit()

//  A successful response looks like this:

//  {
//    "country": "US",
//    "address": "123 MAIN STREET",
//    "resptext": "Profile Saved",
//    "city": "ANYTOWN",
//    "acctid": "1",
//    "respcode": "09",
//    "defaultacct": "Y",
//    "accttype": "VISA",
//    "token": "9441149619831111",
//    "license": "123451254",
//    "respproc": "PPS",
//    "phone": "7778789999",
//    "profileid": "16392957457306633141",
//    "name": "TOM JONES",
//    "auoptout": "N",
//    "postal": "19090",
//    "expiry": "0214",
//    "region": "AK",
//    "ssnl4": "3655",
//    "respstat": "A"
//  }

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

lcCountry = loJsonResp.StringOf("country")
lcAddress = loJsonResp.StringOf("address")
lcResptext = loJsonResp.StringOf("resptext")
lcCity = loJsonResp.StringOf("city")
lcAcctid = loJsonResp.StringOf("acctid")
lcRespcode = loJsonResp.StringOf("respcode")
lcDefaultacct = loJsonResp.StringOf("defaultacct")
lcAccttype = loJsonResp.StringOf("accttype")
lcToken = loJsonResp.StringOf("token")
lcLicense = loJsonResp.StringOf("license")
lcRespproc = loJsonResp.StringOf("respproc")
lcPhone = loJsonResp.StringOf("phone")
lcProfileid = loJsonResp.StringOf("profileid")
lcName = loJsonResp.StringOf("name")
lcAuoptout = loJsonResp.StringOf("auoptout")
lcPostal = loJsonResp.StringOf("postal")
lcExpiry = loJsonResp.StringOf("expiry")
lcRegion = loJsonResp.StringOf("region")
lcSsnl4 = loJsonResp.StringOf("ssnl4")
lcRespstat = loJsonResp.StringOf("respstat")


release loHttp
release loJson
release loResp
release loJsonResp