EBT

Overview

This page contains all API documentation for Electronic Benefit Transfer (EBT) transactions. For more information regarding account access, navigate to the Transaction API parent page.

The transactions below are not valid for EBT Online. To reference EBT Online, navigate to this page.

How to Generate Cardknox Keys

  1. Sign in to the Cardknox Merchant Portal.

  2. Select "Account Settings" from the navigation bar.

  3. Select "Keys" from the sub-menu.

  4. Click "Create a Key" in the top-right corner.

  5. Choose the desired key type (API or iFields), description (software, etc.), and permissions.

  6. Click "Create and View" and copy your key.

It is critical to copy your key and save it in a secure location, as you won’t be able to obtain the key again.

iFields and Transaction API

We recommend using iFields in conjunction with the Transaction API for added security. Cardknox iFields is an iFrames solution that keeps sensitive card data away from merchant servers while granting you complete control over form layout and design. Click here to learn more about iFields.

The Cardknox iFields solution utilizes iFrames in which the user enters their credit card and/or ACH information and then uses JavaScript to generate SUTs (single-use tokens) for processing. These features allow the website to remain secure and out-of-scope for PCI compliance while allowing the developer to customize the page layout and design fully.

Endpoints

Health Check

HTTP Request Method: GET

Transactions

HTTP Request Method: POST

Cardknox allows you to send the data in FormData, JSON, and XML formats.

Add to the base URL any of the following formats to indicate which format you are sending it as:

FormData

/gatewayform

https://x1.cardknox.com/gatewayform

JSON

/gatewayjson

https://x1.cardknox.com/gatewayjson

XML

/gatewayxml

https://x1.cardknox.com/gatewayxml

Transactions

EBT Food Stamp

Sale

POST ebtfs:sale

xCommand = ebtfs:sale

The Sale command is used to make a purchase on an EBT cardholder’s food stamp account.

Request Body

Name
Type
Description

xCardNum*

String

The customer card number. *Alternatively, xToken xMagStripe or SUT can be used.

xKey*

String

Your Cardknox API key.

xVersion*

String

Gateway API version. The current version is 5.0.0.

xSoftwareName*

String

Name of your software

xSoftwareVersion*

String

Version number of your software

xCommand*

String

Cardknox transaction type

xAmount*

String

The total amount of the transaction, inclusive of tax and tip if applicable.

xToken

String

The Cardknox token that references a previously used payment method. When using a token, xCardNum xExp and xMagstripe should not be used.

xCustom01

String

20 custom fields are available for custom data, such as customer comments, etc. Use xCustom01 through xCustom20.

xMagstripe

String

The magstripe data of a credit card. Magstripe data includes the card number and expiration date. When using this command, xCardNum xExp and xToken should not be used. Encrypted card data can also be sent using xMagstripe

xName

String

The cardholder’s name

xTax

String

The tax portion that is included in the total transaction amount (xAmount)

xTip

String

The tip portion that is included in the total transaction amount (xAmount)

xInvoice

String

The merchant’s invoice number for the transaction. xInvoice is recommended when available for improved duplicate handling

xPONum

String

The merchant’s purchase order number for the transaction

xComments

String

Additional data optionally passed along to the receipt

xDescription

String

Additional data optionally passed along for reporting

xIP

String

The customer’s IP address. Typically used for fraud detection

xEmail

String

The customer’s email address

xFax

String

The customer’s fax number

xBillFirstName

String

The customer’s first name for their billing profile

xBillMiddleName

String

The customer’s middle name or initial for their billing profile

xBillLastName

String

The customer’s last/family name for their billing profile

xBillCompany

String

The customer’s company name for their billing profile

xBillStreet

String

The customer’s street address for their billing profile

xBillStreet2

String

The customer’s street address 2nd line for their billing profile

xBillCity

String

The customer’s city for their billing profile

xBillState

String

The customer’s state for their billing profile

xBillZip

String

The customer’s zip code for their billing profile

xBillCountry

String

The customer’s country for their billing profile

xBillPhone

String

The customer’s phone number for their billing profile

xBillMobile

String

The customer’s mobile number for their billing profile

xShipFirstName

String

The customer’s first name for their shipping profile

xShipMiddleName

String

The customer’s middle name or initial for their shipping profile

xShipLastName

String

The customer’s last/family name for their shipping profile

xShipCompany

String

The customer’s company name for their shipping profile

xShipStreet

String

The customer’s street address for their shipping profile

xShipStreet2

String

The customer’s street address 2nd line for their shipping profile

xShipCity

String

The customer’s city for their shipping profile

xShipState

String

The customer’s state for their shipping profile

xShipZip

String

The customer’s zip code for their shipping profile

xShipCountry

String

The customer’s country for their shipping profile

xShipPhone

String

The customer’s phone number for their shipping profile

xShipMobile

String

The customer’s mobile number for their shipping profile

xAllowDuplicate

String

By default, Cardknox rejects duplicate transactions within 10 minutes of the original transaction. This command overrides that safeguard. True/False allowed.

xCustReceipt

String

True/False value indicating if the email address specified in xemail should receive a receipt containing the transaction details

xDUKPT*

String

The DUK/PT key for PIN debit and EBT transactions.The first 16 characters are the encrypted PIN block, followed by the 6 character long Key Set Identifier (KSID). The remaining characters are the PIN pad serial number and transaction counter.

xOrderID

String

Unique order number for FraudWatch verification

xExistingCustomer

String

Yes/No value indicating if the customer is a repeat customer

xSupports64BitRefnum

String

True/False value indicating that the user’s system can handle a 64bit refnum getting returned on request to the transaction.

{
    "xCardNum": "4444333322221111",
    "xKey": "[xkeycredentials]",
    "xVersion": "4.5.9",
    "xSoftwareName": "YourSoftwareName",
    "xSoftwareVersion": "1.0.0",
    "xCommand": "ebtfs:sale",
    "xAmount": "35.00",
    "xToken": "61h72mmh68phn9q233634ph3g54p1499m69qhp4816pn528h84",
    "xCustom01": "Register01",
    "xDUKPT": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;444433",
    "xMagstripe": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;4444333322221111=4912101123456789?",
    "xName": "John Doe",
    "xTax": "2.00",
    "xTip": "2.00",
    "xInvoice": "123456A",
    "xPONum": "123456B",
    "xComments": "This is a comment",
    "xDescription": "This is a description",
    "xIP": "1.2.3.4",
    "xEmail": "text@example.com",
    "xFax": "1234567890",
    "xBillFirstName": "John",
    "xBillMiddleName": "Max",
    "xBillLastName": "Doe",
    "xBillCompany": "Acme", 
    "xBillStreet": "123 Any Street", 
    "xBillStreet2": "Apt 4b", 
    "xBillCity": "Anytown", 
    "xBillState": "NY", 
    "xBillZip": "12345", 
    "xBillCountry": "USA", 
    "xBillPhone": "8005551212", 
    "xBillMobile": "8005551111", 
    "xShipFirstName": "John", 
    "xShipMiddleName": "Max", 
    "xShipLastName": "Doe", 
    "xShipCompany": "Acme", 
    "xShipStreet": "123 Any Street", 
    "xShipStreet2": "Apt 4b", 
    "xShipCity": "Anytown", 
    "xShipState": "NY", 
    "xShipZip": "11111", 
    "xShipCountry": "USA", 
    "xShipPhone": "8005551212", 
    "xShipMobile": "8005551111", 
    "xOrderID": "12356",
    "xExistingCustomer": "TRUE",
    "xAllowDuplicate": "TRUE", 
    "xCustReceipt": "TRUE"
}

Credit

POST ebtfs:credit

xCommand = ebtfs:credit The Credit command is used to credit an EBT cardholder’s food stamp account.

Request Body

Name
Type
Description

xCardNum*

String

The customer card number. *Alternatively, xToken xMagStripe or SUT can be used.

xKey*

String

Your Cardknox API key.

xVersion*

String

Gateway API version. The current version is 5.0.0.

xSoftwareName*

String

Name of your software

xSoftwareVersion*

String

Version number of your software

xCommand*

String

Cardknox transaction type

xAmount*

String

The total amount of the transaction, inclusive of tax and tip if applicable. This the total amount of the transaction.

xToken

String

The Cardknox token that references a previously used payment method. When using a token, xCardNum xExp and xMagstripe should not be used.

xCustom01

String

20 custom fields are available for custom data, such as customer comments, etc. Use xCustom01 through xCustom20.

xMagstripe

String

The magstripe data of a credit card. Magstripe data includes the card number and expiration date. When using this command, xCardNum xExp and xToken should not be used. Encrypted Card data can also be sent using xMagstripe.

xName

String

The cardholder’s name

xTax

String

The tax portion that is included in the total transaction amount (xAmount)

xTip

String

The tip portion that is included in the total transaction amount (xAmount)

xInvoice

String

The merchant’s invoice number for the transaction. xInvoice is recommended when available for improved duplicate handling.

xPONum

String

The merchant’s purchase order number for the transaction

xComments

String

Additional data optionally passed along to the receipt

xDescription

String

Additional data optionally passed along for reporting

xIP

String

The customer’s IP address. Typically used for fraud detection

xEmail

String

The customer’s email address

xFax

String

The customer’s fax number

xBillFirstName

String

The customer’s first name for their billing profile

xBillMiddleName

String

The customer’s middle name or initial for their billing profile

xBillLastName

String

The customer’s last/family name for their billing profile

xBillCompany

String

The customer’s company name for their billing profile

xBillStreet

String

The customer’s street address for their billing profile

xBillStreet2

String

The customer’s street address 2nd line for their billing profile

xBillCity

String

The customer’s city for their billing profile

xBillState

String

The customer’s state for their billing profile

xBillZip

String

The customer’s zip code for their billing profile

xBillCountry

String

The customer’s country for their billing profile

xBillPhone

String

The customer’s phone number for their billing profile

xBillMobile

String

The customer’s mobile number for their billing profile

xShipFirstName

String

The customer’s first name for their shipping profile

xShipMiddleName

String

The customer’s middle name or initial for their shipping profile

xShipLastName

String

The customer’s last/family name for their shipping profile

xShipCompany

String

The customer’s company name for their shipping profile

xShipStreet

String

The customer’s street address for their shipping profile

xShipStreet2

String

The customer’s street address 2nd line for their shipping profile

xShipCity

String

The customer’s city for their shipping profile

xShipState

String

The customer’s state for their shipping profile

xShipZip

String

The customer’s zip code for their shipping profile

xShipCountry

String

The customer’s country for their shipping profile

xShipPhone

String

The customer’s phone number for their shipping profile

xShipMobile

String

The customer’s mobile number for their shipping profile

xAllowDuplicate

String

By default, Cardknox rejects duplicate transactions within 10 minutes of the original transaction. This command overrides that safeguard. True/False allowed.

xDUKPT*

String

The DUK/PT key for PIN debit and EBT transactions.The first 16 characters are the encrypted PIN block, followed by the 6 character long Key Set Identifier (KSID). The remaining characters are the PIN pad serial number and transaction counter.

xOrderID

String

Unique order number for FraudWatch verification

xExistingCustomer

String

Yes/No value indicating if the customer is a repeat customer

xSupports64BitRefnum

String

True/False value indicating that the user’s system can handle a 64bit refnum getting returned on request to the transaction.

Credit - Request Payload Example
{
    "xCardNum": "4444333322221111",
    "xKey": "[xkeycredentials]",
    "xVersion": "4.5.9",
    "xSoftwareName": "YourSoftwareName",
    "xSoftwareVersion": "1.0.0",
    "xCommand": "ebtfs:credit",
    "xAmount": "35.00",
    "xToken": "61h72mmh68phn9q233634ph3g54p1499m69qhp4816pn528h84",
    "xCustom01": "Register01",
    "xDUKPT": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;444433",
    "xMagstripe": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;4444333322221111=4912101123456789?",
    "xName": "John Doe",
    "xTax": "2.00",
    "xTip": "2.00",
    "xInvoice": "123456A",
    "xPONum": "123456B",
    "xComments": "This is a comment",
    "xDescription": "This is a description",
    "xIP": "1.2.3.4",
    "xEmail": "text@example.com",
    "xFax": "1234567890",
    "xBillFirstName": "John",
    "xBillMiddleName": "Max",
    "xBillLastName": "Doe",
    "xBillCompany": "Acme", 
    "xBillStreet": "123 Any Street", 
    "xBillStreet2": "Apt 4b", 
    "xBillCity": "Anytown", 
    "xBillState": "NY", 
    "xBillZip": "12345", 
    "xBillCountry": "USA", 
    "xBillPhone": "8005551212", 
    "xBillMobile": "8005551111", 
    "xShipFirstName": "John", 
    "xShipMiddleName": "Max", 
    "xShipLastName": "Doe", 
    "xShipCompany": "Acme", 
    "xShipStreet": "123 Any Street", 
    "xShipStreet2": "Apt 4b", 
    "xShipCity": "Anytown", 
    "xShipState": "NY", 
    "xShipZip": "11111", 
    "xShipCountry": "USA", 
    "xShipPhone": "8005551212", 
    "xShipMobile": "8005551111", 
    "xOrderID": "12356",
    "xExistingCustomer": "TRUE",
    "xAllowDuplicate": "TRUE"
}

Balance

POST ebtfs:balance

xCommand = ebtfs:Balance

The Balance command is used to check the balance on an EBT cash benefit account.

Request Body

Name
Type
Description

xCardNum*

String

The customer card number. *Alternatively, xToken xMagStripe or SUT can be used.

xKey*

String

Your Cardknox API key.

xVersion*

String

Gateway API version. The current version is 5.0.0.

xSoftwareName*

String

Name of your software

xSoftwareVersion*

String

Version number of your software

xCommand*

String

Cardknox transaction type

xDUKPT*

String

The DUK/PT key for PIN debit and EBT transactions.The first 16 characters are the encrypted PIN block, followed by the 6 character long Key Set Identifier (KSID). The remaining characters are the PIN pad serial number and transaction counter.

xMagstripe

String

The magstripe data of a credit card. Magstripe data includes the card number and expiration date. When using this command, xCardNum xExp and xToken should not be used. Encrypted card data can also be sent using xMagstripe.

xIP

String

The customer’s IP address. Typically used for fraud detection.

xSupports64BitRefnum

String

True/False value indicating that the user’s system can handle a 64bit refnum getting returned on request to the transaction.

Balance - Request Payload Example
{
    "xCardNum": "4444333322221111",
    "xKey": "[xkeycredentials]",
    "xVersion": "4.5.9",
    "xSoftwareName": "YourSoftwareName",
    "xSoftwareVersion": "1.0.0",
    "xCommand": "ebtfs:balance",
    "xDUKPT": "3748276384717382:2dh2298h28dhf982f298g",
    "xMagstripe": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;4444333322221111=4912101123456789?",
    "xIP": "1.1.1.1"
}

Voucher

POST ebtfs:voucher

xCommand = ebtfs:voucher The Voucher command is used to process a manual EBT food stamp voucher.

Request Body

Name
Type
Description

xCardNum*

String

The customer card number. *Alternatively, xToken xMagStripe or SUT can be used.

xKey*

String

Your Cardknox API key.

xVersion*

String

Gateway API version. The current version is 5.0.0.

xSoftwareName*

String

Name of your software

xSoftwareVersion*

String

Version number of your software

xCommand*

String

Cardknox transaction type

xAmount*

String

The total amount of the transaction, inclusive of tax and tip if applicable. This the total amount of the transaction.

xToken

String

The Cardknox token that references a previously used payment method. When using a token, xCardNum xExp and xMagstripe should not be used.

xCustom01

String

20 custom fields are available for custom data, such as customer comments, etc. Use xCustom01 through xCustom20.

xMagstripe

String

The magstripe data of a credit card. Magstripe data includes the card number and expiration date. When using this command, xCardNum xExp and xToken should not be used. Encrypted Card data can also be sent using xMagstripe.

xName

String

The cardholder’s name

xTax

String

The tax portion that is included in the total transaction amount (xAmount)

xTip

String

The tip portion that is included in the total transaction amount (xAmount)

xInvoice

String

The merchant’s invoice number for the transaction. xInvoice is recommended when available for improved duplicate handling.

xPONum

String

The merchant’s purchase order number for the transaction

xComments

String

Additional data that is optionally passed along to the receipt

xDescription

String

Additional data that is optionally passed along for reporting

xIP

String

The customer’s IP address. Typically used for fraud detection.

xEmail

String

The customer’s email address

xFax

String

The customer’s fax number

xBillFirstName

String

The customer’s first name for their billing profile

xBillMiddleName

String

The customer’s middle name or initial for their billing profile

xBillLastName

String

The customer’s last/family name for their billing profile

xBillCompany

String

The customer’s company name for their billing profile

xBillStreet

String

The customer’s street address for their billing profile

xBillStreet2

String

The customer’s street address 2nd line for their billing profile

xBillCity

String

The customer’s city for their billing profile

xBillState

String

The customer’s state for their billing profile

xBillZip

String

The customer’s zip code for their billing profile

xBillCountry

String

The customer’s country for their billing profile

xBillPhone

String

The customer’s phone number for their billing profile

xBillMobile

String

The customer’s mobile number for their billing profile

xShipFirstName

String

The customer’s first name for their shipping profile

xShipMiddleName

String

The customer’s middle name or initial for their shipping profile

xShipLastName

String

The customer’s last/family name for their shipping profile

xShipCompany

String

The customer’s company name for their shipping profile

xShipStreet

String

The customer’s street address for their shipping profile

xShipStreet2

String

The customer’s street address 2nd line for their shipping profile

xShipCity

String

The customer’s city for their shipping profile

xShipState

String

The customer’s state for their shipping profile

xShipZip

String

The customer’s zip code for their shipping profile

xShipCountry

String

The customer’s country for their shipping profile

xShipPhone

String

The customer’s phone number for their shipping profile

xShipMobile

String

The customer’s mobile number for their shipping profile

xAllowDuplicate

String

By default, Cardknox rejects duplicate transactions within 10 minutes of the original transaction. This command overrides that safeguard. True/False allowed.

xDUKPT*

String

The DUK/PT key for PIN debit and EBT transactions.The first 16 characters are the encrypted PIN block, followed by the 6 character long Key Set Identifier (KSID). The remaining characters are the PIN Pad serial number and transaction counter.

xOrderID

String

Unique order number for FraudWatch verification

xExistingCustomer

String

Yes/No value indicating if the customer is a repeat customer

xVoucherApproval*

String

The EBT voucher approval code

xVoucherSerial*

String

The EBT voucher serial number

xSupports64BitRefnum

String

True/False value indicating that the user’s system can handle a 64bit refnum getting returned on request to the transaction.

Voucher - Request Payload Example
{
    "xCardNum": "4444333322221111",
    "xKey": "[xkeycredentials]",
    "xVersion": "4.5.9",
    "xSoftwareName": "YourSoftwareName",
    "xSoftwareVersion": "1.0.0",
    "xCommand": "ebtfs:voucher",
    "xAmount": "35.00",
    "xToken": "61h72mmh68phn9q233634ph3g54p1499m69qhp4816pn528h84",
    "xCustom01": "Register01",
    "xDUKPT": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;444433",
     "xVoucherApproval": "123df1248f",
     "xVoucherSerial": "123",
    "xMagstripe": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;4444333322221111=4912101123456789?",
    "xName": "John Doe",
    "xTax": "2.00",
    "xTip": "2.00",
    "xInvoice": "123456A",
    "xPONum": "123456B",
    "xComments": "This is a comment",
    "xDescription": "This is a description",
    "xIP": "1.2.3.4",
    "xEmail": "text@example.com",
    "xFax": "1234567890",
    "xBillFirstName": "John",
    "xBillMiddleName": "Max",
    "xBillLastName": "Doe",
    "xBillCompany": "Acme", 
    "xBillStreet": "123 Any Street", 
    "xBillStreet2": "Apt 4b", 
    "xBillCity": "Anytown", 
    "xBillState": "NY", 
    "xBillZip": "12345", 
    "xBillCountry": "USA", 
    "xBillPhone": "8005551212", 
    "xBillMobile": "8005551111", 
    "xShipFirstName": "John", 
    "xShipMiddleName": "Max", 
    "xShipLastName": "Doe", 
    "xShipCompany": "Acme", 
    "xShipStreet": "123 Any Street", 
    "xShipStreet2": "Apt 4b", 
    "xShipCity": "Anytown", 
    "xShipState": "NY", 
    "xShipZip": "11111", 
    "xShipCountry": "USA", 
    "xShipPhone": "8005551212", 
    "xShipMobile": "8005551111", 
    "xOrderID": "12356",
    "xExistingCustomer": "TRUE",
    "xAllowDuplicate": "TRUE"
}

EBT Cash Benefits

Sale

POST ebtcb:sale

xCommand = ebtcb:sale The Sale command is used to make a purchase on an EBT cardholder’s cash benefit account.

Request Body

Name
Type
Description

xCardNum*

String

The customer card number. *Alternatively, xToken xMagStripe or SUT can be used.

xKey*

String

Your Cardknox API key.

xVersion*

String

Gateway API version. The current version is 5.0.0.

xSoftwareName*

String

Name of your software

xSoftwareVersion*

String

Version number of your software

xCommand*

String

Cardknox transaction type

xAmount*

String

The total amount of the transaction, inclusive of tax and tip if applicable. This the total amount of the transaction.

xToken

String

The Cardknox token that references a previously used payment method. When using a token, xCardNum xExp and xMagstripe should not be used.

xCustom01

String

20 custom fields are available for custom data, such as customer comments, etc. Use xCustom01 through xCustom20.

xMagstripe

String

The magstripe data of a credit card. Magstripe data includes the card number and expiration date. When using this command, xCardNum xExp and xToken should not be used. Encrypted Card data can also be sent using xMagstripe.

xName

String

The cardholder’s name

xTax

String

The tax portion that is included in the total transaction amount (xAmount).

xTip

String

The tip portion that is included in the total transaction amount (xAmount)

xInvoice

String

The merchant’s invoice number for the transaction. xInvoice is recommended when available for improved duplicate handling

xPONum

String

The merchant’s purchase order number for the transaction

xComments

String

Additional data that is optionally passed along to the receipt

xDescription

String

Additional data that is optionally passed along for reporting

xIP

String

The customer’s IP address. Typically used for fraud detection.

xEmail

String

The customer’s email address

xFax

String

The customer’s fax number

xBillFirstName

String

The customer’s first name for their billing profile

xBillMiddleName

String

The customer’s middle name or initial for their billing profile

xBillLastName

String

The customer’s last/family name for their billing profile

xBillCompany

String

The customer’s company name for their billing profile

xBillStreet

String

The customer’s street address for their billing profile

xBillStreet2

String

The customer’s street address 2nd line for their billing profile

xBillCity

String

The customer’s city for their billing profile

xBillState

String

The customer’s state for their billing profile

xBillZip

String

The customer’s zip code for their billing profile

xBillCountry

String

The customer’s Country for their billing profile

xBillPhone

String

The customer’s phone number for their billing profile

xBillMobile

String

The customer’s mobile number for their billing profile

xShipFirstName

String

The customer’s first name for their shipping profile

xShipMiddleName

String

The customer’s middle name or initial for their shipping profile

xShipLastName

String

The customer’s last/family name for their shipping profile

xShipCompany

String

The customer’s company name for their shipping profile

xShipStreet

String

The customer’s street address for their shipping profile

xShipStreet2

String

The customer’s street address 2nd line for their shipping profile

xShipCity

String

The customer’s city for their shipping profile

xShipState

String

The customer’s state for their shipping profile

xShipZip

String

The customer’s zip code for their shipping profile

xShipCountry

String

The customer’s country for their shipping profile

xShipPhone

String

The customer’s phone number for their shipping profile

xShipMobile

String

The customer’s mobile number for their shipping profile

xAllowDuplicate

String

By default, Cardknox rejects duplicate transactions within 10 minutes of the original transaction. This command overrides that safeguard. True/False allowed.

xDUKPT*

String

The DUK/PT key for PIN debit and EBT transactions.The first 16 characters are the encrypted PIN block, followed by the 6 character long Key Set Identifier (KSID). The remaining characters are the PIN pad serial number and transaction counter.

xOrderID

String

Unique order number for FraudWatch verification

xExistingCustomer

String

Yes/No value indicating if the customer is a repeat customer

xSupports64BitRefnum

String

True/False value indicating that the user’s system can handle a 64bit refnum getting returned on request to the transaction.

Sale - Request Payload Example
{
    "xCardNum": "4444333322221111",
    "xKey": "[xkeycredentials]",
    "xVersion": "4.5.9",
    "xSoftwareName": "YourSoftwareName",
    "xSoftwareVersion": "1.0.0",
    "xCommand": "ebtcb:sale"
    "xAmount": "35.00",
    "xToken": "61h72mmh68phn9q233634ph3g54p1499m69qhp4816pn528h84",
    "xCustom01": "Register01",
    "xDUKPT": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;444433",
    "xMagstripe": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;4444333322221111=4912101123456789?",
    "xName": "John Doe",
    "xTax": "2.00",
    "xTip": "2.00",
    "xInvoice": "123456A",
    "xPONum": "123456B",
    "xComments": "This is a comment",
    "xDescription": "This is a description",
    "xIP": "1.2.3.4",
    "xEmail": "text@example.com",
    "xFax": "1234567890",
    "xBillFirstName": "John",
    "xBillMiddleName": "Max",
    "xBillLastName": "Doe",
    "xBillCompany": "Acme", 
    "xBillStreet": "123 Any Street", 
    "xBillStreet2": "Apt 4b", 
    "xBillCity": "Anytown", 
    "xBillState": "NY", 
    "xBillZip": "12345", 
    "xBillCountry": "USA", 
    "xBillPhone": "8005551212", 
    "xBillMobile": "8005551111", 
    "xShipFirstName": "John", 
    "xShipMiddleName": "Max", 
    "xShipLastName": "Doe", 
    "xShipCompany": "Acme", 
    "xShipStreet": "123 Any Street", 
    "xShipStreet2": "Apt 4b", 
    "xShipCity": "Anytown", 
    "xShipState": "NY", 
    "xShipZip": "11111", 
    "xShipCountry": "USA", 
    "xShipPhone": "8005551212", 
    "xShipMobile": "8005551111", 
    "xOrderID": "12356",
    "xExistingCustomer": "TRUE",
    "xAllowDuplicate": "TRUE"
}

Cash

POST ebtcb:cash

xCommand = ebtcb:Cash The Cash command enables a cash withdrawal from an EBT cardholder’s cash benefit account.

Request Body

Name
Type
Description

xCardNum*

String

The customer card number. *Alternatively, xToken xMagStripe or SUT can be used.

xKey*

String

Your Cardknox API key.

xVersion*

String

Gateway API version. The current version is 5.0.0.

xSoftwareName*

String

Name of your software

xSoftwareVersion*

String

Version number of your software

xCommand

String

Cardknox transaction type

xDUKPT

String

The DUK/PT key for PIN debit and EBT transactions.The first 16 characters are the encrypted PIN block, followed by the 6 character long Key Set Identifier (KSID). The remaining characters are the PIN pad serial number and transaction counter.

xMagstripe

String

The magstripe data of a credit card. Magstripe data includes the card number and expiration date. When using this command, xCardNum xExp and xToken should not be used. Encrypted Card data can also be sent using xMagstripe.

xIP

String

The customer’s IP address. Typically used for fraud detection.

xAmount*

String

The total amount of the transaction, inclusive of tax and tip if applicable. This the total amount of the transaction.

xToken

String

The Cardknox token that references a previously used payment method. When using a token, xCardNum xExp and xMagstripe should not be used.

xCustom01

String

20 custom fields are available for custom data, such as customer comments, etc. Use xCustom01 through xCustom20.

xName

String

The cardholder’s name

xInvoice

String

The merchant’s invoice number for the transaction. xInvoice is recommended when available for improved duplicate handling.

xAllowDuplicate

String

By default, Cardknox rejects duplicate transactions within 10 minutes of the original transaction. This command overrides that safeguard. True/False allowed.

xSupports64BitRefnum

String

True/False value indicating that the user’s system can handle a 64bit refnum getting returned on request to the transaction.

Cash - Request Payload Example
{ 
    "xCardNum": "4444333322221111", 
    "xKey": "[xkeycredentials]", 
    "xVersion": "4.5.9", 
    "xSoftwareName": "YourSoftwareName", 
    "xSoftwareVersion": "1.0.0", 
    "xCommand": "ebtcb:cash",
    "xAmount": "35.00", 
    "xToken": "61h72mmh68phn9q233634ph3g54p1499m69qhp4816pn528h84",
    "xCustom01": "Register01",
    "xDUKPT": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;444433",
    "xMagstripe": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;4444333322221111=4912101123456789?", 
    "xName": "John Doe", 
    "xInvoice": "123456A", 
    "xIP": "1.2.3.4", 
    "xAllowDuplicate": "TRUE" 
}

Balance

POST ebtcb:balance

xCommand = ebtcb:Balance

The Balance command is used to check the balance on an EBT cash benefit account.

Request Body

Name
Type
Description

xCardNum*

String

The customer card number. *Alternatively, xToken xMagStripe or SUT can be used.

xKey*

String

Your Cardknox API key.

xVersion*

String

Gateway API version. The current version is 5.0.0.

xSoftwareName*

String

Name of your software

xSoftwareVersion*

String

Version number of your software

xCommand*

String

Cardknox transaction type

xDUKPT*

String

The DUK/PT key for PIN debit and EBT transactions.The first 16 characters are the encrypted PIN block, followed by the 6 character long Key Set Identifier (KSID). The remaining characters are the PIN pad serial number and transaction counter.

xMagstripe

String

The magstripe data of a credit card. Magstripe data includes the card number and expiration date. When using this command, xCardNum xExp and xToken should not be used. Encrypted card data can also be sent using xMagstripe.

xIP

String

The customer’s IP address. Typically used for fraud detection.

xSupports64BitRefnum

String

True/False value indicating that the user’s system can handle a 64bit refnum getting returned on request to the transaction.

Balance - Request Payload Example
{ 
    "xCardNum": "4444333322221111", 
    "xKey": "[xkeycredentials]", 
    "xVersion": "4.5.9", 
    "xSoftwareName": "YourSoftwareName", 
    "xSoftwareVersion": "1.0.0", 
    "xCommand": "ebtcb:balance",
    "xDUKPT": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;444433",   
    "xMagstripe": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;4444333322221111=4912101123456789?", 
    "xIP": "1.2.3.4" 
}

EBT Wic (eWic)

Sale

POST ebtw:sale

xCommand = ebtw:sale The Sale command is used to make a purchase on an EBTW cardholder’s cash benefit account.

Request Body

Name
Type
Description

xCardNum*

String

The customer card number. *Alternatively, xToken, xMagStripe or SUT can be used.

xKey*

String

Your Cardknox API key.

xVersion*

String

Gateway API version. The current version is 5.0.0.

xSoftwareName*

String

Name of your software

xSoftwareVersion*

String

Version number of your software

xCommand*

String

Cardknox transaction type

xAmount*

String

The total amount of the transaction, inclusive of tax and tip if applicable. This the total amount of the transaction.

x1UnitPrice*

String

Unit price for item specified in xUPC. Additional items can be specified by incrementing (i.e., x2UnitPrice, x3UnitPrice, etc.).

x1Qty*

String

Quantity of item specified in xUPC. Additional items can be specified by incrementing (i.e., x2Qty, x3Qty, etc.).

x1Upc*

String

Universal Product Code. Additional items can be specified by incrementing (i.e., x2Upc, x3Upc, etc.).

xToken

String

The Cardknox token that references a previously used payment method. When using a token, xCardNum and xMagstripe should not be used.

xCustom01

String

20 custom fields are available for custom data, such as customer comments, etc. Use xCustom01 through xCustom20.

xDUKPT*

String

The DUK/PT key for PIN debit and EBT transactions.The first 16 characters are the encrypted PIN block, followed by the 6 character long Key Set Identifier (KSID). The remaining characters are the PIN pad serial number and transaction counter.

xMagstripe

String

The magstripe data of an eWIC card. When using xMagstripe, xCardNum and xToken should not be used. Encrypted card data can also be sent using xMagstripe.

xName

String

The cardholder’s name

xTax

String

The tax portion that is included in the total transaction amount (xAmount)

xTip

String

The tip portion that is included in the total transaction amount (xAmount)

xInvoice

String

The merchant’s invoice number for the transaction. xInvoice is recommended when available for improved duplicate handling.

xPONum

String

The merchant’s purchase order number for the transaction

xComments

String

Additional data that is optionally passed along to the receipt

xDescription

String

Additional data that is optionally passed along for reporting

xIP

String

The customer’s IP address. Typically used for fraud detection.

xEmail

String

The customer’s email address

xFax

String

The customer’s fax number

xBillFirstName

String

The customer’s first name for their billing profile

xBillMiddleName

String

The customer’s middle name for their billing profile

xBillLastName

String

The customer’s last name for their billing profile

xBillCompany

String

The customer’s company name for their billing profile

xBillStreet

String

The customer’s street address for their billing profile

xBillStreet2

String

The customer’s street address 2nd line for their billing profile

xBillCity

String

The customer’s city for their billing profile

xBillState

String

The customer’s state for their billing profile

xBillZip

String

The customer’s zip code for their billing profile

xBillCountry

String

The customer’s country for their billing profile

xBillPhone

String

The customer’s phone number for their billing profile

xBillMobile

String

The customer’s mobile number for their billing profile

xShipFirstName

String

The customer’s first name for their shipping profile

xShipMiddleName

String

The customer’s middle name or initial for their shipping profile

xShipLastName

String

The customer’s last/family name for their shipping profile

xShipCompany

String

The customer’s company name for their shipping profile

xShipStreet

String

The customer’s street address for their shipping profile

xShipStreet2

String

The customer’s street address 2nd line for their shipping profile

xShipCity

String

The customer’s city for their shipping profile

xShipState

String

The customer’s state for their shipping profile

xShipZip

String

The customer’s zip code for their shipping profile

xShipCountry

String

The customer’s country for their shipping profile

xShipPhone

String

The customer’s phone number for their shipping profile

xShipMobile

String

The customer’s mobile number for their shipping profile

xOrderID

String

Unique order number for FraudWatch verification

xExistingCustomer

String

Yes/No value indicating if the customer is a repeat customer

xAllowDuplicate

String

By default, Cardknox rejects duplicate transactions within 10 minutes of the original transaction. This command overrides that safeguard. True/False allowed.

xSupports64BitRefnum

String

True/False value indicating that the user’s system can handle a 64bit refnum getting returned on request to the transaction.

xAllowPartialAuth*

String

Allows for partial authorization. Must be set to "TRUE".

Sale - Request Payload Example
{ 
    "xCardNum": "4444333322221111", 
    "xKey": "[xkeycredentials]", 
    "xVersion": "4.5.9", 
    "xSoftwareName": "YourSoftwareName", 
    "xSoftwareVersion": "1.0.0", 
    "xCommand": "ebtw:sale" 
    "xAmount": "35.00", 
    "x1UnitPrice": "3.50", 
    "x1Qty": "10", 
    "1Upc": "075457026002", 
    "xToken": "61h72mmh68phn9q233634ph3g54p1499m69qhp4816pn528h84",  
    "xCustom01": "Register01", 
    "xDUKPT": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;444433",
    "xMagstripe": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;4444333322221111=4912101123456789?", 
    "xName": "John Doe", 
    "xTax": "2.00", 
    "xTip": "2.00", 
    "xInvoice": "123456A", 
    "xPONum": "123456B", 
    "xComments": "This is a comment", 
    "xDescription": "This is a description", 
    "xIP": "1.2.3.4", 
    "xEmail": "text@example.com", 
    "xFax": "1234567890", 
    "xBillFirstName": "John", 
    "xBillMiddleName": "Max", 
    "xBillLastName": "Doe", 
    "xBillCompany": "Acme", 
    "xBillStreet": "123 Any Street", 
    "xBillStreet2": "Apt 4b", 
    "xBillCity": "Anytown", 
    "xBillState": "NY", 
    "xBillZip": "12345", 
    "xBillCountry": "USA", 
    "xBillPhone": "8005551212", 
    "xBillMobile": "8005551111", 
    "xShipFirstName": "John", 
    "xShipMiddleName": "Max", 
    "xShipLastName": "Doe", 
    "xShipCompany": "Acme", 
    "xShipStreet": "123 Any Street", 
    "xShipStreet2": "Apt 4b", 
    "xShipCity": "Anytown", 
    "xShipState": "NY", 
    "xShipZip": "11111", 
    "xShipCountry": "USA", 
    "xShipPhone": "8005551212", 
    "xShipMobile": "8005551111", 
    "xOrderID": "12356", 
    "xExistingCustomer": "TRUE", 
    "xAllowDuplicate": "TRUE" 
}

Balance

POST ebtw:balance

xCommand = ebtw:Balance The Balance command is used to check the balance on an EBTW cash benefit account.

Request Body

Name
Type
Description

xCardNum*

String

The customer card number. *Alternatively, xToken xMagStripe or SUT can be used.

xKey*

String

Your Cardknox API key.

xVersion*

String

Gateway API version. The current version is 5.0.0.

xSoftwareName*

String

Name of your software

xSoftwareVersion*

String

Version number of your software

xCommand*

String

Cardknox transaction type

xDUKPT*

String

The DUK/PT key for PIN debit and EBT transactions.The first 16 characters are the encrypted PIN block, followed by the 6 character long Key Set Identifier (KSID). The remaining characters are the PIN pad serial number and transaction counter.

xMagstripe

String

The magstripe data of a credit card. Magstripe data includes the card number and expiration date. When using this command, xCardNum xExp and xToken should not be used. Encrypted card data can also be sent using xMagstripe

xIP

String

The customer’s IP address. Typically used for fraud detection.

xSupports64BitRefnum

String

True/False value indicating that the user’s system can handle a 64bit refnum getting returned on request to the transaction.

Balance - Request Payload Example
{ 
    "xCardNum": "4444333322221111", 
    "xKey": "[xkeycredentials]", 
    "xVersion": "4.5.9", 
    "xSoftwareName": "YourSoftwareName", 
    "xSoftwareVersion": "1.0.0", 
    "xCommand": "ebtw:balance",
    "xDUKPT": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;444433",
    "xMagstripe": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;4444333322221111=4912101123456789?", 
    "xIP": "1.2.3.4" 
}

Void

POST ebtw:void

xCommand = ebtw:Void The Void command voids a purchase made with an EBTW cardholder’s cash benefit account.

Request Body

Name
Type
Description

xCardNum*

String

The customer card number. *Alternatively, xToken xMagStripe or SUT can be used.

xKey*

String

Your Cardknox API key.

xVersion*

String

Gateway API version. The current version is 5.0.0.

xSoftwareName*

String

Name of your software

xSoftwareVersion*

String

Version number of your software

xCommand*

String

Cardknox transaction type

xDUKPT*

String

The DUK/PT key for PIN debit and EBT transactions.The first 16 characters are the encrypted PIN block, followed by the 6 character long Key Set Identifier (KSID). The remaining characters are the PIN pad serial number and transaction counter.

xMagstripe

String

The magstripe data of a credit card. Magstripe data includes the card number and expiration date. When using this command, xCardNum xExp and xToken should not be used. Encrypted card data can also be sent using xMagstripe

xIP

String

The customer’s IP address. Typically used for fraud detection.

xRefNum*

String

Used to reference a previous transaction when processing a follow-up transaction; typically a refund, void, or capture. (Note: xRefnum can be a 64-bit number and should be stored as BIGINT, Long, Int64 or String).

xSupports64BitRefnum

String

True/False value indicating that the user’s system can handle a 64bit refnum getting returned on request to the transaction.

Void - Request Payload Example
{
    "xCardNum": "4444333322221111",
    "xKey": "[xkeycredentials]",
    "xVersion": "4.5.9",
    "xSoftwareName": "YourSoftwareName",
    "xSoftwareVersion": "1.0.0",
    "xCommand": "ebtw.void",
    "xDUKPT": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;444433",
    "xRefNum": "81726356",
    "xMagstripe": "%B4444333322221111^TEST CARD/VISA^4912101123456789?;4444333322221111=4912101123456789?", 
    "xIP": "1.1.1.1"
}

Last updated