TRANSACTION SEARCH
Last updated: 04-Dec-2024
The Transaction Search report returns a detailed description of each transaction, based on filtering.
Device UI Required: No
Request Packet
Field | Rule | Type | Minimum | Maximum | Value(s) | Description |
---|---|---|---|---|---|---|
FUNCTION_TY | Required | Static value | N/A | N/A | REPORT | Type of function |
COMMAND | Required | Static value | N/A | N/A | TRANSEARCH | Command name |
MAX_NUM_RECORDS_RETURNED | Required | Numeric | 1 | 4 | 8000 | Maximum number of records returned. |
SEARCHFIELDS | Required | List | See SEARCHFIELDS section for child elements below. | List of fields required to send for search. | ||
RESPONSEFIELDS | Required | List | INTRN_SEQ_NUM, PROCESSOR_ID, BATCH_SEQ_NUM, TRANS_SEQ_NUM, INVOICE, COMMAND, ACCT_NUM, EXP_MONTH, EXP_YEAR, CARDHOLDER, TRANS_AMOUNT, REFERENCE, TRANS_DATE, TRANS_TIME, CTROUTD, TROUTD, ORIG_SEQ_NUM, STATUS_CODE, PAYMENT_TYPE, PAYMENT_MEDIA, RESULT_CODE, AUTH_CODE, TRACE_CODE, AVS_CODE, CVV2_CODE, CASHBACK_AMNT, TIP_AMOUNT, RESPONSE_REFERENCE, R_AUTH_CODE. | Choose from list, minimum one field. The <AUTH_CODE/> and <REFERENCE/> tags refer to the authorization code and reference included in the original transaction request. When the transaction was modified by a follow-on command (example, COMPLETION, VOID), AUTH_CODE and REFERENCE may appear in the transaction’s report record or the follow-on transaction’s report record even though they were not explicitly included in the transaction or follow-on request. NOTE: TROUTD is required STATUS_CODE is the status code of the transaction/API call. STATUS_CODE values are the same as the most common RESULT_CODE values. The <R_AUTH_CODE/> and <RESPONSE_REFERENCE/> tags refer to the authorization code and reference returned in the original transaction response. |
||
COL_3, COL_4, COL_5, COL_6, COL_7, COL_8, COL_9, COL_10 | Optional | Character | 1 | 255 | These fields represent Column 3 to Column 10. These fields are expected for the Merchants internal POS System, which will record any additional data and link those to the PWC CLIENT_ID and CTROUTD. When a value for COL_n is passed in, that same value will be returned in the response. These COL_n values are not indexed, or searchable in any command report. These fields are not sent to any payment processor. Example: Merchant defined data | |
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: 1 | |
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 |
SEARCHFIELDS Child Elements
Field | Rule | Type | Minimum | Maximum | Value(s) | Description |
---|---|---|---|---|---|---|
START_TRANS_DATE | Conditional | Date | Transaction start date. This is a recommended field. Example: 2016.03.23 | |||
START_TRANS_TIME | Conditional | Time | Transaction start time. Example: 15:30:00 | |||
END_TRANS_DATE | Optional | Date | Defaults to START_TRANS_DATE. Example: 2016.03.24 | |||
END_TRANS_TIME | Optional | Time | Defaults to START_TRANS_TIME. Example: 15:30:01 | |||
PAYMENT_TYPE | Conditional | List | N/A | N/A | Payment type used in the transaction. Example: CREDIT | |
REQUEST_COMMAND | Conditional | List | N/A | N/A | The command requested for transaction. Example: SALE | |
ACCT_NUM | Conditional | Numeric | 1 | 16 | The card number used in the transaction. The card number passed MUST be in a masked format, only the first six and the last four digits of the number can be passed - this is how Point platform pulls the cards on the reports. NOTE: The length of the ACCT_NUM must equal 16 bytes. For card numbers fewer than 16 digits, add extra “*” between the first 6 and the last 4 digits. Example: 400555******0019 | |
INVOICE | Conditional | Character | 1 | 6 | Merchant invoice number. Example: ASD156 | |
BATCH_SEQ_NUM | Conditional | Numeric | 1 | Sequence number of the batch. Example: 23 | ||
START_TRANS_AMOUNT | Conditional | Floating point number | 1(2) | 6(2) | Transaction start amount. Example: 0.00 | |
END_TRANS_AMOUNT | Conditional | Floating point number | 1(2) | 6(2) | Transaction end amount. Example: 50.00 | |
START_TROUTD | Conditional | Numeric | 1 | 10 | Transaction routing ID starts with. Example: 50 | |
END_TROUTD | Optional | Numeric | 1 | 10 | Defaults to START_TROUTD. Example: 100 |
Example
Following is an example of request packet
<TRANSACTION>
<FUNCTION_TYPE>REPORT</FUNCTION_TYPE>
<COMMAND>TRANSEARCH</COMMAND>
<MAX_NUM_RECORDS_RETURNED>800</MAX_NUM_RECORDS_RETURNED>
<COUNTER>442568</COUNTER>
<MAC_LABEL>REG2</MAC_LABEL>
<MAC>…</MAC>
<SEARCHFIELDS>
<START_TRANS_DATE>2016.09.15</START_TRANS_DATE>
<END_TRANS_DATE>2016.09.15</END_TRANS_DATE>
</SEARCHFIELDS>
<RESPONSEFIELDS>
<INTRN_SEQ_NUM/>
<PROCESSOR_ID/>
<BATCH_SEQ_NUM/>
<INVOICE/>
<COMMAND/>
<ACCT_NUM/>
<EXP_MONTH/>
<EXP_YEAR/>
<CARDHOLDER/>
<TRANS_AMOUNT/>
<RESPONSE_REFERENCE/>
<TRANS_DATE/>
<TRANS_TIME/>
<ORIG_SEQ_NUM/>
<STATUS_CODE/>
<PAYMENT_TYPE/>
<PAYMENT_MEDIA/>
<RESULT_CODE/>
<AUTH_CODE/>
<R_AUTH_CODE/>
<TRACE_CODE/>
<CASHBACK_AMNT />
<TIP_AMOUNT/>
<TROUTD />
</RESPONSEFIELDS>
</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 | |
RETURN_FLD_HDRS | Numeric | Returns field headers. Example: 0 | |
FORMAT | Conditional | xml | Format of the command. |
SERIAL_NUM | Character | Serial number. Example: 123456789 | |
COMMAND | Static Value | TRANSEARCH | Command name. |
MAX_NUM_RECORDS_RETURNED | Numeric | Maximum number of records returned. Example: 800 | |
DEVICEKEY | Character | Device key. | |
DELIMITER | Static Value | , | Delimiter to enter multiple entry in a field. |
FUNCTION_TYPE | Static Value | REPORT | Function type |
DEVTYPE | Character | Device type | |
NUM_RECORDS_FOUND | Numeric | Number of records found. Example: 2 | |
START_TRANS_DATE,END_TRANS_DATE, START_TRANS_TIME, END_TRANS_TIME, PAYMENT_TYPE, REQUEST_COMMAND, ACCT_NUM, INVOICE, BATCH_SEQ_NUM, START_TRANS_AMOUNT, END_TRANS_AMOUNT, START_TROUTD, END_TROUTD | These fields will return if they are specified in the SEARCHFIELDS parameter of the request. | ||
INTRN_SEQ_NUM, PROCESSOR_ID, BATCH_SEQ_NUM, TRANS_SEQ_NUM, INVOICE, COMMAND, ACCT_NUM, EXP_MONTH, EXP_YEAR, CARDHOLDER, TRANS_AMOUNT, REFERENCE, TRANS_DATE, TRANS_TIME, ORIG_SEQ_NUM, STATUS_CODE, TROUTD, CTROUTD, PAYMENT_TYPE, PAYMENT_MEDIA, RESULT_CODE, AUTH_CODE, AVS_CODE, CVV2_CODE, TRACE_CODE, CASHBACK_AMNT, TIP_AMOUNT, RESPONSE_REFERENCE, R_AUTH_CODE | These fields will return for each record if they are specified in the RESPONSEFIELDS parameter of the request. | ||
COL_3, COL_4, COL_5, COL_6, COL_7, COL_8, COL_9, COL_10 | Character | Column 3 to Column 10 fields value will be echoed in POS response. These fields are not sent to any payment processor. |
Example
Following is an example of response packet
<RESPONSE>
<RETURN_FLD_HDRS>0</RETURN_FLD_HDRS>
<ACCOUNT>1</ACCOUNT>
<SITE>0001</SITE>
<TERM>0001</TERM>
<FORMAT>xml</FORMAT>
<SERIAL_NUM>1234565789</SERIAL_NUM>
<DEVICEKEY>*************************</DEVICEKEY>
<COMMAND>TRANSEARCH</COMMAND>
<MAX_NUM_RECORDS_RETURNED>800</MAX_NUM_RECORDS_RETURNED>
<DELIMITER>|</DELIMITER>
<FUNCTION_TYPE>REPORT</FUNCTION_TYPE>
<DEVTYPE>VX805P</DEVTYPE>
<NUM_RECORDS_FOUND>5</NUM_RECORDS_FOUND>
<SEARCHFIELDS>
<REQUEST_COMMAND>SALE</REQUEST_COMMAND>
<START_TRANS_DATE>2016.09.15</START_TRANS_DATE>
<END_TRANS_DATE>2016.09.15</END_TRANS_DATE>
</SEARCHFIELDS>
<RECORDS>
<RECORD>
<INTRN_SEQ_NUM>5549731</INTRN_SEQ_NUM>
<PROCESSOR_ID>NASHISO</PROCESSOR_ID>
<BATCH_SEQ_NUM>0</BATCH_SEQ_NUM>
<INVOICE> </INVOICE>
<COMMAND>SALE</COMMAND>
<ACCT_NUM>401200******0026</ACCT_NUM>
<EXP_MONTH>**</EXP_MONTH>
<EXP_YEAR>**</EXP_YEAR>
<CARDHOLDER>TEST CARD /VISA</CARDHOLDER>
<TRANS_AMOUNT>1.00</TRANS_AMOUNT>
<TRANS_DATE>2016.09.15</TRANS_DATE>
<TRANS_TIME>10:01:26</TRANS_TIME>
<STATUS_CODE>7</STATUS_CODE>
<TROUTD>5549731</TROUTD>
<ORIG_SEQ_NUM>0</ORIG_SEQ_NUM>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<PAYMENT_MEDIA>VISA</PAYMENT_MEDIA>
<AUTH_CODE>OK534C</AUTH_CODE>
<TRACE_CODE>000064</TRACE_CODE>
<CASHBACK_AMNT>0.00</CASHBACK_AMNT>
<TIP_AMOUNT>0.00</TIP_AMOUNT>
<RESPONSE_REFERENCE>000000000064</RESPONSE_REFERENCE>
<R_AUTH_CODE>OK534C</R_AUTH_CODE>
<RESULT_CODE>4</RESULT_CODE>
</RECORD>
<RECORD>
<INTRN_SEQ_NUM>5549804</INTRN_SEQ_NUM>
<PROCESSOR_ID>NASHISO</PROCESSOR_ID>
<BATCH_SEQ_NUM>0</BATCH_SEQ_NUM>
<INVOICE>2</INVOICE>
<COMMAND>SALE</COMMAND>
<ACCT_NUM>401200******0026</ACCT_NUM>
<EXP_MONTH>**</EXP_MONTH>
<EXP_YEAR>**</EXP_YEAR>
<CARDHOLDER>TEST CARD /VISA</CARDHOLDER>
<TRANS_AMOUNT>1.00</TRANS_AMOUNT>
<TRANS_DATE>2016.09.15</TRANS_DATE>
<TRANS_TIME>10:29:17</TRANS_TIME>
<STATUS_CODE>4</STATUS_CODE>
<TROUTD>5549804</TROUTD>
<ORIG_SEQ_NUM>0</ORIG_SEQ_NUM>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<PAYMENT_MEDIA>VISA</PAYMENT_MEDIA>
<AUTH_CODE> </AUTH_CODE>
<TRACE_CODE>000067</TRACE_CODE>
<CASHBACK_AMNT>0.00</CASHBACK_AMNT>
<TIP_AMOUNT>0.00</TIP_AMOUNT>
<RESPONSE_REFERENCE>000000000067</RESPONSE_REFERENCE>
<R_AUTH_CODE>OK570C</R_AUTH_CODE>
<RESULT_CODE>4</RESULT_CODE>
</RECORD>
<RECORD>
<INTRN_SEQ_NUM>5549805</INTRN_SEQ_NUM>
<PROCESSOR_ID>NASHISO</PROCESSOR_ID>
<BATCH_SEQ_NUM>0</BATCH_SEQ_NUM>
<INVOICE>2</INVOICE>
<COMMAND>SALE</COMMAND>
<ACCT_NUM>542418******1732</ACCT_NUM>
<EXP_MONTH>**</EXP_MONTH>
<EXP_YEAR>**</EXP_YEAR>
<CARDHOLDER>MC TEST</CARDHOLDER>
<TRANS_AMOUNT>1.00</TRANS_AMOUNT>
<TRANS_DATE>2016.09.15</TRANS_DATE>
<TRANS_TIME>10:29:40</TRANS_TIME>
<STATUS_CODE>4</STATUS_CODE>
<TROUTD>5549805</TROUTD>
<ORIG_SEQ_NUM>0</ORIG_SEQ_NUM>
<PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
<PAYMENT_MEDIA>MC</PAYMENT_MEDIA>
<AUTH_CODE> </AUTH_CODE>
<TRACE_CODE>000068</TRACE_CODE>
<CASHBACK_AMNT>0.00</CASHBACK_AMNT>
<TIP_AMOUNT>0.00</TIP_AMOUNT>
<RESPONSE_REFERENCE>000000000068</RESPONSE_REFERENCE>
<R_AUTH_CODE>OK5713</R_AUTH_CODE>
<RESULT_CODE>4</RESULT_CODE>
</RECORD>
<RECORD>
<INTRN_SEQ_NUM>5549806</INTRN_SEQ_NUM>
<PROCESSOR_ID>NASHISO</PROCESSOR_ID>
<BATCH_SEQ_NUM>0</BATCH_SEQ_NUM>
<INVOICE>2</INVOICE>
<COMMAND>SALE</COMMAND>
<ACCT_NUM>401777******9011</ACCT_NUM>
<EXP_MONTH>**</EXP_MONTH>
<EXP_YEAR>**</EXP_YEAR>
<CARDHOLDER>FDMS/TEST CHECK CARD</CARDHOLDER>
<TRANS_AMOUNT>10.00</TRANS_AMOUNT>
<TRANS_DATE>2016.09.15</TRANS_DATE>
<TRANS_TIME>10:30:14</TRANS_TIME>
<STATUS_CODE>4</STATUS_CODE>
<TROUTD>5549806</TROUTD>
<ORIG_SEQ_NUM>0</ORIG_SEQ_NUM>
<PAYMENT_TYPE>DEBIT</PAYMENT_TYPE>
<PAYMENT_MEDIA>DEBIT</PAYMENT_MEDIA>
<AUTH_CODE> </AUTH_CODE>
<TRACE_CODE>000069</TRACE_CODE>
<CASHBACK_AMNT>0.00</CASHBACK_AMNT>
<TIP_AMOUNT>0.00</TIP_AMOUNT>
<RESPONSE_REFERENCE>000000000069</RESPONSE_REFERENCE>
<R_AUTH_CODE>510029</R_AUTH_CODE>
<RESULT_CODE>4</RESULT_CODE>
</RECORD>
<RECORD>
<INTRN_SEQ_NUM>5549809</INTRN_SEQ_NUM>
<PROCESSOR_ID>NASHISO</PROCESSOR_ID>
<BATCH_SEQ_NUM>0</BATCH_SEQ_NUM>
<INVOICE>2</INVOICE>
<COMMAND>SALE</COMMAND>
<ACCT_NUM>401777******9011</ACCT_NUM>
<EXP_MONTH>**</EXP_MONTH>
<EXP_YEAR>**</EXP_YEAR>
<CARDHOLDER>FDMS/TEST CHECK CARD</CARDHOLDER>
<TRANS_AMOUNT>20.00</TRANS_AMOUNT>
<TRANS_DATE>2016.09.15</TRANS_DATE>
<TRANS_TIME>10:30:47</TRANS_TIME>
<STATUS_CODE>6</STATUS_CODE>
<TROUTD>5549809</TROUTD>
<ORIG_SEQ_NUM>0</ORIG_SEQ_NUM>
<PAYMENT_TYPE>DEBIT</PAYMENT_TYPE>
<PAYMENT_MEDIA>DEBIT</PAYMENT_MEDIA>
<AUTH_CODE> </AUTH_CODE>
<TRACE_CODE>000070</TRACE_CODE>
<CASHBACK_AMNT>10.00</CASHBACK_AMNT>
<TIP_AMOUNT>0.00</TIP_AMOUNT>
<RESPONSE_REFERENCE>000000000070</RESPONSE_REFERENCE>
<R_AUTH_CODE> </R_AUTH_CODE>
<RESULT_CODE>6</RESULT_CODE>
</RECORD>
</RECORDS>
</RESPONSE>
Rate this article: