Remote Management
The EMV Core SDK includes management features that streamline device configuration, firmware updates, and diagnostics. These capabilities reduce maintenance overhead and enhance reliability by allowing centralized control through Nayax’s Terminal Management System (TMS) or local updates when necessary.
The following methods are used for managing the SDK:
- Destroy
- GetAttribute
- GetKioskID
- GetStatus
- GetVersion
- Initialize
- isEMVCoreConnected
- SetManagementCallbacks
- SetPaymentCallbacks
- ShowMessage
- UpdateMachineAttributes
See the sections below for more details on each method.
Destroy
DestroyThis method is only available for the Android SDK.
Terminates the session with the reader and releases any associated resources. Use this during application shutdown or when the reader is no longer needed to prevent resource leaks and ensure the proper cleanup of SDK-related processes.
See the Destroy API signature in the code below:
void Destroy();GetAttribute
GetAttributeCalled by the POS application to retrieve a specific attribute value from the EMV Core configuration file.
See the GetAttribute API signature in the code below:
String GetAttribute(String key) throws EmvCoreException;Parameters:
| Parameter | Description |
|---|---|
key | The attribute key in the configuration file. For example, if the config file includes PRE_AUTH_AMOUNT=100, providing the key PRE_AUTH_AMOUNT will return 100. |
GetKioskID
GetKioskIDCalled by the POS application to retrieve the device identification number. This ID is critical for identifying the device on the Nayax server and linking it to transactions, configurations, and monitoring systems.
See the GetKioskID API signature in the code below:
String GetKioskID() throws EmvCoreException;GetStatus
GetStatusRetrieves the reader's current status, including its transaction readiness and connectivity state. This is useful for monitoring the device state during integration or deployment.
See the GetStatus API signature in the code below:
EmvCoreStatus GetStatus() throws EmvCoreException;The possible result values are: NotReady, Ready, PaymentTransaction, Update, NoReader, and NoTerminalId.
Update: Indicates the EMV Core is busy with TMS updates (e.g., new firmware or configuration).NoTerminalId: Indicates the EMV Core does not have a configured Terminal ID.
If the
GetStatusrequest times out, the host application should retry three times with a five-second interval between attempts. If no response is received after these retries, assume the EMV Core service is unresponsive and restart the process.
GetVersion
GetVersionFetches the reader's firmware version and the EMV Core SDK version. This is used to verify that the latest updates have been applied.
String GetEmvCoreVersion() throws EmvCoreException;
String GetReaderVersion() throws EmvCoreException;Initialize
InitializeInitializes the EMV Core SDK and prepares it for operation by establishing initial settings and connections. This should be called during application startup to establish a session with the reader. It is essential to set up the environment before performing any transactions or management tasks.
See the Initialize API signature in the code below:
void Initialize(Context context);isEMVCoreConnected
isEMVCoreConnectedThis method is only available for the Android SDK.
Retrieves the current status of the reader, including its transaction readiness and connectivity state.
See the isEMVCoreConnected API signature in the code below:
boolean isEmvCoreConnected();SetManagementCallbacks
SetManagementCallbacksThis method is only available for the Android SDK.
Registers callbacks called by the EMV Core regarding the operation of the EMV Core service itself. This includes the SystemStatusChanged event, allowing the application to monitor the health and maintenance status of the SDK.
See the SetManagementCallbacks API signature in the code below:
void SetManagementCallbacks(IManagementCallbacks iMaintenanceCallbacks);Parameters:
iMaintenanceCallbacks: Maintenance details and system event handlers.
To learn more about implementation, see the Event Callbacks documentation.
SetPaymentCallbacks
SetPaymentCallbacksRegisters callbacks called by the EMV Core and implemented by the sales application regarding payment functionality. This includes handling events such as TransactionComplete and ReaderMessage.
See the SetPaymentCallbacks API signature in the code below:
void SetPaymentCallbacks(IPaymentCallbacks iPaymentCallbacks);Parameters:
iPaymentCallbacks: Payment transaction details and event handlers.
ShowMessage
ShowMessageDisplays a custom message on the reader’s screen (available only if the reader has a display).
See the ShowMessage API signature in the code below:
void ShowMessage(String line1, String line2) throws EmvCoreException;See the list of parameters below:
| Parameter | Description |
|---|---|
line1 | Text for the 1st line of the reader display (max 16 characters). |
line2 | Text for the 2nd line of the reader display (max 16 characters). |
This method is exclusive to the UNO-PLUS reader.
UpdateMachineAttributes
UpdateMachineAttributesThis method is only available for the Android SDK.
Called by the POS application to set the host machine attributes values in Nayax Core. These values are for information only and would not affect the Nayax machine operation. It may help to get reports or diagnostics based on these host machine parameters.
String UpdateMachineAttributes(List<NayaxMachineAttribute> attributes) throws
EmvCoreException;Parameters:
key: A list of machine attributes to be updated on Nayax Core. Relevant attribute IDs include:
- 541 (Manufacturer Code)
- 542 (Machine Model)
- 543 (Serial Number)
- 544 (Machine SW Version)
- 551 (Type)
- 593 (VMC HW Version)
Updated 12 days ago