EmvJ for the Java Virtual Machine

EmvJ offers a simple and rapid method of adding EMV Level 2 functionality to any Java based application.

The Java interface provided by EmvJ is based on the software architecture of the highly successful EmvX Kernel. By using a solution based upon a virtual machine means the Kernel can be used on other Java platforms without the need to recertify with EMVCo. Designed with speed and efficiency in mind, EmvJ can run on the smallest Java environments with modest system resource utilization.

Key Highlights

  • Ease of adding EMV Level 2 compliance to existing applications - A simple example performing an EMV compliant transaction with a PIN Pad requires only a few lines of code
  • The EmvJ Toolkit runs on any platform that supports a Java Virtual Machine
  • Easy interface to peripherals. Drivers for popular card readers and PIN Pads are already provided with the Toolkit
  • Easy interface to third party EFT packages. Template applications are included in the EmvJ Toolkit
  • Does not need to be re-certified for each target platform ­ existing EMVCo certifications for popular configurations can be re-used, giving increased time and cost savings

EmvJ Toolkit

To ensure that EmvJ can be used in a wide variety of terminal configurations it has been created as a toolkit of EMV functions that can be called in the correct order to enable an EMV Level 2 transaction to take place. All the external functions such as the online authorization and PIN Pad interfaces are provided in the form of drivers. A number of these drivers are already available but in the event that a suitable one is not available, driver templates can be provided.

EMV Supported Features

The EmvJ Toolkit fully supports a variety of data authentication, configuration, CVM methods and other special features within the EMV Level 2 version 4.3 specification.

Data Authentication Methods

Static, Dynamic and Combined Data Authentication (SDA, DDA and CDA).

Acquirer Interfaces

Authorization Request, Financial Transaction Request, Batch Data Capture, Online Data Capture.

Cardholder Verification Methods

Offline Plaintext PIN, Offline Enciphered PIN, Signature, No CVM, Fail CVM.


Certificate Revocation, Velocity and Floor Limit Checking, Exception Lists, Recommended EMV Application Selection Algorithms.