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

CardConnect Signature Capture

See more CardConnect Examples

Demonstrates how to upload a BMP image of a handwritten signature.
This signature capture service augments an existing authorization record with the provided signature data. ...

See https://developer.cardconnect.com/cardconnect-api?lang=json#signature-capture

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.BinData;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Gzip;
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:

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

        JsonObject json = new JsonObject();
        json.updateString("merchid", "MERCHANT_ID");
        json.updateString("retref", "106631225001");

        // Load the .bmp containing a 200px x 100px signature.
        BinData bd = new BinData();
        bd.loadFile("qa_data/bmp/signature.bmp");
        // Gzip compress.
        Gzip gzip = new Gzip();
        gzip.compressBd(bd);
        // Add to the JSON in base64 format
        json.updateString("signature", bd.getEncoded("base64"));

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

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

        // A successful response looks like this:

        // {
        //   "resptext": "signature stored",
        //   "retref": "106631225001",
        //   "respcode": "02",
        //   "merchid": "MERCHANT_ID"
        // }
    }
}