-
-
Notifications
You must be signed in to change notification settings - Fork 617
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ADD] pos_payment_method_cashdro: New module
This module allows to make payments with a Cashdro (https://www.cashdro.com) terminal on the Point of Sale frontend. TT29224
- Loading branch information
1 parent
8768b1a
commit ab4449f
Showing
20 changed files
with
1,082 additions
and
0 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 |
---|---|---|
@@ -0,0 +1,122 @@ | ||
========================== | ||
PoS Payment Method CashDro | ||
========================== | ||
|
||
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! This file is generated by oca-gen-addon-readme !! | ||
!! changes will be overwritten. !! | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png | ||
:target: https://odoo-community.org/page/development-status | ||
:alt: Beta | ||
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png | ||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html | ||
:alt: License: AGPL-3 | ||
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github | ||
:target: https://github.com/OCA/pos/tree/12.0/pos_payment_method_cashdro | ||
:alt: OCA/pos | ||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png | ||
:target: https://translation.odoo-community.org/projects/pos-12-0/pos-12-0-pos_payment_method_cashdro | ||
:alt: Translate me on Weblate | ||
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png | ||
:target: https://runbot.odoo-community.org/runbot/184/12.0 | ||
:alt: Try me on Runbot | ||
|
||
|badge1| |badge2| |badge3| |badge4| |badge5| | ||
|
||
This module allows to make payments with a Cashdro (https://www.cashdro.com) terminal | ||
on the Point of Sale frontend. | ||
|
||
**Table of contents** | ||
|
||
.. contents:: | ||
:local: | ||
|
||
Configuration | ||
============= | ||
|
||
To configure this module, you need to: | ||
|
||
#. Go to a Point of Sale cash payment method or create a new one. | ||
#. In the Point of Sale tab, set *Cashdro Payment Terminal* on. | ||
#. Configure the Cashdro terminal hostname and credentials. | ||
#. Configure the desired, Cashdro terminal in the proper PoS configurations. | ||
|
||
Note that if a single payment method was used for cash in different stores, it should | ||
be splitted in as many phisical stores there are. | ||
|
||
Usage | ||
===== | ||
|
||
With the proper configuration made: | ||
|
||
#. Make a new PoS order and choose the cash payment method configured with the Cashdro | ||
settings. | ||
#. In the payment line, tap on the Cashdro request button (the one with a bill icon). | ||
#. The request is sent to the Cashdro terminal that will ask the customer for the amount | ||
to pay. | ||
#. In this moment, a button with a ban icon will appear. It allows the cashier to cancel | ||
the request before the payment is made. | ||
#. When the customer pays the sale amount in the terminal, the Cashdro reports the | ||
amount received and change delivered back. | ||
#. The Point of Sale reflects it in the payment line and thus the order can be validated | ||
now. | ||
|
||
Known issues / Roadmap | ||
====================== | ||
|
||
* Cashdro terminals are designed to communicate in the local network, so they can't | ||
receive or transmit any request to a remote Odoo server. So in order to implement | ||
further features, la cash control or cash ins/outs it would be necessary to either: | ||
|
||
- Prepare the Cashdro terminal for a remote use (VPN, dns, etc.) and implement the | ||
corresponding backend methods. | ||
- Develope PoS frontend modules that allow to perform such operations and extend this | ||
one making use of them. | ||
|
||
Bug Tracker | ||
=========== | ||
|
||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/pos/issues>`_. | ||
In case of trouble, please check there if your issue has already been reported. | ||
If you spotted it first, help us smashing it by providing a detailed and welcomed | ||
`feedback <https://github.com/OCA/pos/issues/new?body=module:%20pos_payment_method_cashdro%0Aversion:%2012.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 | ||
~~~~~~~ | ||
|
||
* Tecnativa | ||
|
||
Contributors | ||
~~~~~~~~~~~~ | ||
|
||
* `Acysos S.L. <https://www.acysos.com>`_: | ||
|
||
* Ignacio Ibeas | ||
|
||
* `Tecnativa <https://www.tecnativa.com>`_ | ||
|
||
* David Vidal | ||
|
||
Maintainers | ||
~~~~~~~~~~~ | ||
|
||
This module is maintained by the OCA. | ||
|
||
.. image:: https://odoo-community.org/logo.png | ||
:alt: Odoo Community Association | ||
:target: https://odoo-community.org | ||
|
||
OCA, or the Odoo Community Association, is a nonprofit organization whose | ||
mission is to support the collaborative development of Odoo features and | ||
promote its widespread use. | ||
|
||
This module is part of the `OCA/pos <https://github.com/OCA/pos/tree/12.0/pos_payment_method_cashdro>`_ 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from . import models |
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,20 @@ | ||
# Copyright 2021 Tecnativa - David Vidal | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). | ||
{ | ||
"name": "PoS Payment Method CashDro", | ||
"summary": "Allows to pay with CashDro Terminals on the Point of Sale", | ||
"version": "12.0.1.0.0", | ||
"category": "Point Of Sale", | ||
"website": "https://github.com/OCA/pos", | ||
"author": "Tecnativa, Odoo Community Association (OCA)", | ||
"license": "AGPL-3", | ||
"depends": [ | ||
"point_of_sale", | ||
], | ||
"data": [ | ||
"views/assets.xml", | ||
"views/account_journal.xml", | ||
], | ||
"qweb": ["static/src/xml/pos_cashdro_terminal.xml"], | ||
"installable": True, | ||
} |
85 changes: 85 additions & 0 deletions
85
pos_payment_method_cashdro/i18n/pos_payment_method_cashdro.pot
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,85 @@ | ||
# Translation of Odoo Server. | ||
# This file contains the translation of the following modules: | ||
# * pos_payment_method_cashdro | ||
# | ||
msgid "" | ||
msgstr "" | ||
"Project-Id-Version: Odoo Server 12.0\n" | ||
"Report-Msgid-Bugs-To: \n" | ||
"Last-Translator: <>\n" | ||
"Language-Team: \n" | ||
"MIME-Version: 1.0\n" | ||
"Content-Type: text/plain; charset=UTF-8\n" | ||
"Content-Transfer-Encoding: \n" | ||
"Plural-Forms: \n" | ||
|
||
#. module: pos_payment_method_cashdro | ||
#. openerp-web | ||
#: code:addons/pos_payment_method_cashdro/static/src/xml/pos_cashdro_terminal.xml:16 | ||
#, python-format | ||
msgid "Cancel transaction" | ||
msgstr "" | ||
|
||
#. module: pos_payment_method_cashdro | ||
#. openerp-web | ||
#: code:addons/pos_payment_method_cashdro/static/src/js/screens.js:206 | ||
#, python-format | ||
msgid "CashDro Error" | ||
msgstr "" | ||
|
||
#. module: pos_payment_method_cashdro | ||
#: model:ir.model.fields,field_description:pos_payment_method_cashdro.field_account_bank_statement_import_journal_creation__cashdro_password | ||
#: model:ir.model.fields,field_description:pos_payment_method_cashdro.field_account_journal__cashdro_password | ||
msgid "Cashdro Password" | ||
msgstr "" | ||
|
||
#. module: pos_payment_method_cashdro | ||
#: model:ir.model.fields,field_description:pos_payment_method_cashdro.field_account_bank_statement_import_journal_creation__cashdro_payment_terminal | ||
#: model:ir.model.fields,field_description:pos_payment_method_cashdro.field_account_journal__cashdro_payment_terminal | ||
msgid "Cashdro Payment Terminal" | ||
msgstr "" | ||
|
||
#. module: pos_payment_method_cashdro | ||
#: model:ir.model.fields,field_description:pos_payment_method_cashdro.field_account_bank_statement_import_journal_creation__cashdro_host | ||
#: model:ir.model.fields,field_description:pos_payment_method_cashdro.field_account_journal__cashdro_host | ||
msgid "Cashdro Terminal Host Name or IP address" | ||
msgstr "" | ||
|
||
#. module: pos_payment_method_cashdro | ||
#: model:ir.model.fields,field_description:pos_payment_method_cashdro.field_account_bank_statement_import_journal_creation__cashdro_user | ||
#: model:ir.model.fields,field_description:pos_payment_method_cashdro.field_account_journal__cashdro_user | ||
msgid "Cashdro User" | ||
msgstr "" | ||
|
||
#. module: pos_payment_method_cashdro | ||
#: model:ir.model.fields,help:pos_payment_method_cashdro.field_account_bank_statement_import_journal_creation__cashdro_host | ||
#: model:ir.model.fields,help:pos_payment_method_cashdro.field_account_journal__cashdro_host | ||
msgid "It must be reachable by the PoS in the store" | ||
msgstr "" | ||
|
||
#. module: pos_payment_method_cashdro | ||
#: model:ir.model,name:pos_payment_method_cashdro.model_account_journal | ||
msgid "Journal" | ||
msgstr "" | ||
|
||
#. module: pos_payment_method_cashdro | ||
#. openerp-web | ||
#: code:addons/pos_payment_method_cashdro/static/src/xml/pos_cashdro_terminal.xml:21 | ||
#, python-format | ||
msgid "Start transaction" | ||
msgstr "" | ||
|
||
#. module: pos_payment_method_cashdro | ||
#. openerp-web | ||
#: code:addons/pos_payment_method_cashdro/static/src/js/screens.js:231 | ||
#, python-format | ||
msgid "There is a transaction in progress, would you like to cancel it?" | ||
msgstr "" | ||
|
||
#. module: pos_payment_method_cashdro | ||
#. openerp-web | ||
#: code:addons/pos_payment_method_cashdro/static/src/js/screens.js:230 | ||
#, python-format | ||
msgid "Transaction ongoing" | ||
msgstr "" | ||
|
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 @@ | ||
from . import account_journal |
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,17 @@ | ||
# Copyright 2021 Tecnativa - David Vidal | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). | ||
from odoo import fields, models | ||
|
||
|
||
class AccountJournal(models.Model): | ||
_inherit = "account.journal" | ||
# TODO: In 13.0 this fields should be moved to `pos.payment.method` | ||
# and be addod to the payment terminal selection | ||
|
||
cashdro_payment_terminal = fields.Boolean() | ||
cashdro_host = fields.Char( | ||
string="Cashdro Terminal Host Name or IP address", | ||
help="It must be reachable by the PoS in the store", | ||
) | ||
cashdro_user = fields.Char(string="Cashdro User") | ||
cashdro_password = fields.Char(string="Cashdro Password") |
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,9 @@ | ||
To configure this module, you need to: | ||
|
||
#. Go to a Point of Sale cash payment method or create a new one. | ||
#. In the Point of Sale tab, set *Cashdro Payment Terminal* on. | ||
#. Configure the Cashdro terminal hostname and credentials. | ||
#. Configure the desired, Cashdro terminal in the proper PoS configurations. | ||
|
||
Note that if a single payment method was used for cash in different stores, it should | ||
be splitted in as many phisical stores there are. |
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,7 @@ | ||
* `Acysos S.L. <https://www.acysos.com>`_: | ||
|
||
* Ignacio Ibeas | ||
|
||
* `Tecnativa <https://www.tecnativa.com>`_ | ||
|
||
* David Vidal |
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 @@ | ||
This module allows to make payments with a Cashdro (https://www.cashdro.com) terminal | ||
on the Point of Sale frontend. |
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,8 @@ | ||
* Cashdro terminals are designed to communicate in the local network, so they can't | ||
receive or transmit any request to a remote Odoo server. So in order to implement | ||
further features, la cash control or cash ins/outs it would be necessary to either: | ||
|
||
- Prepare the Cashdro terminal for a remote use (VPN, dns, etc.) and implement the | ||
corresponding backend methods. | ||
- Develope PoS frontend modules that allow to perform such operations and extend this | ||
one making use of them. |
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,13 @@ | ||
With the proper configuration made: | ||
|
||
#. Make a new PoS order and choose the cash payment method configured with the Cashdro | ||
settings. | ||
#. In the payment line, tap on the Cashdro request button (the one with a bill icon). | ||
#. The request is sent to the Cashdro terminal that will ask the customer for the amount | ||
to pay. | ||
#. In this moment, a button with a ban icon will appear. It allows the cashier to cancel | ||
the request before the payment is made. | ||
#. When the customer pays the sale amount in the terminal, the Cashdro reports the | ||
amount received and change delivered back. | ||
#. The Point of Sale reflects it in the payment line and thus the order can be validated | ||
now. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.