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

CardConnect Capture Level 3 Data

See more CardConnect Examples

Demonstrates how to send a CardConnect Capture request with Lavel 3 line item data.
If available, Level 3 line item data can be sent with the capture request, particularly for any commercial or corporate payment cards. To qualify for Level 3 Interchange rates, Level 2 data must also be provided. ...

See https://developer.cardconnect.com/cardconnect-api#capture-level-3-data

Chilkat React Native Downloads

React Native
import { Http, HttpResponse, JsonObject } from '@chilkat/react-native'

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

  const http = new Http();

  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": "2880000333",
  //   "shiptozip": "11111-1111",
  //   "shipfromzip": "99999-9999",
  //   "amount": "596.00",
  //   "items": [
  //     {
  //       "discamnt": "0",
  //       "unitcost": "900",
  //       "uom": "CS",
  //       "lineno": "1",
  //       "description": "DESCRIPTION-1",
  //       "taxamnt": "117",
  //       "quantity": "1000",
  //       "upc": "UPC-1",
  //       "netamnt": "150",
  //       "material": "MATERIAL-1"
  //     },
  //     {
  //       "discamnt": "0",
  //       "unitcost": "450",
  //       "uom": "CS",
  //       "lineno": "2",
  //       "description": "DESCRIPTION-2",
  //       "taxamnt": "117",
  //       "quantity": "2000",
  //       "upc": "UPC-1",
  //       "netamnt": "300",
  //       "material": "MATERIAL-2"
  //     }
  //   ],
  //   "taxamount": "40.00",
  //   "merchid": "123456789012",
  //   "account": "4111111111111111",
  //   "ponumber": "PO-0736332"
  // }
  // 
  // Use this online tool to generate the code from sample JSON: 
  // Generate Code to Create JSON

  const json = new JsonObject();
  json.updateString('retref', '112989260941');
  json.updateString('shiptozip', '11111-1111');
  json.updateString('shipfromzip', '99999-9999');
  json.updateString('amount', '596.00');
  json.updateString('items[0].discamnt', '0');
  json.updateString('items[0].unitcost', '900');
  json.updateString('items[0].uom', 'CS');
  json.updateString('items[0].lineno', '1');
  json.updateString('items[0].description', 'DESCRIPTION-1');
  json.updateString('items[0].taxamnt', '117');
  json.updateString('items[0].quantity', '1000');
  json.updateString('items[0].upc', 'UPC-1');
  json.updateString('items[0].netamnt', '150');
  json.updateString('items[0].material', 'MATERIAL-1');
  json.updateString('items[1].discamnt', '0');
  json.updateString('items[1].unitcost', '450');
  json.updateString('items[1].uom', 'CS');
  json.updateString('items[1].lineno', '2');
  json.updateString('items[1].description', 'DESCRIPTION-2');
  json.updateString('items[1].taxamnt', '117');
  json.updateString('items[1].quantity', '2000');
  json.updateString('items[1].upc', 'UPC-1');
  json.updateString('items[1].netamnt', '300');
  json.updateString('items[1].material', 'MATERIAL-2');
  json.updateString('taxamount', '40.00');
  json.updateString('merchid', 'MERCHANT_ID');
  json.updateString('account', '4111111111111111');
  json.updateString('ponumber', 'PO-0736332');

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

  const resp = new HttpResponse();
  try {
    await http.httpStrAsync('PUT', url, json.emit(), 'utf-8', 'application/json', resp);
  } catch {
    console.log(http.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.
  console.log(`response status code = ${resp.statusCode}`);

  const jsonResp = new JsonObject();
  jsonResp.load(resp.bodyStr);
  jsonResp.emitCompact = false;

  console.log('response JSON:');
  console.log(jsonResp.emit());

  // A successful response looks like this:

  // {
  //   "amount": "596.00",
  //   "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

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