Skip to main content

SCA Functional Specification

SETTLE ERROR

Last updated: 04-Dec-2024

The Settle Error report returns information on all the transactions that have not settled. This report may be called after the settlement has been scheduled and run. This report will contain all exception transactions and can be very useful in conjunction with a Transaction Search report.

..note::
The Settle Error Report is not available when using a host-based processor.

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 SETTLEERROR 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, ORIG_SEQ_NUM, STATUS_CODE, TROUTD, PAYMENT_TYPE, PAYMENT_MEDIA, RESULT_CODE, AUTH_CODE, TRACE_CODE, AVS_CODE, CVV2_CODE, CTROUTD, RESPONSE_REFERENCE,R_AUTH_CODE Choose from list, minimum one field. 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.
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: 2
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>
    <COUNTER>1</COUNTER>
    <MAC></MAC>
    <MAC_LABEL>REG2</MAC_LABEL>
    <FUNCTION_TYPE>REPORT</FUNCTION_TYPE>
    <COMMAND>SETTLEERROR</COMMAND>
    <MAX_NUM_RECORDS_RETURNED>200</MAX_NUM_RECORDS_RETURNED>
    <RESPONSEFIELDS>
            <INTRN_SEQ_NUM/>
            <PROCESSOR_ID/>
            <BATCH_SEQ_NUM/>
            <TRANS_SEQ_NUM/>
            <INVOICE/>
            <COMMAND/>
            <ACCT_NUM/>
            <EXP_MONTH/>
            <CARDHOLDER/>
            <EXP_YEAR/>
            <TRANS_AMOUNT/>
            <REFERENCE/>
            <TRANS_DATE/>
            <TRANS_TIME/>
            <ORIG_SEQ_NUM/>
            <STATUS_CODE/>
            <TROUTD/>
            <PAYMENT_TYPE/>
            <PAYMENT_MEDIA/>
            <RESULT_CODE/>
            <AUTH_CODE/>
            <TRACE_CODE/>
    </RESPONSEFIELDS>
    <SEARCHFIELDS>
    </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
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: 1
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 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.
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, 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>1</RETURN_FLD_HDRS>
    <ACCOUNT>1</ACCOUNT>
    <SITE>0001</SITE>
    <TERM>0001</TERM>
    <FORMAT>xml</FORMAT>
    <SERIAL_NUM>1234565789</SERIAL_NUM>
    <DEVICEKEY>*************************</DEVICEKEY>
    <COMMAND>SETTLEERROR</COMMAND>
    <SEARCHFIELDS />
    <MAX_NUM_RECORDS_RETURNED>200</MAX_NUM_RECORDS_RETURNED>
    <FUNCTION_TYPE>REPORT</FUNCTION_TYPE>
    <DEVTYPE>VX805P</DEVTYPE>
    <DELIMITER />
    <NUM_RECORDS_FOUND>1</NUM_RECORDS_FOUND>
    <SEARCHFIELDS />
            <RECORDS>
                    <RECORD>
                            <INTRN_SEQ_NUM>122822</INTRN_SEQ_NUM>
                            <PROCESSOR_ID>VISA</PROCESSOR_ID>
                            <BATCH_SEQ_NUM>-10003</BATCH_SEQ_NUM>
                            <TRANS_SEQ_NUM>23</TRANS_SEQ_NUM>
                            <INVOICE xml:space="preserve"> </INVOICE>
                            <COMMAND>SALE</COMMAND>
                            <ACCT_NUM>373235******1018</ACCT_NUM>
                            <EXP_MONTH>**</EXP_MONTH>
                            <CARDHOLDER xml:space="preserve"> </CARDHOLDER>
                            <EXP_YEAR>**</EXP_YEAR>
                            <TRANS_AMOUNT>2.0000</TRANS_AMOUNT>
                            <REFERENCE>805917502935</REFERENCE>
                            <TRANS_DATE>2008.02.28</TRANS_DATE>
                            <TRANS_TIME>12:42:44</TRANS_TIME>
                            <ORIG_SEQ_NUM>0</ORIG_SEQ_NUM>
                            <STATUS_CODE>4</STATUS_CODE>
                            <TROUTD>122822</TROUTD>
                            <PAYMENT_TYPE>CREDIT</PAYMENT_TYPE>
                            <PAYMENT_MEDIA>AMEX</PAYMENT_MEDIA>
                            <RESULT_CODE>4</RESULT_CODE>
                            <AUTH_CODE>AXS464</AUTH_CODE>
                            <TRACE_CODE xml:space="preserve"> </TRACE_CODE>
                    </RECORD>
            </RECORDS>

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