Manufacturer Abstraction Layer (MAL)

Code it once, run on many platforms.

If you:

  • write payment terminal software,
  • don’t want to be locked to a single hardware vendor,
  • want to future-proof a new app, or upgrade an existing legacy application to the latest hardware,

…then MAL can help you


MAL is EFT Solutions’ innovative software solution that allows you to run the same application across multiple hardware vendors devices.

In keeping with EFT’s vision to be independent of hardware vendors, in 2008, EFT saw the need to write our own apps in a portable way. MAL was born out of this requirement, and has grown rapidly since it’s inception into a useful product, which has proved to be invaluable to several of our customers around the world.

See below to discover the features of MAL.

Supported Devices

  • Verifone eVo terminals – vx520, vx675, vx680, vx690, vx805, vx820, e355.
  • Ingenico Telium 2 terminals – iCT220, iCT250, iCT320, iCT350, iWL258.
  • Verifone Engage series – P400plus, V240m, V400m.
  • In development – Ingenico Tetra terminal platform.
  • Pax terminals – SP30, S80, S90, S300, S800, S900.
  • Pax Android terminals – A920.
  • Verifone VerixV terminals – vx510, vx570, vx610, vx670, vx810.
  • Windows PC – win32 visual studio 2015 community edition.

Save Time and Money

  • Application code written using MAL is quicker and cheaper to port to other platforms.
  • Focus on your core business – your application features. Leave the OS/platform specifics to us.
  • Battle-hardened and proven libraries provide a faster path to market.
  • Not ‘just’ an abstraction layer – also a collection of commonly-used libraries, written in ‘portable C’ (see below for details).

Abstraction Layer Features

  • High-level and Flexible User Interface APIs – support for colour and monochrome displays of various resolutions. High-level menu support. Multi-language prompt table support. International character support. Bitmap images support.
  • QR code generation + rendering support.
  • Abstraction of the vendor-provided EMVCo-approved EMV (contact) kernel.
  • Abstraction of the vendor-provided Scheme-certified Contactless kernels.
  • Abstraction of communications methods – serial, dial-up, Ethernet, WiFi, Bluetooth, GPRS.
  • Security functions – Master/Session, DUKPT, PKI, AS2805.6.5.3
  • Keyboard and Touch Screen input methods.
  • Beeper and Sound support.
  • Terminal status monitoring – battery, communications status, docking status.
  • Mag Stripe and ICC card support.
  • Barcode scanning.
  • Printer support.
  • File I/O operations.
  • Real-time Clock (RTC) support with Timers/Time functions.
  • Debugging features – output real-time over serial, UDP/Ethernet, or to file.
  • Abstraction of vendors multi-application framework (VeriFone VMAC, Ingenico Manager, etc).

PC-based Terminal Simulator

Simulator Features

  • Windows simulator looks like the real terminal.
  • Pixel-perfect emulation of the screen contents, supporting varying resolution, orientations, colour depth, touchscreen support.
  • TCP/IP comms to external host/Point of Sale.
  • Simulated printer output.
  • Contactless phone/card (tap), Contact EMV (insert), Magnetic Stripe (swipe) card entry modes simulation.
  • Serial communications, file system, cryptographic features emulated.

Development Advantages

  • Use Microsoft Visual Studio to execute your application on a PC, for rapid application development and debugging.
  • Much faster compiling, download, and application start-up cycle time, compared to developing on target device.

Testing Advantages

  • Accurate emulation of application code means more testing can be done on the PC before putting onto the target hardware, speeding up the process.
  • Opens up many options to perform automated testing, which could execute automatically, e.g. on a build server on post-commit source repo hook, or on developer’s own machines.

Documentation Benefits

  • Screen output is a ‘pixel perfect’ emulation
  • Accurate screenshots can be quickly taken from the simulator for pasting directly into documentation, or bug reports, saving time.

‘Distributable’ Windows Executable

  • A windows application that looks and behaves ‘like the real thing’ can be distributed to staff for testing, feedback, documentation etc.

Helper Libraries Included

  • XML parser/packer library.
  • XML Table-driven configuration library.
  • AS2805/ISO8583/TermApp.ISO parser/packer library.
  • HTTP client library for RESTful interfaces.
  • JSON parser library.
  • TLV library, including table-driven serialisation/de-serialisation functions.
  • Data conversion utilities.
  • ‘One file per record’ database functionality designed for transaction storage, searching and recall.

Supported and Maintained

  • Email and phone support available.
  • Master MAL source repository maintained and moderated by EFT Solutions.
  • Periodic update notifications.
  • Access to bug fixes.
  • Access to new feature additions.
At a Glance
  • VeriFone, Ingenico and Pax support
  • Abstraction Layer in the form of standardized C Language APIs
  • Easy Porting between different vendors devices
  • Supported and Maintained libraries
  • Field Proven on 100,000+ installed devices
  • Utility Libraries provided

For more information on MAL and the Windows Simulator, contact us