Skip to main content

SCA Functional Specification

LAST TRANSACTION

Last updated: 04-Dec-2024

This command returns the last transaction processed using this device. It may be used to recover from power outages and communication failures on the device or the POS.

  

Note

  • If you do not get a response from a payment or other transaction, run LAST_TRAN.
  • For SCA 4.0 Classic Users: As of SCA 4.0.2.43 UGP 1.2.0-24, the hithostforlasttran parameter is available (default = 1). If set to 0, SCA stores the last transaction details (entire SCI response) locally in a file on the device, where LAST_TRAN will retrieve the data.
  • For SCA 4.0 Vantiv Direct Users: As of SCA 4.0.2.58 VNTV 1.2.0-50, the hithostforlasttran parameter is available (default = 1). If set to 0, SCA stores the last transaction details (entire SCI response) locally in a file on the device, where LAST_TRAN will retrieve the data.

Device UI Required: No

Request Packet
Field Rule Type Minimum Maximum Value(s) Description
FUNCTION_TYPE Required Static value N/A N/A REPORT Type of function
COMMAND Required Static value N/A N/A LAST_TRAN Command name
COUNTER Required Numeric 1 10   COUNTER is used for a given MAC label. Each COUNTER should be higher than the last one. This is sed to authenticate the POS. Example: 100
MAC Required Base64 Encoded Data N/A N/A   Message Authentication Code. This is used to authenticate the POS.
MAC_LABEL Required Character 1 50   Associated label that tells the device which MAC_KEY to use to decrypt the value of MAC. This is used to authenticate the POS. Example: REG1
Example

Following is an example of request packet

<TRANSACTION>
    <FUNCTION_TYPE>REPORT</FUNCTION_TYPE>
    <COMMAND>LAST_TRAN</COMMAND>
    <COUNTER>3</COUNTER>
    <MAC></MAC>
    <MAC_LABEL>REG2</MAC_LABEL>
    </TRANSACTION>
Response Packet
Field Type Value Description
CLIENT_ID Numeric   CLIENT_ID is the combination an ACCOUNT number, a SITE number, and a TERMINAL number in that order. Example: 100010001
TROUTD, CTROUTD, INTRN_SEQ_NUM, COMMAND, ACCT_NUM, CARDHOLDER, TRANS_AMOUNT, TRANS_DATE, TRANS_TIME, AUTH_AMOUNT, APPROVED_AMOUNT, STATUS_CODE, PAYMENT_MEDIA, PAYMENT_TYPE, AUTH_CODE, INVOICE, REFERENCE, SERVER_ID, VSP_TRXID, VSP_CODE, VSP_RESULTDESC, TIP_AMOUNT, MERCHID, TERMID, CARD_TOKEN, CARD_EXP_MONTH, CARD_EXP_YEAR   Refer to the examples under Sample Response.
These fields will be returned as applicable to the last transaction and as applicable to the implementation. NOTE:
  • STATUS_CODE is the status code of the transaction/API call. STATUS_CODE values are the same as the most common RESULT_CODE values. This applies only to Point Classic implementation.
  • RECEIPT_DATA is returned only when hithostforlasttran parameter is set to 0. Refer to Example for hithostforlasttran for more details on the fields returned.
  • POS will return the same value for COMMAND field as sent in the Request. For example, CAPTURE as COMMAND=CAPTURE.
COUNTER Numeric   Echoes COUNTER sent in the request. The COUNTER value is NOT the value of COUNTER of previous transaction. It is the value of COUNTER which POS sends in the LAST_TRAN Request. Example: 100
TRAN_LANG_CODE Conditional
  • en – English
  • fr – French
  • es – Spanish
This field contains the language code for the current transaction which is finalized based on the configured language on terminal and language preference from the card. This field will be returned only whenever the Card data is captured from cardholder during transaction flow. If Language code is not available from card, then terminal language will be returned. This field needs to be added for the below transaction flows.
  

Note

POS can use the INVOICE, TRANS_AMOUNT, and COMMAND fields from the LAST_TRAN response to verify if they match with the corresponding fields of the current transaction.

Example

Following is an example of Response packet (Classic Implementation)

<RESPONSE>
    <ACCOUNT>1</ACCOUNT>
    <SITE>0001</SITE>
    <TERM>0001</TERM>
    <COMMAND>SALE</COMMAND>
    <ACCT_NUM>401200******0026</ACCT_NUM>
    <AUTH_CODE>095060</AUTH_CODE>
    <PAYMENT_MEDIA>VISA</PAYMENT_MEDIA>
    <PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
    <CARDHOLDER>TEST CARD VISA</CARDHOLDER>
    <CTROUTD>1351</CTROUTD>
    <TROUTD>216675</TROUTD>
    <INTRN_SEQ_NUM>216675</INTRN_SEQ_NUM>
    <TRANS_AMOUNT>1.0000</TRANS_AMOUNT>
    <TRANS_DATE>2016.09.22</TRANS_DATE>
    <TRANS_TIME>10:39:23</TRANS_TIME>
    <TRAN_LANG_CODE>en</TRAN_LANG_CODE>
    <INVOICE>123456</INVOICE>
    <STATUS_CODE>4</STATUS_CODE>
    <VSP_TRXID>636101526514</VSP_TRXID>
    <VSP_CODE>100</VSP_CODE>
    <VSP_RESULTDESC>Success</VSP_RESULTDESC>
    <COUNTER>3</COUNTER>
    </RESPONSE>

Following is an example of Response packet (Vantiv Direct SCA 4.0 Implementation)

<RESPONSE>
    <RESULT>CAPTURED</RESULT>
    <RESULT_CODE>4</RESULT_CODE>
    <TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
    <RESPONSE_TEXT>APPROVAL</RESPONSE_TEXT>
    <HOST_RESPCODE>000</HOST_RESPCODE>
    <TROUTD>000002</TROUTD>
    <CTROUTD>250100008</CTROUTD>
    <TRANS_SEQ_NUM>000002</TRANS_SEQ_NUM>
    <INTRN_SEQ_NUM>000002</INTRN_SEQ_NUM>
    <COMMAND>SALE</COMMAND>
    <ACCT_NUM>476173******0010</ACCT_NUM>
    <CARDHOLDER>VERIFONE/DEMO</CARDHOLDER>
    <TRANS_AMOUNT>1.00</TRANS_AMOUNT>
    <APPROVED_AMOUNT>1.00</APPROVED_AMOUNT>
    <TRANS_DATE>2017.07.21</TRANS_DATE>
    <TRANS_TIME>15:06:00</TRANS_TIME>
    <PAYMENT_MEDIA>VISA</PAYMENT_MEDIA>
    <PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
    <CARD_TOKEN>4722221551110010</CARD_TOKEN>
    <AUTH_CODE>746804</AUTH_CODE>
    <INVOICE>1680700</INVOICE>
    <AVAILABLE_BALANCE>2008.53</AVAILABLE_BALANCE>
    <MERCHID>45245245</MERCHID>
    <TERMID>012</TERMID>
    </RESPONSE>

Following is an example of Response packet (Vantiv Direct Engage Implementation)

<RESPONSE>
    <CTROUTD>250100006</CTROUTD>
    <COMMAND>SALE</COMMAND>
    <PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
    <PAYMENT_MEDIA>MC</PAYMENT_MEDIA>
    <ACCT_NUM>************2205</ACCT_NUM>
    <AUTH_CODE>042817</AUTH_CODE>
    <APPROVED_AMOUNT>3.00</APPROVED_AMOUNT>
    <TIP_AMOUNT>0.00</TIP_AMOUNT>
    <CARDHOLDER>TEST-VOID/TEST</CARDHOLDER>
    <CARD_TOKEN>5444123456789012</CARD_TOKEN>
    <CARD_EXP_MONTH>12</CARD_EXP_MONTH>
    <CARD_EXP_YEAR>19</CARD_EXP_YEAR>
    <MERCHID>12345678</MERCHID>
    <TERMID>002</TERMID>
    <COUNTER>3</COUNTER>
    </RESPONSE>
Example with Potential hithostforlasttran

Following is an example, when hithostforlasttran = 1 Response Fields

<RESPONSE>
<APPROVED_AMOUNT>3.00</APPROVED_AMOUNT>
<AUTH_CODE>111743</AUTH_CODE>
<CARDHOLDER>UAT EUR/Test Card 12</CARDHOLDER>
<CLIENT_ID>17345800010001</CLIENT_ID>
<CTROUTD>50796</CTROUTD>
<EMV_TAG_5F20>UAT EUR/Test Card 12</EMV_TAG_5F20>
<INTRN_SEQ_NUM>4014721715</INTRN_SEQ_NUM>
<INVOICE>123456</INVOICE>
<PAYMENT_MEDIA>AMEX</PAYMENT_MEDIA>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<REFERENCE>000000000029</REFERENCE>
<RESPONSE_TEXT>APPROVAL - 000 </RESPONSE_TEXT>
<RESULT_CODE>4</RESULT_CODE>
<STATUS_CODE>4</STATUS_CODE>
<TRANS_AMOUNT>3.00</TRANS_AMOUNT>
<TRANS_DATE>2022.02.08</TRANS_DATE>
<TRANS_TIME>13:09:08</TRANS_TIME>
<TROUTD>4014721715</TROUTD>
<VSP_CODE>100</VSP_CODE>
<VSP_RESULTDESC>Success</VSP_RESULTDESC>
<VSP_TRXID>637799405462</VSP_TRXID>
<COUNTER>39</COUNTER>
</RESPONSE>

Following is an example, when hithostforlasttran = 0 Response Fields

<RESPONSE>
<ACCT_NUM>374245*****1003</ACCT_NUM>
<APPROVED_AMOUNT>2.00</APPROVED_AMOUNT>
<AUTHNWNAME>AMEX</AUTHNWNAME>
<AUTHNWID>01</AUTHNWID>
<AUTH_CODE>502561</AUTH_CODE>
<BANK_USERDATA>AMEX</BANK_USERDATA>
<BATCH_TRACE_ID>e7d3fa53-f231-4db5-b8b5-bb3061ed8d89</BATCH_TRACE_ID>
<CARDHOLDER>UAT EUR/Test Card 12</CARDHOLDER>
<CARD_ABBRV>AX</CARD_ABBRV>
<CARD_ENTRY_MODE>Contactless</CARD_ENTRY_MODE>
<CARD_EXP_MONTH>12</CARD_EXP_MONTH>
<CARD_EXP_YEAR>24</CARD_EXP_YEAR>
<CARD_TOKEN>374245640691003</CARD_TOKEN>
<CTROUTD>50794</CTROUTD>
<INVOICE>123456</INVOICE>
<EMV_CVM>NONE</EMV_CVM>
<EMV_MODE>ISSUER</EMV_MODE>
<EMV_TAG_4F>A000000025010402</EMV_TAG_4F>
<EMV_TAG_50>AMERICAN EXPRESS</EMV_TAG_50>
<EMV_TAG_5F20>UAT EUR/Test Card 12</EMV_TAG_5F20>
<EMV_TAG_5F2A>0840</EMV_TAG_5F2A>
<EMV_TAG_5F34>00</EMV_TAG_5F34>
<EMV_TAG_82>1C80</EMV_TAG_82>
<EMV_TAG_84>A000000025010402</EMV_TAG_84>
<EMV_TAG_95>8000008000</EMV_TAG_95>
<EMV_TAG_9A>220208</EMV_TAG_9A>
<EMV_TAG_9B>2800</EMV_TAG_9B>
<EMV_TAG_9C>00</EMV_TAG_9C>
<EMV_TAG_9F02>000000000200</EMV_TAG_9F02>
<EMV_TAG_9F03>000000000000</EMV_TAG_9F03>
<EMV_TAG_9F06>A00000002501</EMV_TAG_9F06>
<EMV_TAG_9F07>3D00</EMV_TAG_9F07>
<EMV_TAG_9F08>0001</EMV_TAG_9F08>
<EMV_TAG_9F09>0001</EMV_TAG_9F09>
<EMV_TAG_9F0D>B050FC9800</EMV_TAG_9F0D>
<EMV_TAG_9F0E>0000000000</EMV_TAG_9F0E>
<EMV_TAG_9F0F>B078FC9800</EMV_TAG_9F0F>
<EMV_TAG_9F10>06020103A02000</EMV_TAG_9F10>
<EMV_TAG_9F12>American Express</EMV_TAG_9F12>
<EMV_TAG_9F1A>0840</EMV_TAG_9F1A>
<EMV_TAG_9F1E>47312282</EMV_TAG_9F1E>
<EMV_TAG_9F21>233405</EMV_TAG_9F21>
<EMV_TAG_9F26>FBF57852F7413047</EMV_TAG_9F26>
<EMV_TAG_9F27>80</EMV_TAG_9F27>
<EMV_TAG_9F33>E0F8C8</EMV_TAG_9F33>
<EMV_TAG_9F34>1F0202</EMV_TAG_9F34>
<EMV_TAG_9F35>22</EMV_TAG_9F35>
<EMV_TAG_9F36>000F</EMV_TAG_9F36>
<EMV_TAG_9F37>C4217218</EMV_TAG_9F37>
<EMV_TAG_9F39>07</EMV_TAG_9F39>
<EMV_TAG_9F40>6000F0A001</EMV_TAG_9F40>
<EMV_TAG_9F41>00000005</EMV_TAG_9F41>
<EMV_TAG_9F4E>VerifoneFD</EMV_TAG_9F4E>
<EMV_TAG_9F6E>F8E00002</EMV_TAG_9F6E>
<EMV_TAG_9FA081>80</EMV_TAG_9FA081>
<INTRN_SEQ_NUM>4014721673</INTRN_SEQ_NUM>
<MERCHID>005059233998</MERCHID>
<PAYMENT_MEDIA>AMEX</PAYMENT_MEDIA>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<REFERENCE>000000000028</REFERENCE>
<RESPONSE_TEXT>APPROVAL - 000 </RESPONSE_TEXT>
<RESULT>CAPTURED</RESULT>
<RESULT_CODE>4</RESULT_CODE>
<TAC_DEFAULT>DC50FC9800</TAC_DEFAULT>
<TAC_DENIAL>0400000000</TAC_DENIAL>
<TAC_ONLINE>0010000000</TAC_ONLINE>
<TERMID>1126076</TERMID>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<TRACE_CODE>721673</TRACE_CODE>
<TRAINING_MODE>OFF</TRAINING_MODE>
<TRANS_AMOUNT>2.00</TRANS_AMOUNT>
<TRANS_DATE>2022.02.08</TRANS_DATE>
<TRANS_SEQ_NUM>28</TRANS_SEQ_NUM>
<TRAN_LANG_CODE>en</TRAN_LANG_CODE>
<TRANS_TIME>13:03:55</TRANS_TIME>
<TROUTD>4014721673</TROUTD>
<VSP_CODE>100</VSP_CODE>
<VSP_RESULTDESC>Success</VSP_RESULTDESC>
<VSP_TRXID>637799402530325614</VSP_TRXID>
<COUNTER>29</COUNTER>
<RECEIPT_DATA>
        <RECEIPT>
        <TEXTLINE>          BED BATH BEYOND 1997          </TEXTLINE>
        <TEXTLINE>                  1997                  </TEXTLINE>
        <TEXTLINE>            650 Liberty Ave             </TEXTLINE>
        <TEXTLINE>            UNION, NJ 07083             </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE>02/08/22                        23:34:15</TEXTLINE>
        <TEXTLINE />
        <TEXTLINE>Client ID: 17345800010001               </TEXTLINE>
        <TEXTLINE>Merchant ID: ********3998               </TEXTLINE>
        <TEXTLINE>Term ID: 1126076                        </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE>                  SALE                  </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE>***********1003                    AMEX </TEXTLINE>
        <TEXTLINE>Entry Method: Chip Read Contactless     </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE>Appr Code: 502561                       </TEXTLINE>
        <TEXTLINE>Transaction ID: 50794                   </TEXTLINE>
        <TEXTLINE>Payment Type: CREDIT                    </TEXTLINE>
        <TEXTLINE>Cardholder: UAT EUR/Test Card 12        </TEXTLINE>
        <TEXTLINE>Application Pan:***********1003         </TEXTLINE>
        <TEXTLINE>Invoice: 123456                         </TEXTLINE>
        <TEXTLINE>Mode:Issuer                             </TEXTLINE>
        <TEXTLINE>Result:CAPTURED                         </TEXTLINE>
        <TEXTLINE>Net ID:01                               </TEXTLINE>
        <TEXTLINE>Net Name:AMEX                           </TEXTLINE>
        <TEXTLINE>Approved Amount:USD $2.00               </TEXTLINE>
        <TEXTLINE>Ref: 000000000028                       </TEXTLINE>
        <TEXTLINE>Response: APPROVAL - 000                </TEXTLINE>
        <TEXTLINE>Approved: Online                        </TEXTLINE>
        <TEXTLINE>CID Code:0x80 (ARQC)                    </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE>American Express                        </TEXTLINE>
        <TEXTLINE>SEQUENCE: 00000005                      </TEXTLINE>
        <TEXTLINE>AID: A000000025010402                   </TEXTLINE>
        <TEXTLINE>TVR: 8000008000                         </TEXTLINE>
        <TEXTLINE>TSI: 2800                               </TEXTLINE>
        <TEXTLINE>AC: FBF57852F7413047                    </TEXTLINE>
        <TEXTLINE>IAD: 06020103A02000                     </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE>Total:           USD  $            2.00 </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE>         NO SIGNATURE REQUIRED          </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE>               No Refunds               </TEXTLINE>
        <TEXTLINE>           Store Credit Only            </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE>             Merchant Copy              </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE />
        </RECEIPT>
        <RECEIPT>
        <TEXTLINE>          BED BATH BEYOND 1997          </TEXTLINE>
        <TEXTLINE>                  1997                  </TEXTLINE>
        <TEXTLINE>            650 Liberty Ave             </TEXTLINE>
        <TEXTLINE>            UNION, NJ 07083             </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE>02/08/22                        23:34:16</TEXTLINE>
        <TEXTLINE />
        <TEXTLINE>Client ID: 17345800010001               </TEXTLINE>
        <TEXTLINE>Merchant ID: ********3998               </TEXTLINE>
        <TEXTLINE>Term ID: 1126076                        </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE>                  SALE                  </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE>***********1003                    AMEX </TEXTLINE>
        <TEXTLINE>Entry Method: Chip Read Contactless     </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE>Appr Code: 502561                       </TEXTLINE>
        <TEXTLINE>Transaction ID: 50794                   </TEXTLINE>
        <TEXTLINE>Payment Type: CREDIT                    </TEXTLINE>
        <TEXTLINE>Cardholder: UAT EUR/Test Card 12        </TEXTLINE>
        <TEXTLINE>Application Pan:***********1003         </TEXTLINE>
        <TEXTLINE>Invoice: 123456                         </TEXTLINE>
        <TEXTLINE>Mode:Issuer                             </TEXTLINE>
        <TEXTLINE>Result:CAPTURED                         </TEXTLINE>
        <TEXTLINE>Net ID:01                               </TEXTLINE>
        <TEXTLINE>Net Name:AMEX                           </TEXTLINE>
        <TEXTLINE>Approved Amount:USD $2.00               </TEXTLINE>
        <TEXTLINE>Ref: 000000000028                       </TEXTLINE>
        <TEXTLINE>Response: APPROVAL - 000                </TEXTLINE>
        <TEXTLINE>Approved: Online                        </TEXTLINE>
        <TEXTLINE>CID Code:0x80 (ARQC)                    </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE>American Express                        </TEXTLINE>
        <TEXTLINE>SEQUENCE: 00000005                      </TEXTLINE>
        <TEXTLINE>AID: A000000025010402                   </TEXTLINE>
        <TEXTLINE>TVR: 8000008000                         </TEXTLINE>
        <TEXTLINE>TSI: 2800                               </TEXTLINE>
        <TEXTLINE>AC: FBF57852F7413047                    </TEXTLINE>
        <TEXTLINE>IAD: 06020103A02000                     </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE>Total:           USD  $            2.00 </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE>               No Refunds               </TEXTLINE>
        <TEXTLINE>           Store Credit Only            </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE>             Customer Copy              </TEXTLINE>
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE />
        <TEXTLINE />
        </RECEIPT>
</RECEIPT_DATA>
</RESPONSE>

Need help?

Do you have a question? If you didn’t find the answer you are looking for in our documentation, you can contact our Support teams for more information. If you have a technical issue or question, please contact us. We are happy to help.

Not yet a Verifone customer?

We’ll help you choose the right payment solution for your business, wherever you want to sell, in-person or online. Our team of experts will happily discuss your needs.

Verifone logo