Sample code for 30+ languages & platforms
Java 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 Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.HttpResponse;
import com.chilkatsoft.chilkat2.JsonObject;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Http http = new Http();

        http.setBasicAuth(true);
        http.setLogin("API_USERNAME");
        http.setPassword("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
        JsonObject 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");

        String url = "https://<site>.cardconnect.com:<port>/cardconnect/rest/auth";

        HttpResponse resp = new HttpResponse();
        try {
            http.httpStr("PUT", url, json.emit(), "utf-8", "application/json", resp);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            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.
        System.out.println("response status code = " + resp.getStatusCode());

        JsonObject jsonResp = new JsonObject();
        jsonResp.load(resp.getBodyStr());
        jsonResp.setEmitCompact(false);

        System.out.println("response JSON:");
        System.out.println(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

        String amount = jsonResp.stringOf("amount");
        String resptext = jsonResp.stringOf("resptext");
        String acctid = jsonResp.stringOf("acctid");
        String commcard = jsonResp.stringOf("commcard");
        String cvvresp = jsonResp.stringOf("cvvresp");
        String respcode = jsonResp.stringOf("respcode");
        String batchid = jsonResp.stringOf("batchid");
        String avsresp = jsonResp.stringOf("avsresp");
        String entrymode = jsonResp.stringOf("entrymode");
        String defaultacct = jsonResp.stringOf("defaultacct");
        String merchid = jsonResp.stringOf("merchid");
        String token = jsonResp.stringOf("token");
        String authcode = jsonResp.stringOf("authcode");
        String respproc = jsonResp.stringOf("respproc");
        String bintype = jsonResp.stringOf("bintype");
        String profileid = jsonResp.stringOf("profileid");
        String retref = jsonResp.stringOf("retref");
        String respstat = jsonResp.stringOf("respstat");
        String account = jsonResp.stringOf("account");
    }
}