Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    Handle hoJson
    String sUrl
    Variant vResp
    Handle hoResp
    Handle hoJsonResp
    String sCountry
    String sAddress
    String sResptext
    String sCity
    String sAcctid
    String sRespcode
    String sDefaultacct
    String sAccttype
    String sToken
    String sLicense
    String sRespproc
    String sPhone
    String sProfileid
    String sName
    String sAuoptout
    String sPostal
    String sExpiry
    String sRegion
    String sSsnl4
    String sRespstat
    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:

    // {
    //   "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",
    // }

    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Get ComUpdateString Of hoJson "region" "AK" To iSuccess
    Get ComUpdateString Of hoJson "phone" "7778789999" To iSuccess
    Get ComUpdateString Of hoJson "accttype" "VISA" To iSuccess
    Get ComUpdateString Of hoJson "postal" "19090" To iSuccess
    Get ComUpdateString Of hoJson "ssnl4" "3655" To iSuccess
    Get ComUpdateString Of hoJson "expiry" "0214" To iSuccess
    Get ComUpdateString Of hoJson "city" "ANYTOWN" To iSuccess
    Get ComUpdateString Of hoJson "country" "US" To iSuccess
    Get ComUpdateString Of hoJson "address" "123 MAIN STREET" To iSuccess
    Get ComUpdateString Of hoJson "merchid" "MERCHANT_ID" To iSuccess
    Get ComUpdateString Of hoJson "name" "TOM JONES" To iSuccess
    Get ComUpdateString Of hoJson "account" "4444333322221111" To iSuccess
    Get ComUpdateString Of hoJson "license" "123451254" To iSuccess

    Move "https://<site>.cardconnect.com:<port>/cardconnect/rest/profile" 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:

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

    Get ComStringOf Of hoJsonResp "country" To sCountry
    Get ComStringOf Of hoJsonResp "address" To sAddress
    Get ComStringOf Of hoJsonResp "resptext" To sResptext
    Get ComStringOf Of hoJsonResp "city" To sCity
    Get ComStringOf Of hoJsonResp "acctid" To sAcctid
    Get ComStringOf Of hoJsonResp "respcode" To sRespcode
    Get ComStringOf Of hoJsonResp "defaultacct" To sDefaultacct
    Get ComStringOf Of hoJsonResp "accttype" To sAccttype
    Get ComStringOf Of hoJsonResp "token" To sToken
    Get ComStringOf Of hoJsonResp "license" To sLicense
    Get ComStringOf Of hoJsonResp "respproc" To sRespproc
    Get ComStringOf Of hoJsonResp "phone" To sPhone
    Get ComStringOf Of hoJsonResp "profileid" To sProfileid
    Get ComStringOf Of hoJsonResp "name" To sName
    Get ComStringOf Of hoJsonResp "auoptout" To sAuoptout
    Get ComStringOf Of hoJsonResp "postal" To sPostal
    Get ComStringOf Of hoJsonResp "expiry" To sExpiry
    Get ComStringOf Of hoJsonResp "region" To sRegion
    Get ComStringOf Of hoJsonResp "ssnl4" To sSsnl4
    Get ComStringOf Of hoJsonResp "respstat" To sRespstat


End_Procedure