LAST TRANSACTION
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.
- 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.
Note
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. |
|
|
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 |
|
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>