Dart Requires Chilkat v11.0.0+
Dart
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
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"
// }
}