[IMP] payment, *: document technical details in README files

Each payment acquirer has its own implementation specificities: some
implement a 'payment with redirection' flow and others a 'direct payment
flow'; sometimes the 'payment with redirection' flow is even implemented
as a 'direct payment' flow through an iframe; one payment acquirer could
support webhooks while another does not and relies on another mechanism
to fetch payment status updates...

It can be tricky to guess where to look in the code to determine how a
payment acquirer is implemented.

On top of that, the online payments ecosystem evolves at a fast pace due
to competition, buyouts, and legislation enforcement. Acquirers are thus
frequently migrated to new APIs that might differ in implementation from
the previous API.

To help figure out the *which*, *why*, *how*, and *when* of payment API
implementations, a README.md file is added to the main directory of all
payment acquirer modules. They can be browsed in human-readable format
on GitHub.

task-2374916

closes odoo/odoo#156084

X-original-commit: 4c19f26df3d39394cce2f183d6df15c5b89c7d27
Related: odoo/enterprise#57921
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
This commit is contained in:
Antoine Vandevenne (anv)
2024-03-04 15:15:54 +00:00
parent e05e727c9e
commit 6858d5ca49
38 changed files with 715 additions and 135 deletions
+27 -20
View File
@@ -1,32 +1,39 @@
# Flutterwave
## Implementation details
## Technical details
### Supported features
API: [Flutterwave standard](https://developer.flutterwave.com/docs/collecting-payments/standard/)
version `3`
This module integrates Flutterwave using the generic payment with redirection flow based on form
submission provided by the `payment` module.
## Supported features
- Payment with redirection flow
- [Tokenization](https://developer.flutterwave.com/reference/endpoints/tokenized-charge/)
- Several payment methods such as credit cards, M-Pesa, and
[others](https://developer.flutterwave.com/docs/collecting-payments/payment-methods/).
- [Webhook](https://developer.flutterwave.com/docs/integration-guides/webhooks/).
- Webhook notifications
- Tokenization with payment
In addition, Flutterwave also allows to implement refunds and pre-authorizations.
## Not implemented features
### API and gateway
- Manual capture
- Refunds
We choose to integrate with
[Flutterwave standard](https://developer.flutterwave.com/docs/collecting-payments/standard/) as it
is the gateway that covers the best our needs, out of the three that Flutterwave offers as of
May 2022. See the task's dev notes for the details on the other gateways.
## Module history
The version of the API implemented by this module is v3.
## Merge details
The first version of the module was specified in task
[2759117](https://www.odoo.com/web#id=2759117&model=project.task) and merged with PR
odoo/odoo#84820 in `saas-15.4`.
- `15.4`
- The first version of the module is merged. odoo/odoo#85514
## Testing instructions
https://developer.flutterwave.com/docs/integration-guides/testing-helpers
https://developer.flutterwave.com/docs/integration-guides/testing-helpers
### MasterCard
**Card Number**: `5531886652142950`
**Expiry Date**: `09/32`
**CVC Code**: `564`
**OPT**: `12345`
@@ -6,6 +6,7 @@
'category': 'Accounting/Payment Providers',
'sequence': 350,
'summary': "A Nigerian payment provider covering several African countries.",
'description': " ", # Non-empty string to avoid loading the README file.
'depends': ['payment'],
'data': [
'views/payment_flutterwave_templates.xml',