Projects:Payment Gateways/Functional Specification
Overview
Purpose
The purpose of this project is to enhance the current payment gateway support in Openbravo POS in order to make it easy for any Openbravo POS user around the world to accept credit cards and other digital payment methods.
Scope
- To support several payment gateways providers, and payment gateways devices.
- To make it easy to develop and include a new payment gateway provider or device.
- Support of payments and refunds.
- To support highest levels of security in transactions. This includes to support the laws and security rules of:
- This includes the support of CCV2 codes.
- To allow to select in the payment gateway the service with minimum fees.
References
General
Payment gateways companies
Design considerations
Assumptions
- General rules, security rules, and contracts of the payment gateways companies must be followed in each interface implementation.
- In the case that Openbravo POS reads the credit card information, the card numbers and other payment information must not be stored permanently in the database. After a transaction has been accepted or rejected all the payment information has to be deleted, only the transaction ID has to be stored.
- In the case that the Payment gateway device reads the credit card information, Openbravo POS does not need to have access to the this information, only if the transaction has been accepted or rejected and the transaction ID.
Dependencies
- To implement each payment gateway interface we need a developer account provided by the payment gateway company in order to test fake payment transactions, and sample payment devices to test. To get developer accounts and/ or sample payment devices we need to contact to the payment gateways providers and request it.
Constraints
Glossary
Functional Requirements
User roles & profiles
- Generic employee
- Typically these users do not have a high level of professional education and might not be computer literate. These users usually take orders, assist customers and performs the payment operations.
- System administrator
- Typically these users have a high level of professional education, are computer literate and receive training in the product process. These users perform administrative tasks and configuration of the system.
- Payment gateway provider
- The company that offers the electronic payment services. This company accepts electronic payment transactions for a fee.
- Payment gateway device
- The electronic device or server provided by the payment gateway provider that interacts with the point of sale for the payment transactions. This Payment gateway device offers an API, a programming interface, that allows to the point of sale to request payment transactions. This payment transactions are managed by the Payment gateway device and can be accepted or rejected. Payment gateway devices can manage also refunds.
Business process definition
User stories
- Story 1. Payment using a credit card.
- A customer wants to pay using his credit card, he shows the credit card to the employee that swipes the card and the application reads the card details.
- The point of sales sends the information of the card and the amount to the payment gateway device and after a short period of time the payment gateway accepts or rejects the transaction.
- If the transaction is accepted the point of sales prints the receipt and the transaction receipts with the transaction ID to the customer to be signed. The transaction receipts can also be printed by the payment gateway device instead of the point of sale.
- Story 2. Refund using a credit card.
- A customer that bought some items and paid using his credit card wants his money back.
- The employee goes to the edit sales window and select the refund option of the customer's receipt. in the payment window, he selects the credit card option and enters the transaction ID of the customer's receipt (This transaction ID can also be obtained from the stored customer's receipt).
- The employee swipes the customer's card that is read by the point of sale and waits for the transaction to be accepted by the payment gateway device.
- After the transaction is accepted the point of sales prints the refunds receipt and the transaction receipts to be signed. The transaction receipts can also be printed by the payment gateway device.
Functional requirements based on business processes
Requirement
| Importance
| Status
| Comments
|
Upgrade of the current payment gateways
| Must have
| Not started
| The current payment gateways (SecPay and Authorize.NET) must be updated and work with the latest interfaces and services provided.
|
Add support for payment gateways devices
| Must have
| Not started
| 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.
|
Add support for more payment gateways
| Must have
| Not started
| Support for other payment gateways like Planetauthorize and Banksys have to be included in the same conditions of the other gateways
|
Add support for refunds
| Must have
| Not started
| A general implementation for refunds has to be included to allow to return the money back to customers that paid using a credit card.
|
User Interface Mockups
Technical Requirements
Non-Functional Requirements
Open Discussion Items
Closed Discussion Items