Sample code for 30+ languages & platforms
Pascal (Lazarus/Delphi)

CardConnect Get Profile

See more CardConnect Examples

Demonstrates how to get a profile.
A GET request to the profile endpoint returns the stored data for the specified profile ID. ...

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

Chilkat Pascal (Lazarus/Delphi) Downloads

Pascal (Lazarus/Delphi)
program ChilkatDemo;

// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}

uses
  {$IFDEF UNIX}
  cthreads,
  {$ENDIF}
  SysUtils,
  CkDllLoader,
  Chilkat.JsonObject,
  Chilkat.Http;

// ---------------------------------------------------------------------------

procedure RunDemo;
var
  success: Boolean;
  http: THttp;
  url: string;
  responseStr: string;
  jsonResp: TJsonObject;
  country: string;
  gsacard: string;
  address: string;
  city: string;
  acctid: string;
  defaultacct: string;
  accttype: string;
  token: string;
  license: string;
  phone: string;
  profileid: string;
  name: string;
  auoptout: string;
  postal: string;
  expiry: string;
  region: string;
  ssnl4: string;

begin
  success := False;

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

  http := THttp.Create;

  http.BasicAuth := True;
  http.Login := 'API_USERNAME';
  http.Password := 'API_PASSWORD';

  url := 'https://<site>.cardconnect.com:<port>/cardconnect/rest/profile/<profile ID>/<account ID>/<merchid>';
  responseStr := http.QuickGetStr(url);
  if (http.LastMethodSuccess = False) then
    begin
      WriteLn(http.LastErrorText);
      Exit;
    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.
  WriteLn('response status code = ' + http.LastStatus);

  jsonResp := TJsonObject.Create;
  jsonResp.Load(responseStr);
  jsonResp.EmitCompact := False;

  WriteLn('response JSON:');
  WriteLn(jsonResp.Emit());

  //  A successful response looks like this:

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

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

  country := jsonResp.StringOf('country');
  gsacard := jsonResp.StringOf('gsacard');
  address := jsonResp.StringOf('address');
  city := jsonResp.StringOf('city');
  acctid := jsonResp.StringOf('acctid');
  defaultacct := jsonResp.StringOf('defaultacct');
  accttype := jsonResp.StringOf('accttype');
  token := jsonResp.StringOf('token');
  license := jsonResp.StringOf('license');
  phone := jsonResp.StringOf('phone');
  profileid := jsonResp.StringOf('profileid');
  name := jsonResp.StringOf('name');
  auoptout := jsonResp.StringOf('auoptout');
  postal := jsonResp.StringOf('postal');
  expiry := jsonResp.StringOf('expiry');
  region := jsonResp.StringOf('region');
  ssnl4 := jsonResp.StringOf('ssnl4');


  http.Free;
  jsonResp.Free;

end;

// ---------------------------------------------------------------------------

begin

  try
    RunDemo;
  except
    on E: Exception do
      WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
  end;

  WriteLn;
  {$IFDEF MSWINDOWS}
  WriteLn('Press Enter to exit...');
  ReadLn;
  {$ENDIF}
end.