dsiPDCX EBT Examples

Document created by matthew.milner on May 10, 2016Last modified by matthew.milner on Jun 1, 2016
Version 4Show Document
  • View in full screen mode

EBT Transaction XML Request and Responses

 

This section provides example XML request and response data for ProcessTransaction commands passed to the dsiPDCX for EBT processing. Only REQUIRED data elements are shown in the examples.

 

Electronic Benefits are state-run government programs for electronically issuing food and cash benefits. EBT (Electronic Benefits Transfer) cards are government-encoded, stored-value cards:

 

  • they are loaded monthly,
  • do not use an expiration date, and
  • have limited use based on eligibility.

 

Recipients use an EBT card to make purchases from participating merchants. Some merchants process only food benefit transactions, some only accept cash benefit transactions, and some accept both.

 

  • Food benefits are federally authorized benefits that can be used to purchase only eligible food items and non-alcoholic beverages. Food benefits are distributed through the Supplemental Nutrition Assistance Program (SNAP), formerly known as the Food Stamp program. FNS oversees the regulations for item eligibility and licenses qualified merchants to accept SNAP benefits. More information is available here: http://www.fns.usda.gov/snap 

 

  • Cash benefits may be used to purchase any item at participating retailers, obtain cash back, and make a cash withdrawal from participating ATMs. EBT Cash cards are similar to Debit cards. Merchants do not need to register with a state agency to accept EBT cash transactions. For this reason, we recommend that all systems integrated to PIN Debit also support EBT cash transactions.

 

 

POS systems must be able to do the following:

 

  • Distinguish between EBT eligible items from ineligible items
  • Keep eligible items separated or flagged
  • Not charge state or local tax on the EBT eligible items
  • Accept both swiped and manually entered EBT cards
  • Print the balance from the response on the customer paper receipt

 

 

Foodstamp Sale

 

Request

 

<?xml version=“1.0”?>  
<TStream>  
        <Transaction>  
            <HostOrIP>127.0.0.1</HostOrIP>  
            <IpPort>9000</IpPort> 
            <MerchantID>755847002</MerchantID>  
            <OperatorID>Test</OperatorID>  
            <TranType>EBT</TranType>  
            <CardType>Foodstamp</CardType>  
            <TranCode>Sale</TranCode>  
            <SecureDevice>VX805XPI_Mercury_E2E</SecureDevice>  
            <ComPort>9</ComPort>  
            <InvoiceNo>2001</InvoiceNo>  
            <RefNo>2001</RefNo> 
            <LaneID>02</LaneID>  
            <Memo>Demo POS 1.5 USEMV</Memo> 
            <Account>  
              <AcctNo>SecureDevice</AcctNo>  
            </Account>  
            <Amount>  
              <Purchase>1.03</Purchase> 
            </Amount>  
        </Transaction>  
</TStream>

 

 

Foodstamp Return

 

Request

 

<?xml version=“1.0”?>  
<TStream>  
        <Transaction>  
            <HostOrIP>127.0.0.1</HostOrIP>  
            <IpPort>9000</IpPort> 
            <MerchantID>755847002</MerchantID>  
            <OperatorID>Test</OperatorID>  
            <TranType>EBT</TranType>  
            <CardType>Foodstamp</CardType>  
            <TranCode>Return</TranCode>  
            <SecureDevice>VX805XPI_Mercury_E2E</SecureDevice>  
            <ComPort>9</ComPort>  
            <InvoiceNo>2001</InvoiceNo>  
            <RefNo>2001</RefNo> 
            <LaneID>02</LaneID>  
            <Memo>Demo POS 1.5 USEMV</Memo> 
            <Account>  
              <AcctNo>SecureDevice</AcctNo>  
            </Account>  
            <Amount>  
              <Purchase>1.03</Purchase> 
            </Amount>  
        </Transaction>  
</TStream>

 

 

Foodstamp Voucher Sale

 

Food Stamp Voucher Sale is used if there is a communications failure. It allows the merchant to obtain a voice authorization to complete a food stamp sale. Upon successful registration with their state FNS, merchants receive a booklet of numbered food stamp vouchers. To perform a voucher sale, the merchant manually records the information in the voucher booklet, notes the voucher number, then calls the designated  state authorization agency to receive an automated authorization code. 

 

To get paid on the authorization, merchants must submit the transaction on their POS, including all required data: 

 

  1. card number,
  2. authorization code, and
  3. voucher number from the printed voucher.

 

This is the only EBT transaction where a PIN is not required.

 

Request

 

<?xml version=“1.0”?>  
<TStream>  
        <Transaction>  
            <HostOrIP>127.0.0.1</HostOrIP>  
            <IpPort>9000</IpPort> 
            <MerchantID>755847002</MerchantID>  
            <OperatorID>Test</OperatorID>  
            <TranType>EBT</TranType>  
            <CardType>Foodstamp</CardType>  
            <TranCode>Voucher</TranCode>  
            <SecureDevice>VX805XPI_Mercury_E2E</SecureDevice>  
            <ComPort>9</ComPort>  
            <InvoiceNo>2002</InvoiceNo>  
            <RefNo>2002</RefNo> 
            <LaneID>02</LaneID>  
            <Memo>Demo POS 1.5 USEMV</Memo> 
            <Account>  
              <AcctNo>SecureDevice</AcctNo>  
            </Account>  
            <Amount>  
              <Purchase>1.04</Purchase> 
            </Amount>  
        </Transaction>  
</TStream>

 

 

Foodstamp Voucher Return

 

Request

 

<?xml version=“1.0”?>  
<TStream>  
        <Transaction>  
            <HostOrIP>127.0.0.1</HostOrIP>  
            <IpPort>9000</IpPort> 
            <MerchantID>755847002</MerchantID>  
            <OperatorID>Test</OperatorID>  
            <TranType>EBT</TranType>  
            <CardType>Foodstamp</CardType>  
            <TranCode>VoucherReturn</TranCode>  
            <SecureDevice>VX805XPI_Mercury_E2E</SecureDevice>  
            <ComPort>9</ComPort>  
            <InvoiceNo>2002</InvoiceNo>  
            <RefNo>2002</RefNo> 
            <LaneID>02</LaneID>  
            <Memo>Demo POS 1.5 USEMV</Memo> 
            <Account>  
              <AcctNo>SecureDevice</AcctNo>  
            </Account>  
            <Amount>  
              <Purchase>1.04</Purchase> 
            </Amount>  
        </Transaction>  
</TStream>

 

 

Foodstamp Balance

 

Request

 

<?xml version=“1.0”?>  
<TStream>  
        <Transaction>  
            <HostOrIP>127.0.0.1</HostOrIP>  
            <IpPort>9000</IpPort> 
            <MerchantID>755847002</MerchantID>  
            <OperatorID>Test</OperatorID>  
            <TranType>EBT</TranType>  
            <CardType>Foodstamp</CardType>  
            <TranCode>Balance</TranCode>  
            <SecureDevice>VX805XPI_Mercury_E2E</SecureDevice>  
            <ComPort>9</ComPort>  
            <InvoiceNo>2005</InvoiceNo>  
            <RefNo>2005</RefNo> 
            <LaneID>02</LaneID>  
            <Memo>Demo POS 1.5 USEMV</Memo> 
            <Account>  
              <AcctNo>SecureDevice</AcctNo>  
            </Account>  
            <Amount>  
              <Purchase>0.00</Purchase> 
            </Amount>  
        </Transaction>  
</TStream>

 

 

Cash Sale

 

Request

 

<?xml version=“1.0”?>  
<TStream>  
        <Transaction>  
            <HostOrIP>127.0.0.1</HostOrIP>  
            <IpPort>9000</IpPort> 
            <MerchantID>755847002</MerchantID>  
            <OperatorID>Test</OperatorID>  
            <TranType>EBT</TranType>  
            <CardType>Cash</CardType>  
            <TranCode>Sale</TranCode>  
            <SecureDevice>VX805XPI_Mercury_E2E</SecureDevice>  
            <ComPort>9</ComPort>  
            <InvoiceNo>2006</InvoiceNo>  
            <RefNo>2006</RefNo> 
            <LaneID>02</LaneID>  
            <Memo>Demo POS 1.5 USEMV</Memo> 
            <Account>  
              <AcctNo>SecureDevice</AcctNo>  
            </Account>  
            <Amount>  
              <Purchase>2.03</Purchase> 
            </Amount>  
        </Transaction>  
</TStream>

 

 

Cash Return

 

Request

 

<?xml version=“1.0”?>  
<TStream>  
        <Transaction>  
            <HostOrIP>127.0.0.1</HostOrIP>  
            <IpPort>9000</IpPort> 
            <MerchantID>755847002</MerchantID>  
            <OperatorID>Test</OperatorID>  
            <TranType>EBT</TranType>  
            <CardType>Cash</CardType>  
            <TranCode>Sale</TranCode>  
            <SecureDevice>VX805XPI_Mercury_E2E</SecureDevice>  
            <ComPort>9</ComPort>  
            <InvoiceNo>2006</InvoiceNo>  
            <RefNo>2006</RefNo> 
            <LaneID>02</LaneID>  
            <Memo>Demo POS 1.5 USEMV</Memo> 
            <Account>  
              <AcctNo>SecureDevice</AcctNo>  
            </Account>  
            <Amount>  
              <Purchase>2.03</Purchase> 
            </Amount>  
        </Transaction>  
</TStream>

 

 

Cash Balance

 

Request

 

<?xml version=“1.0”?>  
<TStream>  
        <Transaction>  
            <HostOrIP>127.0.0.1</HostOrIP>  
            <IpPort>9000</IpPort> 
            <MerchantID>755847002</MerchantID>  
            <OperatorID>Test</OperatorID>  
            <TranType>EBT</TranType>  
            <CardType>Cash</CardType>  
            <TranCode>Sale</TranCode>  
            <SecureDevice>VX805XPI_Mercury_E2E</SecureDevice>  
            <ComPort>9</ComPort>  
            <InvoiceNo>2008</InvoiceNo>  
            <RefNo>2008</RefNo> 
            <LaneID>02</LaneID>  
            <Memo>Demo POS 1.5 USEMV</Memo> 
            <Account>  
              <AcctNo>SecureDevice</AcctNo>  
            </Account>  
            <Amount>  
              <Purchase>0.00</Purchase> 
            </Amount>  
        </Transaction>  
</TStream>

 

Response

 

<?xml version=“1.0”?>  
<RStream>  
  <CmdResponse>  
    <ResponseOrigin>Processor</ResponseOrigin> 
    <DSIXReturnCode>000000</DSIXReturnCode> 
    <CmdStatus>Approved</CmdStatus> 
    <TextResponse>AP</TextResponse> 
    <SequenceNo>0010010010</SequenceNo> 
</CmdResponse>  
  <TranResponse>  
    <MerchantID>MerchantID</MerchantID>  
    <AcctNo>AcctNo</AcctNo>  
    <ExpDate>ExpDate</ExpDate>  
    <CardType>CardType</CardType>  
    <TranCode>TranCode</TranCode>  
    <AuthCode>AuthCode</AuthCode>  
    <CaptureStatus>CaptureStatus</CaptureStatus>  
    <RefNo>RefNo</RefNo>  
    <InvoiceNo>InvoiceNo</InvoiceNo>  
    <OperatorID>OperatorID</OperatorID>  
    <Memo>Memo</Memo>  
    <Amount>  
      <Purchase>Purchase</Purchase>  
      <Authorize>Authorize</Authorize>  
      <Gratuity>Gratuity</Gratuity>  
      <CashBack>CashBack</CashBack>  
      <Balance>Balance</Balance>  
    </Amount>  
    <AcqRefData>AcqRefData</AcqRefData>  
    <RecordNo>RecordNo</RecordNo>  
    <IssueCurrency>IssueCurrency</IssueCurrency>  
    <IssueCurrencyPreviousBalance>IssueCurrencyPreviousBalance</IssueCurrencyPreviousBalance>  
    <IssueCurrencyEndingBalance>IssueCurrencyEndingBalance</IssueCurrencyEndingBalance>  
    <ExchangeRate>ExchangeRate</ExchangeRate>  
    <PrePaidExp>PrePaidExp</PrePaidExp>  
  </TranResponse>  
</RStream>
1 person found this helpful

Attachments

    Outcomes