Skip to main content

SCA Functional Specification

Customer Survey (5 or 10)

Last updated: 23-Sep-2025

SURVEY5 command directs the device to display up to five (5) lines of message and prompt for 1-5 response.
SURVEY10 command directs the device to display up to ten (10) lines of message and prompt for 1-10 response.

Rules

The SURVEY5 and SURVEY10 commands are intended for non-payment purposes and are to be used outside of a payment transaction.

Configuration Parameters

There is no configuration parameter associated wih these commands functionality.


SURVEY5 (Message Interface)

The following tables provide corresponding device UI interactions, detailed protocol information, including field descriptions and examples.

  

Note

The SURVEY5 command is not supported on the e235, P200, and V200 devices.

Device UI Required
  

Note

Neo device (M450) is being used to capture screenshots for the Device UI Requirement section.

Display User Action Terminal Action
../_images/proto_device_ui_cust_survey5.png Select the rating. The device displays the Customer Survey screen with 5 rating option.
Request Packet
Field Rule Type Minimum Maximum Value(s) Description
FUNCTION_TYPE Required Static value N/A N/A DEVICE Type of function.
COMMAND Required Static value N/A N/A SURVEY5 Command name
DISPLAY_TEXT1 Optional Character 1 50   Display text line 1. Example: HOW WOULD YOU RATE OUR SERVICE TODAY WITH
DISPLAY_TEXT2 Optional Character 1 50   Display text line 2. Example: 5 BEING BEST
DISPLAY_TEXT3 Optional Character 1 50   Display text line 3. Example: AND 1 BEING
DISPLAY_TEXT4 Optional Character 1 50   Display text line 4. Example: WORST
DISPLAY_TEXT5 Optional Character 1 50   Display text line 5. Example: ?
RETURN_SCREEN Optional List 1 15
  • IDLE_SCREEN
  • LINE_ITEM
  • STAY_CURRENT
This field indicates the screens, where after executing the request, the application will return. Default settings for return screen is STAY_CURRENT.
POS_RECON Optional Character 1 30   POS reconciliation. POS Reconciliation field to be echoed back in response to POS. Example: RetailPOS1
COUNTER Required Numeric 1 10   COUNTER is used for a given MAC label. Each COUNTER should be higher than the last one. This is used 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. Example: BIFasiTOHbkAr/+wA81QpQIPckb8qa5B71CTMEYh4Y4=
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: P_XIGAKR
Example

Following is an example of request packet

<TRANSACTION>
        <FUNCTION_TYPE>DEVICE</FUNCTION_TYPE>
        <COMMAND>SURVEY5</COMMAND>
        <DISPLAY_TEXT1>HOW WOULD YOU RATE OUR SERVICE  TODAY WITH</DISPLAY_TEXT1>
        <DISPLAY_TEXT2>5 BEING BEST</DISPLAY_TEXT2>
        <DISPLAY_TEXT3> AND 1 BEING</DISPLAY_TEXT3>
        <DISPLAY_TEXT4>WORST</DISPLAY_TEXT4>
        <DISPLAY_TEXT5>?</DISPLAY_TEXT5>
</TRANSACTION>
Response Packet
Field Type Value Description
RESPONSE_TEXT Character   Processor response text. Example: Survey Captured
RESULT Character   This indicates the Result details. Example: OK
RESULT_CODE Numeric Expected result code, like -1 This indicates the result code. Refer to Result/Error Codes for details.
TERMINATION_STATUS Character SUCCESS or FAILURE This indicates the transaction termination status. This is the overall status of the transaction irrespective of approved or declined. Like, if the output is generated then the status is SUCCESS and if no output is generated then the status will be FAILURE.
SURVEY5_DATA Character 1, 2, 3, 4, 5, 0(SKIP) Returns survey data with selected options. 0 indicates the survey is skipped.
POS_RECON Character   POS reconciliation field echoed back if sent in request. Example: RetailPOS1
COUNTER Numeric   Echoes counter sent in the request. Example: 100

Transaction Performance Metric

  

Note

These fields are returned, if SCAPERFMETRIC parameter (Application Parameters) is enabled.

Field Type Value Description
UI_TIME Time   This indicates the time duration, for which the device screen is displayed (like error message, prompt screen, remove card screen) till any user action is performed in the command execution flow. This field is not applicable to capture the time for the Processing, Authorizing and transaction status screen. The format of the returned value would be S.sss, where S is seconds (this can be 0 to any positive integer) and sss is milliseconds. In case of any insignificant time or 0.000 value, will not be returned in the response. Example: <UI_TIME>44.028</UI_TIME>
HOST_TIME Time   This indicates the time taken for the Connection to the host, sending request and receives data from the host. This field also take the cumulative time for multiple requests which may sent to the host during the transaction including two legged transactions, timeout requests, Auto Last Tran requests, DCC, Credit app proxy. The format of the returned value would be S.sss, where S is seconds (this can be 0 to any positive integer) and sss is milliseconds. In case of any insignificant time or 0.000 value, will not be returned in the response. Example: <HOST_TIME>1.389</HOST_TIME>
CMD_TIME Time   This field indicates the total amount of time for a command, which is executed by the application from request received to the response sent. The format of the returned value would be S.sss, where S is seconds (this can be 0 to any positive integer) and sss is milliseconds. In case of any insignificant time or 0.000 value, will not be returned in the response. Example: <CMD_TIME>70.765</CMD_TIME>
Example

Following is an example of response packet

<RESPONSE>
        <RESPONSE_TEXT>Survey Data Captured</RESPONSE_TEXT> <RESULT>OK</RESULT>
        <RESULT_CODE>-1</RESULT_CODE>
        <TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
        <SURVEY5_DATA>1</SURVEY5_DATA>
        <COUNTER>11</COUNTER>
</RESPONSE>

SURVEY10 (Message Interface)

The following tables provide corresponding device UI interactions, detailed protocol information, including field descriptions and examples.

  

Note

The SURVEY10 command is not supported on the e235, P200, and V200 devices.

Device UI Required
Display User Action Terminal Action
../_images/proto_device_ui_cust_survey10.png Select the rating. The device displays the Customer Survey screen with 10 rating option.
Request Packet
Field Rule Type Minimum Maximum Value(s) Description
FUNCTION_TYPE Required Static value N/A N/A DEVICE Type of function.
COMMAND Required Static value N/A N/A SURVEY10 Command name
DISPLAY_TEXT1 Optional Character 1 50   Display text line 1. Example: HOW WOULD YOU RATE OUR
DISPLAY_TEXT2 Optional Character 1 50   Display text line 2. Example: SERVICE TODAY WITH 10 BEING
DISPLAY_TEXT3 Optional Character 1 50   Display text line 3. Example: BEST AND 1 BEING WORST
DISPLAY_TEXT4 Optional Character 1 50   Display text line 4.
DISPLAY_TEXT5 Optional Character 1 50   Display text line 5.
DISPLAY_TEXT6 Optional Character 1 50   Display text line 6.
DISPLAY_TEXT7 Optional Character 1 50   Display text line 7.
DISPLAY_TEXT8 Optional Character 1 50   Display text line 8.
DISPLAY_TEXT9 Optional Character 1 50   Display text line 9.
DISPLAY_TEXT10 Optional Character 1 50   Display text line 10.
RETURN_SCREEN Optional List 1 15
  • IDLE_SCREEN
  • LINE_ITEM
  • STAY_CURRENT
This field indicates the screens, where after executing the request, the application will return. Default settings for return screen is STAY_CURRENT.
POS_RECON Optional Character 1 30   POS reconciliation. POS Reconciliation field to be echoed back in response to POS. Example: RetailPOS1
COUNTER Required Numeric 1 10   COUNTER is used for a given MAC label. Each COUNTER should be higher than the last one. This is used 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>DEVICE</FUNCTION_TYPE>
        <COMMAND>SURVEY10</COMMAND>
        <DISPLAY_TEXT1>HOW WOULD YOU RATE YOUR</DISPLAY_TEXT1>
        <DISPLAY_TEXT2>SERVICE TODAY WITH 10 BEING</DISPLAY_TEXT2>
        <DISPLAY_TEXT3>BEST AND 1 BEING WORST</DISPLAY_TEXT3>
        <COUNTER>1</COUNTER>
        <MAC></MAC>
        <MAC_LABEL>REG2</MAC_LABEL>
</TRANSACTION>
Response Packet
Field Type Value Description
RESPONSE_TEXT Character   Processor response text. Example: Survey Captured
RESULT Character   This indicates the Result details. Example: OK
RESULT_CODE Numeric Expected result code, like -1 This indicates the result code. Refer to Result/Error Codes for details.
TERMINATION_STATUS Character SUCCESS or FAILURE This indicates the transaction termination status. This is the overall status of the transaction irrespective of approved or declined. Like, if the output is generated then the status is SUCCESS and if no output is generated then the status will be FAILURE.
SURVEY10_DATA Character 1 , 2, 3, 4, 5, 6, 7, 8, 9, 10, 0(SKIP) Returns survey data with selected options. 0 indicates the survey is skipped.
POS_RECON Character   POS reconciliation field echoed back if sent in request. Example: RetailPOS1
COUNTER Numeric   Echoes counter sent in the request. Example: 100

Transaction Performance Metric

  

Note

These fields are returned, if SCAPERFMETRIC parameter (Application Parameters) is enabled.

Field Type Value Description
UI_TIME Time   This indicates the time duration, for which the device screen is displayed (like error message, prompt screen, remove card screen) till any user action is performed in the command execution flow. This field is not applicable to capture the time for the Processing, Authorizing and transaction status screen. The format of the returned value would be S.sss, where S is seconds (this can be 0 to any positive integer) and sss is milliseconds. In case of any insignificant time or 0.000 value, will not be returned in the response. Example: <UI_TIME>44.028</UI_TIME>
HOST_TIME Time   This indicates the time taken for the Connection to the host, sending request and receives data from the host. This field also take the cumulative time for multiple requests which may sent to the host during the transaction including two legged transactions, timeout requests, Auto Last Tran requests, DCC, Credit app proxy. The format of the returned value would be S.sss, where S is seconds (this can be 0 to any positive integer) and sss is milliseconds. In case of any insignificant time or 0.000 value, will not be returned in the response. Example: <HOST_TIME>1.389</HOST_TIME>
CMD_TIME Time   This field indicates the total amount of time for a command, which is executed by the application from request received to the response sent. The format of the returned value would be S.sss, where S is seconds (this can be 0 to any positive integer) and sss is milliseconds. In case of any insignificant time or 0.000 value, will not be returned in the response. Example: <CMD_TIME>70.765</CMD_TIME>
Example

Following is an example of response packet

<RESPONSE>
        <TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
        <COUNTER>1</COUNTER>
        <RESULT_CODE>-1</RESULT_CODE>
        <RESULT>OK</RESULT>
        <RESPONSE_TEXT>Survey Captured</RESPONSE_TEXT>
        <SURVEY10_DATA>7</SURVEY10_DATA>
</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