Retail:Payment Gateways Guide
The Openbravo Web POS is the POS component included in the Openbravo Commerce Suite. It is used in stores to assist shop floor staff in client-side selling and enables the checkout process.
Openbravo Web POS is a light, fast and very user friendly solution. It is optimized to run on mobile devices like tablets or smartphones, and desktop computers with touch screen support. To offer the best purchasing experience to customers, Web POS has different integration models for payment devices and payment gateways that allows stores to use all the electronic payment methods needed.
Web POS payments integration models are also focused to security, enforcing to follow the international security standards by not storing or managing any sensitive data in the payment transaction. All the sensitive data manipulation should be left to the payment solution integrated with Web POS.
In this document you can find the different payments integration models offered in Web POS you can use for the different payment solutions in the market.
This is the most simple model. Web POS and the payment device are not connected and do not share information. In this case it is only needed to have configured a payment method to be used with the payment device and the cashier will be responsible of performing the payment entering the amount to pay using the payment device when the configured payment method in Web POS is selected.
A direct communication of the Web POS with the Payment Gateway allows a better integration of the payment flow in the Web POS. This way the Web POS can initiate the payment transaction with the needed paramaters by the Payment Gateway like the transaction type, amount, merchant account of the store... And receive directly the result of the payment transaction, if it has been accepted or not.
This integration requires an Openbravo module that implements the integration of this communication with the Payment Gateway. The Payment Gateway must offer libraries that can be used from a web brower to connect to the Payment Gateway and with the payment device provided. The development document External Payment Providers explains the details how to develop a new module that implements the integration with Payment Gateways.
Using a direct communication of the Web POS with the Payment Gateway has different options:
The user interface for the payment
The user interface that allows the cashier to enter the payment details can be provided by the Payment Gateway or by the Openbravo integration module. This just depends on the options and libraries provided by the Payment Gateway that must be explained in the Payment Gateway development documentation.
The payment device
The payment device must be connected directy to the machine where Web POS is running and it must offer communication with a Web Browser that is the environment where Web POS runs.
This communication can be offered using libraries that can be used in a web browser or emulating a keyboard. All the communication between the payment device and the Web POS must be encryped, The Web POS must not be able to decrypt the information that comes from the payment device.
Proxy the communication by the Hardware Manager
Web Browsers implements a Same Origin Policy that avoids a Web Browser to establish a connection with a different server than the server that provides the Web POS application. If the Payment Gateway does not offer communication options to be friendly with this Same Origin Policy it may be needed to use the Hardware Manager as a proxy for the communication from the Web POS to the Payment Gateway. The Hardware Manager includes generic functionality that allows to proxy most of the communication protocols with an external Payment Gateway.
The development document How to use the Hardware Manager proxy describes how to use this functionality.
Direct device connection
Direct communication of the payment device with the Payment Gateway removes the communication management responsibility outside the Web POS application. Also moves all the security concerns outside the Web POS application because all the communication of the sensitive data will be just between the payment device and the Payment Gateway and Web POS will not be part of this communication.
In this option, the device will be connected to the machine where the Hardware Manager is running and it requires a Hardware Manager device driver that implements the communication with the payment device. The Payment Gateway must offer libraries that can be used from Java that is the language used in the Hardware Manager. The development document How to create a new device driver explains the details how to develop a new module that implements this integration.
From the Web POS side there exist the Payment Gateway connector for Retail Module that implements the integration of Web POS with any payment device connected to the Hardware Manager.
Openbravo already provides the following implementations of integration:
- Element PS. This integration is described in the Element PS Integracion document.
- Ingenico ICT220 Payment device with the Concert Protocol installed. This integration is described in the Ingenico - Concert Protocol document.