Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loHttp
LOCAL loJson
LOCAL lcUrl
LOCAL loResp
LOCAL loJsonResp
LOCAL lcCountry
LOCAL lcAddress
LOCAL lcResptext
LOCAL lcCity
LOCAL lcAcctid
LOCAL lcRespcode
LOCAL lcDefaultacct
LOCAL lcAccttype
LOCAL lcToken
LOCAL lcLicense
LOCAL lcRespproc
LOCAL lcPhone
LOCAL lcProfileid
LOCAL lcName
LOCAL lcAuoptout
LOCAL lcPostal
LOCAL lcExpiry
LOCAL lcRegion
LOCAL lcSsnl4
LOCAL lcRespstat

lnSuccess = 0

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

loHttp = CreateObject('Chilkat.Http')

loHttp.BasicAuth = 1
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('Chilkat.JsonObject')
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('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpStr("PUT",lcUrl,loJson.Emit(),"utf-8","application/json",loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loJson
    RELEASE loResp
    CANCEL
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('Chilkat.JsonObject')
loJsonResp.Load(loResp.BodyStr)
loJsonResp.EmitCompact = 0

? "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