Skip to main content

SCA Functional Specification

DISPLAY_QRCODE

Last updated: 04-Dec-2024

This command directs the device to pass data of the QR code (provided by user) to be displayed. Here, the user is asking for the ability to pass a string of data to the application, and this will dynamically generate the QR code and display it on the POS.

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_QRCODE Command name
QRCODE_DATA Required Character 1 200   Textual data that will be constructed into a QR code image for display. This is the QR Code payload. Value represents web URL, coupon code, etc. Example: https://www.verifone.com
DISPLAY_TEXT Optional Character 1 150   Instructions for consumer to use the QR code. If there is no data entered in this field, then no instructions will appear on the screen. Example: Scan the QR code below for up-to-the-minute offers and coupons!
DISPLAY_TIMEOUT Optional Numeric 1 300   Duration of time to display the QR code, in seconds. If there is no value specified, the QR screen will remain till the next command from POS or until DONE button is pressed. Example: 30
BUTTON_LABEL Optional Character 1 18   Optional text label for DONE button. Button displayed if the value is provided. Example: Continue Finished
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_QRCODE</COMMAND>
<QRCODE_DATA>https://www.verifone.com</QRCODE_DATA>
<DISPLAY_TEXT>Scan the QR code below </DISPLAY_TEXT>
<DISPLAY_TIMEOUT>10</DISPLAY_TIMEOUT>
<DISPLAY_BUTTONS>1</DISPLAY_BUTTONS>
<BUTTON_LABEL>PRESS AFTER SCAN</BUTTON_LABEL>
</TRANSACTION>
Response Packet
Field Type Value Description
RESPONSE_TEXT Character
  • For SUCCESS: Operation SUCCESSFUL
  • For TIMEOUT: Cancelled by Timeout
  • For CANCELLED: Cancelled by Customer
Processor response text.
RESULT Character
  • For SUCCESS: OK
  • For TIMEOUT: CANCELLED
  • For CANCELLED: CANCELLED
This indicates the Result details.
RESULT_CODE Numeric
Expected result code:
  • -1 : Success
  • 59000: TIMEOUT
  • 59001: CANCELLED
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. NOTE: Termination status returns SUCCESS for successful operation and FAILURE for timeout and cancelled result.
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>
<RESPONSE_TEXT>Operation SUCCESSFUL</RESPONSE_TEXT>
<RESULT>OK</RESULT>
<RESULT_CODE>-1</RESULT_CODE>
<TERMINATION_STATUS>SUCCESS</TERMINATION_STATUS>
</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