-
-
Notifications
You must be signed in to change notification settings - Fork 119
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[MIG] l10n_fr_pos_caisse_ap_ip from v16 to v17
- Loading branch information
1 parent
7024fa5
commit 609db6e
Showing
17 changed files
with
294 additions
and
195 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,30 +17,57 @@ POS: Caisse-AP payment protocol for France | |
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html | ||
:alt: License: AGPL-3 | ||
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--france-lightgray.png?logo=github | ||
:target: https://github.com/OCA/l10n-france/tree/16.0/l10n_fr_pos_caisse_ap_ip | ||
:target: https://github.com/OCA/l10n-france/tree/17.0/l10n_fr_pos_caisse_ap_ip | ||
:alt: OCA/l10n-france | ||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png | ||
:target: https://translation.odoo-community.org/projects/l10n-france-16-0/l10n-france-16-0-l10n_fr_pos_caisse_ap_ip | ||
:target: https://translation.odoo-community.org/projects/l10n-france-17-0/l10n-france-17-0-l10n_fr_pos_caisse_ap_ip | ||
:alt: Translate me on Weblate | ||
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png | ||
:target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-france&target_branch=16.0 | ||
:target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-france&target_branch=17.0 | ||
:alt: Try me on Runboat | ||
|
||
|badge1| |badge2| |badge3| |badge4| |badge5| | ||
|
||
This module adds support for the **Caisse AP** protocol over IP in the Odoo Point of Sale. | ||
|
||
The `Caisse AP protocol <https://www.associationdupaiement.fr/protocoles/protocole-caisse/>`_ is a vendor-independent protocol used in France to communicate between a point of sale and a payment terminal. It is implemented by `Ingenico <https://ingenico.com/fr/produits-et-services/terminaux-de-paiement>`_ payment terminals, `Verifone <https://www.verifone.com/>`_ payment terminal and other brands of payment terminals. This protocol is designed by a French association called `Association du paiement <https://www.associationdupaiement.fr/>`_, abbreviated as **AP**. Note that the Caisse-AP protocol is used by Ingenico payment terminals deployed in France, but not by the same model of Ingenico payment terminals deployed in other countries! | ||
This module adds support for the **Caisse AP** protocol over IP in the | ||
Odoo Point of Sale. | ||
|
||
The `Caisse AP | ||
protocol <https://www.associationdupaiement.fr/protocoles/protocole-caisse/>`__ | ||
is a vendor-independent protocol used in France to communicate between a | ||
point of sale and a payment terminal. It is implemented by | ||
`Ingenico <https://ingenico.com/fr/produits-et-services/terminaux-de-paiement>`__ | ||
payment terminals, `Verifone <https://www.verifone.com/>`__ payment | ||
terminal and other brands of payment terminals. This protocol is | ||
designed by a French association called `Association du | ||
paiement <https://www.associationdupaiement.fr/>`__, abbreviated as | ||
**AP**. Note that the Caisse-AP protocol is used by Ingenico payment | ||
terminals deployed in France, but not by the same model of Ingenico | ||
payment terminals deployed in other countries! | ||
|
||
This module support a bi-directionnal link with the payment terminal: | ||
|
||
1. it sends the amount to the payment terminal | ||
2. it waits for the end of the payment transaction | ||
3. it parses the answer of the payment terminal which gives the payment status: in case of success, the payment line is automatically validated ; in case of failure, an error message is displayed and the Odoo user can retry or delete the payment line. | ||
|
||
The Caisse-AP protocol was initially written for serial and USB. Since the Caisse AP protocol version 3.x, it also supports IP. When used over IP, the client (point of sale) and the server (payment terminal) exchange simple text data encoded as ASCII over a raw TCP socket. | ||
|
||
The Caisse-AP protocol has one important drawback: as it uses a raw TCP socket, it cannot be used from pure JS code. So the JS code of the point of sale cannot generate the query to send the amount to the payment terminal by itself. In this module, the JS code of the point of sale sends a query to the Odoo server that opens a raw TCP socket to the payment terminal. It implies that, if the Odoo server is not on the LAN but somewhere on the Internet and the payment terminal has a private IP on the LAN, you will need to setup a TCP port forwarding rule on the firewall to redirect the TCP connection of the Odoo server to the payment terminal. | ||
3. it parses the answer of the payment terminal which gives the payment | ||
status: in case of success, the payment line is automatically | ||
validated ; in case of failure, an error message is displayed and the | ||
Odoo user can retry or delete the payment line. | ||
|
||
The Caisse-AP protocol was initially written for serial and USB. Since | ||
the Caisse AP protocol version 3.x, it also supports IP. When used over | ||
IP, the client (point of sale) and the server (payment terminal) | ||
exchange simple text data encoded as ASCII over a raw TCP socket. | ||
|
||
The Caisse-AP protocol has one important drawback: as it uses a raw TCP | ||
socket, it cannot be used from pure JS code. So the JS code of the point | ||
of sale cannot generate the query to send the amount to the payment | ||
terminal by itself. In this module, the JS code of the point of sale | ||
sends a query to the Odoo server that opens a raw TCP socket to the | ||
payment terminal. It implies that, if the Odoo server is not on the LAN | ||
but somewhere on the Internet and the payment terminal has a private IP | ||
on the LAN, you will need to setup a TCP port forwarding rule on the | ||
firewall to redirect the TCP connection of the Odoo server to the | ||
payment terminal. | ||
|
||
**Table of contents** | ||
|
||
|
@@ -50,45 +77,54 @@ The Caisse-AP protocol has one important drawback: as it uses a raw TCP socket, | |
Configuration | ||
============= | ||
|
||
In the menu *Point of sale > Configuration > Payment Method*, on the payment method that correspond to a payment by card: | ||
|
||
* select the appropriate journal, which should be a bank journal (and not a cash journa, otherwise the field *Use a payment terminal* is invisible) | ||
* field *Use a payment terminal*: select **Caisse AP over IP (France only)** | ||
* field *Caisse-AP Payment Terminal IP Address*: set the IP address of the payment terminal, | ||
* field *Caisse-AP Payment Terminal Port*: set the TCP port of the payment terminal (8888 by default), | ||
* field *Payment Mode*: set *Card* (the value *Check* is for the *Check* payment method if you use a check printer connected to the payment terminal such as Ingenico i2200) | ||
In the menu *Point of sale > Configuration > Payment Method*, on the | ||
payment method that correspond to a payment by card: | ||
|
||
- select the appropriate journal, which should be a bank journal (and | ||
not a cash journa, otherwise the field *Use a payment terminal* is | ||
invisible) | ||
- field *Use a payment terminal*: select **Caisse AP over IP (France | ||
only)** | ||
- field *Caisse-AP Payment Terminal IP Address*: set the IP address of | ||
the payment terminal, | ||
- field *Caisse-AP Payment Terminal Port*: set the TCP port of the | ||
payment terminal (8888 by default), | ||
- field *Payment Mode*: set *Card* (the value *Check* is for the | ||
*Check* payment method if you use a check printer connected to the | ||
payment terminal such as Ingenico i2200) | ||
|
||
Bug Tracker | ||
=========== | ||
|
||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-france/issues>`_. | ||
In case of trouble, please check there if your issue has already been reported. | ||
If you spotted it first, help us to smash it by providing a detailed and welcomed | ||
`feedback <https://github.com/OCA/l10n-france/issues/new?body=module:%20l10n_fr_pos_caisse_ap_ip%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||
`feedback <https://github.com/OCA/l10n-france/issues/new?body=module:%20l10n_fr_pos_caisse_ap_ip%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||
|
||
Do not contact contributors directly about support or help with technical issues. | ||
|
||
Credits | ||
======= | ||
|
||
Authors | ||
~~~~~~~ | ||
------- | ||
|
||
* Akretion | ||
|
||
Contributors | ||
~~~~~~~~~~~~ | ||
------------ | ||
|
||
* Alexis de Lattre <[email protected]> | ||
* Pierrick Brun <[email protected]> | ||
- Alexis de Lattre <[email protected]> | ||
- Pierrick Brun <[email protected]> | ||
|
||
Other credits | ||
~~~~~~~~~~~~~ | ||
------------- | ||
|
||
The development of this module has been financially supported by `Camptocamp <https://www.camptocamp.com/>`_. | ||
The development of this module has been financially supported by | ||
`Camptocamp <https://www.camptocamp.com/>`__. | ||
|
||
Maintainers | ||
~~~~~~~~~~~ | ||
----------- | ||
|
||
This module is maintained by the OCA. | ||
|
||
|
@@ -108,6 +144,6 @@ Current `maintainer <https://odoo-community.org/page/maintainer-role>`__: | |
|
||
|maintainer-alexis-via| | ||
|
||
This module is part of the `OCA/l10n-france <https://github.com/OCA/l10n-france/tree/16.0/l10n_fr_pos_caisse_ap_ip>`_ project on GitHub. | ||
This module is part of the `OCA/l10n-france <https://github.com/OCA/l10n-france/tree/17.0/l10n_fr_pos_caisse_ap_ip>`_ project on GitHub. | ||
|
||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[build-system] | ||
requires = ["whool"] | ||
build-backend = "whool.buildapi" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
In the menu *Point of sale \> Configuration \> Payment Method*, on the | ||
payment method that correspond to a payment by card: | ||
|
||
- select the appropriate journal, which should be a bank journal (and | ||
not a cash journa, otherwise the field *Use a payment terminal* is | ||
invisible) | ||
- field *Use a payment terminal*: select **Caisse AP over IP (France | ||
only)** | ||
- field *Caisse-AP Payment Terminal IP Address*: set the IP address of | ||
the payment terminal, | ||
- field *Caisse-AP Payment Terminal Port*: set the TCP port of the | ||
payment terminal (8888 by default), | ||
- field *Payment Mode*: set *Card* (the value *Check* is for the *Check* | ||
payment method if you use a check printer connected to the payment | ||
terminal such as Ingenico i2200) |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
- Alexis de Lattre \<<[email protected]>\> | ||
- Pierrick Brun \<<[email protected]>\> |
This file was deleted.
Oops, something went wrong.
3 changes: 2 additions & 1 deletion
3
l10n_fr_pos_caisse_ap_ip/readme/CREDITS.rst → l10n_fr_pos_caisse_ap_ip/readme/CREDITS.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
The development of this module has been financially supported by `Camptocamp <https://www.camptocamp.com/>`_. | ||
The development of this module has been financially supported by | ||
[Camptocamp](https://www.camptocamp.com/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
This module adds support for the **Caisse AP** protocol over IP in the | ||
Odoo Point of Sale. | ||
|
||
The [Caisse AP | ||
protocol](https://www.associationdupaiement.fr/protocoles/protocole-caisse/) | ||
is a vendor-independent protocol used in France to communicate between a | ||
point of sale and a payment terminal. It is implemented by | ||
[Ingenico](https://ingenico.com/fr/produits-et-services/terminaux-de-paiement) | ||
payment terminals, [Verifone](https://www.verifone.com/) payment | ||
terminal and other brands of payment terminals. This protocol is | ||
designed by a French association called [Association du | ||
paiement](https://www.associationdupaiement.fr/), abbreviated as **AP**. | ||
Note that the Caisse-AP protocol is used by Ingenico payment terminals | ||
deployed in France, but not by the same model of Ingenico payment | ||
terminals deployed in other countries! | ||
|
||
This module support a bi-directionnal link with the payment terminal: | ||
|
||
1. it sends the amount to the payment terminal | ||
2. it waits for the end of the payment transaction | ||
3. it parses the answer of the payment terminal which gives the payment | ||
status: in case of success, the payment line is automatically | ||
validated ; in case of failure, an error message is displayed and | ||
the Odoo user can retry or delete the payment line. | ||
|
||
The Caisse-AP protocol was initially written for serial and USB. Since | ||
the Caisse AP protocol version 3.x, it also supports IP. When used over | ||
IP, the client (point of sale) and the server (payment terminal) | ||
exchange simple text data encoded as ASCII over a raw TCP socket. | ||
|
||
The Caisse-AP protocol has one important drawback: as it uses a raw TCP | ||
socket, it cannot be used from pure JS code. So the JS code of the point | ||
of sale cannot generate the query to send the amount to the payment | ||
terminal by itself. In this module, the JS code of the point of sale | ||
sends a query to the Odoo server that opens a raw TCP socket to the | ||
payment terminal. It implies that, if the Odoo server is not on the LAN | ||
but somewhere on the Internet and the payment terminal has a private IP | ||
on the LAN, you will need to setup a TCP port forwarding rule on the | ||
firewall to redirect the TCP connection of the Odoo server to the | ||
payment terminal. |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.