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

CardConnect Authorization

See more CardConnect Examples

Demonstrates how to send an Authorization request.
Authorization is the initial step in accepting payment from a cardholder. This action "authorizes" or requests permission from the bank to transfer money from the cardholder to the merchant.

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

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:

  // Note: The CardConnect online documentation might use an expiry that is in the past, such as "1218".
  // This causes the request to fail.  Use a month/year that is in the future..
  // (Likewise, this example will have an invalid month/year after Dec 2021)

  // {
  //   "merchid": "MERCHANT_ID",
  //   "accttype": "VISA",
  //   "orderid": "AB-11-9876",
  //   "account": "4111111111111111",
  //   "expiry": "1221",
  //   "amount": "0",
  //   "currency": "USD",
  //   "name": "TOM JONES",
  //   "address": "123 MAIN STREET",
  //   "city": "anytown",
  //   "region": "NY",
  //   "country": "US",
  //   "postal": "55555",
  //   "profile": "Y",
  //   "ecomind": "E",
  //   "cvv2": "123",
  //   "track": null,
  //   "capture": "Y"
  // }

  // Use this online tool to generate the code from sample JSON: 
  // Generate Code to Create JSON
  const json = new JsonObject();
  json.updateString('merchid', 'MERCHANT_ID');
  json.updateString('accttype', 'VISA');
  json.updateString('orderid', 'AB-11-9876');
  json.updateString('account', '4111111111111111');
  json.updateString('expiry', '1221');
  json.updateString('amount', '20');
  json.updateString('currency', 'USD');
  json.updateString('name', 'TOM JONES');
  json.updateString('address', '123 MAIN STREET');
  json.updateString('city', 'anytown');
  json.updateString('region', 'NY');
  json.updateString('country', 'US');
  json.updateString('postal', '55555');
  json.updateString('profile', 'Y');
  json.updateString('ecomind', 'E');
  json.updateString('cvv2', '123');
  json.updateNull('track');
  json.updateString('capture', 'Y');

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

  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());

  // Sample error:

  // {
  //   "respproc": "PPS",
  //   "amount": "0.00",
  //   "resptext": "Invalid amount",
  //   "cardproc": "FNOR",
  //   "acctid": "1",
  //   "retref": "112804260418",
  //   "respstat": "C",
  //   "respcode": "43",
  //   "account": "41XXXXXXXXXX1111",
  //   "defaultacct": "Y",
  //   "merchid": "MERCHANT_ID",
  //   "token": "9418594164541111"
  // }

  // A successful response looks like this:

  // {
  //   "amount": "0.20",
  //   "resptext": "Approval",
  //   "acctid": "1",
  //   "commcard": " C ",
  //   "cvvresp": "M",
  //   "respcode": "00",
  //   "batchid": "1900942291",
  //   "avsresp": "Z",
  //   "entrymode": "ECommerce",
  //   "defaultacct": "Y",
  //   "merchid": "MERCHANT_ID",
  //   "token": "9418594164541111",
  //   "authcode": "PPS158",
  //   "respproc": "FNOR",
  //   "bintype": "",
  //   "profileid": "16618402968441604028",
  //   "retref": "112989260941",
  //   "respstat": "A",
  //   "account": "41XXXXXXXXXX1111"
  // }

  // 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 acctid = jsonResp.stringOf('acctid');
  const commcard = jsonResp.stringOf('commcard');
  const cvvresp = jsonResp.stringOf('cvvresp');
  const respcode = jsonResp.stringOf('respcode');
  const batchid = jsonResp.stringOf('batchid');
  const avsresp = jsonResp.stringOf('avsresp');
  const entrymode = jsonResp.stringOf('entrymode');
  const defaultacct = jsonResp.stringOf('defaultacct');
  const merchid = jsonResp.stringOf('merchid');
  const token = jsonResp.stringOf('token');
  const authcode = jsonResp.stringOf('authcode');
  const respproc = jsonResp.stringOf('respproc');
  const bintype = jsonResp.stringOf('bintype');
  const profileid = jsonResp.stringOf('profileid');
  const retref = jsonResp.stringOf('retref');
  const respstat = jsonResp.stringOf('respstat');
  const account = jsonResp.stringOf('account');
}