Skip to main content

SCA Functional Specification

DISPLAY_MESSAGE

Last updated: 06-Jan-2025

This command displays a text message box on the screen for a given time frame.
Using DISPLAY MESSAGE command, the user can also insert new line or line break, by using line feed or carriage, like 
 or 
, return in POS request.

Device UI Required: Yes

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 DISPLAY_MESSAGE Command name
DISPLAY_TEXT Required Character 1 4000   Display Text. Examples for inserting new line or line break in DISPLAY_MESSAGE command: <DISPLAY_TEXT>Summary &#13;Line1 &#13;Line2 &#13;Line3 &#13;Line4 &#13; Line5 &#13;Line6 Line3 &#13;Line7 &#13;Line8</DISPLAY_TEXT>. NOTE: Using the above inputs, the user can also scroll the screen. Example: WELCOME TO VERIFONE
BUTTON_DISPLAY Optional Numeric 1 1
  • 0 – Button will not be displayed
  • 1 – Button will be displayed (Default value)
This is used for displaying button. Even if this field is not sent from POS, Button will be displayed.
BUTTON_LABEL Optional Character 1
  • 20 (for M400, M424 and M440)
  • 8 (for other small screen devices)
Default value is OK. This label should be displayed on the single button. If it is not sent from POS, then “OK” text will be shown on screen. If BUTTON_LABEL is sent from POS, then the same text will be displayed on the button. Maximum length of the text can be sent from POS is 20 characters. For M400, M424 and M440, 20 characters can be shown on the button. For small screen devices, if text length is more than 8 characters it may go hidden/overlap.
DISPLAY_TEXT_TOP Optional Character 1
  • 65
  • 30 (for e280/e285)
  Top section display text. Maximum size limit is 65 characters. In e280/e285 devices, the maximum size limit is 30 characters. This will override and replace the title logo image.
DISPLAY_IMG_TOP Optional Base64 Encoded Data 1 30000   Top section display image. Value is base64 encoded string (maximum 30000) to be converted to an image. Displays image on top of the screen. This will override and replace the title logo image. DISPLAY_TEXT_TOP will be ignored if DISPLAY_IMG_TOP data is present. This field is supported for all devices which has title logo support.
TIMEOUT_DATA Required Numeric 1 9
  • 0 - indicates an infinite timeout.
  • 1 - 999 seconds
Timeout duration in seconds. When the TIMEOUT_DATA value is sent as 0, Application should keep the display message visible until the next command (requiring UI) is received from the POS.
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 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>DISPLAY_MESSAGE</COMMAND>
    <DISPLAY_TEXT>WELCOME TO VERIFONE</DISPLAY_TEXT>
    <TIMEOUT_DATA>10</TIMEOUT_DATA>
    <COUNTER>1</COUNTER>
    <MAC></MAC>
    <MAC_LABEL>REG2</MAC_LABEL>
    </TRANSACTION>
Response Packet
Field Type Value Description
RESPONSE_TEXT Character   Processor response text. Example: Operation SUCCESSFUL
RESULT Character   This indicates the Result details. Example: OK
RESULT_CODE Numeric Expected result code: -1, 59001, 59006, 59040 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.
TIMEOUT_RESULT Character
  • SUCCESS (if OK selected)
  • TIMEOUT (if message box times out)
Return the timeout result with value mentioned in Value column. Not included in response for Classic implementation as of this publication.
POS_RECON Character   POS reconciliation field echoed back if sent in request. Example: RetailPOS1
COUNTER Numeric   Echoes counter sent in the request. Example: 100
Example

Following is an example of response packet

<RESPONSE>
    <TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
    <RESULT_CODE>-1</RESULT_CODE>
    <RESULT>OK</RESULT>
    <RESPONSE_TEXT>Operation SUCCESSFUL</RESPONSE_TEXT>
    <TIMEOUT_RESULT>SUCCESS</TIMEOUT_RESULT>
    </RESPONSE>
Example Request Example Response
<TRANSACTION>
<FUNCTION_TYPE>SAF</FUNCTION_TYPE>
<COMMAND>EDIT</COMMAND>
<SAF_NUM>0001</SAF_NUM>
<SET_SAF_STATUS>ELIGIBLE</SET_SAF_STATUS>
<SET_TRANS_AMOUNT>5.00</SET_TRANS_AMOUNT>
<COUNTER>1</COUNTER>
<MAC></MAC>
<MAC_LABEL>REG2</MAC_LABEL>
</TRANSACTION>
<RESPONSE>
<RESPONSE_TEXT> 1 SAF RECORD(S)UPDATED<RESPONSE_TEXT>
<RESULT>OK</RESULT>
<RESULT_CODE>-1</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<COUNTER>1</COUNTER>
<RESPONSE>

If the transaction is already processed or Maximum number of EDIT exceeded:

Example Request Example Response
<TRANSACTION>
<FUNCTION_TYPE>SAF</FUNCTION_TYPE>
<COMMAND>EDIT</COMMAND>
<SAF_NUM>0017</SAF_NUM>
<SET_SAF_STATUS>ELIGIBLE</SET_SAF_STATUS>
<MAC_LABEL>P_UWSQPX</MAC_LABEL>
<COUNTER>58</COUNTER>
<MAC>I1XaWqAELXO5Wbi2CZ/dXxcAX4h04u3WiT8jwme88Gg=</MAC>
</TRANSACTION>
<RESPONSE>
<RESPONSE_TEXT>SAF EDIT NOTALLOWED</RESPONSE_TEXT>
<RESULT>ERROR</RESULT>
<RESULT_CODE>59053</RESULT_CODE>
<TERMINATION_STATUS>FAILURE</TERMINATION_STATUS>
<COUNTER>58</COUNTER>
</RESPONSE>

When a Transaction with particular SAF_NUM is not present in device:

Example Request Example Response
<TRANSACTION>
<FUNCTION_TYPE>SAF</FUNCTION_TYPE>
<COMMAND>EDIT</COMMAND>
<SAF_NUM>0019</SAF_NUM>
<SET_SAF_STATUS>ELIGIBLE</SET_SAF_STATUS>
<MAC_LABEL>P_UWSQPX</MAC_LABEL>
<COUNTER>59</COUNTER> <MAC>VfJk40oDKtPJdxkEpXVYMl3a3DR1m7f64maNT6MLJlk=</MAC>
</TRANSACTION>
<RESPONSE>
<RESPONSE_TEXT>NO SAF RECORDS FOUND</RESPONSE_TEXT>
<RESULT>ERROR</RESULT>
<RESULT_CODE>59053</RESULT_CODE>
<TERMINATION_STATUS>FAILURE</TERMINATION_STATUS>
<COUNTER>59</COUNTER>
</RESPONSE>

Editing Multiple transactions using SAF Edit:

Example Request Example Response
<TRANSACTION>
<FUNCTION_TYPE>SAF</FUNCTION_TYPE>
<COMMAND>EDIT</COMMAND>
<SET_SAF_STATUS>ELIGIBLE</SET_SAF_STATUS>
<SAF_NUM_BEGIN>25</SAF_NUM_BEGIN>
<SAF_NUM_END>29</SAF_NUM_END>
<MAC_LABEL>P_0HNIMC</MAC_LABEL>
<COUNTER>46</COUNTER>
<MAC>hymEGwd4lkxfRzrsGv0316lAKsn/qhvzEO//Rsuqhus=</MAC>
</TRANSACTION>
<RESPONSE>
<RESPONSE_TEXT>2 SAFRECORD(S)UPDATED</RESPONSE_TEXT>
<RESULT>OK</RESULT>
<RESULT_CODE>-1</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
<COUNTER>46</COUNTER>
</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