Skip to main content

SCA Functional Specification

DAILY SUMMARY/PRE-SETTLEMENT

Last updated: 04-Dec-2024
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>

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