Sample code for 30+ languages & platforms
Dart 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 Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

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

  final http = CkHttp();

  http.basicAuth = true;
  http.login = 'API_USERNAME';
  http.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",
  // }

  final json = CkJsonObject();
  json.updateString('region', 'AK');
  json.updateString('phone', '7778789999');
  json.updateString('accttype', 'VISA');
  json.updateString('postal', '19090');
  json.updateString('ssnl4', '3655');
  json.updateString('expiry', '0214');
  json.updateString('city', 'ANYTOWN');
  json.updateString('country', 'US');
  json.updateString('address', '123 MAIN STREET');
  json.updateString('merchid', 'MERCHANT_ID');
  json.updateString('name', 'TOM JONES');
  json.updateString('account', '4444333322221111');
  json.updateString('license', '123451254');

  final url = 'https://<site>.cardconnect.com:<port>/cardconnect/rest/profile';

  final resp = CkHttpResponse();
  try {
    http.httpStr('PUT', url, json.emit(), 'utf-8', 'application/json', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // 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.
  print('response status code = ${resp.statusCode}');

  final jsonResp = CkJsonObject();
  jsonResp.load(resp.bodyStr);
  jsonResp.emitCompact = false;

  print('response JSON:');
  print(jsonResp.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

  final country = jsonResp.stringOf('country');
  final address = jsonResp.stringOf('address');
  final resptext = jsonResp.stringOf('resptext');
  final city = jsonResp.stringOf('city');
  final acctid = jsonResp.stringOf('acctid');
  final respcode = jsonResp.stringOf('respcode');
  final defaultacct = jsonResp.stringOf('defaultacct');
  final accttype = jsonResp.stringOf('accttype');
  final token = jsonResp.stringOf('token');
  final license = jsonResp.stringOf('license');
  final respproc = jsonResp.stringOf('respproc');
  final phone = jsonResp.stringOf('phone');
  final profileid = jsonResp.stringOf('profileid');
  final name = jsonResp.stringOf('name');
  final auoptout = jsonResp.stringOf('auoptout');
  final postal = jsonResp.stringOf('postal');
  final expiry = jsonResp.stringOf('expiry');
  final region = jsonResp.stringOf('region');
  final ssnl4 = jsonResp.stringOf('ssnl4');
  final respstat = jsonResp.stringOf('respstat');
}