Please get in touch with us if you have any licensing, support, technical inquiry, or need to implement a new project. You can take a look at some of the most common questions below.
jPOS is a Java® platform-based, mission-critical, ISO-8583 based financial transaction library/framework that can be customized and extended to implement financial interchanges. jPOS-based solutions include software applications and middleware layers like electronic payments transaction switches and gateways, credit card payments acquiring systems, and banks’ credit cards issuer systems.
jPOS is the de-facto open-source implementation of the international ISO-8583 standard (the message specification used by the card payments industry), being used in highly demanding production environments in over 120 countries by a full spectrum of small to Fortune 100 companies, processing thousands of transactions every single second, 24x7x365.
jPOS.org is the home for the jPOS project and is led by jPOS creator Alejandro Revilla. Almost two decades ago, the original software was initially written on a tight time frame to replace the software running the local Visanet. Under a project code-named Zero Crash, jPOS has proven to be a superior solution over its predecessor. VISANet, which still runs on jPOS, is confident that not a single company but an open-source community that may include several companies and individuals can support its mission-critical software.
Transactility is the commercial arm of the jPOS.org project. We provide commercial licensing for jPOS, and commercial services like training, support, consulting, development, and implementation for jPOS-related projects, including jPTS acquiring switches and jCard issuing card management systems.
Our main office is in Boca Raton, Florida, USA. We have a distributed team with a worldwide presence in more than ten countries, including the jPOS founder’s team in Montevideo, Uruguay.
Yes, although the most common scenario is where we work with the customer’s development team and hand-hold them during the initial phases of the project implementation by providing training, knowledge transfer, and consulting while working in critical aspects of the scope.
A key value-proposition of using jPOS is that we provide the entire source code (including for our high-end products jPTS and jCard). By being involved hands-on from the beginning of the projects, customers have the peace of mind of having complete control and understanding of the system without being bound to long-term support contracts.
jPOS provides an open-source software bridge between ISO 8583-based messages and your internal processing networks and systems. It serves as the messaging foundation for systems that exchange electronic transactions made by cardholders using payment cards. Whether an organization is tracking millions of daily transactions daily or just tens of thousands, jPOS can be implemented to create a clean, efficient financial solution for documenting data associated with all transactions.
You can use jPOS underpinnings to build a switch implementation that replicates all of the features found in best-of-breed products in the market. jPOS can help you act as acquirer or issuer, can be strict one-to-one or one-to-many, can do pass-through processing, or act as host. jPOS eliminates most of the grunt work associated with complex ISO8583 messaging implementations and their corresponding security requirements. Your team can focus on more ‘value-added’ activities like supporting new card products and features, new devices, and new points of origination.
The jPOS framework greatly simplifies developers project tasks allowing them to build customer-focused applications like credit, debit, prepaid, gift, loyalty card issuing and acquiring platforms, POS/ATM transactions, key management, switching, ISO-8583 load balancers and routers, stand in processors, real-time transaction scoring, tokenization servers, ISO-8583 v1987/1993/2003 protocol handlers and simulators, HSM integration and airtime top-up.
No, you can use any messaging protocol, including XML, JSON, SOAP, ISO-20022, or any other specification you may need. Because of the nature of the card payments ecosystem, you will be presented with an ISO-8583 specification in your project. Much of the architecture of jPOS targets that protocol, but jPOS seamlessly converts from one specification to another.
jPOS is much more than an ISO-8583 parser. Its architecture, including the Transaction Manager and MiniGL, enables the creation of massively scalable transaction engines.
While jPOS can be used to build a POS solution and many POS providers have jPOS embedded into their devices, jPOS is usually used in gateways, switches, and server-side systems. In the early late 90s, we built a virtual POS, based on Java 1.0 and the jPOS name stuck. We see the POS acronym as standing for Payments Operating System or Professional Open Source. But you are welcome to contact us.
The jPOS Community Edition, distributed under the AGPL license, is suitable for other open-source projects wishing to use jPOS.
Transactility provides a Commercial License from jPOS.org that exempts you from the AGPL license restrictions. With our commercial license, your code can remain confidential.
You legal advisor is right. The jPOS Community Edition, distributed under the AGPL license, is suitable for other open-source projects wishing to use jPOS.
Companies wishing to commercially use jPOS without distributing their specific code under an open-source license compatible with the AGPL can buy a commercial license. With a commercial license, you can use jPOS for your commercial application without the open-source obligations; your code can remain confidential.
The license fee is $3,950 per instance per year for the same final company. A current commercial license comes with access to updates for the same major versions as they become available and with eligibility to contract our consulting services. Please contact us for discounts on bulk licenses.
We consider an instance of jPOS as jPOS running per instances of the Java Virtual Machine.
No, we don’t charge for development, sandbox, UAT, QSA, cold-DR, or any other jPOS instance not in production. You only need commercial licenses for the instances that are actively processing transactions in a production environment.
If you contemplate using a large or undetermined number of instances, we have a Corporate SaaS and Elastic type of license to accommodate that scenario. Please get in touch with us for details.
Please note that our license is not GPL; it’s AGPL that considers the network use of the system as a redistribution. You probably receive transactions from a network (POS/ATM) that would trigger your open source obligations and may require a commercial license.
Besides the license terms, the best benefit of being a licensee is that it allows you to contract additional consulting services that could dramatically reduce your development time.
You may check at the source, the Free Software Foundation that includes a thorough explanation of the rights and obligations under the GNU Affero General Public License.
In a nutshell, the AGPL license comes with a few restrictions you should be well aware of:
You may not deploy it on a network without disclosing the full source code of your own applications under the AGPL license. You must distribute all source code, including your own product and web-based applications.
It's a legal violation to use jPOS Community version and jPOS-EE addons in a non-AGPL environment.
You must disclose any modifications made to jPOS.
When using jPOS under AGPL, you must prominently mention jPOS.org and include the jPOS.org copyright and AGPL license in output file metadata, and also retain the producer line in any logs outputs.
Although it provides eligibility to contract our commercial services, the jPOS Commercial License doesn’t include commercial support. We only offer services to jPOS licensees in good standing.
No, they are all included in the primary jPOS Commercial License.
No. The license for jPTS and jCard is not open-source as the jPOS one, but we provide the entire source code to the customer and extensive knowledge transfer during the implementation phase.
jCard and jPTS are not available for public downloading like jPOS or jPOS-EE.
Yes. Over the last 20 years, we have interfaced jPOS to hundreds of different processors, schemes and gateways, including VISA, Mastercard, American Express, Discover, Rupay, China Union Pay, BASE24, Postillion, BPC Smart Visa, Way4 Openway, to name just a few. Every country, scheme, bank, and player slightly change the spec to their own needs. jPOS has a set of classes, methods, and configuration files that allows you to integrate and easily adapt to the particular endpoint rapidly.
Java. Our default version is based on Java 8 or Java 11. We have tests for multiple versions of Java but all our customers work in critical environments and need LTS versions of the base software.
Yes. jPOS is rock-solid and proved in production for 20 years. Your installation will work forever for practical purposes, but jPOS is also very dynamic, and we keep it up to date; you can check the latest Project Changelog.
All of our customers are PCI compliant. However, jPOS (and jPTS and jCard) include the entire source code, and customers usually add substantial business logic and implement additional internal requirements. After that, the PCI certification is a process that each customer needs to undertake; we help them behind the scene with the certifications. jPOS is designed with PCI in mind; we mask card # or other data, have security classes and support, etc. We encrypt all sensitive data using industry-standard DUKPT (derived unique key per transaction)”. We have done PCI certifications with other customers and drive the process with internal documents and procedures that will be helpful during your PCI compliance auditing.
You don’t need one. jPOS comes with its self-contained App server, named Q2, that is extremely efficient and scalable. If you choose to, you may run jPOS inside App Servers like Weblogic, Websphere, JBoss, SAP, etc. We strongly suggest you ran it stand-alone, so no need for an Application Server.
That is fine. The largest and most renowned schemes, processors, and Fintech players rely on jPOS for their mission-critical operations.
You may want to have a look at this blog post though. The TPSs that you get will depend on the code that you build on top of jPOS. A major card scheme and customer of ours has developed test software using jPOS that can deliver 320,000 TPS (on a large 32-WAY CPU system). We have many customers in the 1000 TPS sustained load, but the complex the application gets, the lower the TPS. Applications such as our jCard Card Management System, which involves heavy database interactions, risk management, and accounting business logic, can deliver around 400 TPS. jPOS itself is very fast; a regular box can do about 40,000 pack/unpack operations per second, but that’s just a tiny part of an application, the main business logic, developed by you, will take most of the time.
1000 TPS imply a humongous IT infrastructure, Databases, switches, and HSMs deployments. jPOS will be ready for you.
We support several HSM brands out of the box, including Futurex, Thales, Atalla, and KeyUp. We also support cloud-based HSM environments. Some implementations are not part of the open-source distribution as they involve confidential APIs, but we include them in jCard, jPTS, and our commercial services offerings.
Yes. Your jPOS app will end being a self-contained Java app that you may deploy in any environment that supports a JVM. Most of our customers deploy jPOS in AWS, Azure, etc. and use Docker or Kubernetes.
TPP stands for “The Payments Platform.” It has two main subsystems, jCard and jPTS, our Card Management System and Transaction Switch. Many of our customers use both acquiring and issuing solutions. When deploying a Card Management System like jCard, a jPTS acquiring switch solution can be placed on the side to do complex orchestration, for example, when using an external system of records in real-time.
No, they are separate code repositories that are not publicly available for downloading, like jPOS is. They have a separate price structure.
No, jCard and jPTS come with a different commercial license (similar to the one you get for jPOS, to exempt you from the AGPL license obligations).
Yes, jCard and jPTS are implementations of payments issuing and acquiring switch systems done on top of jPOS. They reflect our 20+ years of experience creating bleeding-edge payments solutions.
You do get the entire source code for jCard and jPTS when you get the commercial license for them. After engaging with you in a TPP system, we’ll provide access to the jCard and jPTS upstream repositories that include the Reference Implementation.
Please contact us for pricing information. We believe TPP is 10X less expensive than comparable bleeding-edge switches or Card Management Systems, 10X more powerful, and 3X faster to implement into a production-grade system.
Yes, we have an online demo that we can show to clarify what is included in the Reference Implementation.
It depends on your project’s scope and widely varies on how many endpoints you need to connect to, your internal logic, etc. A wide range, but a good rule of thumb is within the 500 to 8,000 hours of work.
No. If you have appropriate Java, jPOS, and payments skills, you may take the Reference Implementation source code and take it into production on your own; several high-profile customers have done that.
We don’t attach consulting or support services to the TPP license. However, the most common scenario is that you will need substantial involvement from our side for Training, Support, Consulting, and Implementation services.
Because we provide the entire source code for jCard and jPTS at day 0, we don’t have at the moment a self-hosted evaluation offering, except for publicly traded companies or venture-capital funded fintechs in specific markets. Contact us for details.
Yes, we provide TPP as a service for some use cases. Get in touch with us for inquiries.
ISO/Bridge is a turn key solution that abstract you of all the details of the ISO-8583 link, including the low-level connectivy. ISO/Bridge is a blackbox interface that exposes to your legacy systems an easy-to-consume XML, JSON or API. Please visit the ISO/Bridge page in our website for more details.
By default, ISO/Bridge provides an XML interface through a TCP connection. We offer several add-ons like HTTP connectivity and JSON channels.
For particular use-cases, customers may need extra features (like HSM connectiviy) that we cherry pick from our high-end jPTS swtich. We refer to the combination of ISO/Bridge plus these additional features and other customization needs as “Gateways”.
ISO/Bridge is a solution built on top of jPOS. It’s similar to the Gateway tutorial included in the jPOS.org tutorials section. We usually have a turnaround time of 2-5 days for ISO/Bridge including the exact customization to your particular ISO-8583 endpoint needs.
ISO/Bridge is a stateless blackbox that converts everything from the ISO-8583 endpoint towards an easy-to-consume XML (or other) file facing your internal systems entpoints. You have to handle all the logic and business flow of the ISO-8583 lfecycle on your side. jPTS is a best-of-breed full-featured transaction switch with logic built into its core and surrounding edge stations to allow you to process and match transactions (like reversal tied to the original authorization) in a practical and rules-based decision way.
jPOS is used by the largest and most renowned Fintechs and card payments enablers, from publicly-traded companies to stealth startups worldwide. The same issuing and acquiring technology is available to you.