Projects:Payment Gateways/Technical Documentation
Contents |
Introduction to the technical implementation of payment gateways
- The base interface in Openbravo POS that performs payments is PaymentGateway All the payment gateways providers have its own of this implementation of this interface that deals with the technical details of the communication with the payment gateway services.
- This project involves to extend this interface in order to achieve more general requirements for payments like refunds, and to create new implementation of this interface to support more payment gateway providers.
Project Plan: main development steps
Upgrade of the current payment gateways
The current payment gateways (SecPay and Authorize.NET) must be updated and work with the latest interfaces and services provided.
The development work consist of:
- Create a development account in the payment gateways web sites.
- Configure Openbravo POS to use the corresponding payment gateway.
- Make the changes to make it work with the current services provided by the payment gateways companies.
Estimate: 3-5d
Add support for payment gateways devices
Currently Openbravo POS support only online synchronous gateways. There is needed to add support for other payment devices that are asynchronous and that have the responsibility to read the card information.
The development work consist of:
- Create a new implementation of the classes that request the card information to allow to be done by an external library or device.
- Create an extension of the PaymentGateway interface that does not receive the card information and that gives this responsibility to the external library or device.
- Add to the configuration panel the selector of implemented external libraries and devices.
Estimate: 10d
Add support for more payment gateways
Support for other payment gateways like Cyberauthorize and Banksys have to be included in the same conditions of the other gateways.
The development work consists of:
- Create a development account in the payment gateways web sites.
- Create a new implementation of the class PaymentGateway that performs the request of the payment transaction and receives if the payment gateway accepts or rejects the transaction.
- Add the new payment gateway as an option in the configuration panel.
Estimate: 10d
Add support for refunds
A general implementation for refunds has to be included to allow to return the money back to customers that paid using a credit card.
The development work consists of:
- Extend the interface PaymentGateway to support refunds.
- Extend the Ticket payment classes and tables to store the transaction ID.
- Extend the panel that performs the payment by credit card to support refunds.
Estimate: 5d