Choose a topic...
Endpoints
Below are the endpoints URLs to send transactions to Cardknox:
URL: https://x1.cardknox.com/gateway
Alternate URL: https://b1.cardknox.com/gateway
Request Method
Method: POST
Cardknox Gateway requires POST method to be used for enhanced security. We do not support the GET method
Transaction Flow
Introduction
Like any EBT Transaction, an EBT transaction that is done on the web needs a PIN. As per the EBT requirement (certification), the Acculynk PIN pad must be used. As you click on a digit, the numbers scramble to make it difficult for hackers to catch the numbers. In addition, the PIN is not sent with the transaction. Acculynk sends the PIN directly to Paysecure and it’s identified by a unique transaction id.
Flow
Any transaction that requires a pin [i.e. Balance, Sale], will need to do an Initiate first. The Initiate will begin the PIN process. Cardknox will return the necessary pieces to render a PIN pad on the payment site. Once the pin is entered, the POS will need to make another call to the Cardknox Gateway to complete the Balance/Sale.
Request Parameters
Field Name | Valid Values | Notes |
---|---|---|
xCommand |
|
Required |
xCardNum | Required for ebtonline:initiate
Don’t send for other transaction types |
|
xExp | Optional for ebtonline:initiate
Don’t send for other transaction types |
|
xBillFirstName | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xBillLastName | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xBillCompany | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xBillStreet | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xBillStreet2 | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xBillCity | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xBillState | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xBillZip | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xBillCountry | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xBillPhone | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xBillMobile | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xShipFirstName | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xShipMiddleName | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xShipLastName | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xShipCompany | Optional (if sent on the initiate, it’s not necessary for followup transactions) | |
xShipStreet | Required for ebtonline:initiate if xShipMethod is not Customer Pickup | |
xShipStreet2 | Optional | |
xShipCity | Required for ebtonline:initiate if xShipMethod is not Customer Pickup | |
xShipState | Required for ebtonline:initiate if xShipMethod is not Customer Pickup | |
xShipZip | Required for ebtonline:initiate if xShipMethod is not Customer Pickup | |
xShipCountry | Required for ebtonline:initiate if xShipMethod is not Customer Pickup | |
xShipPhone | Optional | |
xShipMobile | Optional | |
xShipMethod |
|
Required for ebtonline:initiate |
xRefnum | Refnum of the initiate | Required for all transactions besides the initiate |
Response Parameters
Field Name | Valid Values | Notes |
---|---|---|
xResult |
|
|
xStatus |
|
|
xError | ||
xRefnum | Cardknox Reference Number | |
xCardType | EBT | |
xInternalID |
|
|
xPinPadURL |
|
|
xAccuID |
|
|
xRemainingBalanceEBTCB |
|
|
xRemainingBalanceEBTFS |
|
|
xBatch |
|
|
xAuthAmount |
|
PIN Pad Implementation
Overview
The Cardknox Gateway will return the necessary pieces to render the PIN pad. The website will take care of popping up the PIN pad.
Endpoint
The endpoint to render the PIN pad will be returned in the ebtonline:initiate request as xPinPadURL.
Method
Method: Post
Request Parameters
Field Name | Notes |
---|---|
AccuId | Value of xAccuID returned in the initiate |
AccuReturnURL | Fully qualified merchant’s URL, PaySecure will use to redirect the consumer upon completion of the PINpad URL encoding required |
AccuLanguage | Valid Values:
|
[Client Echoed Fields] | Merchants may pass additional form fields that will be passed back in the response.
There are no restrictions on these fields providing their names are not the same as the reserved PaySecure names. Many merchants utilize these fields to pass session IDs used to identify the consumer upon return to the Merchant |
Response Parameters
Field Name | Notes |
---|---|
AccuResponseCode | See valid values below |
[Client Echoed Fields] |
Response Codes
Response Code | Description |
---|---|
Accu000 | PIN successfully collected |
Accu200 | Cardholder pressed Cancel button |
Accu400 | Cardholder inactivity timeout |
Accu600 | Invalid Data received by Terminal |
Accu710 | Terminal Security Issue |
Accu720 | Terminal Communication Issue |
Accu730 | Terminal Internal Error |
Accu800 | General Error Encountered |
Test Cards
Card Number | Response |
---|---|
6004861944321111844 | Approved |
6004861680620238553
6104341037610326 6004862121611636942 6004861153412132517 6104341556810901 |
Declined |
Frequently Asked Questions
Q: Can I view the EBT Online commands in Cardknox reporting?
A: The initiate and balance commands are available for internal users in the report:log & sale commands are available in all reports
Q: What’s the difference between void and refund?
A: Void command voids the entire transaction so no amount is allowed, refund can partially refund the transaction so amount is allowed
Q: Can I use a token instead of a card number for the initiate?
A: Yes
Q: Are partial approvals supported?
A: No
Q: Is there a separate command for food stamps and cash benefits?
A: For balance, refund and void there is no need to specify. For sales, there is a separate command for food stamps (ebtonline:fssale) and cash benefits (ebtonline:cbsale)
Q: In an AUTH/Settle environment, if a consumer places an order (auth), but there are product substitutions or weight variation, how do I adjust the settlement amount difference?
A: Since a purchase requires a PIN and a refund does not, it’s required to add 10% to the estimated purchase price and refund any overage.