DAILY SUMMARY/PRE-SETTLEMENT
Daily Summary
The Daily Summary report returns a summary report for each Point command type (sale, credit, post-auth, etc.) for the Client ID. The Daily Summary report requires COMMAND as a <RESPONSEFIELDS/>
tag to return results for each transaction type. (Leaving this tag out will not cause the transaction to fail the validation; however, it will not return information for the transaction types.) Sending optional parameters with the command request, such as start and end date, starting and ending time, and amount range, will limit the report’s results as desired. The Daily Summary Report returns output requested in the <RESPONSEFIELDS/>
tag.
Pre-Settlement
The Pre-Settlement report returns summary information on the transactions that have been approved since the current batch was opened. The Pre-Settlement report requires COMMAND as a <RESPONSEFIELDS/>
tag to return results for each transaction type. (Leaving this tag out will not cause the transaction to fail the validation; however, it will not return information for the transaction types). Sending optional parameters with the command request, such as start and end date, starting and ending time, and amount range, will limit the report’s results as desired. The Pre-Settlement report returns output requested in the <RESPONSEFIELDS/>
tag.
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 | DAYSUMMARY or PRESETTLEMENT | Command name |
MAX_NUM_RECORDS_RETURNED | Required | Numeric | 1 | 4 | Maximum valid value: 8000 | Maximum number of records returned. |
SEARCHFIELDS | Required | List | N/A | N/A | See SEARCHFIELDS section for child elements. | List of fields required to send for search. |
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 | |
RESPONSEFIELDS | Required | List | Valid Values: COMMAND, TRANS_AMOUNT, TROUTD, PAYMENT_TYPE, CTROUTD, CASHBACK_AMNT, TIP_AMOUNT | Choose from list. NOTE: COMMAND, TRANS_AMOUNT, and TROUTD are required for DAYSUMMARY and PRESETTLEMENT report. | ||
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 |
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. 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 | |
STATUS_CODE | Conditional | Numeric | 1 | 10 | Transaction status code. Example: 4 |
Example
Following is an example of request packet
<TRANSACTION>
<COUNTER>1</COUNTER>
<MAC> … </MAC>
<MAC_LABEL>REG2</MAC_LABEL>
<FUNCTION_TYPE>REPORT</FUNCTION_TYPE>
<COMMAND>DAYSUMMARY</COMMAND>
<MAX_NUM_RECORDS_RETURNED>200</MAX_NUM_RECORDS_RETURNED>
<RESPONSEFIELDS>
<COMMAND/>
<TRANS_AMOUNT/>
<TROUTD/>
<CASHBACK_AMNT/>
<TIP_AMOUNT/>
</RESPONSEFIELDS>
<SEARCHFIELDS>
<START_TRANS_DATE>2016.01.01</START_TRANS_DATE>
<END_TRANS_DATE>2016.05.31</END_TRANS_DATE>
</SEARCHFIELDS>
</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 | |
DEVICEKEY | Character | Device key. | |
MAX_NUM_RECORDS_RETURNED | Numeric | Maximum number of records returned. Example: 800 | |
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: 167 | |
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, STATUS_CODE | These fields and their values from the SEARCHFIELDS parameter of the request will be included in the response so the integrator will know the criteria upon which the report is based. | ||
COMMAND, SALE_AMOUNT, TROUTD, PAYMENT_TYPE, CASHBACK_AMNT, TIP_AMOUNT, CTROUTD | These fields will return for each record if they are specified in the RESPONSEFIELDS parameter of the request. NOTE: TRANS_AMOUNT returns as SALE_AMOUNT. | ||
CHARGE_TOTAL, ITEMCOUNT | These fields will also be included for each record. | ||
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>
<ACCOUNT>1</ACCOUNT>
<SITE>0001</SITE>
<TERM>0001</TERM>
<DEVTYPE>VX805</DEVTYPE>
<RETURN_FLD_HDRS>0</RETURN_FLD_HDRS>
<FORMAT>xml</FORMAT>
<SERIAL_NUM>1234565789</SERIAL_NUM>
<DEVICEKEY>*************************</DEVICEKEY>
<MAX_NUM_RECORDS_RETURNED>200</MAX_NUM_RECORDS_RETURNED>
<FUNCTION_TYPE>REPORT</FUNCTION_TYPE>
<DELIMITER />
<NUM_RECORDS_FOUND>167</NUM_RECORDS_FOUND>
<SEARCHFIELDS>
<START_TRANS_DATE>2016.01.01</START_TRANS_DATE>
<END_TRANS_DATE>2016.05.31</END_TRANS_DATE>
</SEARCHFIELDS>
<RECORDS>
<RECORD>
<COMMAND>SALE</COMMAND>
<ITEMCOUNT>56</ITEMCOUNT>
<SALE_AMOUNT>56.00</SALE_AMOUNT>
<TIP_AMOUNT>.00</TIP_AMOUNT>
<CASHBACK_AMNT>.00</CASHBACK_AMNT>
<CHARGE_TOTAL>56.00</CHARGE_TOTAL>
</RECORD>
<RECORD>
<COMMAND>CREDIT</COMMAND>
<ITEMCOUNT>1</ITEMCOUNT>
<SALE_AMOUNT>1.00</SALE_AMOUNT>
<TIP_AMOUNT>.00</TIP_AMOUNT>
<CASHBACK_AMNT>.00</CASHBACK_AMNT>
<CHARGE_TOTAL>1.00</CHARGE_TOTAL>
</RECORD>
<RECORD>
<COMMAND>PRE_AUTH</COMMAND>
<ITEMCOUNT>8</ITEMCOUNT>
<SALE_AMOUNT>8.00</SALE_AMOUNT>
<TIP_AMOUNT>.00</TIP_AMOUNT>
<CASHBACK_AMNT>.00</CASHBACK_AMNT>
<CHARGE_TOTAL>8.00</CHARGE_TOTAL>
</RECORD>
<RECORD>
<COMMAND>POST_AUTH</COMMAND>
<ITEMCOUNT>7</ITEMCOUNT>
<SALE_AMOUNT>7.00</SALE_AMOUNT>
<TIP_AMOUNT>.00</TIP_AMOUNT>
<CASHBACK_AMNT>.00</CASHBACK_AMNT>
<CHARGE_TOTAL>7.00</CHARGE_TOTAL>
</RECORD>
<RECORD>
<COMMAND>VOID</COMMAND>
<ITEMCOUNT>1</ITEMCOUNT>
<SALE_AMOUNT>1.00</SALE_AMOUNT>
<TIP_AMOUNT>.00</TIP_AMOUNT>
<CASHBACK_AMNT>.00</CASHBACK_AMNT>
<CHARGE_TOTAL>.00</CHARGE_TOTAL>
</RECORD>
</RECORDS>
</RESPONSE>