diff --git a/README.md b/README.md
index 124e73a..a67b38b 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,32 @@
-# payment_flutterwave
+# Flutterwave
+## Implementation details
+
+### Supported features
+
+- Payment with redirection flow
+- [Tokenization](https://developer.flutterwave.com/reference/endpoints/tokenized-charge/)
+- Several payment methods such as credit cards, M-Pesa, and
+ [others](https://developer.flutterwave.com/docs/collecting-payments/payment-methods/).
+- [Webhook](https://developer.flutterwave.com/docs/integration-guides/webhooks/).
+
+In addition, Flutterwave also allows to implement refunds and pre-authorizations.
+
+### API and gateway
+
+We choose to integrate with
+[Flutterwave standard](https://developer.flutterwave.com/docs/collecting-payments/standard/) as it
+is the gateway that covers the best our needs, out of the three that Flutterwave offers as of
+May 2022. See the task's dev notes for the details on the other gateways.
+
+The version of the API implemented by this module is v3.
+
+## Merge details
+
+The first version of the module was specified in task
+[2759117](https://www.odoo.com/web#id=2759117&model=project.task) and merged with PR
+odoo/odoo#84820 in `saas-15.4`.
+
+## Testing instructions
+
+https://developer.flutterwave.com/docs/integration-guides/testing-helpers
\ No newline at end of file
diff --git a/__init__.py b/__init__.py
new file mode 100644
index 0000000..1ca9d3b
--- /dev/null
+++ b/__init__.py
@@ -0,0 +1,14 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import controllers
+from . import models
+
+from odoo.addons.payment import setup_provider, reset_payment_provider
+
+
+def post_init_hook(env):
+ setup_provider(env, 'flutterwave')
+
+
+def uninstall_hook(env):
+ reset_payment_provider(env, 'flutterwave')
diff --git a/__manifest__.py b/__manifest__.py
new file mode 100644
index 0000000..579f58a
--- /dev/null
+++ b/__manifest__.py
@@ -0,0 +1,19 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+{
+ 'name': "Payment Provider: Flutterwave",
+ 'version': '1.0',
+ 'category': 'Accounting/Payment Providers',
+ 'sequence': 350,
+ 'summary': "A Nigerian payment provider covering several African countries.",
+ 'depends': ['payment'],
+ 'data': [
+ 'views/payment_flutterwave_templates.xml',
+ 'views/payment_provider_views.xml',
+
+ 'data/payment_provider_data.xml',
+ ],
+ 'post_init_hook': 'post_init_hook',
+ 'uninstall_hook': 'uninstall_hook',
+ 'license': 'LGPL-3',
+}
diff --git a/const.py b/const.py
new file mode 100644
index 0000000..fb1bb02
--- /dev/null
+++ b/const.py
@@ -0,0 +1,54 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+# The currencies supported by Flutterwave, in ISO 4217 format.
+# See https://flutterwave.com/us/support/general/what-are-the-currencies-accepted-on-flutterwave.
+# Last website update: June 2022.
+# Last seen online: 24 November 2022.
+SUPPORTED_CURRENCIES = [
+ 'GBP',
+ 'CAD',
+ 'XAF',
+ 'CLP',
+ 'COP',
+ 'EGP',
+ 'EUR',
+ 'GHS',
+ 'GNF',
+ 'KES',
+ 'MWK',
+ 'MAD',
+ 'NGN',
+ 'RWF',
+ 'SLL',
+ 'STD',
+ 'ZAR',
+ 'TZS',
+ 'UGX',
+ 'USD',
+ 'XOF',
+ 'ZMW',
+]
+
+# Mapping of transaction states to Flutterwave payment statuses.
+PAYMENT_STATUS_MAPPING = {
+ 'pending': ['pending auth'],
+ 'done': ['successful'],
+ 'cancel': ['cancelled'],
+ 'error': ['failed'],
+}
+
+# The codes of the payment methods to activate when Flutterwave is activated.
+DEFAULT_PAYMENT_METHODS_CODES = [
+ # Primary payment methods.
+ 'card',
+ 'mpesa',
+ # Brand payment methods.
+ 'visa',
+ 'mastercard',
+ 'amex',
+ 'discover',
+]
+
+PAYMENT_METHODS_MAPPING = {
+ 'bank_transfer': 'banktransfer',
+}
diff --git a/controllers/__init__.py b/controllers/__init__.py
new file mode 100644
index 0000000..80ee4da
--- /dev/null
+++ b/controllers/__init__.py
@@ -0,0 +1,3 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import main
diff --git a/controllers/main.py b/controllers/main.py
new file mode 100644
index 0000000..c2d9d36
--- /dev/null
+++ b/controllers/main.py
@@ -0,0 +1,83 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+import hmac
+import logging
+import pprint
+
+from werkzeug.exceptions import Forbidden
+
+from odoo import http
+from odoo.exceptions import ValidationError
+from odoo.http import request
+
+
+_logger = logging.getLogger(__name__)
+
+
+class FlutterwaveController(http.Controller):
+ _return_url = '/payment/flutterwave/return'
+ _webhook_url = '/payment/flutterwave/webhook'
+
+ @http.route(_return_url, type='http', methods=['GET'], auth='public')
+ def flutterwave_return_from_checkout(self, **data):
+ """ Process the notification data sent by Flutterwave after redirection from checkout.
+
+ :param dict data: The notification data.
+ """
+ _logger.info("Handling redirection from Flutterwave with data:\n%s", pprint.pformat(data))
+
+ # Handle the notification data.
+ if data.get('status') != 'cancelled':
+ request.env['payment.transaction'].sudo()._handle_notification_data('flutterwave', data)
+ else: # The customer cancelled the payment by clicking on the close button.
+ pass # Don't try to process this case because the transaction id was not provided.
+
+ # Redirect the user to the status page.
+ return request.redirect('/payment/status')
+
+ @http.route(_webhook_url, type='http', methods=['POST'], auth='public', csrf=False)
+ def flutterwave_webhook(self):
+ """ Process the notification data sent by Flutterwave to the webhook.
+
+ :return: An empty string to acknowledge the notification.
+ :rtype: str
+ """
+ data = request.get_json_data()
+ _logger.info("Notification received from Flutterwave with data:\n%s", pprint.pformat(data))
+
+ if data['event'] == 'charge.completed':
+ try:
+ # Check the origin of the notification.
+ tx_sudo = request.env['payment.transaction'].sudo()._get_tx_from_notification_data(
+ 'flutterwave', data['data']
+ )
+ signature = request.httprequest.headers.get('verif-hash')
+ self._verify_notification_signature(signature, tx_sudo)
+
+ # Handle the notification data.
+ notification_data = data['data']
+ tx_sudo._handle_notification_data('flutterwave', notification_data)
+ except ValidationError: # Acknowledge the notification to avoid getting spammed.
+ _logger.exception("Unable to handle the notification data; skipping to acknowledge")
+ return request.make_json_response('')
+
+ @staticmethod
+ def _verify_notification_signature(received_signature, tx_sudo):
+ """ Check that the received signature matches the expected one.
+
+ :param dict received_signature: The signature received with the notification data.
+ :param recordset tx_sudo: The sudoed transaction referenced by the notification data, as a
+ `payment.transaction` record.
+ :return: None
+ :raise Forbidden: If the signatures don't match.
+ """
+ # Check for the received signature.
+ if not received_signature:
+ _logger.warning("Received notification with missing signature.")
+ raise Forbidden()
+
+ # Compare the received signature with the expected signature.
+ expected_signature = tx_sudo.provider_id.flutterwave_webhook_secret
+ if not hmac.compare_digest(received_signature, expected_signature):
+ _logger.warning("Received notification with invalid signature.")
+ raise Forbidden()
diff --git a/data/neutralize.sql b/data/neutralize.sql
new file mode 100644
index 0000000..5f77416
--- /dev/null
+++ b/data/neutralize.sql
@@ -0,0 +1,5 @@
+-- disable flutterwave payment provider
+UPDATE payment_provider
+ SET flutterwave_public_key = NULL,
+ flutterwave_secret_key = NULL,
+ flutterwave_webhook_secret = NULL;
diff --git a/data/payment_provider_data.xml b/data/payment_provider_data.xml
new file mode 100644
index 0000000..5b65054
--- /dev/null
+++ b/data/payment_provider_data.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ flutterwave
+
+ True
+
+
+
diff --git a/i18n/ar.po b/i18n/ar.po
new file mode 100644
index 0000000..770b664
--- /dev/null
+++ b/i18n/ar.po
@@ -0,0 +1,150 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Arabic (https://app.transifex.com/odoo/teams/41243/ar/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: ar\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr "حدث خطأ أثناء معالجة عملية الدفع (الحالة %s). يرجى المحاولة مجدداً. "
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "رمز "
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "تعذر إنشاء الاتصال بالواجهة البرمجية للتطبيق. "
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "البريد الإلكتروني للعميل لـ Flutterwave "
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "المفتاح العام لـ Flutterwave "
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "المفتاح السري لـ Flutterwave "
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "سر Webhook لـ Flutterwave "
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "لم يتم العثور على معاملة تطابق المرجع %s. "
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "مزود الدفع "
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "رمز الدفع "
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "معاملة الدفع "
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "مفتاح عام "
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "تم استلام البيانات دون مرجع. "
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "المفتاح السري "
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+"فشل التواصل مع الواجهة البرمجية للتطبيق. لقد منحنا Flutterwave المعلومات "
+"التالية: '%s' "
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "البريد الإلكتروني للعميل في وقت إنشاء الرمز "
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr "المفتاح المستخدَم فقط لتعريف الحساب مع Flutterwave. "
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "الكود التقني لمزود الدفع هذا. "
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "المعاملة غير مرتبطة برمز. "
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "حالة الدفع غير معروفة: %s "
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "سر Webhook "
diff --git a/i18n/bg.po b/i18n/bg.po
new file mode 100644
index 0000000..8562971
--- /dev/null
+++ b/i18n/bg.po
@@ -0,0 +1,153 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# aleksandar ivanov, 2023
+# Albena Mincheva , 2023
+# Maria Boyadjieva , 2023
+# Turhan Aydin , 2024
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Turhan Aydin , 2024\n"
+"Language-Team: Bulgarian (https://app.transifex.com/odoo/teams/41243/bg/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: bg\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+"Възникна грешка по време на обработката на вашето плащане (статус %s). "
+"Моля, опитайте отново."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Код"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Неуспешно установяване на връзката с API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Не е открита транзакция, съответстваща с референция %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Доставчик на разплащания"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Платежен токен"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Платежна транзакция"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "Получени данни с липсваща референция."
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Таен ключ"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/ca.po b/i18n/ca.po
new file mode 100644
index 0000000..818243d
--- /dev/null
+++ b/i18n/ca.po
@@ -0,0 +1,152 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Guspy12, 2023
+# Martin Trigaux, 2023
+# Ivan Espinola, 2023
+# marcescu, 2023
+# RGB Consulting , 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: RGB Consulting , 2023\n"
+"Language-Team: Catalan (https://app.transifex.com/odoo/teams/41243/ca/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: ca\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Codi"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "No s'ha pogut establir la connexió a l'API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "No s'ha trobat cap transacció que coincideixi amb la referència %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Proveïdor de pagament"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Token de pagament"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Transacció de pagament"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Clau secreta"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "El codi tècnic d'aquest proveïdor de pagaments."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "La transacció no està enllaçada a un token."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/cs.po b/i18n/cs.po
new file mode 100644
index 0000000..f3d52d9
--- /dev/null
+++ b/i18n/cs.po
@@ -0,0 +1,150 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Jiří Podhorecký, 2023
+# Ivana Bartonkova, 2023
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Czech (https://app.transifex.com/odoo/teams/41243/cs/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: cs\n"
+"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Kód"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Nepodařilo se navázat spojení s rozhraním API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Nebyla nalezena žádná transakce odpovídající odkazu %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Poskytovatel platby"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Platební token"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Platební transakce"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Tajný klíč"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "Transakce není spojena s tokenem."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/da.po b/i18n/da.po
new file mode 100644
index 0000000..6ea9638
--- /dev/null
+++ b/i18n/da.po
@@ -0,0 +1,149 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# lhmflexerp , 2023
+# Martin Trigaux, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Martin Trigaux, 2023\n"
+"Language-Team: Danish (https://app.transifex.com/odoo/teams/41243/da/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: da\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Kode"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Betalingsudbyder"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Betalingstoken"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Betalingstransaktion"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "Offentlig nøgle"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Hemmelig nøgle"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/de.po b/i18n/de.po
new file mode 100644
index 0000000..aa46631
--- /dev/null
+++ b/i18n/de.po
@@ -0,0 +1,154 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: German (https://app.transifex.com/odoo/teams/41243/de/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: de\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+"Bei der Verarbeitung Ihrer Zahlung ist ein Fehler aufgetreten (Status %s). "
+"Bitte versuchen Sie es erneut."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Code"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Verbindung mit API konnte nicht hergestellt werden."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "Flutterwave-Kunden-E-Mail"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Öffentlicher Schlüssel von Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Geheimer Schlüssel von Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Webhook-Geheimnis von Flutterwave"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Keine Transaktion gefunden, die der Referenz %s entspricht."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Zahlungsanbieter"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Zahlungstoken"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Zahlungstransaktion"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "Öffentlicher Schlüssel"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "Erhaltene Daten mit fehlender Referenz."
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Geheimer Schlüssel"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+"Die Kommunikation mit der API ist fehlgeschlagen. Flutterwave hat uns "
+"folgende Informationen übermittelt: „%s“"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "Die E-Mail des Kunden zum Zeitpunkt der Token-Erstellung."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+"Der Schlüssel, der ausschließlich zur Identifizierung des Kontos bei "
+"Flutterwave verwendet wird"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "Der technische Code dieses Zahlungsanbieters."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "Die Transaktion ist nicht mit einem Token verknüpft."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "Unbekannter Zahlungsstatus: %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Webhook-Geheimnis"
diff --git a/i18n/es.po b/i18n/es.po
new file mode 100644
index 0000000..8bb11fa
--- /dev/null
+++ b/i18n/es.po
@@ -0,0 +1,152 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+# Larissa Manderfeld, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Larissa Manderfeld, 2023\n"
+"Language-Team: Spanish (https://app.transifex.com/odoo/teams/41243/es/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: es\n"
+"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr "Ocurrió un error al procesar su pago (estado %s). Inténtelo de nuevo."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Código"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "No se ha podido establecer la conexión con el API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "Correo electrónico del cliente de Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Clave pública de Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Clave secreta de Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Secreto de Webhook de Flutterwave"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr ""
+"No se ha encontrado ninguna transacción que coincida con la referencia %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Proveedor de pago"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Token de pago"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Transacción de pago"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "Clave pública"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "Datos recibidos con referencia perdida."
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Contraseña secreta"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+"La comunicación con la API falló. Flutterwave nos dio la siguiente "
+"información: '%s'"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "El correo electrónico del cliente cuando se creó el token."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr "La clave que solo se usa para identificar la cuenta de Flutterwave."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "El código técnico de este proveedor de pagos."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "La transacción no está vinculada a un token."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "Estado de pago desconocido: %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Secreto de Webhook"
diff --git a/i18n/es_419.po b/i18n/es_419.po
new file mode 100644
index 0000000..ca49a1a
--- /dev/null
+++ b/i18n/es_419.po
@@ -0,0 +1,149 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Spanish (Latin America) (https://app.transifex.com/odoo/teams/41243/es_419/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: es_419\n"
+"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr "Ocurrió un error al procesar su pago (estado %s). Inténtelo de nuevo."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Código"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "No se pudo establecer la conexión con la API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "Correo electrónico del cliente de Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Clave pública de Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Clave secreta de Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Secreto de Webhook de Flutterwave"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "No se encontró ninguna transacción que coincida con la referencia %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Proveedor de pago"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Token de pago"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Transacción de pago"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "Clave pública"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "Información que se recibió con referencias faltantes."
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Clave secreta"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+"La comunicación con la API falló. Flutterwave brindó esta información: '%s'"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "El correo electrónico del cliente cuando se creó el token."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr "La clave que solo se usa para identificar la cuenta de Flutterwave."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "El código técnico de este proveedor de pagos."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "La transacción no está vinculada a un token."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "Estado de pago desconocido: %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Secreto de Webhook"
diff --git a/i18n/et.po b/i18n/et.po
new file mode 100644
index 0000000..52ef500
--- /dev/null
+++ b/i18n/et.po
@@ -0,0 +1,152 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Anna, 2023
+# Patrick-Jordan Kiudorv, 2023
+# Martin Trigaux, 2023
+# Leaanika Randmets, 2023
+# Marek Pontus, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Marek Pontus, 2023\n"
+"Language-Team: Estonian (https://app.transifex.com/odoo/teams/41243/et/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: et\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Kood"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Could not establish the connection to the API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Makseteenuse pakkuja"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Sümboolne makse"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Maksetehing"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "Antud makseteenuse pakkuja tehniline kood."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/fa.po b/i18n/fa.po
new file mode 100644
index 0000000..20ff318
--- /dev/null
+++ b/i18n/fa.po
@@ -0,0 +1,150 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# odooers ir, 2023
+# Hamed Mohammadi , 2023
+# Martin Trigaux, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Martin Trigaux, 2023\n"
+"Language-Team: Persian (https://app.transifex.com/odoo/teams/41243/fa/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: fa\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "کد"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "سرویس دهنده پرداخت"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "توکن پرداخت"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "تراکنش پرداخت"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/fi.po b/i18n/fi.po
new file mode 100644
index 0000000..a9c9900
--- /dev/null
+++ b/i18n/fi.po
@@ -0,0 +1,150 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Veikko Väätäjä , 2023
+# Jarmo Kortetjärvi , 2023
+# Ossi Mantylahti , 2024
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Ossi Mantylahti , 2024\n"
+"Language-Team: Finnish (https://app.transifex.com/odoo/teams/41243/fi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: fi\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr "Maksun käsittelyssä tapahtui virhe (tila %s). Yritä uudelleen."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Koodi"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Yhteyttä API:han ei saatu muodostettua."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Viitettä %s vastaavaa tapahtumaa ei löytynyt."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Maksupalveluntarjoaja"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Maksutunniste"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Maksutapahtuma"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "Vastaanotetut tiedot, joista puuttuu viite."
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Salainen avain"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "Tämän maksupalveluntarjoajan tekninen koodi."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "Transaktio ei ole sidottu valtuutuskoodiin."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Webhookin salaisuus"
diff --git a/i18n/fr.po b/i18n/fr.po
new file mode 100644
index 0000000..b5b1532
--- /dev/null
+++ b/i18n/fr.po
@@ -0,0 +1,153 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: French (https://app.transifex.com/odoo/teams/41243/fr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: fr\n"
+"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+"Une erreur est survenue lors du traitement de votre paiement (statut %s). "
+"Veuillez réessayer."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Code"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Impossible d'établir la connexion avec l'API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "Email client Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Clé publique Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Clé secrète Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Secret webhook Flutterwave"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Aucune transaction ne correspond à la référence %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Fournisseur de paiement"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Jeton de paiement"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Transaction de paiement"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "Clé publique"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "Données reçues avec référence manquante."
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Clé secrète"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+"Échec de la communication avec l'API. Flutterwave nous a fourni les "
+"informations suivantes : '%s'"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "L'email du client au moment de la création du jeton."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+"La clé uniquement utilisée pour identifier le compte avec Flutterwave."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "Le code technique de ce fournisseur de paiement."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "La transaction n'est pas liée à un jeton."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "Statut de paiement inconnu : %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Secret webhook"
diff --git a/i18n/he.po b/i18n/he.po
new file mode 100644
index 0000000..3ee6c42
--- /dev/null
+++ b/i18n/he.po
@@ -0,0 +1,152 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# ZVI BLONDER , 2023
+# david danilov, 2023
+# Martin Trigaux, 2023
+# ExcaliberX , 2023
+# Ha Ketem , 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Ha Ketem , 2023\n"
+"Language-Team: Hebrew (https://app.transifex.com/odoo/teams/41243/he/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: he\n"
+"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "קוד"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "לא הצלחנו להתחבר ל-API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "לא נמצאה עסקה המתאימה למספר האסמכתא %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "אסימון תשלום"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "עסקת תשלום"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "מפתח סודי"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/hu.po b/i18n/hu.po
new file mode 100644
index 0000000..0b94f9b
--- /dev/null
+++ b/i18n/hu.po
@@ -0,0 +1,150 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# gezza , 2023
+# Martin Trigaux, 2023
+# Tamás Németh , 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Tamás Németh , 2023\n"
+"Language-Team: Hungarian (https://app.transifex.com/odoo/teams/41243/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Kód"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Fizetési szolgáltató"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Fizetési tranzakció"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Titkos kulcs"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/id.po b/i18n/id.po
new file mode 100644
index 0000000..9e5dc7d
--- /dev/null
+++ b/i18n/id.po
@@ -0,0 +1,153 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Indonesian (https://app.transifex.com/odoo/teams/41243/id/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: id\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+"Terjadi error pada pemrosesan pembayaran Anda (status %s). Silakan coba "
+"lagi."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Kode"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Tidak dapat membuat hubungan ke API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "Email Pelanggan Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Public Key Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Secret Key Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Webhook Secret Flutterwave"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Tidak ada transaksi dengan referensi %s yang cocok."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Penyedia Pembayaran"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Token Pembayaran"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Transaksi Tagihan"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "Public Key"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "Menerima data dengan referensi yang kurang lengkap."
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Secret Key"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+"Komunikasi dengan API gagal. Flutterwave memberikan kita informasi berikut: "
+"'%s'"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "Email pelanggan pada saat token dibuat."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+"Key yang hanya digunakan untuk mengidentifikasi akun dengan Flutterwave."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "Kode teknis penyedia pembayaran ini."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "Transaksi ini tidak terhubung ke token."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "Status pembayaran tidak diketahui: %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Webhook Secret"
diff --git a/i18n/it.po b/i18n/it.po
new file mode 100644
index 0000000..f20a925
--- /dev/null
+++ b/i18n/it.po
@@ -0,0 +1,154 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Italian (https://app.transifex.com/odoo/teams/41243/it/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: it\n"
+"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+"Si è verificato un errore durante l'elaborazione del tuo pagamento (stato "
+"%s). Prova di nuovo."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Codice"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Impossibile stabilire la connessione all'API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "E-mail cliente Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Chiave pubblica Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Chiave privata Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Chiave privata Webhook Flutterwave"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Nessuna transazione trovata corrispondente al riferimento %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Fornitore di pagamenti"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Token di pagamento"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Transazione di pagamento"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "Chiave pubblica"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "Dati ricevuti privi di riferimento,"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Chiave segreta"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+"La comunicazione con l'API è fallita. Flutterwave ci ha fornito le seguenti "
+"informazioni sul problema: '%s'"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "L'indirizzo e-mail del cliente quando è stato creato il token."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+"La chiave utilizzata esclusivamente per identificare il conto con "
+"Flutterwave."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "Codice tecnico del fornitore di pagamenti."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "La transazione non è legata a un token."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "Stato pagamento sconosciuto: %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Segreto Webhook"
diff --git a/i18n/ja.po b/i18n/ja.po
new file mode 100644
index 0000000..cf13bbb
--- /dev/null
+++ b/i18n/ja.po
@@ -0,0 +1,148 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Japanese (https://app.transifex.com/odoo/teams/41243/ja/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: ja\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr "支払処理中にエラーが発生しました(ステータス %s) 。再度試して下さい。"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "コード"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "APIへの接続を確立できませんでした。"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "Flutterwave顧客Eメール"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Flutterwave公開キー"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Flutterwaveシークレットキー"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Flutterwave Webhookシークレット"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "参照に一致する取引が見つかりません%s。"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "決済プロバイダー"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "支払トークン"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "決済トランザクション"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "公開キー"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "参照が欠落しているデータを受信しました。"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "シークレットキー"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr "APIとの通信に失敗しました。Flutterwaveが以下の情報を提供しています: '%s"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "トークンが作成された時の顧客のEメール"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr "Flutterwaveでアカウントを識別するためにのみ使用されるキー"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "この決済プロバイダーのテクニカルコード。"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "取引はトークンにリンクしていません。"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "不明な支払ステータス: %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Webhookシークレット"
diff --git a/i18n/ko.po b/i18n/ko.po
new file mode 100644
index 0000000..11ba0ca
--- /dev/null
+++ b/i18n/ko.po
@@ -0,0 +1,148 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Korean (https://app.transifex.com/odoo/teams/41243/ko/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: ko\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr "결제를 처리하는 중 오류가 발생했습니다. (상태 %s) 다시 시도해 주세요."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "코드"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "API 연결을 설정할 수 없습니다."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "Flutterwave 고객 이메일"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Flutterwave 일반 키"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Flutterwave 보안 키"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Flutterwave Webhook 보안"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "%s 참조와 일치하는 거래 항목이 없습니다."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "결제대행업체"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "결제 토큰"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "지불 거래"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "일반 키"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "참조가 누락된 데이터가 수신되었습니다."
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "비밀 키"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr "API와의 통신에 실패했습니다. Flutterwave에서 다음 정보를 확인했습니다: '%s'"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "토큰을 생성할 당시 고객 이메일입니다."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr "Flutterwave에서 계정을 식별하는 데 사용되는 키입니다."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "이 결제대행업체의 기술 코드입니다."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "거래가 토큰에 연결되어 있지 않습니다."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "알 수 없는 결제 상태: %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Webhook 보안"
diff --git a/i18n/lt.po b/i18n/lt.po
new file mode 100644
index 0000000..e7ddf6d
--- /dev/null
+++ b/i18n/lt.po
@@ -0,0 +1,149 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Martin Trigaux, 2023
+# Linas Versada , 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Linas Versada , 2023\n"
+"Language-Team: Lithuanian (https://app.transifex.com/odoo/teams/41243/lt/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: lt\n"
+"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Kodas"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Mokėjimo raktas"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Mokėjimo operacija"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Slaptas raktas"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/lv.po b/i18n/lv.po
new file mode 100644
index 0000000..74afb54
--- /dev/null
+++ b/i18n/lv.po
@@ -0,0 +1,150 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Arnis Putniņš , 2023
+# Armīns Jeltajevs , 2023
+# Martin Trigaux, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Martin Trigaux, 2023\n"
+"Language-Team: Latvian (https://app.transifex.com/odoo/teams/41243/lv/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: lv\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Kods"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Maksājumu sniedzējs"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Maksājuma darījums"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/nl.po b/i18n/nl.po
new file mode 100644
index 0000000..8b9738f
--- /dev/null
+++ b/i18n/nl.po
@@ -0,0 +1,154 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Dutch (https://app.transifex.com/odoo/teams/41243/nl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: nl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+"Er is een fout opgetreden tijdens het verwerken van je betaling (status %s)."
+" Probeer het opnieuw."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Code"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Kan geen verbinding maken met de API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "E-mail klant Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Publieke sleutel Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Geheime sleutel Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Webhook geheim Flutterwave"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Geen transactie gevonden die overeenkomt met referentie %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Betaalprovider"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Betalingstoken"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Betalingstransactie"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "Publieke sleutel"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "Gegevens ontvangen met ontbrekende referentie."
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Geheime sleutel"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+"De communicatie met de API is mislukt. Flutterwave gaf ons de volgende "
+"informatie: '%s'"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "De e-mail van de klant toen de token werd aangemaakt."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+"De sleutel die uitsluitend gebruikt wordt om het account by Flutterwave te "
+"identificeren."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "De technische code van deze betaalprovider."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "De transactie is niet gekoppeld aan een token."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "Onbekende betalingsstatus: %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Webhook geheim"
diff --git a/i18n/payment_flutterwave.pot b/i18n/payment_flutterwave.pot
new file mode 100644
index 0000000..73f9bdc
--- /dev/null
+++ b/i18n/payment_flutterwave.pot
@@ -0,0 +1,144 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 21:56+0000\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/pl.po b/i18n/pl.po
new file mode 100644
index 0000000..04fe11d
--- /dev/null
+++ b/i18n/pl.po
@@ -0,0 +1,148 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Polish (https://app.transifex.com/odoo/teams/41243/pl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: pl\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Kod"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Nie można nawiązać połączenia z interfejsem API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Nie znaleziono transakcji pasującej do referencji %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Dostawca Płatności"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Token płatności"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Transakcja płatności"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Sekretny klucz"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "Kod techniczny tego dostawcy usług płatniczych."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "Transakcja nie jest powiązana z tokenem."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/pt.po b/i18n/pt.po
new file mode 100644
index 0000000..d72e0d6
--- /dev/null
+++ b/i18n/pt.po
@@ -0,0 +1,148 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Portuguese (https://app.transifex.com/odoo/teams/41243/pt/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: pt\n"
+"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Código"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Código de Pagamento"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Transação de Pagamento"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Chave secreta"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/pt_BR.po b/i18n/pt_BR.po
new file mode 100644
index 0000000..d572808
--- /dev/null
+++ b/i18n/pt_BR.po
@@ -0,0 +1,153 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Portuguese (Brazil) (https://app.transifex.com/odoo/teams/41243/pt_BR/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: pt_BR\n"
+"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+"Ocorreu um erro durante o processamento do seu pagamento (status %s). Tente "
+"novamente."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Código"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Não foi possível estabelecer a conexão com a API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "Flutterwave – E-mail do cliente"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Flutterwave – Chave pública"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Flutterwave – Chave secreta"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Flutterwave – Webhook secreto"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Nenhuma transação encontrada com a referência %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Provedor de serviços de pagamento"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Token de pagamento"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Transação de pagamento"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "Chave pública"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "Dados recebidos com referência ausente."
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Chave secreta"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+"A comunicação com a API falhou. O Flutterwave nos forneceu as seguintes "
+"informações '%s'"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "O e-mail do cliente no momento em que o token foi criado."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+"A chave usada exclusivamente para identificar a conta com o Flutterwave."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "O código técnico deste provedor de pagamento."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "A transação não está vinculada a um token."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "Status de pagamento desconhecido: %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Segredo do webhook"
diff --git a/i18n/ru.po b/i18n/ru.po
new file mode 100644
index 0000000..09f5548
--- /dev/null
+++ b/i18n/ru.po
@@ -0,0 +1,157 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Martin Trigaux, 2023
+# Irina Fedulova , 2023
+# ILMIR , 2024
+# Wil Odoo, 2024
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2024\n"
+"Language-Team: Russian (https://app.transifex.com/odoo/teams/41243/ru/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: ru\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+"Во время обработки вашего платежа произошла ошибка (статус %s). Пожалуйста, "
+"попробуйте еще раз."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Код"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Не удалось установить соединение с API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Флаттервейв"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "Электронная почта клиента Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Открытый ключ Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Секретный ключ Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Секрет веб-крючков Flutterwave"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Не найдено ни одной транзакции, соответствующей ссылке %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Поставщик платежей"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Платежный токен"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "платеж"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "Открытый ключ"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "Получены данные с отсутствующей ссылкой."
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Секретный ключ"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+"Связь с API завершилась неудачей. Flutterwave выдал нам следующую "
+"информацию: '%s'"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "Электронная почта клиента на момент создания токена."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+"Ключ, используемый исключительно для идентификации учетной записи в "
+"Flutterwave."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "Технический код данного провайдера платежей."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "Транзакция не привязана к токену."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "Неизвестный статус платежа: %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Секрет вебхука"
diff --git a/i18n/sk.po b/i18n/sk.po
new file mode 100644
index 0000000..4d8b1e6
--- /dev/null
+++ b/i18n/sk.po
@@ -0,0 +1,148 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Slovak (https://app.transifex.com/odoo/teams/41243/sk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: sk\n"
+"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Kód"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Platobný token"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Platobná transakcia"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/sl.po b/i18n/sl.po
new file mode 100644
index 0000000..9bd1d5e
--- /dev/null
+++ b/i18n/sl.po
@@ -0,0 +1,150 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Jasmina Macur , 2023
+# Tomaž Jug , 2023
+# Martin Trigaux, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Martin Trigaux, 2023\n"
+"Language-Team: Slovenian (https://app.transifex.com/odoo/teams/41243/sl/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: sl\n"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Oznaka"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Ponudnik plačil"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Plačilni žeton"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Plačilna transakcija"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/sr.po b/i18n/sr.po
new file mode 100644
index 0000000..9ac4bb6
--- /dev/null
+++ b/i18n/sr.po
@@ -0,0 +1,150 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Martin Trigaux, 2023
+# Dragan Vukosavljevic , 2023
+# コフスタジオ, 2024
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: コフスタジオ, 2024\n"
+"Language-Team: Serbian (https://app.transifex.com/odoo/teams/41243/sr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: sr\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Kod"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Could not establish the connection to the API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "No transaction found matching reference %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Provajder plaćanja"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Payment Token"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Transakcija plaćanja"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Tajni ključ"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "The technical code of this payment provider."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "The transaction is not linked to a token."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/sv.po b/i18n/sv.po
new file mode 100644
index 0000000..60c2010
--- /dev/null
+++ b/i18n/sv.po
@@ -0,0 +1,151 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Kim Asplund , 2023
+# Martin Trigaux, 2023
+# Lasse L, 2023
+# Anders Wallenquist , 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Anders Wallenquist , 2023\n"
+"Language-Team: Swedish (https://app.transifex.com/odoo/teams/41243/sv/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: sv\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Kod"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Det gick inte att upprätta anslutningen till API:et."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Ingen transaktion hittades som matchar referensen %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Betalningsleverantör"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Betalnings-token"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Betalningstransaktion"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Hemlig nyckel"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "Den tekniska koden för denna betalningsleverantör."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "Transaktionen är inte kopplad till en token."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/th.po b/i18n/th.po
new file mode 100644
index 0000000..94fd52e
--- /dev/null
+++ b/i18n/th.po
@@ -0,0 +1,151 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+# Rasareeyar Lappiam, 2024
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Rasareeyar Lappiam, 2024\n"
+"Language-Team: Thai (https://app.transifex.com/odoo/teams/41243/th/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: th\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+"เกิดข้อผิดพลาดระหว่างการประมวลผลการชำระเงินของคุณ (สถานะ %s) "
+"กรุณาลองใหม่อีกครั้ง"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "โค้ด"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "ไม่สามารถสร้างการเชื่อมต่อกับ API ได้"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "อีเมลลูกค้า Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "คีย์สาธารณะ Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "คีย์ลับ Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "เว็บฮุคลับ Flutterwave"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "ไม่พบธุรกรรมที่ตรงกับการอ้างอิง %s"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "ผู้ให้บริการชำระเงิน"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "โทเค็นการชำระเงิน"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "ธุรกรรมสำหรับการชำระเงิน"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "คีย์สาธารณะ"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "ได้รับข้อมูลโดยไม่มีการอ้างอิง"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "คีย์ลับ"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr "การสื่อสารกับ API ล้มเหลว Flutterwave ให้ข้อมูลต่อไปนี้กับเรา: '%s'"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "อีเมลของลูกค้าในขณะสร้างโทเค็น"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr "รหัสที่ใช้เพื่อระบุบัญชีด้วย Flutterwave เท่านั้น"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "รหัสทางเทคนิคของผู้ให้บริการชำระเงินรายนี้"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "ธุรกรรมไม่ได้เชื่อมโยงกับโทเค็น"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "ไม่ทราบสถานะการชำระเงิน: %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "เว็บฮุคลับ"
diff --git a/i18n/tr.po b/i18n/tr.po
new file mode 100644
index 0000000..3623ead
--- /dev/null
+++ b/i18n/tr.po
@@ -0,0 +1,153 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# abc Def , 2023
+# Ediz Duman , 2023
+# Murat Kaplan , 2023
+# Ertuğrul Güreş , 2023
+# Umur Akın , 2023
+# Martin Trigaux, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Martin Trigaux, 2023\n"
+"Language-Team: Turkish (https://app.transifex.com/odoo/teams/41243/tr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: tr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Kod"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "API bağlantısı kurulamadı."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr ""
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Referans %s eşleşen bir işlem bulunamadı."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Ödeme Sağlayıcı"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Ödeme Belirteci"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Ödeme İşlemi"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "Genel Anahtar"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Gizli Şifre"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "Bu ödeme sağlayıcısının teknik kodu."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "İşlem bir belirteçle bağlantılı değildir."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr ""
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr ""
diff --git a/i18n/uk.po b/i18n/uk.po
new file mode 100644
index 0000000..4e5d5fd
--- /dev/null
+++ b/i18n/uk.po
@@ -0,0 +1,154 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Martin Trigaux, 2023
+# Alina Lisnenko , 2023
+# Wil Odoo, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Wil Odoo, 2023\n"
+"Language-Team: Ukrainian (https://app.transifex.com/odoo/teams/41243/uk/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: uk\n"
+"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+"Під час обробки вашого платежу сталася помилка (статус %s). Спробуйте знову."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Код"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Не вдалося встановити з’єднання з API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "Адреса електронної пошти клієнта Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Публічний ключ Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Секретний ключ Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Секрет Webhook Flutterwave"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Не знайдено жодної транзакції, що відповідає референсу %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Провайдер платежу"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Токен оплати"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Платіжна операція"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "Публічний ключ"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "Дані отримані без референса."
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Секретний ключ"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+"Зʼєднання з API невдалося. Flutterwave надало нам наступну інформацію: '%s'"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "Електронна адреса клієнта на час створення токена."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr ""
+"Ключ, який використовується виключно для ідентифікації облікового запису за "
+"допомогою Flutterwave."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "Технічний код цього провайдера платежу."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "Транзакція не зв'язана з токеном."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "Невідомий статус помилки: %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Секрет Webhook"
diff --git a/i18n/vi.po b/i18n/vi.po
new file mode 100644
index 0000000..9b8b17f
--- /dev/null
+++ b/i18n/vi.po
@@ -0,0 +1,153 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+# Thi Huong Nguyen, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Thi Huong Nguyen, 2023\n"
+"Language-Team: Vietnamese (https://app.transifex.com/odoo/teams/41243/vi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: vi\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr ""
+"Đã xảy ra lỗi trong quá trình xử lý khoản thanh toán của bạn (trạng thái "
+"%s). Vui lòng thử lại."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "Mã"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "Không thể thiết lập kết nối với API."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "Flutterwave Email khách hàng"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Flutterwave Mã khoá công khai"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Mã khoá bí mật Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Mật khẩu Webhook Flutterwave"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "Không tìm thấy giao dịch nào khớp với mã %s."
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "Nhà cung cấp dịch vụ thanh toán"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "Mã thanh toán"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "Giao dịch thanh toán"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "Mã khóa công khai"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "Dữ liệu đã nhận bị thiếu mã."
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "Mã khóa bí mật"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr ""
+"Giao tiếp với API không thành công. Flutterwave đã cung cấp cho chúng tôi "
+"thông tin sau: '%s'"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "Email của khách hàng tại thời điểm token được tạo."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr "Mã khoá chỉ được sử dụng để xác định tài khoản với Flutterwave."
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "Mã kỹ thuật của nhà cung cấp dịch vụ thanh toán này."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "Giao dịch không được liên kết với token."
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "Trạng thái thanh toán không xác định: %s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Mật khẩu Webhook"
diff --git a/i18n/zh_CN.po b/i18n/zh_CN.po
new file mode 100644
index 0000000..5cb7ce0
--- /dev/null
+++ b/i18n/zh_CN.po
@@ -0,0 +1,149 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+# Chloe Wang, 2023
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Chloe Wang, 2023\n"
+"Language-Team: Chinese (China) (https://app.transifex.com/odoo/teams/41243/zh_CN/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: zh_CN\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr "在处理您的付款时发生错误(状态%s)。请重试。"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "代码"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "无法建立与 API 的连接。"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "Flutterwave 客户电子邮件"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Flutterwave 公钥"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Flutterwave 密钥"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Flutterwave Webhook 密钥"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "没有发现与参考文献%s相匹配的交易。"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "支付提供商"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "支付令牌"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "支付交易"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "公开密钥"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "收到的数据缺少参考编号。"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "密钥"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr "与 API 通信失败。Flutterwave 提供了以下信息:'%s'"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "创建令牌时客户的电子邮件。"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr "仅用于识别 Flutterwave 账户的密钥。"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "该支付提供商的技术代码。"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "该交易没有与令牌挂钩。"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "未知支付状态:%s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "Webhook 密钥"
diff --git a/i18n/zh_TW.po b/i18n/zh_TW.po
new file mode 100644
index 0000000..a6928a7
--- /dev/null
+++ b/i18n/zh_TW.po
@@ -0,0 +1,149 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * payment_flutterwave
+#
+# Translators:
+# Wil Odoo, 2023
+# Tony Ng, 2024
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 17.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-10-26 21:56+0000\n"
+"PO-Revision-Date: 2023-10-26 23:09+0000\n"
+"Last-Translator: Tony Ng, 2024\n"
+"Language-Team: Chinese (Taiwan) (https://app.transifex.com/odoo/teams/41243/zh_TW/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Language: zh_TW\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid ""
+"An error occurred during the processing of your payment (status %s). Please "
+"try again."
+msgstr "處理付款過程中,發生錯誤(狀態:%s)。請再試一次。"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__code
+msgid "Code"
+msgstr "程式碼"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid "Could not establish the connection to the API."
+msgstr "無法建立與 API 的連線。"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields.selection,name:payment_flutterwave.selection__payment_provider__code__flutterwave
+msgid "Flutterwave"
+msgstr "Flutterwave"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "Flutterwave Customer Email"
+msgstr "Flutterwave 客戶電子郵件"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "Flutterwave Public Key"
+msgstr "Flutterwave 公鑰"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_secret_key
+msgid "Flutterwave Secret Key"
+msgstr "Flutterwave 密鑰"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,field_description:payment_flutterwave.field_payment_provider__flutterwave_webhook_secret
+msgid "Flutterwave Webhook Secret"
+msgstr "Flutterwave 網絡鈎子密鑰"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "No transaction found matching reference %s."
+msgstr "沒有找到匹配參考 %s 的交易。"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_provider
+msgid "Payment Provider"
+msgstr "支付提供商"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_token
+msgid "Payment Token"
+msgstr "付款代碼(token)"
+
+#. module: payment_flutterwave
+#: model:ir.model,name:payment_flutterwave.model_payment_transaction
+msgid "Payment Transaction"
+msgstr "付款交易"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Public Key"
+msgstr "公鑰"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Received data with missing reference."
+msgstr "收到的數據缺漏參考編號。"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Secret Key"
+msgstr "密鑰"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_provider.py:0
+#, python-format
+msgid ""
+"The communication with the API failed. Flutterwave gave us the following "
+"information: '%s'"
+msgstr "與 API 通訊失敗。Flutterwave 提供了以下資訊:%s"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_token__flutterwave_customer_email
+msgid "The email of the customer at the time the token was created."
+msgstr "創建權杖時客戶的電子郵件。"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__flutterwave_public_key
+msgid "The key solely used to identify the account with Flutterwave."
+msgstr "只用於向 Flutterwave 識別該帳戶的密鑰"
+
+#. module: payment_flutterwave
+#: model:ir.model.fields,help:payment_flutterwave.field_payment_provider__code
+msgid "The technical code of this payment provider."
+msgstr "此付款服務商的技術代碼。"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "The transaction is not linked to a token."
+msgstr "交易未有連結至代碼。"
+
+#. module: payment_flutterwave
+#. odoo-python
+#: code:addons/payment_flutterwave/models/payment_transaction.py:0
+#, python-format
+msgid "Unknown payment status: %s"
+msgstr "未知支付狀態:%s"
+
+#. module: payment_flutterwave
+#: model_terms:ir.ui.view,arch_db:payment_flutterwave.payment_provider_form
+msgid "Webhook Secret"
+msgstr "網絡鈎子秘密"
diff --git a/models/__init__.py b/models/__init__.py
new file mode 100644
index 0000000..6b48b38
--- /dev/null
+++ b/models/__init__.py
@@ -0,0 +1,5 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import payment_provider
+from . import payment_token
+from . import payment_transaction
diff --git a/models/payment_provider.py b/models/payment_provider.py
new file mode 100644
index 0000000..705a78e
--- /dev/null
+++ b/models/payment_provider.py
@@ -0,0 +1,113 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+import logging
+import pprint
+
+import requests
+from werkzeug.urls import url_join
+
+from odoo import _, api, fields, models
+from odoo.exceptions import ValidationError
+
+from odoo.addons.payment_flutterwave import const
+
+
+_logger = logging.getLogger(__name__)
+
+
+class PaymentProvider(models.Model):
+ _inherit = 'payment.provider'
+
+ code = fields.Selection(
+ selection_add=[('flutterwave', "Flutterwave")], ondelete={'flutterwave': 'set default'}
+ )
+ flutterwave_public_key = fields.Char(
+ string="Flutterwave Public Key",
+ help="The key solely used to identify the account with Flutterwave.",
+ required_if_provider='flutterwave',
+ )
+ flutterwave_secret_key = fields.Char(
+ string="Flutterwave Secret Key",
+ required_if_provider='flutterwave',
+ groups='base.group_system',
+ )
+ flutterwave_webhook_secret = fields.Char(
+ string="Flutterwave Webhook Secret",
+ required_if_provider='flutterwave',
+ groups='base.group_system',
+ )
+
+ #=== COMPUTE METHODS ===#
+
+ def _compute_feature_support_fields(self):
+ """ Override of `payment` to enable additional features. """
+ super()._compute_feature_support_fields()
+ self.filtered(lambda p: p.code == 'flutterwave').update({
+ 'support_tokenization': True,
+ })
+
+ # === BUSINESS METHODS ===#
+
+ @api.model
+ def _get_compatible_providers(self, *args, is_validation=False, **kwargs):
+ """ Override of `payment` to filter out Flutterwave providers for validation operations. """
+ providers = super()._get_compatible_providers(*args, is_validation=is_validation, **kwargs)
+
+ if is_validation:
+ providers = providers.filtered(lambda p: p.code != 'flutterwave')
+
+ return providers
+
+ def _get_supported_currencies(self):
+ """ Override of `payment` to return the supported currencies. """
+ supported_currencies = super()._get_supported_currencies()
+ if self.code == 'flutterwave':
+ supported_currencies = supported_currencies.filtered(
+ lambda c: c.name in const.SUPPORTED_CURRENCIES
+ )
+ return supported_currencies
+
+ def _flutterwave_make_request(self, endpoint, payload=None, method='POST'):
+ """ Make a request to Flutterwave API at the specified endpoint.
+
+ Note: self.ensure_one()
+
+ :param str endpoint: The endpoint to be reached by the request.
+ :param dict payload: The payload of the request.
+ :param str method: The HTTP method of the request.
+ :return The JSON-formatted content of the response.
+ :rtype: dict
+ :raise ValidationError: If an HTTP error occurs.
+ """
+ self.ensure_one()
+
+ url = url_join('https://api.flutterwave.com/v3/', endpoint)
+ headers = {'Authorization': f'Bearer {self.flutterwave_secret_key}'}
+ try:
+ if method == 'GET':
+ response = requests.get(url, params=payload, headers=headers, timeout=10)
+ else:
+ response = requests.post(url, json=payload, headers=headers, timeout=10)
+ try:
+ response.raise_for_status()
+ except requests.exceptions.HTTPError:
+ _logger.exception(
+ "Invalid API request at %s with data:\n%s", url, pprint.pformat(payload),
+ )
+ raise ValidationError("Flutterwave: " + _(
+ "The communication with the API failed. Flutterwave gave us the following "
+ "information: '%s'", response.json().get('message', '')
+ ))
+ except (requests.exceptions.ConnectionError, requests.exceptions.Timeout):
+ _logger.exception("Unable to reach endpoint at %s", url)
+ raise ValidationError(
+ "Flutterwave: " + _("Could not establish the connection to the API.")
+ )
+ return response.json()
+
+ def _get_default_payment_method_codes(self):
+ """ Override of `payment` to return the default payment method codes. """
+ default_codes = super()._get_default_payment_method_codes()
+ if self.code != 'flutterwave':
+ return default_codes
+ return const.DEFAULT_PAYMENT_METHODS_CODES
diff --git a/models/payment_token.py b/models/payment_token.py
new file mode 100644
index 0000000..d03d1e3
--- /dev/null
+++ b/models/payment_token.py
@@ -0,0 +1,11 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import fields, models
+
+
+class PaymentToken(models.Model):
+ _inherit = 'payment.token'
+
+ flutterwave_customer_email = fields.Char(
+ help="The email of the customer at the time the token was created.", readonly=True
+ )
diff --git a/models/payment_transaction.py b/models/payment_transaction.py
new file mode 100644
index 0000000..52773bb
--- /dev/null
+++ b/models/payment_transaction.py
@@ -0,0 +1,213 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+import logging
+import pprint
+
+from werkzeug import urls
+
+from odoo import _, models
+from odoo.exceptions import UserError, ValidationError
+
+from odoo.addons.payment import utils as payment_utils
+from odoo.addons.payment_flutterwave import const
+from odoo.addons.payment_flutterwave.controllers.main import FlutterwaveController
+
+
+_logger = logging.getLogger(__name__)
+
+
+class PaymentTransaction(models.Model):
+ _inherit = 'payment.transaction'
+
+ def _get_specific_rendering_values(self, processing_values):
+ """ Override of payment to return Flutterwave-specific rendering values.
+
+ Note: self.ensure_one() from `_get_processing_values`
+
+ :param dict processing_values: The generic and specific processing values of the transaction
+ :return: The dict of provider-specific processing values.
+ :rtype: dict
+ """
+ res = super()._get_specific_rendering_values(processing_values)
+ if self.provider_code != 'flutterwave':
+ return res
+
+ # Initiate the payment and retrieve the payment link data.
+ base_url = self.provider_id.get_base_url()
+ payload = {
+ 'tx_ref': self.reference,
+ 'amount': self.amount,
+ 'currency': self.currency_id.name,
+ 'redirect_url': urls.url_join(base_url, FlutterwaveController._return_url),
+ 'customer': {
+ 'email': self.partner_email,
+ 'name': self.partner_name,
+ 'phonenumber': self.partner_phone,
+ },
+ 'customizations': {
+ 'title': self.company_id.name,
+ 'logo': urls.url_join(base_url, f'web/image/res.company/{self.company_id.id}/logo'),
+ },
+ 'payment_options': const.PAYMENT_METHODS_MAPPING.get(
+ self.payment_method_code, self.payment_method_code
+ ),
+ }
+ payment_link_data = self.provider_id._flutterwave_make_request('payments', payload=payload)
+
+ # Extract the payment link URL and embed it in the redirect form.
+ rendering_values = {
+ 'api_url': payment_link_data['data']['link'],
+ }
+ return rendering_values
+
+ def _send_payment_request(self):
+ """ Override of payment to send a payment request to Flutterwave.
+
+ Note: self.ensure_one()
+
+ :return: None
+ :raise UserError: If the transaction is not linked to a token.
+ """
+ super()._send_payment_request()
+ if self.provider_code != 'flutterwave':
+ return
+
+ # Prepare the payment request to Flutterwave.
+ if not self.token_id:
+ raise UserError("Flutterwave: " + _("The transaction is not linked to a token."))
+
+ first_name, last_name = payment_utils.split_partner_name(self.partner_name)
+ data = {
+ 'token': self.token_id.provider_ref,
+ 'email': self.token_id.flutterwave_customer_email,
+ 'amount': self.amount,
+ 'currency': self.currency_id.name,
+ 'country': self.company_id.country_id.code,
+ 'tx_ref': self.reference,
+ 'first_name': first_name,
+ 'last_name': last_name,
+ 'ip': payment_utils.get_customer_ip_address(),
+ }
+
+ # Make the payment request to Flutterwave.
+ response_content = self.provider_id._flutterwave_make_request(
+ 'tokenized-charges', payload=data
+ )
+
+ # Handle the payment request response.
+ _logger.info(
+ "payment request response for transaction with reference %s:\n%s",
+ self.reference, pprint.pformat(response_content)
+ )
+ self._handle_notification_data('flutterwave', response_content['data'])
+
+ def _get_tx_from_notification_data(self, provider_code, notification_data):
+ """ Override of payment to find the transaction based on Flutterwave data.
+
+ :param str provider_code: The code of the provider that handled the transaction.
+ :param dict notification_data: The notification data sent by the provider.
+ :return: The transaction if found.
+ :rtype: recordset of `payment.transaction`
+ :raise ValidationError: If inconsistent data were received.
+ :raise ValidationError: If the data match no transaction.
+ """
+ tx = super()._get_tx_from_notification_data(provider_code, notification_data)
+ if provider_code != 'flutterwave' or len(tx) == 1:
+ return tx
+
+ reference = notification_data.get('tx_ref')
+ if not reference:
+ raise ValidationError("Flutterwave: " + _("Received data with missing reference."))
+
+ tx = self.search([('reference', '=', reference), ('provider_code', '=', 'flutterwave')])
+ if not tx:
+ raise ValidationError(
+ "Flutterwave: " + _("No transaction found matching reference %s.", reference)
+ )
+ return tx
+
+ def _process_notification_data(self, notification_data):
+ """ Override of payment to process the transaction based on Flutterwave data.
+
+ Note: self.ensure_one()
+
+ :param dict notification_data: The notification data sent by the provider.
+ :return: None
+ :raise ValidationError: If inconsistent data were received.
+ """
+ super()._process_notification_data(notification_data)
+ if self.provider_code != 'flutterwave':
+ return
+
+ # Verify the notification data.
+ verification_response_content = self.provider_id._flutterwave_make_request(
+ 'transactions/verify_by_reference', payload={'tx_ref': self.reference}, method='GET'
+ )
+ verified_data = verification_response_content['data']
+
+ # Update the provider reference.
+ self.provider_reference = verified_data['id']
+
+ # Update payment method.
+ payment_method_type = verified_data.get('payment_type', '')
+ if payment_method_type == 'card':
+ payment_method_type = verified_data.get('card', {}).get('type').lower()
+ payment_method = self.env['payment.method']._get_from_code(
+ payment_method_type, mapping=const.PAYMENT_METHODS_MAPPING
+ )
+ self.payment_method_id = payment_method or self.payment_method_id
+
+ # Update the payment state.
+ payment_status = verified_data['status'].lower()
+ if payment_status in const.PAYMENT_STATUS_MAPPING['pending']:
+ self._set_pending()
+ elif payment_status in const.PAYMENT_STATUS_MAPPING['done']:
+ self._set_done()
+ has_token_data = 'token' in verified_data.get('card', {})
+ if self.tokenize and has_token_data:
+ self._flutterwave_tokenize_from_notification_data(verified_data)
+ elif payment_status in const.PAYMENT_STATUS_MAPPING['cancel']:
+ self._set_canceled()
+ elif payment_status in const.PAYMENT_STATUS_MAPPING['error']:
+ self._set_error(_(
+ "An error occurred during the processing of your payment (status %s). Please try "
+ "again.", payment_status
+ ))
+ else:
+ _logger.warning(
+ "Received data with invalid payment status (%s) for transaction with reference %s.",
+ payment_status, self.reference
+ )
+ self._set_error("Flutterwave: " + _("Unknown payment status: %s", payment_status))
+
+ def _flutterwave_tokenize_from_notification_data(self, notification_data):
+ """ Create a new token based on the notification data.
+
+ Note: self.ensure_one()
+
+ :param dict notification_data: The notification data sent by the provider.
+ :return: None
+ """
+ self.ensure_one()
+
+ token = self.env['payment.token'].create({
+ 'provider_id': self.provider_id.id,
+ 'payment_method_id': self.payment_method_id.id,
+ 'payment_details': notification_data['card']['last_4digits'],
+ 'partner_id': self.partner_id.id,
+ 'provider_ref': notification_data['card']['token'],
+ 'flutterwave_customer_email': notification_data['customer']['email'],
+ })
+ self.write({
+ 'token_id': token,
+ 'tokenize': False,
+ })
+ _logger.info(
+ "created token with id %(token_id)s for partner with id %(partner_id)s from "
+ "transaction with reference %(ref)s",
+ {
+ 'token_id': token.id,
+ 'partner_id': self.partner_id.id,
+ 'ref': self.reference,
+ },
+ )
diff --git a/static/description/icon.png b/static/description/icon.png
new file mode 100644
index 0000000..323e44a
Binary files /dev/null and b/static/description/icon.png differ
diff --git a/static/description/icon.svg b/static/description/icon.svg
new file mode 100644
index 0000000..e897adb
--- /dev/null
+++ b/static/description/icon.svg
@@ -0,0 +1 @@
+
diff --git a/tests/__init__.py b/tests/__init__.py
new file mode 100644
index 0000000..4a36db0
--- /dev/null
+++ b/tests/__init__.py
@@ -0,0 +1,6 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import common
+from . import test_payment_provider
+from . import test_payment_transaction
+from . import test_processing_flows
diff --git a/tests/common.py b/tests/common.py
new file mode 100644
index 0000000..f2532fd
--- /dev/null
+++ b/tests/common.py
@@ -0,0 +1,43 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.addons.payment.tests.common import PaymentCommon
+
+
+class FlutterwaveCommon(PaymentCommon):
+
+ @classmethod
+ def setUpClass(cls):
+ super().setUpClass()
+
+ cls.flutterwave = cls._prepare_provider('flutterwave', update_values={
+ 'flutterwave_public_key': 'FLWPUBK_TEST-abcdef-X',
+ 'flutterwave_secret_key': 'FLWSECK_TEST-123456-X',
+ 'flutterwave_webhook_secret': 'coincoin_motherducker',
+ })
+
+ cls.provider = cls.flutterwave
+
+ cls.redirect_notification_data = {
+ 'status': 'successful',
+ 'tx_ref': cls.reference,
+ }
+ cls.webhook_notification_data = {
+ 'event': 'charge.completed',
+ 'data': {
+ 'tx_ref': cls.reference,
+ },
+ }
+ cls.verification_data = {
+ 'status': 'success',
+ 'data': {
+ 'id': '123456789',
+ 'status': 'successful',
+ 'card': {
+ 'last_4digits': '2950',
+ 'token': 'flw-t1nf-f9b3bf384cd30d6fca42b6df9d27bd2f-m03k',
+ },
+ 'customer': {
+ 'email': 'user@example.com',
+ },
+ },
+ }
diff --git a/tests/test_payment_provider.py b/tests/test_payment_provider.py
new file mode 100644
index 0000000..a7a8dec
--- /dev/null
+++ b/tests/test_payment_provider.py
@@ -0,0 +1,21 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.tests import tagged
+
+from odoo.addons.payment_flutterwave.tests.common import FlutterwaveCommon
+
+
+@tagged('post_install', '-at_install')
+class TestPaymentProvider(FlutterwaveCommon):
+
+ def test_incompatible_with_unsupported_currencies(self):
+ compatible_providers = self.env['payment.provider']._get_compatible_providers(
+ self.company_id, self.partner.id, self.amount, currency_id=self.env.ref('base.AFN').id
+ )
+ self.assertNotIn(self.flutterwave, compatible_providers)
+
+ def test_incompatible_with_validation_transactions(self):
+ compatible_providers = self.env['payment.provider']._get_compatible_providers(
+ self.company_id, self.partner.id, 0., is_validation=True
+ )
+ self.assertNotIn(self.flutterwave, compatible_providers)
diff --git a/tests/test_payment_transaction.py b/tests/test_payment_transaction.py
new file mode 100644
index 0000000..f258458
--- /dev/null
+++ b/tests/test_payment_transaction.py
@@ -0,0 +1,61 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from unittest.mock import patch
+
+from odoo.tests import tagged
+from odoo.tools import mute_logger
+
+from odoo.addons.payment_flutterwave.tests.common import FlutterwaveCommon
+
+
+@tagged('post_install', '-at_install')
+class TestPaymentTransaction(FlutterwaveCommon):
+
+ def test_no_item_missing_from_rendering_values(self):
+ """ Test that the rendered values are conform to the transaction fields. """
+ tx = self._create_transaction(flow='redirect')
+ with patch(
+ 'odoo.addons.payment_flutterwave.models.payment_provider.PaymentProvider'
+ '._flutterwave_make_request', return_value={'data': {'link': 'https://dummy.com'}}
+ ):
+ rendering_values = tx._get_specific_rendering_values(None)
+ self.assertDictEqual(rendering_values, {'api_url': 'https://dummy.com'})
+
+ @mute_logger('odoo.addons.payment.models.payment_transaction')
+ def test_no_input_missing_from_redirect_form(self):
+ """ Test that the `api_url` key is not omitted from the rendering values. """
+ tx = self._create_transaction(flow='redirect')
+ with patch(
+ 'odoo.addons.payment_flutterwave.models.payment_transaction.PaymentTransaction'
+ '._get_specific_rendering_values', return_value={'api_url': 'https://dummy.com'}
+ ):
+ processing_values = tx._get_processing_values()
+ form_info = self._extract_values_from_html_form(processing_values['redirect_form_html'])
+ self.assertEqual(form_info['action'], 'https://dummy.com')
+ self.assertEqual(form_info['method'], 'get')
+ self.assertDictEqual(form_info['inputs'], {})
+
+ def test_processing_notification_data_confirms_transaction(self):
+ """ Test that the transaction state is set to 'done' when the notification data indicate a
+ successful payment. """
+ tx = self._create_transaction(flow='redirect')
+ with patch(
+ 'odoo.addons.payment_flutterwave.models.payment_provider.PaymentProvider'
+ '._flutterwave_make_request', return_value=self.verification_data
+ ):
+ tx._process_notification_data(self.redirect_notification_data)
+ self.assertEqual(tx.state, 'done')
+
+ def test_processing_notification_data_tokenizes_transaction(self):
+ """ Test that the transaction is tokenized when it was requested and the notification data
+ include token data. """
+ tx = self._create_transaction(flow='redirect', tokenize=True)
+ with patch(
+ 'odoo.addons.payment_flutterwave.models.payment_provider.PaymentProvider'
+ '._flutterwave_make_request', return_value=self.verification_data
+ ), patch(
+ 'odoo.addons.payment_flutterwave.models.payment_transaction.PaymentTransaction'
+ '._flutterwave_tokenize_from_notification_data'
+ ) as tokenize_mock:
+ tx._process_notification_data(self.redirect_notification_data)
+ self.assertEqual(tokenize_mock.call_count, 1)
diff --git a/tests/test_processing_flows.py b/tests/test_processing_flows.py
new file mode 100644
index 0000000..70769a3
--- /dev/null
+++ b/tests/test_processing_flows.py
@@ -0,0 +1,84 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from unittest.mock import patch
+
+from werkzeug.exceptions import Forbidden
+
+from odoo.tests import tagged
+from odoo.tools import mute_logger
+
+from odoo.addons.payment.tests.http_common import PaymentHttpCommon
+from odoo.addons.payment_flutterwave.controllers.main import FlutterwaveController
+from odoo.addons.payment_flutterwave.tests.common import FlutterwaveCommon
+
+
+@tagged('post_install', '-at_install')
+class TestProcessingFlows(FlutterwaveCommon, PaymentHttpCommon):
+
+ @mute_logger('odoo.addons.payment_flutterwave.controllers.main')
+ def test_redirect_notification_triggers_processing(self):
+ """ Test that receiving a redirect notification triggers the processing of the notification
+ data. """
+ self._create_transaction(flow='redirect')
+ url = self._build_url(FlutterwaveController._return_url)
+ with patch(
+ 'odoo.addons.payment.models.payment_transaction.PaymentTransaction'
+ '._handle_notification_data'
+ ) as handle_notification_data_mock:
+ self._make_http_get_request(url, params=self.redirect_notification_data)
+ self.assertEqual(handle_notification_data_mock.call_count, 1)
+
+ @mute_logger('odoo.addons.payment_flutterwave.controllers.main')
+ def test_webhook_notification_triggers_processing(self):
+ """ Test that receiving a valid webhook notification triggers the processing of the
+ notification data. """
+ self._create_transaction('redirect')
+ url = self._build_url(FlutterwaveController._webhook_url)
+ with patch(
+ 'odoo.addons.payment_flutterwave.controllers.main.FlutterwaveController.'
+ '_verify_notification_signature'
+ ), patch(
+ 'odoo.addons.payment.models.payment_transaction.PaymentTransaction'
+ '._handle_notification_data'
+ ) as handle_notification_data_mock:
+ self._make_json_request(url, data=self.webhook_notification_data)
+ self.assertEqual(handle_notification_data_mock.call_count, 1)
+
+ @mute_logger('odoo.addons.payment_flutterwave.controllers.main')
+ def test_webhook_notification_triggers_signature_check(self):
+ """ Test that receiving a webhook notification triggers a signature check. """
+ self._create_transaction('redirect')
+ url = self._build_url(FlutterwaveController._webhook_url)
+ with patch(
+ 'odoo.addons.payment_flutterwave.controllers.main.FlutterwaveController'
+ '._verify_notification_signature'
+ ) as signature_check_mock, patch(
+ 'odoo.addons.payment.models.payment_transaction.PaymentTransaction'
+ '._handle_notification_data'
+ ):
+ self._make_json_request(url, data=self.webhook_notification_data)
+ self.assertEqual(signature_check_mock.call_count, 1)
+
+ def test_accept_webhook_notification_with_valid_signature(self):
+ """ Test the verification of a webhook notification with a valid signature. """
+ tx = self._create_transaction('redirect')
+ self._assert_does_not_raise(
+ Forbidden,
+ FlutterwaveController._verify_notification_signature,
+ self.provider.flutterwave_webhook_secret,
+ tx,
+ )
+
+ @mute_logger('odoo.addons.payment_flutterwave.controllers.main')
+ def test_reject_notification_with_missing_signature(self):
+ """ Test the verification of a notification with a missing signature. """
+ tx = self._create_transaction('redirect')
+ self.assertRaises(Forbidden, FlutterwaveController._verify_notification_signature, None, tx)
+
+ @mute_logger('odoo.addons.payment_flutterwave.controllers.main')
+ def test_reject_notification_with_invalid_signature(self):
+ """ Test the verification of a notification with an invalid signature. """
+ tx = self._create_transaction('redirect')
+ self.assertRaises(
+ Forbidden, FlutterwaveController._verify_notification_signature, 'dummy', tx
+ )
diff --git a/views/payment_flutterwave_templates.xml b/views/payment_flutterwave_templates.xml
new file mode 100644
index 0000000..0961237
--- /dev/null
+++ b/views/payment_flutterwave_templates.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/views/payment_provider_views.xml b/views/payment_provider_views.xml
new file mode 100644
index 0000000..ff8e91d
--- /dev/null
+++ b/views/payment_provider_views.xml
@@ -0,0 +1,28 @@
+
+
+
+
+ Flutterwave Provider Form
+ payment.provider
+
+
+
+
+
+
+
+
+
+
+
+
+