Links

Javascript SDK

Due to ongoing third-party vendor issues, we are currently unable to provide full support for our Javascript SDK. We apologize for any inconvenience and are actively working to resolve the issue as soon as possible. In the meantime, we recommend that new customers explore alternative integration options. For existing customers, the documentation will remain available for reference.

Overview

The Cardknox Javascript SDK allows for integration between Cardknox and web applications. It offers incredible flexibility in that it supports a wide variety of platforms and does not require any application to be installed on the merchant's device.
The JavaScript SDK is currently compatible with the PAX S300, S920, and A series devices.

Sample Page and Latest Version Number

Find Us on GitHub

Javascript SDK

Getting Started

Load our SDK. The latest version can be found here.
<script src="https://cdn.cardknox.com/sdk-js/1.0.2111.1801-beta/cardknox-sdk.min.js"></script>

HTTPS

To enable https on the Pax device, please contact support.
To avoid the need for a self-signed certificate, Cardknox provides a SSL certificate pointing to the local IP address. The format for the host name is <ip-{IP address replacing the periods with dashes}.mylocaldevice.com> i.e. for IP address 192.168.1.1 the host name would be ip-192-168-1-1.mylocaldevice.com. The SDK will automatically format the host name correctly when the protocol is https.
A DNS entry must exist, mapping the host name to the IP address.
To create a DNS entry, use the tool located here. This can also be done via API.
curl --request POST \
--url http://localdevice.us-west-2.elasticbeanstalk.com/api/dnsrecord/save \
--header 'Content-Type: multipart/form-data' \
--form ip=192.168.1.1

SDK Functions

Process

Process a transaction
Args
Returns
Type
TransactionRequest
TransactionResponse

Get Signature

Prompts for signature on the device
This returns a base64 encoded PNG without the data header.
Args
Returns
Type
Settings
String

TransactionRequest

TransactionRequest
Name
Type
Description
Valid values
xSoftwareName
String
Your software name
xSoftwareVersion
String
Your software version
xCommand
String
Transaction type
Enum xCommand
xAmount
Number
Transaction amount.
Format: #.##
xTip
Number
Tip amount included in the transaction amount.
Format: #.##
xInvoice
String
Invoice number
xCustom02
String
Custom data
Max length of 4 (will be truncated)
xAllowDuplicate
Boolean
If true, host will not check for duplicate
settings
Settings
Transaction settings, these should be the same for all transactions

Settings

settings
Name
Type
Description
Valid values
deviceIpAddress
String
IP address of your device. When the protocol is https the mylocaldevice.com domain name will be used. See HTTPS
05.06.007.08
deviceIpPort
String
IP port of your device. Default is "10009"
10009
deviceIpProtocol
String
The protocol to use to talk to the device. Defaults to the location protocol
https

xCommand

List of supported transaction types.
xCommand
These enums are available from the SDK.
Name
Command
CC_SALE
cc:sale
CC_CREDIT
cc:credit
CC_AUTHONLY
cc:authonly
CC_CAPTURE
cc:capture
CC_POSTAUTH
cc:postauth
CC_VOID
cc:void
CC_VOIDRELEASE
cc:voidrelease
CC_VOIDREFUND
cc:voidrefund
CC_BALANCE
cc:balance
EBTFS_SALE
ebtfs:sale
EBTFS_CREDIT
ebtfs:credit
EBTFS_BALANCE
ebtfs:balance
EBTCB_SALE
ebtcb:sale
EBTCB_BALANCE
ebtcb:balance
GIFT_REDEEM
gift:redeem
GIFT_ISSUE
gift:issue
GIFT_BALANCE
gift:balance