Own the payments domain end to end on the kiosk platform: authorize, capture, void, refund, reversal, settlement (EOD), and reconciliation.
Re-architect the platform into a pluggable payment SDK: design the plugin contract and lifecycle (discovery/registration, versioning and backward compatibility, capability negotiation, dependency isolation, per-integration configuration and secrets) on top of the existing PayTerminal SPI.
Design a terminal abstraction that cleanly spans integrated vs. semi-integrated vs. cloud/REST processors and cash devices, so callers code to one model regardless of transport or vendor.
Build the integration test and certification harness (extending the current mock-terminal approach) so a new or external integration can be validated, simulated, and regression-tested before it touches real hardware.
Set platform-wide patterns for correctness in money movement: idempotency, transaction recovery and reversal, timeouts, heartbeat/health, concurrency, and reconciliation, in a system where double-charges and dropped captures are unacceptable.
Design for PCI-DSS scope minimization: tokenization, P2PE, per-processor TLS/mTLS and certificate/key handling, so cardholder data stays out of in-scope services. Partner with security/QSA on audits.
Drive architecture and design reviews, set technical direction for the integration layer, and mentor engineers building integrations.
Implement new terminal integrations end to end, from byte-level protocol (framing, TLV/BMP/APDU, BCD/LLVAR, checksums, ACK/NAK state machines) up to the high-level PayTerminal API.
Work directly with serial (RS-232 / USB-serial via jssc) and USB (usb4java) transports: port handling, event-driven reads, reconnection, and timing.
Integrate high-level and cloud processor APIs (REST/SOAP, webhooks, semi-integrated terminal SDKs) with robust retry, polling, and reconciliation.
Debug live hardware: protocol traces, terminal logs, packet captures, and vendor certification cycles.
Requirements
6+ years back-end engineering with strong Java (the platform is multi-module Maven/Java on Spring) and solid OOP and distributed-systems design.
Demonstrated experience designing extensible / plugin / SPI-based architectures (ServiceLoader, OSGi, Spring plugin models, or public SDKs consumed by other teams or third parties).
Hands‑on low-level device and protocol experience: serial and/or USB communication and binary protocol implementation (TLV, BCD, bitmaps, length‑prefixed fields, state machines). EMV, ISO 8583, ZVT, or OPI a strong plus.
Direct payment‑terminal / POS integration experience (Verifone, Ingenico, Adyen, Shift4, FreedomPay, SIX, Nepting, SiTef, Redsys, Worldpay, or comparable), and a clear understanding of integrated vs. semi-integrated models.
Solid grasp of the card transaction lifecycle (auth, capture, void, refund, settlement, reversal) and PCI‑DSS boundaries, tokenization, and TLS/mTLS in production.
Track record of technical leadership: leading designs, setting standards, and mentoring engineers.