IDTech Windows SDK Guide  1.2.165.1
API reference for VP3300
EMV Callback

During an EMV transaction, without a built-in LCD display on the VP3300, LCD Display messages will be returned as an EMV Callback.

In the MessageCallback for the SDK, there is a DeviceState EMVCallback. When this DeviceState is received, a IDTechSDK::EMV_Callback class object will be returned. IDTechSDK::EMV_Callback::callbackType will specify the type of callback: EMV_CALLBACK_TYPE_LCD, EMV_CALLBACK_TYPE_PINPAD, EMV_CALLBACK_MSR. The VP3300 will not utilize the EMV_CALLBACK_TYPE_PINPAD.

If VP3300 terminal settings specify MSR is part of the configuration, for cases of fallback, the type of callback will be EMV_CALLBACK_MSR. When this is received, MSR data must be collected and returned to IDTechSDK::IDT_VP3300::emv_callbackResponseMSR() to complete the transaction.

For LCD display messages, the callback type will be EMV_CALLBACK_TYPE_LCD. To evaluate what kind of LCD message, you get EMV_LCD_DISPLAY_MODE from IDTechSDK::EMV_Callback::lcd_displayMode: 1- LCD_DISPLAY_MODE_MENU: Menu selection, response required with selected menu index #, or 0 to cancel 2- LCD_DISPLAY_MODE_PROMPT: Message Prompt, response required 'E' for Enter/Accept, or 'C' for cancel 3- LCD_DISPLAY_MODE_MESSAGE: Display Message, no response required 8 – LCD_DISPLAY_MODE_LANGUAGE_SELECT: Language selection, response required with selected language index # 16 - LCD_DISPLAY_MODE_CLEAR_SCREEN: Request to clear LCD screen of information

If the mode is LCD_DISPLAY_MODE_MESSAGE or LCD_DISPLAY_MODE_CLEAR_SCREEN, these do not pause the EMV transaction. These two modes are for displaying a message (no response required), or for clearing the screen.

If the mode is LCD_DISPLAY_MODE_MENU, LCD_DISPLAY_MODE_PROMPT, or LCD_DISPLAY_MODE_LANGUAGE_SELECT, the provided message must be displayed, and then the EMV transaction pauses until a response is sent to IDTechSDK::IDT_VP3300::emv_callbackResponseLCD().

The message to display is byte[] lcd_messages. This contains either Message String, or a Message ID according to LCD Foreign Language Mapping Table (Foreign Language Mapping Table).