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

CardConnect Capture

See more CardConnect Examples

Demonstrates how to send a CardConnect Capture request.
The capture service queues the transaction amount for settlement. Capture can occur within the authorization request or subsequently. ...

See https://developer.cardconnect.com/cardconnect-api#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:

  // The "retref" is the value returned in the JSON response for the Authorization request.

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

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

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

  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:

  // {
  //   "amount": "0.20",
  //   "resptext": "Approval",
  //   "setlstat": "Queued for Capture",
  //   "commcard": " C ",
  //   "respcode": "00",
  //   "batchid": "1900942291",
  //   "merchid": "MERCHANT_ID",
  //   "token": "9418594164541111",
  //   "authcode": "PPS158",
  //   "respproc": "FNOR",
  //   "retref": "112989260941",
  //   "respstat": "A",
  //   "account": "9418594164541111"
  // }

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

  final amount = jsonResp.stringOf('amount');
  final resptext = jsonResp.stringOf('resptext');
  final setlstat = jsonResp.stringOf('setlstat');
  final commcard = jsonResp.stringOf('commcard');
  final respcode = jsonResp.stringOf('respcode');
  final batchid = jsonResp.stringOf('batchid');
  final merchid = jsonResp.stringOf('merchid');
  final token = jsonResp.stringOf('token');
  final authcode = jsonResp.stringOf('authcode');
  final respproc = jsonResp.stringOf('respproc');
  final retref = jsonResp.stringOf('retref');
  final respstat = jsonResp.stringOf('respstat');
  final account = jsonResp.stringOf('account');
}