All work

Senior Mobile Engineer, EsSolo Holdings

Banking POS

Banking point-of-sale software for Android terminals: EMV chip and NFC contactless card reading, PIN entry and ISO 8583 messaging, with sensitive card data encrypted on the device.

essolo-pos.yamlpayments
# essolo-pos.yaml
project: Banking POS
org: EsSolo Holdings
role: Senior Mobile Engineer
domain: [payments]
ships_to: [Android POS terminals]
stack:
  - Kotlin
  - Java
  - EMV
  - NFC
  - ISO 8583
  - Terminal vendor SDKs

Context

Alongside its white-label wallet and card apps, EsSolo ran banking POS software on Android terminals. This is the card-present side of the platform: the card is read by chip or tap, and the cardholder enters a PIN on the device.

What I owned

  • Built the banking POS app for Android terminals, natively in Kotlin and Java.
  • EMV chip and NFC contactless card reading.
  • Online PIN entry with PIN-block encryption, and the terminal key management behind it.
  • ISO 8583 messaging to the payment processor for authorisations and reversals.
  • Encrypted the sensitive card and financial data the terminal handled.
  • Integrated the terminal vendors' hardware SDKs for the card reader, PIN pad and receipt printer.