Skip to main content

Projects

Open Source and "Secret Source" jPOS projects.

Open Source

LICENSE

jPOS Open Source projects are provided under the AGPL license. Transactility also offer a business-friendly license option at a cost that is surprisingly modest compared to typical industry standards. This alternative provides a budget-friendly solution for enterprises seeking tailored licensing terms, blending commercial flexibility with the advantage of cost-effectiveness. It's an ideal choice for businesses looking for the benefits of jPOS projects without the hefty price tag often associated with commercial licenses in the industry.

jPOS

jPOS is the main project, the core library and framework.

It began as a virtual POS solution on top of JAVAPC, tailored for Kiosks and POS cash registers in supermarkets. However, its ISO-8583 component quickly became integral to payment gateways, as well as acquirer and issuer systems.

The acronym POS was swiftly redefined to stand for 'Professional Open Source'. Over the last 25+ years, we launched and have seen steady growth in our consulting business centered on the project. This evolution showcases our sustainable open source business model that continues to thrive.

jPOS proficiently handles the intricate aspects of the ISO-8583 protocol, encompassing communication and flow control components. It also supports ANS X9.24 and EMV encryption through its software security module, offering interfaces with standard HSMs. With PCI-grade configuration, metrics, profiling, distributed tracing and structured logging, jPOS serves as a robust base for crafting dependable payment solutions.

jPOS-EE

In addition to managing foundational messaging protocols, payment applications require integration with databases and a myriad of other entities like Cards, Cardholders, General Ledger Journals, Accounts, external systems of records, Terminals, Merchants, Authorization and Transaction capture, Settlements, Batches, Fees, Loyalties, Rewards, Alarms, etc. These are complemented by essential support structures for system configuration, audit logging, user management, and more.

In 1999, J2EE emerged as the latest trend, bolstered by platforms such as IBM's Websphere, the early versions of JBoss, the Orion application server and many more. Thus, it was a logical decision to build applications using jPOS atop this foundation. However, the hardware capabilities of that era weren't as advanced as they are today. As applications expanded in complexity, redeployment times sometimes spanned several minutes. These prolonged waits became untenable for the high demands of payment applications.

Furthermore, users operated on distinct application servers, and our aim was to maintain server neutrality. Consequently, the "EE" in jPOS, which initially stood for "Enterprise Edition", was rebranded to "Extended Edition". jPOS Extended Edition essentially comprises a set of modular components. These can be viewed as plugins or foundational elements commonly utilized in jPOS-driven payment applications.

jPOS-CMF

jPOS is fully compatible with all versions and variations of ISO-8583, including numerous custom extensions. As its popularity grew, we observed instances where two institutions, both using jPOS, faced differences in wire protocols. To address this, we introduced the jPOS Common Message Format, grounded in the most recent standard, ISO-8583 v2003, which was updated in 2023.

The jPOS CMF documentation (pdf) is available in DocBook format.

tip

Institutions looking to define their standards may find it particularly useful and are encouraged to use it as an starting point.

jPOS CMF is widely used in applications such as jCard and jPTS, employing 'Source Stations' and 'Destination Stations' to manage various incoming and outgoing protocols. Internally, these applications utilize a standard message format provided by jPOS CMF. The stations adeptly convert CMF messages to align with the protocols of remote endpoints, accommodating both ISO-8583 based systems and others such as ISO-20022 and proprietary APIs.