Skip to main content
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: See the sections below for more details on each method.

Destroy

This 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:
Android

GetAttribute

Called 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:
Request:
Response when the requested attribute exists in the configuration file:
Response when the requested attribute doesn’t exist in the configuration file:
Parameters:

GetKioskID

Returns the device’s unique identification number, which the Nayax server uses to link transactions, configurations, and monitoring to this device. See the GetKioskID API signature in the code below:
Request:
Response:

GetPollStatus

Returns separate status values for the card-polling state and for reader and network resource availability. See the GetPollStatus API signature in the code below:
Request:
Response:
The possible values are: Polling: true or false. Resources: Ready, NoReader, or NoNetwork.

GetStatus

Retrieves 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:
Request:
Response:
The possible result values are: NotReady, Ready, PaymentTransaction, Update, NoReader, NoTerminalId, NoNetwork, and NoTransaction.
  • 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 GetStatus times out, retry up to three times with a five-second interval. If there is still no response, assume EMV Core is unresponsive and restart the process.

GetVersion

Fetches the reader’s firmware version and the EMV Core SDK version. This is used to verify that the latest updates have been applied.
Request:
Response:

Initialize

Initializes the EMV Core SDK and establishes a session with the reader. Call this once during application startup before performing any transactions or management tasks. See the Initialize API signature in the code below:
Java

isEMVCoreConnected

This 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:
Android

SetManagementCallbacks

This method is only available for the Android SDK.
Registers callbacks for system-level EMV Core events. This includes the SystemStatusChanged event, which lets your application monitor the health and maintenance status of the SDK. See the SetManagementCallbacks API signature in the code below:
Android
Parameters: iMaintenanceCallbacks: Maintenance details and system event handlers.
To learn more about implementation, see the Event Callbacks documentation.

SetPaymentCallbacks

Registers 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:
Java
Parameters:
  • iPaymentCallbacks: Payment transaction details and event handlers.

ShowMessage

Displays 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:
Request:
Response:
This method is exclusive to the UNO-PLUS reader.

UpdateMachineAttributes

Updates host machine attributes in Nayax Core. These values are informational only and do not affect payment processing. They are available in Nayax Core for reporting and diagnostics.
Request:
Response:
Parameters: key: A list of machine attributes to be updated on Nayax Core. The relevant attribute IDs are:
You must send attributes 541, 542, 543, and 544 on every call:
  • 541 Manufacturer Code: the manufacturer’s English name (for example, myCompanyName).
  • 542 Machine Model: the machine model.
  • 543 Serial Number: the machine serial number as it appears on the machine.
  • 544 Machine SW Version: the machine software version.
Omitting any of these attributes can result in incomplete reporting and diagnostics data in Nayax Core.