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 Cloud mode.
Generate a bearer token before sending each request. For more information, see Generating a Bearer Token for Authentication.
Endpoints
Test:
POST https://terminalstest.cybersource.com/v1/cloud/transactions
Production:
POST https://terminals.cybersource.com/v1/cloud/transactions
Required Fields for Electronic Benefits Transfer
- serialNumber
- Set the value to the serial number of the terminal.
- request.type
- Set the value toPaymentRequestfor a sale or toStandaloneRefundRequestfor a stand-alone credit.
- request.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).
- request.amountDetails.amount
- Set the value to the transaction amount.
- request.amountDetails.currency
- Set the value to the currency code.
- request.paymentMode
- Set the value toEBT.
- request.ebtDetails.category
- Set the value toFOODfor EBT SNAP andCASHfor EBT Cash.
Optional Fields for Electronic Benefits Transfer
- request.ebtDetails.isBalanceInquiry
- Set the value totruefor a balance inquiry. The transaction amount must be set to0.
- request.ebtDetails.isVoucher
- Set the value totruefor a voucher transaction.
- request.amountDetails.cashbackAmount
- Set the value to the cashback amount for a cashback transaction.
REST Example: Electronic Benefits Transfer SNAP Sale
Request
{ "serialNumber": "1850000000", "request": { "type" : "PaymentRequest", "merchantReferenceCode" : "82910b8b430a414dbe224e4494545b02", "paymentMode" : "EBT", "amountDetails" : { "amount" : "1.00", "currency" : "USD" }, "ebtDetails" : { "category" : "FOOD" } } }
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" } }
Response to an Unsuccessful Request
When the request is unsuccessful, you receive an error response with details.
{ "type": "ErrorResponse", "message": "Error message to display.", "developerDescription": "Detailed description of error." }