diff --git a/cc_avenue_payment/README.rst b/cc_avenue_payment/README.rst new file mode 100644 index 000000000..689ea7377 --- /dev/null +++ b/cc_avenue_payment/README.rst @@ -0,0 +1,42 @@ +.. image:: https://img.shields.io/badge/license-LGPL--3-green.svg + :target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 + +CCAvenue Payment Acquirer +========================= +CCAvenue Payment Gateway For Website + +Company +------- +* `Cybrosys Techno Solutions `__ + +License +------- +General Public License, Version 3 (LGPL v3). +(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) + +Credits +------- +* Developer: (V16) Anfas Faisal K, 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 https://www.cybrosys.com + +Further information +=================== +HTML Description: ``__ diff --git a/cc_avenue_payment/__init__.py b/cc_avenue_payment/__init__.py new file mode 100644 index 000000000..e8fe2200c --- /dev/null +++ b/cc_avenue_payment/__init__.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL 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 'CCAvenue' after + module installation.""" + setup_provider(cr, registry, 'avenue') + + +def uninstall_hook(cr, registry): + """Function to reset the payment provider 'CCAvenue' before module + uninstallation.""" + reset_payment_provider(cr, registry, 'avenue') diff --git a/cc_avenue_payment/__manifest__.py b/cc_avenue_payment/__manifest__.py new file mode 100644 index 000000000..f3911ccc1 --- /dev/null +++ b/cc_avenue_payment/__manifest__.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################### +{ + 'name': 'CCAvenue Payment Acquirer', + 'version': '16.0.1.0.0', + 'category': 'eCommerce,Marketing', + 'summary': 'CCAvenue Payment Gateway For Website', + 'description': "This module enables seamless payments through CCAvenue, " + "ensuring secure and convenient online transactions.", + 'author': "Cybrosys Techno Solutions", + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'images': ['static/description/banner.png'], + 'depends': ['payment', 'account', 'website_sale'], + 'data': [ + 'views/payment_provider_views.xml', + 'views/cc_avenue_templates.xml', + 'data/payment_provider_data.xml', + ], + 'external_dependencies': {'python': ['pay_ccavenue']}, + 'post_init_hook': 'post_init_hook', + 'uninstall_hook': 'uninstall_hook', + 'license': 'LGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/cc_avenue_payment/controllers/__init__.py b/cc_avenue_payment/controllers/__init__.py new file mode 100644 index 000000000..bbe2c41f8 --- /dev/null +++ b/cc_avenue_payment/controllers/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import cc_avenue_payment diff --git a/cc_avenue_payment/controllers/cc_avenue_payment.py b/cc_avenue_payment/controllers/cc_avenue_payment.py new file mode 100644 index 000000000..2b574fa59 --- /dev/null +++ b/cc_avenue_payment/controllers/cc_avenue_payment.py @@ -0,0 +1,74 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################### +import logging +from pay_ccavenue import CCAvenue +from odoo import http +from odoo.http import request + +_logger = logging.getLogger(__name__) + + +class PaymentCCAvenue(http.Controller): + """ + Controller for handling payment-related operations with CCAvenue. + Methods: + avenue_return: Handle the return from CCAvenue payment gateway. + """ + _return_url = '/payment/ccavenue/return' + _cancel_url = '/payment/ccavenue/cancel' + + @http.route(['/payment/ccavenue/return', '/payment/ccavenue/cancel'], + type='http', auth='public', + methods=['POST'], csrf=False, save_session=False) + def avenue_return(self, **post): + """ + Handle the return from CCAvenue payment gateway. + + :param post: The POST data received from CCAvenue. + :type post: dict + + This method processes the return data from the CCAvenue payment + gateway, decrypts the data, and updates the payment transaction + accordingly. After processing, it redirects to the '/payment/status' + URL. + + :return: A redirection to the '/payment/status' URL. + :rtype: werkzeug.wrappers.Response + """ + if post: + payment_provider = request.env['payment.provider'].sudo().search( + [('code', '=', 'avenue')]) + web_url = request.env[ + 'ir.config_parameter'].sudo().get_param('web.base.url') + # Create an instance of CCAvenue + ccavenue = CCAvenue(payment_provider.working_key, + payment_provider.access_code, + payment_provider.merchant_key, + web_url + '/payment/ccavenue/return', + web_url + '/payment/ccavenue/cancel') + # Decrypt the data using the instance + decrypted_data = ccavenue.decrypt(post) + tx_sudo = request.env[ + 'payment.transaction'].sudo()._get_tx_from_notification_data( + 'avenue', decrypted_data) + tx_sudo._handle_notification_data('avenue', decrypted_data) + return request.redirect('/payment/status') diff --git a/cc_avenue_payment/data/payment_provider_data.xml b/cc_avenue_payment/data/payment_provider_data.xml new file mode 100644 index 000000000..cffc1be27 --- /dev/null +++ b/cc_avenue_payment/data/payment_provider_data.xml @@ -0,0 +1,14 @@ + + + + + avenue + CCAvenue + CCAvenue + + + + + + diff --git a/cc_avenue_payment/doc/RELEASE_NOTES.md b/cc_avenue_payment/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..b5a06c016 --- /dev/null +++ b/cc_avenue_payment/doc/RELEASE_NOTES.md @@ -0,0 +1,7 @@ +## Module + +#### 02.11.2023 +#### Version 16.0.1.0.0 +### ADD + +- Initial Commit for CCAvenue Payment Acquirer diff --git a/cc_avenue_payment/models/__init__.py b/cc_avenue_payment/models/__init__.py new file mode 100644 index 000000000..40c0fe6a0 --- /dev/null +++ b/cc_avenue_payment/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################### +from . import payment_provider +from . import payment_transaction diff --git a/cc_avenue_payment/models/payment_provider.py b/cc_avenue_payment/models/payment_provider.py new file mode 100644 index 000000000..edf509b27 --- /dev/null +++ b/cc_avenue_payment/models/payment_provider.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################### +from odoo import api, fields, models + + +class PaymentProvider(models.Model): + """ Inherit Payment Provider to add new payment into the Payment Provider + page.""" + _inherit = 'payment.provider' + + code = fields.Selection(selection_add=[('avenue', 'avenue')], + ondelete={'avenue': 'set default'}, + help="The technical code of this payment provider", + string="code") + merchant_key = fields.Char(string='Merchant ID', groups='base.group_user', + help="CCAvenue Merchant id of the user") + access_code = fields.Char(string='Access Code', + required_if_provider='avenue', + groups='base.group_user', + help="CCAvenue Access Code") + working_key = fields.Char(string='Working Key', + required_if_provider='avenue', + groups='base.group_user', + help="CCAvenue Working key") + + @api.model + def _get_payment_method_information(self): + """Override to add CCAvenue payment method information to the + existing methods. + """ + res = super()._get_payment_method_information() + res['avenue'] = {'mode': 'unique', 'domain': [('type', '=', 'bank')]} + return res diff --git a/cc_avenue_payment/models/payment_transaction.py b/cc_avenue_payment/models/payment_transaction.py new file mode 100644 index 000000000..f55b36e2e --- /dev/null +++ b/cc_avenue_payment/models/payment_transaction.py @@ -0,0 +1,197 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################### +import logging +from pay_ccavenue import CCAvenue +from odoo import api, models, _ +from odoo.exceptions import ValidationError +from odoo.addons.payment import utils as payment_utils + +_logger = logging.getLogger(__name__) + + +class PaymentTransaction(models.Model): + """ + Inherit the payment transactions, to add CCAvenue specific functionality. + Methods: + _compute_reference: Override of `payment` to ensure that APS' + requirements for references are satisfied. + _get_specific_rendering_values: Override of + `_get_specific_rendering_values` to handle specific rendering values + for CCAvenue. + execute_payment: Fetching data and Executing Payment. + _get_tx_from_notification_data: Get payment status from CCAvenue. + + _handle_notification_data: Handle the notification data received + from CCAvenue. + + _process_notification_data: Process the notification data received + from CCAvenue. + """ + _inherit = 'payment.transaction' + + @api.model + def _compute_reference(self, provider_code, prefix=None, separator='-', + **kwargs): + """ Override of `payment` to ensure that APS' requirements for + references are satisfied. + + APS' requirements for transaction are as follows: - References can + only be made of alphanumeric characters and/or '-' and '_'. The + prefix is generated with 'tx' as default. This prevents the prefix + from being generated based on document names that may contain + non-allowed characters (eg: INV/2020/...). + + :param str provider_code: The code of the provider handling the + transaction. + :param str prefix: The custom prefix used to compute the + full reference. + :param str separator: The custom separator used to separate the prefix + from the suffix. + :return: The unique reference + for the transaction. + :rtype: str + """ + if provider_code == 'avenue': + prefix = payment_utils.singularize_reference_prefix() + return super()._compute_reference(provider_code, prefix=prefix, + separator=separator, **kwargs) + + def _get_specific_rendering_values(self, processing_values): + """ Override of `_get_specific_rendering_values` to handle specific + rendering values for CCAvenue. + + :param processing_values: The processing values dictionary. + :return: The rendering values.""" + res = super()._get_specific_rendering_values(processing_values) + if self.provider_code != 'avenue': + return res + return self.execute_payment() + + def execute_payment(self): + """ + Fetches necessary data and executes the payment using CCAvenue + :return: + A dictionary containing the encrypted data, access code, and API URL. + """ + # Initialize CCAvenue with credentials + self.ensure_one() + web_url = self.env['ir.config_parameter'].get_param('web.base.url') + sale_order = self.env['sale.order'].search( + [('id', '=', self.sale_order_ids.id)]) + form_data = { + "order_id": self.reference, + "currency": self.currency_id.name, + "amount": (self.amount - sale_order.amount_tax), + "redirect_url": f"{web_url}/payment/ccavenue/return", + "cancel_url": f"{web_url}/payment/ccavenue/cancel", + "billing_name": self.partner_name, + "billing_tel": self.partner_phone, + "billing_address": self.partner_address, + "billing_city": self.partner_city, + "billing_state": self.partner_state_id.name, + "billing_country": self.partner_country_id.name, + "billing_zip": self.partner_zip, + "billing_email": self.partner_email + } + if self.provider_id.state == "test": + api_url = ("https://test.ccavenue.com/transaction/transaction.do?command=initiateTransaction") + else: + api_url = ("https://secure.ccavenue.com/transaction/transaction.do" + "?command=initiateTransaction") + ccavenue = CCAvenue(self.provider_id.working_key, + self.provider_id.access_code, + self.provider_id.merchant_key, + web_url + '/payment/ccavenue/return', + web_url + '/payment/ccavenue/cancel') + encrypted_data = ccavenue.encrypt(form_data) + response_content = { + "encrypted_data": encrypted_data, + "access_code": self.provider_id.access_code, + "api_url": api_url + } + return response_content + + def _get_tx_from_notification_data(self, provider_code, notification_data): + """ + Get payment status from CCAvenue. + + :param provider_code: The code of the provider handling the transaction. + :param notification_data: The data received from CCAvenue notification. + :return: The transaction matching the reference. + """ + tx = super()._get_tx_from_notification_data(provider_code, + notification_data) + if provider_code != 'avenue': + return tx + reference = notification_data.get('order_id', False) + if not reference: + raise ValidationError("CCAvenue: " + _("No reference found.", )) + tx = self.search( + [('reference', '=', reference), ('provider_code', '=', 'avenue')]) + if not tx: + raise ValidationError("CCAvenue: " + _("No transaction found " + "matching reference %s.", + reference)) + return tx + + def _handle_notification_data(self, provider_code, notification_data): + """ + Handle the notification data received from CCAvenue. + + 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 CCAvenue 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 CCAvenue. + + This method processes the notification data and updates the payment + state of the transaction accordingly. + + :param notification_data: The data received from CCAvenue notification. + """ + super()._process_notification_data(notification_data) + if self.provider_code != 'avenue': + return + status = notification_data.get('order_status') + if status == 'Success': + self._set_done() + elif status == 'Aborted': + self._set_canceled(state_message="Error") + elif status == "Failure": + self._set_canceled(state_message="Error") + else: + _logger.warning("received unrecognized payment state %s for " + "transaction with reference %s", + status, self.reference) + self._set_error("CCAVENUE: " + _("Invalid payment status.")) diff --git a/cc_avenue_payment/static/description/assets/icons/check.png b/cc_avenue_payment/static/description/assets/icons/check.png new file mode 100644 index 000000000..c8e85f51d Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/check.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/chevron.png b/cc_avenue_payment/static/description/assets/icons/chevron.png new file mode 100644 index 000000000..2089293d6 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/chevron.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/cogs.png b/cc_avenue_payment/static/description/assets/icons/cogs.png new file mode 100644 index 000000000..95d0bad62 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/cogs.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/consultation.png b/cc_avenue_payment/static/description/assets/icons/consultation.png new file mode 100644 index 000000000..8319d4baa Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/consultation.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/ecom-black.png b/cc_avenue_payment/static/description/assets/icons/ecom-black.png new file mode 100644 index 000000000..a9385ff13 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/ecom-black.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/education-black.png b/cc_avenue_payment/static/description/assets/icons/education-black.png new file mode 100644 index 000000000..3eb09b27b Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/education-black.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/hotel-black.png b/cc_avenue_payment/static/description/assets/icons/hotel-black.png new file mode 100644 index 000000000..130f613be Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/hotel-black.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/license.png b/cc_avenue_payment/static/description/assets/icons/license.png new file mode 100644 index 000000000..a5869797e Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/license.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/lifebuoy.png b/cc_avenue_payment/static/description/assets/icons/lifebuoy.png new file mode 100644 index 000000000..658d56ccc Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/lifebuoy.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/manufacturing-black.png b/cc_avenue_payment/static/description/assets/icons/manufacturing-black.png new file mode 100644 index 000000000..697eb0e9f Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/manufacturing-black.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/pos-black.png b/cc_avenue_payment/static/description/assets/icons/pos-black.png new file mode 100644 index 000000000..97c0f90c1 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/pos-black.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/puzzle.png b/cc_avenue_payment/static/description/assets/icons/puzzle.png new file mode 100644 index 000000000..65cf854e7 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/puzzle.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/restaurant-black.png b/cc_avenue_payment/static/description/assets/icons/restaurant-black.png new file mode 100644 index 000000000..4a35eb939 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/restaurant-black.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/service-black.png b/cc_avenue_payment/static/description/assets/icons/service-black.png new file mode 100644 index 000000000..301ab51cb Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/service-black.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/trading-black.png b/cc_avenue_payment/static/description/assets/icons/trading-black.png new file mode 100644 index 000000000..9398ba2f1 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/trading-black.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/training.png b/cc_avenue_payment/static/description/assets/icons/training.png new file mode 100644 index 000000000..884ca024d Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/training.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/update.png b/cc_avenue_payment/static/description/assets/icons/update.png new file mode 100644 index 000000000..ecbc5a01a Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/update.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/user.png b/cc_avenue_payment/static/description/assets/icons/user.png new file mode 100644 index 000000000..6ffb23d9f Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/user.png differ diff --git a/cc_avenue_payment/static/description/assets/icons/wrench.png b/cc_avenue_payment/static/description/assets/icons/wrench.png new file mode 100644 index 000000000..6c04dea0f Binary files /dev/null and b/cc_avenue_payment/static/description/assets/icons/wrench.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/categories.png b/cc_avenue_payment/static/description/assets/misc/categories.png new file mode 100644 index 000000000..bedf1e0b1 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/categories.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/check-box.png b/cc_avenue_payment/static/description/assets/misc/check-box.png new file mode 100644 index 000000000..42caf24b9 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/check-box.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/compass.png b/cc_avenue_payment/static/description/assets/misc/compass.png new file mode 100644 index 000000000..d5fed8faa Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/compass.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/corporate.png b/cc_avenue_payment/static/description/assets/misc/corporate.png new file mode 100644 index 000000000..2eb13edbf Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/corporate.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/customer-support.png b/cc_avenue_payment/static/description/assets/misc/customer-support.png new file mode 100644 index 000000000..79efc72ed Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/customer-support.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/cybrosys-logo.png b/cc_avenue_payment/static/description/assets/misc/cybrosys-logo.png new file mode 100644 index 000000000..cc3cc0ccf Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/cybrosys-logo.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/features.png b/cc_avenue_payment/static/description/assets/misc/features.png new file mode 100644 index 000000000..b41769f77 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/features.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/logo.png b/cc_avenue_payment/static/description/assets/misc/logo.png new file mode 100644 index 000000000..478462d3e Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/logo.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/pictures.png b/cc_avenue_payment/static/description/assets/misc/pictures.png new file mode 100644 index 000000000..56d255fe9 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/pictures.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/pie-chart.png b/cc_avenue_payment/static/description/assets/misc/pie-chart.png new file mode 100644 index 000000000..426e05244 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/pie-chart.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/right-arrow.png b/cc_avenue_payment/static/description/assets/misc/right-arrow.png new file mode 100644 index 000000000..730984a06 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/right-arrow.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/star.png b/cc_avenue_payment/static/description/assets/misc/star.png new file mode 100644 index 000000000..2eb9ab29f Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/star.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/support.png b/cc_avenue_payment/static/description/assets/misc/support.png new file mode 100644 index 000000000..4f18b8b82 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/support.png differ diff --git a/cc_avenue_payment/static/description/assets/misc/whatsapp.png b/cc_avenue_payment/static/description/assets/misc/whatsapp.png new file mode 100644 index 000000000..d513a5356 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/misc/whatsapp.png differ diff --git a/cc_avenue_payment/static/description/assets/modules/1.png b/cc_avenue_payment/static/description/assets/modules/1.png new file mode 100644 index 000000000..991fc77ec Binary files /dev/null and b/cc_avenue_payment/static/description/assets/modules/1.png differ diff --git a/cc_avenue_payment/static/description/assets/modules/2.jpg b/cc_avenue_payment/static/description/assets/modules/2.jpg new file mode 100644 index 000000000..481577d72 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/modules/2.jpg differ diff --git a/cc_avenue_payment/static/description/assets/modules/3.jpg b/cc_avenue_payment/static/description/assets/modules/3.jpg new file mode 100644 index 000000000..5e0523196 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/modules/3.jpg differ diff --git a/cc_avenue_payment/static/description/assets/modules/4.png b/cc_avenue_payment/static/description/assets/modules/4.png new file mode 100644 index 000000000..d9374733c Binary files /dev/null and b/cc_avenue_payment/static/description/assets/modules/4.png differ diff --git a/cc_avenue_payment/static/description/assets/modules/5.png b/cc_avenue_payment/static/description/assets/modules/5.png new file mode 100644 index 000000000..c3a620a56 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/modules/5.png differ diff --git a/cc_avenue_payment/static/description/assets/modules/6.jpg b/cc_avenue_payment/static/description/assets/modules/6.jpg new file mode 100644 index 000000000..cbcc848e2 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/modules/6.jpg differ diff --git a/cc_avenue_payment/static/description/assets/screenshots/.gif.zip b/cc_avenue_payment/static/description/assets/screenshots/.gif.zip new file mode 100644 index 000000000..86c278389 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/screenshots/.gif.zip differ diff --git a/cc_avenue_payment/static/description/assets/screenshots/1.png b/cc_avenue_payment/static/description/assets/screenshots/1.png new file mode 100644 index 000000000..c568a2e07 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/screenshots/1.png differ diff --git a/cc_avenue_payment/static/description/assets/screenshots/2.png b/cc_avenue_payment/static/description/assets/screenshots/2.png new file mode 100644 index 000000000..ba7112308 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/screenshots/2.png differ diff --git a/cc_avenue_payment/static/description/assets/screenshots/3.png b/cc_avenue_payment/static/description/assets/screenshots/3.png new file mode 100644 index 000000000..0d4876341 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/screenshots/3.png differ diff --git a/cc_avenue_payment/static/description/assets/screenshots/4.png b/cc_avenue_payment/static/description/assets/screenshots/4.png new file mode 100644 index 000000000..b2228d0a5 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/screenshots/4.png differ diff --git a/cc_avenue_payment/static/description/assets/screenshots/v16-hero.gif b/cc_avenue_payment/static/description/assets/screenshots/v16-hero.gif new file mode 100644 index 000000000..d66d653d2 Binary files /dev/null and b/cc_avenue_payment/static/description/assets/screenshots/v16-hero.gif differ diff --git a/cc_avenue_payment/static/description/banner.png b/cc_avenue_payment/static/description/banner.png new file mode 100644 index 000000000..2be2c020a Binary files /dev/null and b/cc_avenue_payment/static/description/banner.png differ diff --git a/cc_avenue_payment/static/description/icon.png b/cc_avenue_payment/static/description/icon.png new file mode 100644 index 000000000..87df5c40f Binary files /dev/null and b/cc_avenue_payment/static/description/icon.png differ diff --git a/cc_avenue_payment/static/description/index.html b/cc_avenue_payment/static/description/index.html new file mode 100644 index 000000000..534fec89e --- /dev/null +++ b/cc_avenue_payment/static/description/index.html @@ -0,0 +1,630 @@ +
+ +
+ +
+
+ Community +
+
+ Enterprise +
+
+ Odoo.sh +
+
+
+ +
+
+
+ +

+ CCAvenue Payment Acquirer +

+

+ A Module For Configuring CCAvenue Payment Methods In Website. +

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

+ Explore This + Module

+
+ + + + +
+
+ +
+

+ Overview

+
+
+
+ This module enables seamless payments through CCAvenue, ensuring secure and convenient online transactions. + + +
+
+ +
+

+ Features +

+
+
+
+ + Enable CCAvenue Payment Provider. + +
+
+ + Clicking on the "Pay Now" button will initiate a seamless redirection to the CCAvenue page for a secure and hassle-free payment process. +
+ +
+ + Additionally, their relevant customer details will be automatically included, enhancing the overall payment experience with streamlined information. + +
+
+
+
+ + +
+
+ +
+

Screenshots

+
+ +
+
+
+

+ In The CCAvenue Payment Acquirer Fill The Details. +

+ +
+ +
+

+ After Choosing The Products And Checking Out, Choose CCAvenue As Shown In The Figure. +

+ +
+
+

+ It Will Redirect Us To The Payment Page. From Here We Can Choose The Payment Option And Can Further Do The Remaining Payment. +

+ +
+ +
+

+ Once The Payment Is Done It Will Redirect Us To The Payment Status Page. +

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

+ 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

+
+
+
+
+
+
+
+ +
+
+
+
+
+ diff --git a/cc_avenue_payment/static/src/img/hello.png b/cc_avenue_payment/static/src/img/hello.png new file mode 100644 index 000000000..1832f7b99 Binary files /dev/null and b/cc_avenue_payment/static/src/img/hello.png differ diff --git a/cc_avenue_payment/views/cc_avenue_templates.xml b/cc_avenue_payment/views/cc_avenue_templates.xml new file mode 100644 index 000000000..8a1819755 --- /dev/null +++ b/cc_avenue_payment/views/cc_avenue_templates.xml @@ -0,0 +1,10 @@ + + + + + diff --git a/cc_avenue_payment/views/payment_provider_views.xml b/cc_avenue_payment/views/payment_provider_views.xml new file mode 100644 index 000000000..ddba1ee9b --- /dev/null +++ b/cc_avenue_payment/views/payment_provider_views.xml @@ -0,0 +1,21 @@ + + + + + payment.provider.view.form.inherit.cc.avenue.payment + payment.provider + + + + + + + + + + + +