Lua Requires Chilkat v11.0.0+
Lua
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 Lua Downloads
local chilkat = require("chilkat")
-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local http = chilkat.Http.new()
http.basic_auth = true
http.login = "API_USERNAME"
http.password = "API_PASSWORD"
-- Build and send the following JSON:
-- {
-- "merchid": "MERCHANT_ID",
-- "retref": "112989260941",
-- "signature": "BASE64_GZIPPED_BMP_DATA"
-- }
local json = chilkat.JsonObject.new()
json:update_string("merchid", "MERCHANT_ID")
json:update_string("retref", "106631225001")
-- Load the .bmp containing a 200px x 100px signature.
local bd = chilkat.BinData.new()
local success = bd:load_file("qa_data/bmp/signature.bmp")
-- Gzip compress.
local gzip = chilkat.Gzip.new()
success = gzip:compress_bd(bd)
-- Add to the JSON in base64 format
json:update_string("signature", bd:get_encoded("base64"))
local url = "https://<site>.cardconnect.com:<port>/cardconnect/rest/sigcap"
local resp = chilkat.HttpResponse.new()
success = http:http_str("PUT", url, json:emit(), "utf-8", "application/json", resp)
if not success then
print(http.last_error_text)
return
end
-- 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.
print("response status code = " .. resp.status_code)
local jsonResp = chilkat.JsonObject.new()
jsonResp:load(resp.body_str)
jsonResp.emit_compact = false
print("response JSON:")
print(jsonResp:emit())
-- A successful response looks like this:
-- {
-- "resptext": "signature stored",
-- "retref": "106631225001",
-- "respcode": "02",
-- "merchid": "MERCHANT_ID"
-- }