EBT Online

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
  • ebtonline:initiate
  • ebtonline:fssale
  • ebtonline:cbsale
  • ebtonline:balance
  • ebtonline:refund
  • ebtonline:void
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
  • DirectDelivery
  • CustomerPickup
  • CommercialShipping
  • Other
Required for ebtonline:initiate
xRefnum
Refnum of the initiate
Required for all transactions besides the initiate

Response Parameters

Field Name
Valid Values
Notes
xResult
  • A (Approved)
  • D (Declined)
  • E (Error)
xStatus
  • Approved
  • Declined
  • Error
xError
xRefnum
Cardknox Reference Number
xCardType
EBT
xInternalID
  • Returned on the initiate
  • AKA ‘TranID’
  • Used in the call to pop up the PIN pad
xPinPadURL
  • Returned on the initiate
  • URL to pop up the PIN pad.
xAccuID
  • Returned on the initiate
  • Used in the call to pop up the PIN pad
xRemainingBalanceEBTCB
  • EBT Cash Benefits Balance
  • Returned if available
xRemainingBalanceEBTFS
  • EBT Food Stamps Balance
  • Returned if available
xBatch
  • Returned on sale transactions
  • Batch Number
xAuthAmount
  • Returned on sale transactions
  • Amount authorized

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

Implementation

Post the Request parameters below to the xPinPadURL to render the Pin pad. Once the pin is entered and the user clicks submit or alternatively cancels, the pin pad will POST a response (see parameters below) to the AccuReturnURL.*
*NOTE: The return URL needs to be able to accept a 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:
  • en-US - English
  • es-MX - Spanish
[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)