Our customer, a US based leading provider of credit card processing solutions since 1995, develops and markets a wide range of solutions from the powerful payment engines for the processors, payment gateways and clearing houses to the payment processing software for Point of Sale (POS) and stand-alone applications.
Euro IT Group team supported the customer with the development of a new Payment Processing Gateway
The Gateway is a middleware that helps Point of Sale (POS) software to connect to various financial institutions which process credit/debit cards, and stored value cards. These financial institutions are referred to as Payment Processors.
Depending on the merchant’s choice, the Gateway needs to be able to connect to different Payment Processors. Each and every Financial Systems uses its own custom communication protocol and, in order to support all of them, the Engine (processing and routing component of the Gateway) is built as an extensible component based on Plug-in Architecture. For each Payment Processor that the Gateway connects to there is a dedicated plugin that implements the communication protocol (WebService, HTTPS, TCP/IP, SSL/TLS, etc) and the message specification(SOAP, XML/XSD, JSON, ISO 8583, Value-Pair).
There are two groups of components in the Gateway system:
- On premise on POS terminals (at restaurants, stores, hotels, online stores, etc) – a payment device controller which directly interfaces to the pin pads to get card data, then completes the transaction by communicating with the Gateway component that is hosted in the cloud
- this program runs on the touch screen point of sale terminals at merchants.
- it contains a UI screen that can be invoked by the POS software
- it directly interfaces to the pin pads to get card data, then completes the transaction by
communicating with our Gateway programs in the cloud.
- On secure servers in the cloud
There are several programs:
- Proxy: for receiving requests from PDC and dispatches to available Engines to process
- Engine: for conducting transactions with the financial processors
- The configuration and reporting system.
Our team was assigned to extend the Engine functionality with communication plugins for 2 of the Payment Processors.
Additionally, as EMV processing is almost new to US, the customer internal team needed our support related to the business knowledge, specific processing flows and card reader configurations. Since they are developing and certifying in parallel different plugins for various Payment Processors, the customer uses our in depth domain knowledge whenever they are facing blocking unknown issues.
In the last year, our team was involved in the various activities:
- strategic business consultancy
- creating the plugins and implementing the communication protocol
- implementation of message specification for all needed functionalities (transaction types, payment types: Credit(Visa, MasterCard/Maestro, American Express, Discover, JCB, Diners Club), PrePaid, Debit, EBT, EMV, Electronic Check, industries, keyed, swiped, EMV Contact/Contactless, Card Not Present, P2PE (Point to Point Encryption)
- performing integration certification – we were responsible for the full certification process with the Payment Processors
- writing documentation for the client component that helps third party POS applications to integrate with the Gateway.
Our collaboration will expand further in the following period. The customer decided to involve our team in new Payment Processor integration projects.
The main technology used is C++ and our team is mainly using Qt framework and Qt’s IDE : Qt Creator) or open source libraries such as openssl, boost, protobuf, xerces-c, zeromq.