diff --git a/wallee_payment_gateway/README.rst b/wallee_payment_gateway/README.rst new file mode 100644 index 000000000..dfb7af925 --- /dev/null +++ b/wallee_payment_gateway/README.rst @@ -0,0 +1,46 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +Wallee Payment Gateway +====================== +Accept Payments with Wallee on Odoo Website + +Configuration +============= +Install Wallee Python Library and Create Space in Wallee and Generate Space Id, User Id, Space Secret Key. + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +General Public License, Version 3 (AGPL v3). +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +------- +* Developers: (V16) Ansil pv, Contact: odoo@cybrosys.com + +Contacts +-------- +* Mail Contact : odoo@cybrosys.com +* Website : https://cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ diff --git a/wallee_payment_gateway/__init__.py b/wallee_payment_gateway/__init__.py new file mode 100644 index 000000000..0d6764bd4 --- /dev/null +++ b/wallee_payment_gateway/__init__.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ansil pv (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import controllers +from . import models +from odoo.addons.payment import setup_provider, reset_payment_provider + + +def post_init_hook(cr, registry): + """Function to set up the payment provider 'wallee' after + module installation.""" + setup_provider(cr, registry, 'wallee') + + +def uninstall_hook(cr, registry): + """Function to reset the payment provider 'wallee' before module + uninstallation.""" + reset_payment_provider(cr, registry, 'wallee') diff --git a/wallee_payment_gateway/__manifest__.py b/wallee_payment_gateway/__manifest__.py new file mode 100644 index 000000000..1b7ac1192 --- /dev/null +++ b/wallee_payment_gateway/__manifest__.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ansil pv (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +{ + "name": "Wallee Payment Gateway", + "version": "16.0.1.0.0", + "category": "Accounting", + "summary": "Accept Payments with Wallee on Odoo Website", + "description": "This module integrates Wallee payment gateway " + "with Odoo, allowing customers to securely make payments " + "using Wallee on your website.", + "author": "Cybrosys Techno Solutions", + "company": "Cybrosys Techno Solutions", + "maintainer": "Cybrosys Techno Solutions", + "website": "https://www.cybrosys.com", + "depends": ["base", "payment", "account", "website_sale"], + "data": [ + "views/payment_provider_templates.xml", + "views/payment_provider_views.xml", + "data/payment_provider_data.xml", + ], + "external_dependencies": { + "python": ["wallee"], + }, + "images": ["static/description/banner.jpg"], + "post_init_hook": "post_init_hook", + "uninstall_hook": "uninstall_hook", + "license": "AGPL-3", + "installable": True, + "auto_install": False, + "application": False, +} diff --git a/wallee_payment_gateway/controllers/__init__.py b/wallee_payment_gateway/controllers/__init__.py new file mode 100644 index 000000000..1a5d4fb42 --- /dev/null +++ b/wallee_payment_gateway/controllers/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ansil pv (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from. import wallee_payment_gateway diff --git a/wallee_payment_gateway/controllers/wallee_payment_gateway.py b/wallee_payment_gateway/controllers/wallee_payment_gateway.py new file mode 100644 index 000000000..0f04c3319 --- /dev/null +++ b/wallee_payment_gateway/controllers/wallee_payment_gateway.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ansil pv (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +import logging +import pprint +from odoo import http +from odoo.http import request +from wallee import Configuration +from wallee.api import TransactionServiceApi +_logger = logging.getLogger(__name__) + + +class PaymentWalleeController(http.Controller): + """ + PaymentWalleeController class provides the functionality of redirecting + of Wallee payment page to Odoo payment status page and pass status to + value to transaction functions + Methods: + webhook_listener(self): + for fetching payment status from Wallee webhook service and + redirecting to Odoo payment status page and pass status + """ + @http.route('/webhook', type='http', auth='public', + methods=['GET', 'POST'], csrf=False, save_session=False) + def webhook_listener(self): + """ + For pass records transaction model and redirect to status page + """ + value = {} + data = request.env['payment.transaction'].sudo().search( + [('provider_id.code', '=', 'wallee')]) + for transaction in data: + if transaction.provider_reference: + config = Configuration( + user_id=transaction.provider_id.wallee_user_id, + api_secret=transaction.provider_id.wallee_user_secret_key, + # set a custom request timeout if needed. + # (If not set, then the default value is: 25 seconds) + request_timeout=30 + ) + transaction_service = TransactionServiceApi( + configuration=config) + transaction_read = transaction_service.read( + space_id=transaction.provider_id.wallee_user_space_id, + id=int(transaction.provider_reference)) + value["state"] = transaction_read.state.name + value["reference"] = transaction.reference + break + _logger.info("Received Wallee return data:\n%s", + pprint.pformat(value)) + tx_sudo = (request.env['payment.transaction'].sudo(). + _get_tx_from_notification_data('wallee', value)) + tx_sudo._handle_notification_data('wallee', value) + return request.redirect('/payment/status') diff --git a/wallee_payment_gateway/data/payment_provider_data.xml b/wallee_payment_gateway/data/payment_provider_data.xml new file mode 100644 index 000000000..aa34d7cbb --- /dev/null +++ b/wallee_payment_gateway/data/payment_provider_data.xml @@ -0,0 +1,15 @@ + + + + + + Wallee + wallee + + + + + + diff --git a/wallee_payment_gateway/doc/RELEASE_NOTES.md b/wallee_payment_gateway/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..20d60d14a --- /dev/null +++ b/wallee_payment_gateway/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 03.11.2023 +#### Version 16.0.1.0.0 +#### ADD + +- Initial commit for Wallee Payment Gateway diff --git a/wallee_payment_gateway/models/__init__.py b/wallee_payment_gateway/models/__init__.py new file mode 100644 index 000000000..87ecc7e56 --- /dev/null +++ b/wallee_payment_gateway/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ansil pv (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import payment_provider +from . import payment_transaction diff --git a/wallee_payment_gateway/models/payment_provider.py b/wallee_payment_gateway/models/payment_provider.py new file mode 100644 index 000000000..31b2dbe9e --- /dev/null +++ b/wallee_payment_gateway/models/payment_provider.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ansil pv (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import api, fields, models + + +class PaymentProvider(models.Model): + _inherit = 'payment.provider' + + code = fields.Selection( + selection_add=[('wallee', "Wallee")], + ondelete={'wallee': 'set default'}, help='Wallee code selection') + wallee_user_id = fields.Integer(string='User ID', + help='User id of wallee portal') + wallee_user_secret_key = fields.Char(string='User secret key', + help='API secret key for wallee') + wallee_user_space_id = fields.Integer(string='Wallee user space', + help='Space ID of wallee') + + @api.model + def _get_payment_method_information(self): + """Override to add Wallee payment method information to the + existing methods. + """ + res = super()._get_payment_method_information() + res['wallee'] = {'mode': 'multi', 'domain': [('type', '=', 'bank')]} + return res diff --git a/wallee_payment_gateway/models/payment_transaction.py b/wallee_payment_gateway/models/payment_transaction.py new file mode 100644 index 000000000..438eed45f --- /dev/null +++ b/wallee_payment_gateway/models/payment_transaction.py @@ -0,0 +1,222 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Ansil pv (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +############################################################################### +# Import required libraries (make sure it is installed!) +import logging +from odoo import _, models +from odoo.exceptions import ValidationError +import requests +from wallee import Configuration +from wallee.api import ( + TransactionServiceApi, + TransactionPaymentPageServiceApi, + CustomerServiceApi, +) +from wallee.models import ( + LineItem, + LineItemType, + TransactionCreate, + CustomerCreate, + CustomerPostalAddressCreate, +) + +_logger = logging.getLogger(__name__) + + +class PaymentTransaction(models.Model): + _inherit = "payment.transaction" + + def _get_specific_rendering_values(self, processing_values): + """ + For get specific rendering values and execute execute_payment + function + """ + res = super()._get_specific_rendering_values(processing_values) + if self.provider_code != "wallee": + return res + return self.execute_payment() + + def execute_payment(self): + """Fetching data and Executing Payment + :return: The response content.""" + odoo_base_url = self.env["ir.config_parameter"].get_param("web.base.url") + sale_order = ( + self.env["payment.transaction"] + .search([("id", "=", self.id)]) + .sale_order_ids + ) + if self.provider_id.code == "wallee": + config = Configuration( + user_id=self.provider_id.wallee_user_id, + api_secret=self.provider_id.wallee_user_secret_key, + # set a custom request timeout if needed. (If not set, then the + # default value is: 25 seconds) + request_timeout=30, + ) + transaction_service = TransactionServiceApi(configuration=config) + customer_service = CustomerServiceApi(configuration=config) + transaction_payment_page_service = TransactionPaymentPageServiceApi( + configuration=config + ) + line_items = [] + for index, lines in enumerate(sale_order.order_line): + locals()[f"line_item_{index}"] = LineItem( + name=lines.product_id.name, + unique_id=str(lines.id), + sku=lines.product_id.detailed_type, + quantity=lines.product_uom_qty, + amount_including_tax=lines.price_total, + type=LineItemType.PRODUCT, + ) + line_items.append(locals()[f"line_item_{index}"]) + address_create = CustomerCreate( + customer_id=str(sale_order.partner_id.id), + email_address=sale_order.partner_id.email, + family_name="", + given_name=sale_order.partner_id.name, + street=sale_order.partner_id.street, + postcode=sale_order.partner_id.zip, + city=sale_order.partner_id.city, + country=sale_order.partner_id.country_id, + postal_state=sale_order.partner_id.state_id, + ) + + user_address = CustomerPostalAddressCreate( + customer_id=str(sale_order.partner_id.id), + email_address=sale_order.partner_id.email, + family_name="", + given_name=sale_order.partner_id.name, + street=sale_order.partner_id.street, + postcode=sale_order.partner_id.zip, + city=sale_order.partner_id.city, + country=sale_order.partner_id.country_id.name, + postal_state=sale_order.partner_id.state_id.name, + ) + + # create transaction model + transaction = TransactionCreate( + customer_id=sale_order.partner_id.id, + merchant_reference=sale_order.name, + invoice_merchant_reference=sale_order.name, + line_items=line_items, + auto_confirmation_enabled=True, + currency=self.env.user.currency_id.name, + shipping_address=user_address, + billing_address=user_address, + failed_url=f"{odoo_base_url}/webhook", + success_url=f"{odoo_base_url}/webhook", + ) + + transaction_create = transaction_service.create( + space_id=self.provider_id.wallee_user_space_id, transaction=transaction + ) + + payment_page_url = transaction_payment_page_service.payment_page_url( + space_id=self.provider_id.wallee_user_space_id, id=transaction_create.id + ) + self.provider_reference = transaction_create.id + response = requests.request("POST", payment_page_url) + return {"api_url": payment_page_url} + + def _get_tx_from_notification_data(self, provider_code, notification_data): + """ + Get payment status from Wallee. + + :param provider_code: The code of the provider handling the transaction + :param notification_data: The data received from Wallee notification. + :return: The transaction matching the reference. + """ + tx = super()._get_tx_from_notification_data(provider_code, notification_data) + if provider_code != "wallee": + return tx + reference = notification_data.get("reference") + if not reference: + raise ValidationError( + "Wallee: " + + _( + "No reference found.", + ) + ) + tx = self.search( + [ + ("reference", "=", notification_data.get("reference")), + ("provider_code", "=", "wallee"), + ] + ) + if not tx: + raise ValidationError( + "Wallee: " + + _( + "No transaction found " "matching reference %s.", + notification_data.get("reference"), + ) + ) + return tx + + def _handle_notification_data(self, provider_code, notification_data): + """ + Handle the notification data received from Wallee. + This method retrieves the transaction corresponding to the + notification data, processes the notification data, and executes the + callback. + :param provider_code: The code of the provider handling the transaction + :param notification_data: The data received from Wallee notification. + :return: The transaction object. + """ + tx = self._get_tx_from_notification_data(provider_code, notification_data) + tx._process_notification_data(notification_data) + tx._execute_callback() + return tx + + def _process_notification_data(self, notification_data): + """ + Process the notification data received from Wallee. + + This method processes the notification data and updates the payment + state of the transaction accordingly. + + :param notification_data: The data received from Wallee notification. + """ + super()._process_notification_data(notification_data) + if self.provider_code != "wallee": + return + status = notification_data.get("state") + if status == "FULFILL": + self._set_done(state_message="Authorised") + elif status in ( + "COMPLETED", + "PENDING", + "CONFIRMED", + "PROCESSING", + "AUTHORIZED", + ): + self._set_pending( + state_message="Authorised but on hold for " "further anti-fraud review" + ) + elif status in ("FAILED", "VOIDED", "DECLINE"): + self._set_canceled(state_message="Error") + else: + _logger.warning( + "received unrecognized payment state %s for " + "transaction with reference %s", + notification_data.get("reference"), + ) + self._set_error("wallee: " + _("Invalid payment status.")) diff --git a/wallee_payment_gateway/requirements.txt b/wallee_payment_gateway/requirements.txt new file mode 100644 index 000000000..a78a856f4 --- /dev/null +++ b/wallee_payment_gateway/requirements.txt @@ -0,0 +1 @@ +wallee==4.0.0 \ No newline at end of file diff --git a/wallee_payment_gateway/static/description/assets/icons/check.png b/wallee_payment_gateway/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/check.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/chevron.png b/wallee_payment_gateway/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/chevron.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/cogs.png b/wallee_payment_gateway/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/cogs.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/consultation.png b/wallee_payment_gateway/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/consultation.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/ecom-black.png b/wallee_payment_gateway/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/ecom-black.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/education-black.png b/wallee_payment_gateway/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/education-black.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/hotel-black.png b/wallee_payment_gateway/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/hotel-black.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/license.png b/wallee_payment_gateway/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/license.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/lifebuoy.png b/wallee_payment_gateway/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/lifebuoy.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/manufacturing-black.png b/wallee_payment_gateway/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/manufacturing-black.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/pos-black.png b/wallee_payment_gateway/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/pos-black.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/puzzle.png b/wallee_payment_gateway/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/puzzle.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/restaurant-black.png b/wallee_payment_gateway/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/restaurant-black.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/service-black.png b/wallee_payment_gateway/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/service-black.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/trading-black.png b/wallee_payment_gateway/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/trading-black.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/training.png b/wallee_payment_gateway/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/training.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/update.png b/wallee_payment_gateway/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/update.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/user.png b/wallee_payment_gateway/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/user.png differ diff --git a/wallee_payment_gateway/static/description/assets/icons/wrench.png b/wallee_payment_gateway/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/icons/wrench.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/categories.png b/wallee_payment_gateway/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/categories.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/check-box.png b/wallee_payment_gateway/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/check-box.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/compass.png b/wallee_payment_gateway/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/compass.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/corporate.png b/wallee_payment_gateway/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/corporate.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/customer-support.png b/wallee_payment_gateway/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/customer-support.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/cybrosys-logo.png b/wallee_payment_gateway/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/cybrosys-logo.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/features.png b/wallee_payment_gateway/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/features.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/logo.png b/wallee_payment_gateway/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/logo.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/pictures.png b/wallee_payment_gateway/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/pictures.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/pie-chart.png b/wallee_payment_gateway/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/pie-chart.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/right-arrow.png b/wallee_payment_gateway/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/right-arrow.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/star.png b/wallee_payment_gateway/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/star.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/support.png b/wallee_payment_gateway/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/support.png differ diff --git a/wallee_payment_gateway/static/description/assets/misc/whatsapp.png b/wallee_payment_gateway/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/misc/whatsapp.png differ diff --git a/wallee_payment_gateway/static/description/assets/modules/1.png b/wallee_payment_gateway/static/description/assets/modules/1.png new file mode 100644 index 000000000..dda9b96e1 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/modules/1.png differ diff --git a/wallee_payment_gateway/static/description/assets/modules/2.png b/wallee_payment_gateway/static/description/assets/modules/2.png new file mode 100644 index 000000000..df65629bf Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/modules/2.png differ diff --git a/wallee_payment_gateway/static/description/assets/modules/3.png b/wallee_payment_gateway/static/description/assets/modules/3.png new file mode 100644 index 000000000..fa478cd14 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/modules/3.png differ diff --git a/wallee_payment_gateway/static/description/assets/modules/4.jpg b/wallee_payment_gateway/static/description/assets/modules/4.jpg new file mode 100644 index 000000000..793b14f11 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/modules/4.jpg differ diff --git a/wallee_payment_gateway/static/description/assets/modules/5.jpg b/wallee_payment_gateway/static/description/assets/modules/5.jpg new file mode 100644 index 000000000..acf97a878 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/modules/5.jpg differ diff --git a/wallee_payment_gateway/static/description/assets/modules/6.jpg b/wallee_payment_gateway/static/description/assets/modules/6.jpg new file mode 100644 index 000000000..291635d04 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/modules/6.jpg differ diff --git a/wallee_payment_gateway/static/description/assets/screenshots/Wallee01.png b/wallee_payment_gateway/static/description/assets/screenshots/Wallee01.png new file mode 100644 index 000000000..8fbf3b28f Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/screenshots/Wallee01.png differ diff --git a/wallee_payment_gateway/static/description/assets/screenshots/Wallee02.png b/wallee_payment_gateway/static/description/assets/screenshots/Wallee02.png new file mode 100644 index 000000000..3e96490db Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/screenshots/Wallee02.png differ diff --git a/wallee_payment_gateway/static/description/assets/screenshots/Wallee03.png b/wallee_payment_gateway/static/description/assets/screenshots/Wallee03.png new file mode 100644 index 000000000..9d472e0e2 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/screenshots/Wallee03.png differ diff --git a/wallee_payment_gateway/static/description/assets/screenshots/Wallee05.png b/wallee_payment_gateway/static/description/assets/screenshots/Wallee05.png new file mode 100644 index 000000000..12c5cd15d Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/screenshots/Wallee05.png differ diff --git a/wallee_payment_gateway/static/description/assets/screenshots/Wallee06.png b/wallee_payment_gateway/static/description/assets/screenshots/Wallee06.png new file mode 100644 index 000000000..164b08785 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/screenshots/Wallee06.png differ diff --git a/wallee_payment_gateway/static/description/assets/screenshots/Wallee07.png b/wallee_payment_gateway/static/description/assets/screenshots/Wallee07.png new file mode 100644 index 000000000..1a3654311 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/screenshots/Wallee07.png differ diff --git a/wallee_payment_gateway/static/description/assets/screenshots/Wallee08.png b/wallee_payment_gateway/static/description/assets/screenshots/Wallee08.png new file mode 100644 index 000000000..ad7ae4c5e Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/screenshots/Wallee08.png differ diff --git a/wallee_payment_gateway/static/description/assets/screenshots/Wallee09.png b/wallee_payment_gateway/static/description/assets/screenshots/Wallee09.png new file mode 100644 index 000000000..d5db78f6c Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/screenshots/Wallee09.png differ diff --git a/wallee_payment_gateway/static/description/assets/screenshots/Wallee10.png b/wallee_payment_gateway/static/description/assets/screenshots/Wallee10.png new file mode 100644 index 000000000..7f349da0d Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/screenshots/Wallee10.png differ diff --git a/wallee_payment_gateway/static/description/assets/screenshots/Wallee11.png b/wallee_payment_gateway/static/description/assets/screenshots/Wallee11.png new file mode 100644 index 000000000..617ad9f9e Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/screenshots/Wallee11.png differ diff --git a/wallee_payment_gateway/static/description/assets/screenshots/Wallee12.png b/wallee_payment_gateway/static/description/assets/screenshots/Wallee12.png new file mode 100644 index 000000000..4c5e879f6 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/screenshots/Wallee12.png differ diff --git a/wallee_payment_gateway/static/description/assets/screenshots/Wallee4.png b/wallee_payment_gateway/static/description/assets/screenshots/Wallee4.png new file mode 100644 index 000000000..208dfe769 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/screenshots/Wallee4.png differ diff --git a/wallee_payment_gateway/static/description/assets/screenshots/hero.gif b/wallee_payment_gateway/static/description/assets/screenshots/hero.gif new file mode 100644 index 000000000..c01a8e901 Binary files /dev/null and b/wallee_payment_gateway/static/description/assets/screenshots/hero.gif differ diff --git a/wallee_payment_gateway/static/description/banner.jpg b/wallee_payment_gateway/static/description/banner.jpg new file mode 100644 index 000000000..9fa086cec Binary files /dev/null and b/wallee_payment_gateway/static/description/banner.jpg differ diff --git a/wallee_payment_gateway/static/description/icon.png b/wallee_payment_gateway/static/description/icon.png new file mode 100644 index 000000000..05ab76035 Binary files /dev/null and b/wallee_payment_gateway/static/description/icon.png differ diff --git a/wallee_payment_gateway/static/description/index.html b/wallee_payment_gateway/static/description/index.html new file mode 100644 index 000000000..8f5177ef5 --- /dev/null +++ b/wallee_payment_gateway/static/description/index.html @@ -0,0 +1,733 @@ +
+ +
+ +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ + + +
+
+
+ +

+ Wallee Payment Gateway

+

+ This module allows us to enable Wallee payment acquirer on + our system

+ + +
+
+
+
+ + +
+
+ +
+

+ Explore This + Module

+
+ + + + +
+
+ +
+

+ Overview +

+
+
+
Wallee is a payment service provider that + offers + a wide range of features for handling payments. When integrated with + Odoo, it can enhance your e-commerce and payment processing + capabilities + , its provide a smooth and secure payment experience for your customers + while streamlining your payment processing operations +
+
+ + + +
+
+ +
+

+ Features +

+
+
+
+
+ +
+ Diverse Payment Methods + Wallee offers support for a wide range of + payment methods, from credit cards and debit cards to + digital wallets and bank transfers. This enables businesses + to cater to the diverse payment preferences of their + customers. +
+
+ +
+ +
+ International Support + Wallee supports multiple currencies and languages, making it suitable for businesses operating in different regions and serving a global customer base. +
+
+ +
+
+
+ +
+ PCI Compliance + Wallee helps you maintain PCI DSS compliance, which is essential for ensuring the security of credit card data. It reduces the burden of compliance on your end. +
+
+
+ +
+ Automatic Payment Processing + Wallee can handle automatic payment processing, reducing manual effort. This is particularly useful for subscription renewals and recurring payments. +
+
+ +
+
+ + + +
+
+ +
+

+ Screenshots +

+
+
+
+ +
+

+ Enable Wallee Payment Provider

+

+ You can enable Wallee payment provider and provide the + Credentials and Publish it, or we can use the test mode for + testing purpose.

+ +
+ +
+

+ Set-up the Journal

+

+ Provide Payment Journal for Recording Transactions .

+ +
+
+

+ Select Payment Provider Wallee

+

+ After selecting products and in checkout page select Wallee as + payment provider and pay +

+ +
+ +
+

+ Provide Card Details

+

+ When we click on pay button, it will redirect to + Wallee Payment Transaction page, provide the card details and + click pay +

+ +
+ + +
+

+ Redirected to payment status page after successful Payment

+

+ If the payment was successful we will be redirected + to payment status page and it save as success payment.

+ +
+ +
+

+ Order details in Sale Order Model

+

+ In Sale Order, record stage is in "SALES ORDER" and + the successful payment preview in log note

+ +
+ +
+

+ Failed Payment

+

+ If the payment is a failure

+ +
+ +
+

+ Redirect to Payment Canceled page in Odoo

+

+ When click cancel payment Its redirect to Odoo and shows order + payment is cancelled

+ +
+ +
+

+ In SO view

+

+ Its shows the payment is pending in SO

+ +
+ +
+
+ + + +
+
+ +
+

+ Related + Products +

+
+
+
+ +
+
+ + + + +
+
+ +
+

+ Our Services +

+
+ +
+
+
+
+ +
+
+ Odoo + Customization
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Support
+
+ + +
+
+ +
+
+ Hire + Odoo + Developer
+
+ +
+
+ +
+
+ Odoo + Integration
+
+ +
+
+ +
+
+ Odoo + Migration
+
+ + +
+
+ +
+
+ Odoo + Consultancy
+
+ +
+
+ +
+
+ Odoo + Implementation
+
+ +
+
+ +
+
+ Odoo + Licensing Consultancy
+
+
+ +
+ + + + + +
+
+ +
+

+ Our + Industries +

+
+ +
+
+
+
+ +
+ Trading +
+

+ Easily procure + and + sell your products

+
+
+ +
+
+ +
+ POS +
+

+ Easy + configuration + and convivial experience

+
+
+ +
+
+ +
+ Education +
+

+ A platform for + educational management

+
+
+ +
+
+ +
+ Manufacturing +
+

+ Plan, track and + schedule your operations

+
+
+ +
+
+ +
+ E-commerce & Website +
+

+ Mobile + friendly, + awe-inspiring product pages

+
+
+ +
+
+ +
+ Service Management +
+

+ Keep track of + services and invoice

+
+
+ +
+
+ +
+ Restaurant +
+

+ Run your bar or + restaurant methodically

+
+
+ +
+
+ +
+ Hotel Management +
+

+ An + all-inclusive + hotel management application

+
+
+
+
+ + + + +
+
+ +
+

+ Support +

+
+
+
+
+
+
+ +
+
+

Need Help?

+

Got questions or need help? + Get in touch.

+ +

+ odoo@cybrosys.com

+
+
+
+
+
+
+
+ +
+
+

WhatsApp

+

Say hi to us on WhatsApp!

+ +

+ +91 86068 + 27707

+
+
+
+
+
+
+
+ +
+
+
+ \ No newline at end of file diff --git a/wallee_payment_gateway/views/payment_provider_templates.xml b/wallee_payment_gateway/views/payment_provider_templates.xml new file mode 100644 index 000000000..ace1f9655 --- /dev/null +++ b/wallee_payment_gateway/views/payment_provider_templates.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/wallee_payment_gateway/views/payment_provider_views.xml b/wallee_payment_gateway/views/payment_provider_views.xml new file mode 100644 index 000000000..69efd062b --- /dev/null +++ b/wallee_payment_gateway/views/payment_provider_views.xml @@ -0,0 +1,18 @@ + + + + + payment.provider.view.form.inherit.wallee.payment.gateway + payment.provider + + + + + + + + + + + +