EBT Online Implementation

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

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

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

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

Field Name

Notes

AccuResponseCode

See valid values below

[Client Echoed Fields]

 

Response Codes

Response Code

Description

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

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)