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

CardConnect Signature Capture

See more CardConnect Examples

Demonstrates how to upload a BMP image of a handwritten signature.
This signature capture service augments an existing authorization record with the provided signature data. ...

See https://developer.cardconnect.com/cardconnect-api?lang=json#signature-capture

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:

  // {
  //   "merchid": "MERCHANT_ID",
  //   "retref": "112989260941",
  //   "signature": "BASE64_GZIPPED_BMP_DATA"
  // }

  final json = CkJsonObject();
  json.updateString('merchid', 'MERCHANT_ID');
  json.updateString('retref', '106631225001');

  // Load the .bmp containing a 200px x 100px signature.
  final bd = CkBinData();
  bd.loadFile('qa_data/bmp/signature.bmp');
  // Gzip compress.
  final gzip = CkGzip();
  gzip.compressBd(bd);
  // Add to the JSON in base64 format
  json.updateString('signature', bd.getEncoded('base64'));

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

  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:

  // {
  //   "resptext": "signature stored",
  //   "retref": "106631225001",
  //   "respcode": "02",
  //   "merchid": "MERCHANT_ID"
  // }
}