diff --git a/myfatoorah_payment_gateway/README.rst b/myfatoorah_payment_gateway/README.rst new file mode 100644 index 000000000..0382c9b56 --- /dev/null +++ b/myfatoorah_payment_gateway/README.rst @@ -0,0 +1,53 @@ +.. 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 + +Myfatoorah Payment Gateway +=========================== +* This module helps users to pay online through MyFatoorah payment gateway from Odoo Website. + +Installation +============ +- www.odoo.com/documentation/14.0/setup/install.html +- Install our custom addon + +Features +======== +* Easily pay for the website order in odoo through MyFatoorah payment gateway. +* Myfatoorah is a fast and reliable payment gateway and can make payment by entering card details online. +* Install the app , provide the token and make the payment. + +Company +======= +* `Cybrosys Techno Solutions `__ + +License +======= +GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) +(http://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Credits +======= +* Developer: (V14) RAHUL C 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/myfatoorah_payment_gateway/__init__.py b/myfatoorah_payment_gateway/__init__.py new file mode 100644 index 000000000..888a0b6f9 --- /dev/null +++ b/myfatoorah_payment_gateway/__init__.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Rahul CK() +# +# 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.models.payment_acquirer import create_missing_journal_for_acquirers +from odoo.addons.payment import reset_payment_provider + +def uninstall_hook(cr, registry): + reset_payment_provider(cr, registry, 'myfatoorah') diff --git a/myfatoorah_payment_gateway/__manifest__.py b/myfatoorah_payment_gateway/__manifest__.py new file mode 100644 index 000000000..3dbeb8442 --- /dev/null +++ b/myfatoorah_payment_gateway/__manifest__.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Rahul CK() +# +# 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': 'Myfatoorah Payment Gateway', + 'version': '14.0.1.0.0', + 'category': 'Accounting/Payment Acquirers', + 'Summary': """Payment Acquirer: MyFatoorah Payment Implementation""", + 'description': """Pay online through MyFatoorah Payment Gateway in odoo.""", + 'author': "Cybrosys Techno Solutions", + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['website', 'website_sale', 'payment', 'account', + 'account_payment'], + 'data': [ + 'views/payment_acquirer_views.xml', + 'views/myfatoorah_payment_gateway_templates.xml', + 'views/myfatoorah_payment_template.xml', + 'data/payment_provider_data.xml', + ], + 'post_init_hook': 'create_missing_journal_for_acquirers', + 'uninstall_hook': 'uninstall_hook', + 'images': ['static/description/banner.png'], + 'license': 'AGPL-3', + 'installable': True, + 'application': True, + 'auto_install': False, +} diff --git a/myfatoorah_payment_gateway/controllers/__init__.py b/myfatoorah_payment_gateway/controllers/__init__.py new file mode 100644 index 000000000..32f53fec8 --- /dev/null +++ b/myfatoorah_payment_gateway/controllers/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Rahul CK() +# +# 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 myfatoorah_payment_gateway diff --git a/myfatoorah_payment_gateway/controllers/myfatoorah_payment_gateway.py b/myfatoorah_payment_gateway/controllers/myfatoorah_payment_gateway.py new file mode 100644 index 000000000..42e768ccf --- /dev/null +++ b/myfatoorah_payment_gateway/controllers/myfatoorah_payment_gateway.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Rahul CK() +# +# 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 + +_logger = logging.getLogger(__name__) + + +class PaymentMyFatoorahController(http.Controller): + """Controller handling MyFatoorah payments.""" + _return_url = '/payment/myfatoorah/_return_url' + + @http.route('/payment/myfatoorah/response', type='http', auth='public', + website=True, methods=['POST'], csrf=False, save_session=False) + def myfatoorah_payment_response(self, **data): + """This route is called to send response for the payment requested.""" + last_tx_id = request.session.get('__website_sale_last_tx_id') + transaction_id = request.env['payment.transaction'].sudo().browse(last_tx_id) + payment_data = transaction_id.execute_payment() + vals = { + 'customer': payment_data["CustomerName"], + 'currency': payment_data["DisplayCurrencyIso"], + 'mobile': payment_data["CustomerMobile"], + 'invoice_amount': payment_data["InvoiceValue"], + 'address': payment_data["CustomerAddress"]["Address"], + 'payment_url': payment_data["PaymentURL"], + + } + return request.render( + "myfatoorah_payment_gateway.myfatoorah_payment_gateway_form", vals) + + @http.route(_return_url, type='http', auth='public', + methods=['GET']) + def myfatoorah__checkout(self, **data): + """This route is called to return the url to redirect to the checkout + page of payment.""" + _logger.info("Received MyFatoorah return data:\n%s", + pprint.pformat(data)) + tx_sudo = request.env['payment.transaction'].sudo()._get_tx_from_notification_data( 'myfatoorah', data) + tx_sudo._handle_notification_data('myfatoorah', data) + return request.redirect('/payment/status') + + @http.route('/payment/myfatoorah/failed', type='http', auth='user', + website=True, ) + def payment_failed(self, redirect=None): + """This route is called to redirect to the payment failed page, + if the payment is failed.""" + return request.render( + "myfatoorah_payment_gateway.myfatoorah_payment_gateway_failed_form") diff --git a/myfatoorah_payment_gateway/data/payment_provider_data.xml b/myfatoorah_payment_gateway/data/payment_provider_data.xml new file mode 100644 index 000000000..573906d2e --- /dev/null +++ b/myfatoorah_payment_gateway/data/payment_provider_data.xml @@ -0,0 +1,13 @@ + + + + + MyFatoorah + + myfatoorah + test + + + + + diff --git a/myfatoorah_payment_gateway/doc/RELEASE_NOTES.md b/myfatoorah_payment_gateway/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..672b2e678 --- /dev/null +++ b/myfatoorah_payment_gateway/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 18.12.2023 +#### Version 14.0.1.0.0 +#### ADD +- Initial commit for MyFatoorah Payment Gateway diff --git a/myfatoorah_payment_gateway/models/__init__.py b/myfatoorah_payment_gateway/models/__init__.py new file mode 100644 index 000000000..40e6b9622 --- /dev/null +++ b/myfatoorah_payment_gateway/models/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Rahul CK() +# +# 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_acquirer +from . import payment_transaction diff --git a/myfatoorah_payment_gateway/models/payment_acquirer.py b/myfatoorah_payment_gateway/models/payment_acquirer.py new file mode 100644 index 000000000..4d7e53525 --- /dev/null +++ b/myfatoorah_payment_gateway/models/payment_acquirer.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Rahul CK() +# +# 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 fields, models, api, _ + + +class PaymentAcquirer(models.Model): + """New fields are added in payment_acquirer model and compute payment + information.""" + _inherit = 'payment.acquirer' + + provider = fields.Selection( + selection_add=[('myfatoorah', "MyFatoorah")], + ondelete={'myfatoorah': 'set default'} + ) + myfatoorah_token = fields.Char(string='Token') + + @api.model + def _get_payment_method_information(self): + """Fetch the payment method details""" + res = super()._get_payment_method_information() + res['mfatoorah'] = {'mode': 'unique', 'domain': [('type', '=', 'bank')]} + return res + + def _myfatoorah_get_api_url(self): + """ Return the API URL according to the provider state. + Note: self.ensure_one() + :return: The API URL + :rtype: str + """ + self.ensure_one() + if self.state == 'enabled': + return 'https://api.myfatoorah.com/' + else: + return 'https://apitest.myfatoorah.com/' + + @api.model + def _create_missing_journal_for_acquirers(self, company=None): + """Create the missing journals for payment acquirers.""" + company = company or self.env.company + acquirers = self.env['payment.acquirer'].search( + [('provider', '=', 'myfatoorah'), ('journal_id', '=', False), + ('company_id', '=', company.id)]) + + bank_journal = self.env['account.journal'].search( + [('type', '=', 'bank'), ('company_id', '=', company.id)], limit=1) + if bank_journal: + acquirers.write({'journal_id': bank_journal.id}) + return super(PaymentAcquirer, + self)._create_missing_journal_for_acquirers( + company=company) + + def myfatoorah_get_form_action_url(self): + """Get the url for the form""" + return '/payment/myfatoorah/response' diff --git a/myfatoorah_payment_gateway/models/payment_transaction.py b/myfatoorah_payment_gateway/models/payment_transaction.py new file mode 100644 index 000000000..45c27460a --- /dev/null +++ b/myfatoorah_payment_gateway/models/payment_transaction.py @@ -0,0 +1,147 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2023-TODAY Cybrosys Technologies(). +# Author: Rahul CK() +# +# 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 json +import logging +import requests +from odoo import _, models +from odoo.exceptions import ValidationError +# Import required libraries (make sure it is installed!) + +_logger = logging.getLogger(__name__) + + +class PaymentTransaction(models.Model): + """Extend and customize payment transactions for MyFatoorah integration.""" + _inherit = 'payment.transaction' + + def execute_payment(self): + """Fetching data and Executing Payment""" + base_api_url = self.env['payment.acquirer'].search( + [('provider', '=', 'myfatoorah')])._myfatoorah_get_api_url() + api_url = f"{base_api_url}v2/ExecutePayment" + api_key = self.env['payment.acquirer'].search( + [('provider', '=', 'myfatoorah')]).myfatoorah_token + 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 + order_line = self.env['payment.transaction'].search( + [('id', '=', self.id)]).sale_order_ids.order_line + invoice_items = [ + { + 'ItemName': rec.product_id.name, + 'Quantity': int(rec.product_uom_qty), + 'UnitPrice': rec.price_unit, + } + for rec in order_line + ] + MobileCountryCode = self.partner_id.country_id.phone_code + phone_number = self.partner_phone + if not phone_number: + raise ValueError("Please provide the phone number.") + if phone_number: + phone_number = phone_number.replace(str(MobileCountryCode), '') + if phone_number.startswith('+'): + phone_number = phone_number[1:] + payment_details = { + "PaymentMethodId": 6, + "CustomerName": self.partner_name, + "DisplayCurrencyIso": self.currency_id.name, + "MobileCountryCode": MobileCountryCode, + "CustomerMobile": phone_number, + "CustomerEmail": self.partner_email, + "InvoiceValue": (self.amount - sale_order.amount_tax), + "CallBackUrl": f"{odoo_base_url}/payment/myfatoorah/_return_url", + "ErrorUrl": f"{odoo_base_url}/payment/myfatoorah/failed", + "Language": "en", + "CustomerReference": self.reference, + "CustomerAddress": { + "Address": f'{self.partner_address},' + f'{self.partner_city}, {self.partner_zip},' + f'{self.partner_country_id.name}', + }, + "InvoiceItems": + invoice_items + } + headers = { + 'Content-Type': 'application/json', + 'Accept': 'application/json', + 'Authorization': f'Bearer {api_key}', + } + payload = json.dumps(payment_details) + response = requests.request("POST", api_url, headers=headers, + data=payload) + response_data = response.json() + payment_url = response_data.get('Data')['PaymentURL'] + payment_details['PaymentURL'] = payment_url + return payment_details + def _get_tx_from_notification_data(self, provider, notification_data): + """Getting payment status from myfatoorah""" + api_key = self.env['payment.acquirer'].search( + [('provider', '=', 'myfatoorah')]).myfatoorah_token + base_api_url = self.env['payment.acquirer'].search( + [('provider', '=', 'myfatoorah')])._myfatoorah_get_api_url() + url = f"{base_api_url}v2/GetPaymentStatus" + paymentid = notification_data.get('paymentId') + payload = json.dumps({ + "Key": f"{paymentid}", + "KeyType": "paymentId" + }) + headers = { + 'Content-Type': 'application/json', + 'Accept': 'application/json', + 'Authorization': f'Bearer {api_key}', + } + response = requests.request("POST", url, headers=headers, data=payload) + response_data = response.json() + tx = super()._get_tx_from_notification_data(provider, + notification_data) + if provider != 'myfatoorah' or len(tx) == 1: + return tx + reference = response_data["Data"]["CustomerReference"] + tx = self.search( + [ + ('reference', '=', reference), + ('provider', '=', 'myfatoorah')]) + if not tx: + raise ValidationError( + "myfatoorah: " + _( + "No transaction found matching reference %s.", + reference) + ) + return tx + + def _handle_notification_data(self, provider, notification_data): + """Handle notification data from MyFatoorah and process transaction.""" + tx = self._get_tx_from_notification_data(provider, + notification_data) + tx._process_notification_data(notification_data) + tx._execute_callback() + return tx + + def _process_notification_data(self, notification_data): + """Process notification data, specifically for MyFatoorah transactions.""" + super()._process_notification_data(notification_data) + if self.provider != 'myfatoorah': + return + else: + self._set_done() diff --git a/myfatoorah_payment_gateway/static/description/banner.png b/myfatoorah_payment_gateway/static/description/banner.png new file mode 100644 index 000000000..bc3a2ca74 Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/banner.png differ diff --git a/myfatoorah_payment_gateway/static/description/cybro_logo.png b/myfatoorah_payment_gateway/static/description/cybro_logo.png new file mode 100644 index 000000000..bb309114c Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/cybro_logo.png differ diff --git a/myfatoorah_payment_gateway/static/description/icon.png b/myfatoorah_payment_gateway/static/description/icon.png new file mode 100644 index 000000000..7282a96ac Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/icon.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/1.png b/myfatoorah_payment_gateway/static/description/images/1.png new file mode 100644 index 000000000..6d11dfe59 Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/1.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/2.png b/myfatoorah_payment_gateway/static/description/images/2.png new file mode 100644 index 000000000..59320cb2d Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/2.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/3.png b/myfatoorah_payment_gateway/static/description/images/3.png new file mode 100644 index 000000000..eefd4cb33 Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/3.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/4.png b/myfatoorah_payment_gateway/static/description/images/4.png new file mode 100644 index 000000000..3afc14722 Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/4.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/5.png b/myfatoorah_payment_gateway/static/description/images/5.png new file mode 100644 index 000000000..8960b7cb4 Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/5.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/6.png b/myfatoorah_payment_gateway/static/description/images/6.png new file mode 100644 index 000000000..0c9bb377e Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/6.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/checked.png b/myfatoorah_payment_gateway/static/description/images/checked.png new file mode 100644 index 000000000..578cedb80 Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/checked.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/cybrosys.png b/myfatoorah_payment_gateway/static/description/images/cybrosys.png new file mode 100644 index 000000000..d76b5bafb Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/cybrosys.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/hero.gif b/myfatoorah_payment_gateway/static/description/images/hero.gif new file mode 100644 index 000000000..687ad3966 Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/hero.gif differ diff --git a/myfatoorah_payment_gateway/static/description/images/image_1.png b/myfatoorah_payment_gateway/static/description/images/image_1.png new file mode 100644 index 000000000..de8fbf3c5 Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/image_1.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/image_2.png b/myfatoorah_payment_gateway/static/description/images/image_2.png new file mode 100644 index 000000000..4d0978989 Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/image_2.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/image_3.png b/myfatoorah_payment_gateway/static/description/images/image_3.png new file mode 100644 index 000000000..dc784a491 Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/image_3.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/image_4.png b/myfatoorah_payment_gateway/static/description/images/image_4.png new file mode 100644 index 000000000..883ccf6fd Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/image_4.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/image_5.png b/myfatoorah_payment_gateway/static/description/images/image_5.png new file mode 100644 index 000000000..0fe2455cb Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/image_5.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/image_6.png b/myfatoorah_payment_gateway/static/description/images/image_6.png new file mode 100644 index 000000000..559e109f2 Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/image_6.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/image_7.png b/myfatoorah_payment_gateway/static/description/images/image_7.png new file mode 100644 index 000000000..ed630fcaf Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/image_7.png differ diff --git a/myfatoorah_payment_gateway/static/description/images/image_8.png b/myfatoorah_payment_gateway/static/description/images/image_8.png new file mode 100644 index 000000000..ec6d286c6 Binary files /dev/null and b/myfatoorah_payment_gateway/static/description/images/image_8.png differ diff --git a/myfatoorah_payment_gateway/static/description/index.html b/myfatoorah_payment_gateway/static/description/index.html new file mode 100644 index 000000000..368efe3bf --- /dev/null +++ b/myfatoorah_payment_gateway/static/description/index.html @@ -0,0 +1,489 @@ +
+
+
+
+ +
+
+
+ Community +
+
+ Enterprise +
+
+
+
+
+ +
+
+
+

+ Myfatoorah Payment Gateway

+

+ Pay online for website orders through Myfatoorah Payment Gateway +

+ +
+
+ + + +
+
+

+ Overview +

+
+ +
+

+ This module helps users to pay online through Myfatoorah payment gateway from Odoo Website.

+
+

+ +
+ + +
+
+

+ Features +

+
+ +
+
+

+ Community & Enterprise Support

+

+ Available in Odoo 14.0 Community and Enterprise.

+
+
+
+
+
+ + - Easily pay for the website order in odoo through Myfatoorah payment gateway. +

+ - Myfatoorah is a fast and reliable payment gateway and can make payment by entering card details online.

+
+
+ +
+
+

+ Screenshots +

+
+
+

+ Website

+ +
+ +
+

+ Payment Acquirer Kanban +

+ +
+ +
+

+ Payment Acquirer Form +

+

+ Enable the payment acquirer and provide the token for payment.
+ (Test tokens are available in myfatoorah docs page in website) +

+ +
+ +
+

+ Website shop +

+ +
+ +
+

+ In the payment section choose myfatoorah payment acquirer and click on Pay Now. +

+ +
+ +
+

+ The deatils of sale will be automatically added to payment form. +

+ +
+ +
+

+ Provide the card details. +

+ +
+ +
+

+ Complete the payment by providing the details. +

+ +
+ +
+ +
+
+

Suggested Products

+
+ + +
+
+ + + +
+

Our Service

+
+ +
+
+
+

Our Industries

+
+ +
+
+
+ +
+
+

Trading

+

Easily procure and sell your products.

+
+
+
+
+ +
+
+

Manufacturing

+

Plan, track and schedule your operations.

+
+
+
+
+ +
+
+

Restaurant

+

Run your bar or restaurant methodical.

+
+
+
+
+ +
+
+

POS

+

Easy configuring and convivial selling.

+
+
+
+
+ +
+
+

E-commerce & Website

+

Mobile friendly, awe-inspiring product pages.

+
+
+
+
+ +
+
+

Hotel Management

+

An all-inclusive hotel management application.

+
+
+
+
+ +
+
+

Education

+

A Collaborative platform for educational management.

+
+
+
+
+ +
+
+

Service Management

+

Keep track of services and invoice accordingly.

+
+
+
+
+
+
+
+
+

Need Any Help?

+
+

If you have anything to share with us based on your use of this module, please let us know. We are ready to offer our support.

+
+

Email us

+

odoo@cybrosys.com

+
+
+

Contact Us

+ www.cybrosys.com +
+
+
+
+
+
+
+
+
+ +
+ + + + + + + +
+
+
+
+
\ No newline at end of file diff --git a/myfatoorah_payment_gateway/views/myfatoorah_payment_gateway_templates.xml b/myfatoorah_payment_gateway/views/myfatoorah_payment_gateway_templates.xml new file mode 100644 index 000000000..25cf70db5 --- /dev/null +++ b/myfatoorah_payment_gateway/views/myfatoorah_payment_gateway_templates.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/myfatoorah_payment_gateway/views/myfatoorah_payment_template.xml b/myfatoorah_payment_gateway/views/myfatoorah_payment_template.xml new file mode 100644 index 000000000..dcefe8ae3 --- /dev/null +++ b/myfatoorah_payment_gateway/views/myfatoorah_payment_template.xml @@ -0,0 +1,107 @@ + + + + + + + diff --git a/myfatoorah_payment_gateway/views/payment_acquirer_views.xml b/myfatoorah_payment_gateway/views/payment_acquirer_views.xml new file mode 100644 index 000000000..20f50ee1c --- /dev/null +++ b/myfatoorah_payment_gateway/views/payment_acquirer_views.xml @@ -0,0 +1,18 @@ + + + + + payment_acquirer_view_form_inherit_myfatoorah_payment_gateway + payment.acquirer + + + + + + + + + +