Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loHttp
LOCAL loJson
LOCAL loBd
LOCAL loGzip
LOCAL lcUrl
LOCAL loResp
LOCAL loJsonResp

lnSuccess = 0

* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loHttp = CreateObject('Chilkat.Http')

loHttp.BasicAuth = 1
loHttp.Login = "API_USERNAME"
loHttp.Password = "API_PASSWORD"

* Build and send the following JSON:

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

loJson = CreateObject('Chilkat.JsonObject')
loJson.UpdateString("merchid","MERCHANT_ID")
loJson.UpdateString("retref","106631225001")

* Load the .bmp containing a 200px x 100px signature.
loBd = CreateObject('Chilkat.BinData')
lnSuccess = loBd.LoadFile("qa_data/bmp/signature.bmp")
* Gzip compress.
loGzip = CreateObject('Chilkat.Gzip')
lnSuccess = loGzip.CompressBd(loBd)
* Add to the JSON in base64 format
loJson.UpdateString("signature",loBd.GetEncoded("base64"))

lcUrl = "https://<site>.cardconnect.com:<port>/cardconnect/rest/sigcap"

loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpStr("PUT",lcUrl,loJson.Emit(),"utf-8","application/json",loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loJson
    RELEASE loBd
    RELEASE loGzip
    RELEASE loResp
    CANCEL
ENDIF

* 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.
? "response status code = " + STR(loResp.StatusCode)

loJsonResp = CreateObject('Chilkat.JsonObject')
loJsonResp.Load(loResp.BodyStr)
loJsonResp.EmitCompact = 0

? "response JSON:"
? loJsonResp.Emit()

* A successful response looks like this:

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

RELEASE loHttp
RELEASE loJson
RELEASE loBd
RELEASE loGzip
RELEASE loResp
RELEASE loJsonResp