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

CardConnect Void

See more CardConnect Examples

Demonstrates how to send a CardConnect void request.
The void service cancels a transaction that is in either "Authorized" or "Queued for Capture" status.. ...

See https://developer.cardconnect.com/cardconnect-api#void

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/void';

  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:

  // {
  //   "authcode": "REVERS",
  //   "respproc": "FNOR",
  //   "amount": "0.00",
  //   "resptext": "Approval",
  //   "currency": "USD",
  //   "retref": "112989260941",
  //   "respstat": "A",
  //   "respcode": "00",
  //   "merchid": "496160873888"
  // }

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

  final authcode = jsonResp.stringOf('authcode');
  final respproc = jsonResp.stringOf('respproc');
  final amount = jsonResp.stringOf('amount');
  final resptext = jsonResp.stringOf('resptext');
  final currency = jsonResp.stringOf('currency');
  final retref = jsonResp.stringOf('retref');
  final respstat = jsonResp.stringOf('respstat');
  final respcode = jsonResp.stringOf('respcode');
  final merchid = jsonResp.stringOf('merchid');
}