On This Page
Electronic Benefits Transfer
Public assistance programs in the United States use Electronic Benefits Transfer (EBT)
payment cards to issue monthly food and cash benefits to eligible people. EBT cards
function like prepaid debit cards that can be used at authorized retailers. Food
benefits are issued through the Supplemental Nutrition Assistance Program (SNAP), which
helps people with low incomes purchase eligible food items.
Use this information to process EBT SNAP (food benefits) and EBT Cash transactions when
the app is in Local mode.
Endpoints
The endpoint is the same for the test and production environments.
Test:
wss://{terminal IP address:port number}/
Production:
wss://{terminal IP address:port number}/
Required Fields for Electronic Benefits Transfer
- type
- Set the value toPaymentRequestfor a sale or toStandaloneRefundRequestfor a stand-alone credit.
- merchantReferenceCode
- Set the value to a unique, user-defined reference code. The code can consist of up to 50 alphanumeric characters, underscores (_), and dashes (-). Avoid using formatting that resembles a telephone number (XXX-XXX-XXXX) or a Social Security number (XXX-XX-XXXX).
- amountDetails.amount
- Set the value to the transaction amount.
- amountDetails.currency
- Set the value to the currency code.
- paymentMode
- Set the value toEBT.
- ebtDetails.category
- Set the value toFOODfor EBT SNAP (food benefits) andCASHfor EBT Cash.
Optional Fields for Electronic Benefits Transfer
- ebtDetails.isBalanceInquiry
- Set the value totruefor a balance inquiry. The transaction amount must be set to0.
- ebtDetails.isVoucher
- Set the value totruefor a voucher transaction.
- amountDetails.cashbackAmount
- Set the value to the cashback amount for a cashback transaction.
REST Example: Electronic Benefits Transfer SNAP Sale
Request
{ "type": "PaymentRequest", "merchantReferenceCode": "82910b8b430a414dbe224e4494545b02", "paymentMode": "EBT", "amountDetails": { "amount": "1.00", "currency": "USD" }, "ebtDetails": { "category": "FOOD" } }
Mid-Transaction Status Updates
During the transaction, you might receive one or more update responses indicating the
current status of the transaction. You can choose to display these updates on your
point-of-sale (POS) system.
{ "type": "TransactionStatusResponse", "message": "Status update to display.", "canBeAborted": true }
Response to a Successful Request
{ "type": "PaymentResponse", "message": "Payment approved", "transactionDetails": { "id": "bd9c4ddd5bb84aafa42f16f2660f76c7", "merchantReferenceCode": "82910b8b430a414dbe224e4494545b02", "submitTimeUtc": "2025-09-29T09:04:02+0000", "captured": true, "amountDetails": { "currency": "USD", "amount": "1.00", "capturedAmount": "1.00", "refundableAmount": "1.00" } }, "processingDetails": { "status": "APPROVED", "verificationMethod": "PIN", "entryMode": "MAGNETIC_STRIPE", "card": { "expirationMonth": "00", "expirationYear": "00", "type": "EBT", "maskedPan": "507719XXXXXX4720" } }, "additionalInformation": { "requestId": "7591366618376609904603" }, "linkedOperations": [], "tipAdjustStatus": "NOT_ADJUSTABLE", "receipts": { "merchantReceipt": { "preformattedReceipt": "Merchant Receipt\nCP Test\nSample Street\n55555 New York\nUnited States\n555555555\n\nPayment\n$1.00\n\nPlease retain receipt!\n\nCard: EBT\nAccount: **** **** **** 4720\nEntry Mode: Magstripe\nVerification: Verified by PIN\n\nTransaction: 673579\nAuthorization: 831000\nMerchant ID: ******************nt001\nTerminal ID: ****1459\n\n\nbd9c4ddd5bb84aafa42f16f2660f76c7\n\n2:34:22 PM: 9/29/2025\n\n\n", "receiptData": { "lines": { "MERCHANT_DETAILS_PUBLIC_NAME": { "label": "Name", "value": "CP Test" }, "MERCHANT_DETAILS_ADDRESS": { "label": "Address", "value": "Sample Street" }, "MERCHANT_DETAILS_ZIP": { "label": "Zip", "value": "55555" }, "MERCHANT_DETAILS_CITY": { "label": "City", "value": "New York" }, "MERCHANT_DETAILS_COUNTRY": { "label": "Country", "value": "United States" }, "MERCHANT_DETAILS_CONTACT": { "label": "Contact", "value": "555555555" }, "MERCHANT_DETAILS_ADDITIONAL_INFORMATION": { "label": "Additional Information", "value": "" }, "PAYMENT_DETAILS_SCHEME_OR_LABEL": { "label": "Card", "value": "EBT" }, "PAYMENT_DETAILS_MASKED_ACCOUNT": { "label": "Account", "value": "**** **** **** 4720" }, "PAYMENT_DETAILS_SOURCE": { "label": "Entry Mode", "value": "Magstripe" }, "PAYMENT_DETAILS_CUSTOMER_VERIFICATION": { "label": "Verification", "value": "Verified by PIN" }, "CLEARING_DETAILS_TRANSACTION_IDENTIFIER": { "label": "Transaction", "value": "673579" }, "CLEARING_DETAILS_AUTHORIZATION_CODE": { "label": "Authorization", "value": "831000" }, "CLEARING_DETAILS_MERCHANT_IDENTIFIER": { "label": "Merchant ID", "value": "******************nt001" }, "CLEARING_DETAILS_TERMINAL_ID": { "label": "Terminal ID", "value": "****1459" }, "RECEIPT_TYPE": { "label": "Receipt Type", "value": "Merchant Receipt" }, "TRANSACTION_TYPE": { "label": "Type", "value": "Payment" }, "SUBJECT": { "label": "Description", "value": "" }, "IDENTIFIER": { "label": "PWID", "value": "bd9c4ddd5bb84aafa42f16f2660f76c7" }, "AMOUNT_AND_CURRENCY": { "label": "Amount", "value": "$1.00" }, "DATE": { "label": "Date", "value": "9/29/2025" }, "TIME": { "label": "Time", "value": "2:34:22 PM" }, "STATUS_TEXT": { "label": "Information", "value": "Please retain receipt!" } }, "signatureLineRequired": false, "tipLineRequired": false, "totalLineRequired": false } }, "customerReceipt": { "preformattedReceipt": "Cardholder Receipt\nCP Test\nSample Street\n55555 New York\nUnited States\n555555555\n\nPayment\n$1.00\n\nPlease retain receipt!\n\nCard: EBT\nAccount: **** **** **** 4720\nEntry Mode: Magstripe\nVerification: Verified by PIN\n\nTransaction: 673579\nAuthorization: 831000\nMerchant ID: ******************nt001\nTerminal ID: ****1459\n\n\nbd9c4ddd5bb84aafa42f16f2660f76c7\n\n2:34:22 PM: 9/29/2025\n\n\n", "receiptData": { "lines": { "MERCHANT_DETAILS_PUBLIC_NAME": { "label": "Name", "value": "CP Test" }, "MERCHANT_DETAILS_ADDRESS": { "label": "Address", "value": "Sample Street" }, "MERCHANT_DETAILS_ZIP": { "label": "Zip", "value": "55555" }, "MERCHANT_DETAILS_CITY": { "label": "City", "value": "New York" }, "MERCHANT_DETAILS_COUNTRY": { "label": "Country", "value": "United States" }, "MERCHANT_DETAILS_CONTACT": { "label": "Contact", "value": "555555555" }, "MERCHANT_DETAILS_ADDITIONAL_INFORMATION": { "label": "Additional Information", "value": "" }, "PAYMENT_DETAILS_SCHEME_OR_LABEL": { "label": "Card", "value": "EBT" }, "PAYMENT_DETAILS_MASKED_ACCOUNT": { "label": "Account", "value": "**** **** **** 4720" }, "PAYMENT_DETAILS_SOURCE": { "label": "Entry Mode", "value": "Magstripe" }, "PAYMENT_DETAILS_CUSTOMER_VERIFICATION": { "label": "Verification", "value": "Verified by PIN" }, "CLEARING_DETAILS_TRANSACTION_IDENTIFIER": { "label": "Transaction", "value": "673579" }, "CLEARING_DETAILS_AUTHORIZATION_CODE": { "label": "Authorization", "value": "831000" }, "CLEARING_DETAILS_MERCHANT_IDENTIFIER": { "label": "Merchant ID", "value": "******************nt001" }, "CLEARING_DETAILS_TERMINAL_ID": { "label": "Terminal ID", "value": "****1459" }, "RECEIPT_TYPE": { "label": "Receipt Type", "value": "Cardholder Receipt" }, "TRANSACTION_TYPE": { "label": "Type", "value": "Payment" }, "SUBJECT": { "label": "Description", "value": "" }, "IDENTIFIER": { "label": "PWID", "value": "bd9c4ddd5bb84aafa42f16f2660f76c7" }, "AMOUNT_AND_CURRENCY": { "label": "Amount", "value": "$1.00" }, "DATE": { "label": "Date", "value": "9/29/2025" }, "TIME": { "label": "Time", "value": "2:34:22 PM" }, "STATUS_TEXT": { "label": "Information", "value": "Please retain receipt!" } }, "signatureLineRequired": false, "tipLineRequired": false, "totalLineRequired": false } } }, "ebtDetails": { "category": "FOOD" } }