diff --git a/README.md b/README.md index e402c57..7ce6057 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,34 @@ -# payment_xendit +# Xendit +## Implementation details + +### Supported features + +- [Payment with redirection flow](https://developers.xendit.co/api-reference/#create-invoice) +- Several payment methods such as credit cards, bank transfers, eWallets, pay later, and + [others](https://docs.xendit.co/payment-link/payment-channels). +- [Webhook](https://developers.xendit.co/api-reference/#invoice-callback). + +In addition, Xendit also allows to implement tokenization. + +### API and gateway + +We choose to integrate with the +[Invoices API](https://developer.flutterwave.com/docs/collecting-payments/standard/) as it +is the gateway that covers the best our needs: it is a payment with redirection flow and is +compatible with `payment`'s form-based implementation of that flow. + +The [Payments API](https://developers.xendit.co/api-reference/#payments-api) was considered too, but +it requires implementing a more complex direct payment flow and linking the customer account. + +The version of the API implemented by this module is v2. + +## Merge details + +The first version of the module was specified in task +[2946329](https://www.odoo.com/web#id=2759117&model=project.task) and merged with PR +odoo/odoo#141661 in branch `17.0`. + +## Testing instructions + +https://developers.xendit.co/api-reference/#test-scenarios \ No newline at end of file diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..9fa28e8 --- /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, 'xendit') + + +def uninstall_hook(env): + reset_payment_provider(env, 'xendit') diff --git a/__manifest__.py b/__manifest__.py new file mode 100644 index 0000000..b7b2595 --- /dev/null +++ b/__manifest__.py @@ -0,0 +1,19 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +{ + 'name': "Payment Provider: Xendit", + 'version': '1.0', + 'category': 'Accounting/Payment Providers', + 'sequence': 350, + 'summary': "A payment provider for Indonesian and the Philippines.", + 'depends': ['payment'], + 'data': [ + 'views/payment_provider_views.xml', + 'views/payment_xendit_templates.xml', + + 'data/payment_provider_data.xml', # Depends on payment_xendit_templates.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..db7446b --- /dev/null +++ b/const.py @@ -0,0 +1,38 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +# The currencies supported by Xendit, in ISO 4217 format. +SUPPORTED_CURRENCIES = [ + 'IDR', + 'PHP', +] + +# The codes of the payment methods to activate when Xendit is activated. +DEFAULT_PAYMENT_METHODS_CODES = [ + # Primary payment methods. + 'card', + 'dana', + 'ovo', + 'qris', + + # Brand payment methods. + 'visa', + 'mastercard', +] + +# Mapping of payment code to channel code according to Xendit API +PAYMENT_METHODS_MAPPING = { + 'bank_bca': 'BCA', + 'bank_permata': 'PERMATA', + 'bpi': 'DD_BPI', + 'card': 'CREDIT_CARD', + 'maya': 'PAYMAYA', +} + +# Mapping of transaction states to Xendit payment statuses. +PAYMENT_STATUS_MAPPING = { + 'draft': (), + 'pending': ('PENDING'), + 'done': ('SUCCEEDED', 'PAID'), + 'cancel': ('CANCELLED', 'EXPIRED'), + 'error': ('FAILED',) +} 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..a45d861 --- /dev/null +++ b/controllers/main.py @@ -0,0 +1,60 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import logging +import pprint + +from werkzeug.exceptions import Forbidden + +from odoo import http +from odoo.exceptions import ValidationError +from odoo.http import request +from odoo.tools import consteq + + +_logger = logging.getLogger(__name__) + + +class XenditController(http.Controller): + + _webhook_url = '/payment/xendit/webhook' + + @http.route(_webhook_url, type='http', methods=['POST'], auth='public', csrf=False) + def xendit_webhook(self): + """ Process the notification data sent by Xendit to the webhook. + + :return: The 'accepted' string to acknowledge the notification. + """ + data = request.get_json_data() + _logger.info("Notification received from Xendit with data:\n%s", pprint.pformat(data)) + + try: + # Check the integrity of the notification. + received_token = request.httprequest.headers.get('x-callback-token') + tx_sudo = request.env['payment.transaction'].sudo()._get_tx_from_notification_data( + 'xendit', data + ) + self._verify_notification_token(received_token, tx_sudo) + + # Handle the notification data. + tx_sudo._handle_notification_data('xendit', data) + except ValidationError: + _logger.exception("Unable to handle notification data; skipping to acknowledge.") + + return request.make_json_response(['accepted'], status=200) + + def _verify_notification_token(self, received_token, tx_sudo): + """ Check that the received token matches the saved webhook token. + + :param str received_token: The callback token received with the notification data. + :param payment.transaction tx_sudo: The transaction referenced by the notification data. + :return: None + :raise Forbidden: If the tokens don't match. + """ + # Check for the received token. + if not received_token: + _logger.warning("Received notification with missing token.") + raise Forbidden() + + if not consteq(tx_sudo.provider_id.xendit_webhook_token, received_token): + _logger.warning("Received notification with invalid callback token %r.", received_token) + raise Forbidden() diff --git a/data/neutralize.sql b/data/neutralize.sql new file mode 100644 index 0000000..edbdcd4 --- /dev/null +++ b/data/neutralize.sql @@ -0,0 +1,3 @@ +UPDATE payment_provider + SET xendit_secret_key = 'dummysecret', + xendit_webhook_token = 'dummytoken'; diff --git a/data/payment_provider_data.xml b/data/payment_provider_data.xml new file mode 100644 index 0000000..44286ed --- /dev/null +++ b/data/payment_provider_data.xml @@ -0,0 +1,9 @@ + + + + + xendit + + + + diff --git a/i18n/ar.po b/i18n/ar.po new file mode 100644 index 0000000..e3daefa --- /dev/null +++ b/i18n/ar.po @@ -0,0 +1,102 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# Malaz Abuidris , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Malaz Abuidris , 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "" +"An error occurred during the processing of your payment (status %s). Please " +"try again." +msgstr "حدث خطأ أثناء معالجة عملية الدفع (الحالة %s). يرجى المحاولة مجدداً. " + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "رمز " + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "تعذر إنشاء الاتصال بالواجهة البرمجية للتطبيق. " + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "لم يتم العثور على معاملة تطابق المرجع %s. " + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "مزود الدفع " + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "معاملة الدفع " + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "تم استلام البيانات دون مرجع. " + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "المفتاح السري " + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" +"فشل التواصل مع الواجهة البرمجية للتطبيق. لقد منحنا Xendit المعلومات التالية:" +" '%s' " + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "الكود التقني لمزود الدفع هذا. " + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "رمز Webhook " + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "المفتاح السري لـ Xendit " + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "رمز ويب هوك Xendit " diff --git a/i18n/bg.po b/i18n/bg.po new file mode 100644 index 0000000..ab93df0 --- /dev/null +++ b/i18n/bg.po @@ -0,0 +1,111 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Albena Mincheva , 2024 +# Maria Boyadjieva , 2024 +# aleksandar ivanov, 2024 +# Turhan Aydin , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Код" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "Could not establish the connection to the API." +msgstr "Неуспешно установяване на връзката с API." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "Не е открита транзакция, съответстваща с референция %s." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Доставчик на разплащания" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Платежна транзакция" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "Получени данни с липсваща референция." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Таен ключ" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" +"Комуникацията с API е неуспешна. Xendit ни предостави следната информация: " +"'%s'" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/ca.po b/i18n/ca.po new file mode 100644 index 0000000..46b0134 --- /dev/null +++ b/i18n/ca.po @@ -0,0 +1,108 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Guspy12, 2024 +# RGB Consulting , 2024 +# Martin Trigaux, 2024 +# marcescu, 2024 +# Ivan Espinola, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Ivan Espinola, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Codi" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Proveïdor de pagament" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Transacció de pagament" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Clau secreta" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.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_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/cs.po b/i18n/cs.po new file mode 100644 index 0000000..664a9fe --- /dev/null +++ b/i18n/cs.po @@ -0,0 +1,104 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Wil Odoo, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Kód" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Poskytovatel platby" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Platební transakce" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Tajný klíč" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/da.po b/i18n/da.po new file mode 100644 index 0000000..5762c72 --- /dev/null +++ b/i18n/da.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# lhmflexerp , 2024 +# Martin Trigaux, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Martin Trigaux, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Kode" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "Could not establish the connection to the API." +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Betalingsudbyder" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Betalingstransaktion" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Hemmelig nøgle" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/de.po b/i18n/de.po new file mode 100644 index 0000000..84ded78 --- /dev/null +++ b/i18n/de.po @@ -0,0 +1,104 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# Larissa Manderfeld, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Larissa Manderfeld, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Code" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "Verbindung mit API konnte nicht hergestellt werden." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "Keine Transaktion gefunden, die der Referenz %s entspricht." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Zahlungsanbieter" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Zahlungstransaktion" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "Erhaltene Daten mit fehlender Referenz." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Geheimer Schlüssel" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" +"Die Kommunikation mit der API ist fehlgeschlagen. Xendit hat uns folgende " +"Informationen übermittelt: „%s“" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "Der technische Code dieses Zahlungsanbieters." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "Webhook-Token" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "Geheimer Schlüssel von Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "Webhook-Token von Xendit" diff --git a/i18n/es.po b/i18n/es.po new file mode 100644 index 0000000..1a23050 --- /dev/null +++ b/i18n/es.po @@ -0,0 +1,103 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# Larissa Manderfeld, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Larissa Manderfeld, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Código" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "No se ha podido establecer la conexión con el API." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "" +"No se ha encontrado ninguna transacción que coincida con la referencia %s." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Proveedor de pago" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Transacción de pago" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "Datos recibidos con referencia perdida." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Clave secreta" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" +"La comunicación con la API falló. Xendit nos envió la siguiente información:" +" '%s'" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "El código técnico de este proveedor de pago." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "Token de Webhook" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "Clave secreta de Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "Token de webhook de Xendit" diff --git a/i18n/es_419.po b/i18n/es_419.po new file mode 100644 index 0000000..ab33a25 --- /dev/null +++ b/i18n/es_419.po @@ -0,0 +1,103 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# Patricia Gutiérrez Capetillo , 2024 +# Fernanda Alvarez, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Fernanda Alvarez, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Código" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "No se pudo establecer la conexión con la API." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "No se encontró ninguna transacción que coincida con la referencia %s." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Proveedor de pago" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Transacción de pago" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "Se recibió información sin referencias." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Clave secreta" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" +"La comunicación con la API falló. Xendit nos envió la siguiente información:" +" '%s'" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.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_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "Token de Webhook" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "Clave secreta de Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "Token de webhook de Xendit" diff --git a/i18n/et.po b/i18n/et.po new file mode 100644 index 0000000..ea0ca4c --- /dev/null +++ b/i18n/et.po @@ -0,0 +1,107 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Marek Pontus, 2024 +# Martin Trigaux, 2024 +# Leaanika Randmets, 2024 +# Anna, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Anna, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Kood" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Makseteenuse pakkuja" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Maksetehing" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "Antud makseteenuse pakkuja tehniline kood." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/fa.po b/i18n/fa.po new file mode 100644 index 0000000..4e647ce --- /dev/null +++ b/i18n/fa.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# odooers ir, 2024 +# Martin Trigaux, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Martin Trigaux, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "کد" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "Could not establish the connection to the API." +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "سرویس دهنده پرداخت" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "تراکنش پرداخت" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/fi.po b/i18n/fi.po new file mode 100644 index 0000000..349d10a --- /dev/null +++ b/i18n/fi.po @@ -0,0 +1,101 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Jarmo Kortetjärvi , 2024 +# Veikko Väätäjä , 2024 +# Ossi Mantylahti , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Koodi" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "Yhteyttä API:han ei saatu muodostettua." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "Viitettä %s vastaavaa tapahtumaa ei löytynyt." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Maksupalveluntarjoaja" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Maksutapahtuma" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "Vastaanotetut tiedot, joista puuttuu viite." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Salainen avain" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "Yhteys API:n kanssa epäonnistui. Xendit antoi seuraavat tiedot: '%s'" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "Tämän maksupalveluntarjoajan tekninen koodi." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "Webhook-pääsytunniste" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/fr.po b/i18n/fr.po new file mode 100644 index 0000000..bf51ff0 --- /dev/null +++ b/i18n/fr.po @@ -0,0 +1,104 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# Jolien De Paepe, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Jolien De Paepe, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Code" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "Impossible d'établir la connexion à l'API." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "Aucune transaction ne correspond à la référence %s." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Fournisseur de paiement" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Transaction de paiement" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "Données reçues avec référence manquante." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Clé secrète" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" +"Échec de la communication avec l'API. Xendit nous a fourni les informations " +"suivantes : '%s'" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "Le code technique de ce fournisseur de paiement." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "Jeton Webhook" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "Clé secrète Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "Jeton Webhook Xendit" diff --git a/i18n/he.po b/i18n/he.po new file mode 100644 index 0000000..7a07131 --- /dev/null +++ b/i18n/he.po @@ -0,0 +1,107 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# david danilov, 2024 +# ExcaliberX , 2024 +# Martin Trigaux, 2024 +# Ha Ketem , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Ha Ketem , 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "קוד" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "Could not establish the connection to the API." +msgstr "לא הצלחנו להתחבר ל-API." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "לא נמצאה עסקה המתאימה למספר האסמכתא %s." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "עסקת תשלום" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "מפתח סודי" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/hu.po b/i18n/hu.po new file mode 100644 index 0000000..20b18cc --- /dev/null +++ b/i18n/hu.po @@ -0,0 +1,106 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Tamás Németh , 2024 +# gezza , 2024 +# Martin Trigaux, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Martin Trigaux, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Kód" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "Could not establish the connection to the API." +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Fizetési szolgáltató" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Fizetési tranzakció" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Titkos kulcs" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/id.po b/i18n/id.po new file mode 100644 index 0000000..18edfe4 --- /dev/null +++ b/i18n/id.po @@ -0,0 +1,103 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# Abe Manyo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Abe Manyo, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Kode" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "Tidak dapat membuat hubungan ke API." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "Tidak ada transaksi dengan referensi %s yang cocok." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Penyedia Pembayaran" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Transaksi Tagihan" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "Menerima data dengan referensi yang kurang lengkap." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Secret Key" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" +"Komunikasi dengan API gagal. Xendit memberikan kami informasi berikut: '%s'" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "Kode teknis penyedia pembayaran ini." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "Token Webhook" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/it.po b/i18n/it.po new file mode 100644 index 0000000..1e89b6e --- /dev/null +++ b/i18n/it.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Sergio Zanchetta , 2024 +# Wil Odoo, 2024 +# Marianna Ciofani, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Marianna Ciofani, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Codice" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "Impossibile stabilire la connessione all'API." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "Nessuna transazione trovata che corrisponde al riferimento %s." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Fornitore di pagamenti" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Transazione di pagamento" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "Dati ricevuti privi di riferimento," + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Chiave segreta" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" +"La comunicazione con l'API non è riuscita. Xendit ha fornito le seguenti " +"informazioni: '%s'" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "Codice tecnico del fornitore di pagamenti." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "Token Webhook" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "Chiave privata Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "Token Webhook Xendit" diff --git a/i18n/ja.po b/i18n/ja.po new file mode 100644 index 0000000..ebceb4c --- /dev/null +++ b/i18n/ja.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# Junko Augias, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Junko Augias, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "" +"An error occurred during the processing of your payment (status %s). Please " +"try again." +msgstr "支払処理中にエラーが発生しました(ステータス %s) 。再度試して下さい。" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "コード" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "APIへの接続を確立できませんでした。" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "参照に一致する取引が見つかりません%s。" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "決済プロバイダー" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "決済トランザクション" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "参照が欠落しているデータを受信しました。" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "シークレットキー" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "APIとの通信に失敗しました。Xenditから以下の情報が得られました: '%s'" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "この決済プロバイダーのテクニカルコード。" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "Webhookトークン" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "Xenditシークレットキー" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "Xendit Webhookトークン" diff --git a/i18n/ko.po b/i18n/ko.po new file mode 100644 index 0000000..4ef841f --- /dev/null +++ b/i18n/ko.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# Sarah Park, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Sarah Park, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "" +"An error occurred during the processing of your payment (status %s). Please " +"try again." +msgstr "결제를 처리하는 중 오류가 발생했습니다. (상태 %s) 다시 시도해 주세요." + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "코드" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "API 연결을 설정할 수 없습니다." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "%s 참조와 일치하는 거래 항목이 없습니다." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "결제대행업체" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "지불 거래" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "참조가 누락된 데이터가 수신되었습니다." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "비밀 키" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "이 결제대행업체의 기술 코드입니다." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "웹훅 토큰" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/lt.po b/i18n/lt.po new file mode 100644 index 0000000..c218e34 --- /dev/null +++ b/i18n/lt.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Linas Versada , 2024 +# Martin Trigaux, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Martin Trigaux, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Kodas" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "Could not establish the connection to the API." +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Mokėjimo operacija" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Slaptas raktas" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/lv.po b/i18n/lv.po new file mode 100644 index 0000000..562138c --- /dev/null +++ b/i18n/lv.po @@ -0,0 +1,106 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Armīns Jeltajevs , 2024 +# Martin Trigaux, 2024 +# Arnis Putniņš , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Arnis Putniņš , 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Kods" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "Could not establish the connection to the API." +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Maksājumu sniedzējs" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Maksājuma darījums" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/nl.po b/i18n/nl.po new file mode 100644 index 0000000..fa934ea --- /dev/null +++ b/i18n/nl.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# Jolien De Paepe, 2024 +# Erwin van der Ploeg , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Erwin van der Ploeg , 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Code" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "Kan geen verbinding maken met de API." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "Geen transactie gevonden die overeenkomt met referentie %s." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Betaalprovider" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Betalingstransactie" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "Gegevens ontvangen met ontbrekende referentie." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Geheime sleutel" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" +"De communicatie met de API is mislukt. Xendit gaf ons de volgende " +"informatie: '%s'" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "De technische code van deze betaalprovider." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "Token Webhook" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "Xendit Secret Key" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "Xendit Webhook Token" diff --git a/i18n/payment_xendit.pot b/i18n/payment_xendit.pot new file mode 100644 index 0000000..b38fcce --- /dev/null +++ b/i18n/payment_xendit.pot @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-29 10:46+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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "Could not establish the connection to the API." +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/pl.po b/i18n/pl.po new file mode 100644 index 0000000..5694d13 --- /dev/null +++ b/i18n/pl.po @@ -0,0 +1,104 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Wil Odoo, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Kod" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Dostawca Płatności" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Transakcja płatności" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Sekretny klucz" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "Kod techniczny tego dostawcy usług płatniczych." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/pt.po b/i18n/pt.po new file mode 100644 index 0000000..d867e1c --- /dev/null +++ b/i18n/pt.po @@ -0,0 +1,104 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Wil Odoo, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Código" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "Could not establish the connection to the API." +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Transação de Pagamento" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Chave secreta" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/pt_BR.po b/i18n/pt_BR.po new file mode 100644 index 0000000..f4f0581 --- /dev/null +++ b/i18n/pt_BR.po @@ -0,0 +1,104 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# Maitê Dietze, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Maitê Dietze, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Código" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "Não foi possível estabelecer a conexão com a API." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "Nenhuma transação encontrada com a referência %s." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Provedor de serviços de pagamento" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Transação do pagamento" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "Dados recebidos com referência ausente." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Chave secreta" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" +"A comunicação com a API falhou. O Xendit nos forneceu as seguintes " +"informações: '%s'" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "O código técnico deste provedor de pagamento." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "Token do webhook" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "Xendit - Chave secreta" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "Xendit - Token do webhook" diff --git a/i18n/ru.po b/i18n/ru.po new file mode 100644 index 0000000..e1c3760 --- /dev/null +++ b/i18n/ru.po @@ -0,0 +1,106 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Irina Fedulova , 2024 +# Martin Trigaux, 2024 +# ILMIR , 2024 +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "" +"An error occurred during the processing of your payment (status %s). Please " +"try again." +msgstr "" +"Во время обработки вашего платежа произошла ошибка (статус %s). Пожалуйста, " +"попробуйте еще раз." + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Код" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "Не удалось установить соединение с API." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "Не найдено ни одной транзакции, соответствующей ссылке %s." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Поставщик платежей" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "платеж" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "Получены данные с отсутствующей ссылкой." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Секретный ключ" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" +"Связь с API завершилась неудачей. Xendit выдал нам следующую информацию: " +"'%s'" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "Технический код данного провайдера платежей." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "Токен вебхука" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "Секретный ключ Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "Xendit Webhook Token" diff --git a/i18n/sk.po b/i18n/sk.po new file mode 100644 index 0000000..d5b0649 --- /dev/null +++ b/i18n/sk.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Wil Odoo, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "" +"An error occurred during the processing of your payment (status %s). Please " +"try again." +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Kód" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Platobná transakcia" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/sl.po b/i18n/sl.po new file mode 100644 index 0000000..3c6f312 --- /dev/null +++ b/i18n/sl.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Tomaž Jug , 2024 +# Martin Trigaux, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Martin Trigaux, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Oznaka" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "Could not establish the connection to the API." +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Ponudnik plačil" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Plačilna transakcija" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/sr.po b/i18n/sr.po new file mode 100644 index 0000000..81db3c1 --- /dev/null +++ b/i18n/sr.po @@ -0,0 +1,106 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Dragan Vukosavljevic , 2024 +# Martin Trigaux, 2024 +# コフスタジオ, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Kod" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "No transaction found matching reference %s." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Provajder plaćanja" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Transakcija plaćanja" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Tajni ključ" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "The technical code of this payment provider." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/sv.po b/i18n/sv.po new file mode 100644 index 0000000..d94c3bf --- /dev/null +++ b/i18n/sv.po @@ -0,0 +1,107 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Kim Asplund , 2024 +# Anders Wallenquist , 2024 +# Martin Trigaux, 2024 +# Lasse L, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Lasse L, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Kod" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "Ingen transaktion hittades som matchar referensen %s." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Betalningsleverantör" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Betalningstransaktion" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Hemlig nyckel" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "Den tekniska koden för denna betalningsleverantör." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/th.po b/i18n/th.po new file mode 100644 index 0000000..0bbf04b --- /dev/null +++ b/i18n/th.po @@ -0,0 +1,102 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# Rasareeyar Lappiam, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "" +"An error occurred during the processing of your payment (status %s). Please " +"try again." +msgstr "" +"เกิดข้อผิดพลาดระหว่างการประมวลผลการชำระเงินของคุณ (สถานะ %s) " +"กรุณาลองใหม่อีกครั้ง" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "โค้ด" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "ไม่สามารถสร้างการเชื่อมต่อกับ API ได้" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "ไม่พบธุรกรรมที่ตรงกับการอ้างอิง %s" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "ผู้ให้บริการชำระเงิน" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "ธุรกรรมสำหรับการชำระเงิน" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "ได้รับข้อมูลโดยไม่มีการอ้างอิง" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "คีย์ลับ" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "การสื่อสารกับ API ล้มเหลว Xendit ให้ข้อมูลต่อไปนี้กับเรา: '%s'" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "รหัสทางเทคนิคของผู้ให้บริการชำระเงินรายนี้" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "โทเค็นเว็บฮุค" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/tr.po b/i18n/tr.po new file mode 100644 index 0000000..eb2d63d --- /dev/null +++ b/i18n/tr.po @@ -0,0 +1,108 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Umur Akın , 2024 +# Ediz Duman , 2024 +# Martin Trigaux, 2024 +# Murat Kaplan , 2024 +# Ertuğrul Güreş , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Ertuğrul Güreş , 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Kod" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "Could not establish the connection to the API." +msgstr "API bağlantısı kurulamadı." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Ödeme Sağlayıcı" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Ödeme İşlemi" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Gizli Şifre" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.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_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/uk.po b/i18n/uk.po new file mode 100644 index 0000000..7345884 --- /dev/null +++ b/i18n/uk.po @@ -0,0 +1,106 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Alina Lisnenko , 2024 +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Wil Odoo, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Код" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "Could not establish the connection to the API." +msgstr "Не вдалося встановити з’єднання з API." + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "Не знайдено жодної транзакції, що відповідає референсу %s." + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Провайдер платежу" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Платіжна операція" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "Дані отримані без референса." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Секретний ключ" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "Технічний код цього провайдера платежу." + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/vi.po b/i18n/vi.po new file mode 100644 index 0000000..39b87ef --- /dev/null +++ b/i18n/vi.po @@ -0,0 +1,106 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: Wil Odoo, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "Mã" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "Nhà cung cấp dịch vụ thanh toán" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "Giao dịch thanh toán" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "Mã khóa bí mật" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.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_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/i18n/zh_CN.po b/i18n/zh_CN.po new file mode 100644 index 0000000..ab5ecdc --- /dev/null +++ b/i18n/zh_CN.po @@ -0,0 +1,101 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# liAnGjiA , 2024 +# 湘子 南 <1360857908@qq.com>, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~17.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-07 10:24+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+0000\n" +"Last-Translator: 湘子 南 <1360857908@qq.com>, 2024\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_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "" +"An error occurred during the processing of your payment (status %s). Please " +"try again." +msgstr "在处理您的付款时发生错误(状态%s)。请重试。" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "代码" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "Could not establish the connection to the API." +msgstr "无法建立与API的连接。" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "No transaction found matching reference %s." +msgstr "没有发现与参考文献%s相匹配的交易。" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "支付提供商" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "支付交易" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +msgid "Received data with missing reference." +msgstr "收到的数据缺少参考编号。" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "密钥" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "与 API 的通信失败。Xendit 提供了以下失败报错信息: '%s'" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "该支付提供商的技术代码。" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "Webhook的Token" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "Xendit 秘密密钥" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "Xendit Webhook 令牌" diff --git a/i18n/zh_TW.po b/i18n/zh_TW.po new file mode 100644 index 0000000..f2e6b60 --- /dev/null +++ b/i18n/zh_TW.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * payment_xendit +# +# Translators: +# Wil Odoo, 2024 +# Tony Ng, 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-29 10:46+0000\n" +"PO-Revision-Date: 2024-01-23 08:23+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_xendit +#. odoo-python +#: code:addons/payment_xendit/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_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__code +msgid "Code" +msgstr "代碼" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "Could not establish the connection to the API." +msgstr "未能建立與 API 的連線。" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "No transaction found matching reference %s." +msgstr "找不到符合參考 %s 的交易。" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_provider +msgid "Payment Provider" +msgstr "付款服務商" + +#. module: payment_xendit +#: model:ir.model,name:payment_xendit.model_payment_transaction +msgid "Payment Transaction" +msgstr "付款交易" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_transaction.py:0 +#, python-format +msgid "Received data with missing reference." +msgstr "收到的數據缺漏參考編號。" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Secret Key" +msgstr "密鑰" + +#. module: payment_xendit +#. odoo-python +#: code:addons/payment_xendit/models/payment_provider.py:0 +#, python-format +msgid "" +"The communication with the API failed. Xendit gave us the following " +"information: '%s'" +msgstr "與 API 通訊失敗。Xendit 提供了以下資訊:%s" + +#. module: payment_xendit +#: model:ir.model.fields,help:payment_xendit.field_payment_provider__code +msgid "The technical code of this payment provider." +msgstr "此付款服務商的技術代碼。" + +#. module: payment_xendit +#: model_terms:ir.ui.view,arch_db:payment_xendit.payment_provider_form_xendit +msgid "Webhook Token" +msgstr "網絡鈎子權杖" + +#. module: payment_xendit +#: model:ir.model.fields.selection,name:payment_xendit.selection__payment_provider__code__xendit +msgid "Xendit" +msgstr "Xendit" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_secret_key +msgid "Xendit Secret Key" +msgstr "" + +#. module: payment_xendit +#: model:ir.model.fields,field_description:payment_xendit.field_payment_provider__xendit_webhook_token +msgid "Xendit Webhook Token" +msgstr "" diff --git a/models/__init__.py b/models/__init__.py new file mode 100644 index 0000000..08dfb8a --- /dev/null +++ b/models/__init__.py @@ -0,0 +1,4 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import payment_provider +from . import payment_transaction diff --git a/models/payment_provider.py b/models/payment_provider.py new file mode 100644 index 0000000..a5d9f22 --- /dev/null +++ b/models/payment_provider.py @@ -0,0 +1,79 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import logging +import pprint + +import requests + +from odoo import _, fields, models +from odoo.exceptions import ValidationError + +from odoo.addons.payment_xendit import const + + +_logger = logging.getLogger(__name__) + + +class PaymentProvider(models.Model): + _inherit = 'payment.provider' + + code = fields.Selection( + selection_add=[('xendit', "Xendit")], ondelete={'xendit': 'set default'} + ) + xendit_secret_key = fields.Char( + string="Xendit Secret Key", groups='base.group_system', required_if_provider='xendit' + ) + xendit_webhook_token = fields.Char( + string="Xendit Webhook Token", groups='base.group_system', required_if_provider='xendit' + ) + + # === BUSINESS METHODS ===# + + def _get_supported_currencies(self): + """ Override of `payment` to return the supported currencies. """ + supported_currencies = super()._get_supported_currencies() + if self.code == 'xendit': + supported_currencies = supported_currencies.filtered( + lambda c: c.name in const.SUPPORTED_CURRENCIES + ) + return supported_currencies + + 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 != 'xendit': + return default_codes + return const.DEFAULT_PAYMENT_METHODS_CODES + + def _xendit_make_request(self, payload=None): + """ Make a request to Xendit API and return the JSON-formatted content of the response. + + Note: self.ensure_one() + + :param dict payload: The payload of the request. + :return The JSON-formatted content of the response. + :rtype: dict + :raise ValidationError: If an HTTP error occurs. + """ + self.ensure_one() + + auth = (self.xendit_secret_key, '') + url = "https://api.xendit.co/v2/invoices" + try: + response = requests.post(url, json=payload, auth=auth, timeout=10) + response.raise_for_status() + except (requests.exceptions.ConnectionError, requests.exceptions.Timeout): + _logger.exception("Unable to reach endpoint at %s", url) + raise ValidationError("Xendit: " + _("Could not establish the connection to the API.")) + except requests.exceptions.HTTPError as err: + error_message = err.response.json().get('message') + _logger.exception( + "Invalid API request at %s with data:\n%s", url, pprint.pformat(payload) + ) + raise ValidationError( + "Xendit: " + _( + "The communication with the API failed. Xendit gave us the following" + " information: '%s'", error_message + ) + ) + return response.json() diff --git a/models/payment_transaction.py b/models/payment_transaction.py new file mode 100644 index 0000000..dc3ad40 --- /dev/null +++ b/models/payment_transaction.py @@ -0,0 +1,150 @@ +# 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 ValidationError + +from odoo.addons.payment_xendit import const + + +_logger = logging.getLogger(__name__) + + +class PaymentTransaction(models.Model): + _inherit = 'payment.transaction' + + def _get_specific_rendering_values(self, processing_values): + """ Override of `payment` to return Xendit-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 != 'xendit': + return res + + # Initiate the payment and retrieve the invoice data. + payload = self._xendit_prepare_invoice_request_payload() + _logger.info("Sending invoice request for link creation:\n%s", pprint.pformat(payload)) + invoice_data = self.provider_id._xendit_make_request(payload) + _logger.info("Received invoice request response:\n%s", pprint.pformat(invoice_data)) + + # Extract the payment link URL and embed it in the redirect form. + rendering_values = { + 'api_url': invoice_data.get('invoice_url') + } + return rendering_values + + def _xendit_prepare_invoice_request_payload(self): + """ Create the payload for the invoice request based on the transaction values. + + :return: The request payload. + :rtype: dict + """ + base_url = self.provider_id.get_base_url() + redirect_url = urls.url_join(base_url, '/payment/status') + payload = { + 'external_id': self.reference, + 'amount': self.amount, + 'description': self.reference, + 'customer': { + 'given_names': self.partner_name, + }, + 'success_redirect_url': redirect_url, + 'failure_redirect_url': redirect_url, + 'payment_methods': [const.PAYMENT_METHODS_MAPPING.get( + self.payment_method_code, self.payment_method_code.upper()) + ], + 'currency': self.currency_id.name, + } + # Extra payload values that must not be included if empty. + if self.partner_email: + payload['customer']['email'] = self.partner_id.email + if phone := self.partner_id.mobile or self.partner_id.phone: + payload['customer']['mobile_number'] = phone + address_details = {} + if self.partner_city: + address_details['city'] = self.partner_city + if self.partner_country_id.name: + address_details['country'] = self.partner_country_id.name + if self.partner_zip: + address_details['postal_code'] = self.partner_zip + if self.partner_state_id.name: + address_details['state'] = self.partner_state_id.name + if self.partner_address: + address_details['street_line1'] = self.partner_address + if address_details: + payload['customer']['addresses'] = [address_details] + + return payload + + def _get_tx_from_notification_data(self, provider_code, notification_data): + """ Override of `payment` to find the transaction based on the notification 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: 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 != 'xendit' or len(tx) == 1: + return tx + + reference = notification_data.get('external_id') + if not reference: + raise ValidationError("Xendit: " + _("Received data with missing reference.")) + + tx = self.search([('reference', '=', reference), ('provider_code', '=', 'xendit')]) + if not tx: + raise ValidationError( + "Xendit: " + _("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 Xendit 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. + """ + self.ensure_one() + + super()._process_notification_data(notification_data) + if self.provider_code != 'xendit': + return + + # Update the provider reference. + self.provider_reference = notification_data.get('id') + + # Update payment method. + payment_method_code = notification_data.get('payment_method', '') + payment_method = self.env['payment.method']._get_from_code( + payment_method_code, mapping=const.PAYMENT_METHODS_MAPPING + ) + self.payment_method_id = payment_method or self.payment_method_id + + # Update the payment state. + payment_status = notification_data.get('status') + if payment_status in const.PAYMENT_STATUS_MAPPING['pending']: + self._set_pending() + elif payment_status in const.PAYMENT_STATUS_MAPPING['done']: + self._set_done() + 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." + )) diff --git a/static/description/icon.png b/static/description/icon.png new file mode 100644 index 0000000..199f849 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..2aedb23 --- /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..2441530 --- /dev/null +++ b/tests/common.py @@ -0,0 +1,34 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.addons.payment.tests.common import PaymentCommon + + +class XenditCommon(PaymentCommon): + + @classmethod + def setUpClass(cls): + super().setUpClass() + + cls.xendit = cls._prepare_provider('xendit', update_values={ + 'xendit_secret_key': 'xnd_secret_key', + 'xendit_webhook_token': 'xnd_webhook_token', + }) + cls.provider = cls.xendit + cls.webhook_notification_data = { + 'amount': 1740, + 'status': 'PAID', + 'created': '2023-07-12T09:31:13.111Z', + 'paid_at': '2023-07-12T09:31:22.830Z', + 'updated': '2023-07-12T09:31:23.577Z', + 'user_id': '64118d86854d7d89206e732d', + 'currency': 'IDR', + 'bank_code': 'BNI', + 'description': cls.reference, + 'external_id': cls.reference, + 'paid_amount': 1740, + 'merchant_name': 'Odoo', + 'initial_amount': 1740, + 'payment_method': 'BANK_TRANSFER', + 'payment_channel': 'BNI', + 'payment_destination': '880891384013', + } diff --git a/tests/test_payment_provider.py b/tests/test_payment_provider.py new file mode 100644 index 0000000..a078715 --- /dev/null +++ b/tests/test_payment_provider.py @@ -0,0 +1,16 @@ +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo.tests import tagged + +from odoo.addons.payment_xendit.tests.common import XenditCommon + + +@tagged('post_install', '-at_install') +class TestPaymentProvider(XenditCommon): + def test_incompatible_with_unsupported_currencies(self): + """ Test that Xendit providers are filtered out from compatible providers when the currency + is not supported. """ + 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.xendit, compatible_providers) diff --git a/tests/test_payment_transaction.py b/tests/test_payment_transaction.py new file mode 100644 index 0000000..62d6617 --- /dev/null +++ b/tests/test_payment_transaction.py @@ -0,0 +1,69 @@ +# 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.tests.http_common import PaymentHttpCommon +from odoo.addons.payment_xendit.tests.common import XenditCommon + + +@tagged('post_install', '-at_install') +class TestPaymentTransaction(PaymentHttpCommon, XenditCommon): + + def test_no_item_missing_from_invoice_request_payload(self): + """ Test that the invoice request values are conform to the transaction fields. """ + self.maxDiff = 10000 # Allow comparing large dicts. + tx = self._create_transaction(flow='redirect') + request_payload = tx._xendit_prepare_invoice_request_payload() + return_url = self._build_url('/payment/status') + self.assertDictEqual(request_payload, { + 'external_id': tx.reference, + 'amount': tx.amount, + 'description': tx.reference, + 'customer': { + 'given_names': tx.partner_name, + 'email': tx.partner_email, + 'mobile_number': tx.partner_id.phone, + 'addresses': [{ + 'city': tx.partner_city, + 'country': tx.partner_country_id.name, + 'postal_code': tx.partner_zip, + 'street_line1': tx.partner_address, + }], + }, + 'success_redirect_url': return_url, + 'failure_redirect_url': return_url, + 'payment_methods': [self.payment_method_code.upper()], + 'currency': tx.currency_id.name, + }) + + @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('redirect') + with patch( + 'odoo.addons.payment_xendit.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_get_tx_from_notification_data_returns_tx(self): + """ Test that the transaction is found based on the notification data. """ + tx = self._create_transaction('redirect') + tx_found = self.env['payment.transaction']._get_tx_from_notification_data( + 'xendit', self.webhook_notification_data + ) + self.assertEqual(tx, tx_found) + + 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('redirect') + tx._process_notification_data(self.webhook_notification_data) + self.assertEqual(tx.state, 'done') diff --git a/tests/test_processing_flows.py b/tests/test_processing_flows.py new file mode 100644 index 0000000..f535ba5 --- /dev/null +++ b/tests/test_processing_flows.py @@ -0,0 +1,75 @@ +# 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_xendit.controllers.main import XenditController +from odoo.addons.payment_xendit.tests.common import XenditCommon + + +@tagged('post_install', '-at_install') +class TestProcessingFlow(XenditCommon, PaymentHttpCommon): + + @mute_logger('odoo.addons.payment_xendit.controllers.main') + def test_webhook_notification_triggers_processing(self): + """ Test that receiving a valid webhook notification and signature verified triggers the + processing of the notification data. """ + self._create_transaction('redirect') + url = self._build_url(XenditController._webhook_url) + with patch( + 'odoo.addons.payment_xendit.controllers.main.XenditController' + '._verify_notification_token' + ), 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_xendit.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(XenditController._webhook_url) + with patch( + 'odoo.addons.payment_xendit.controllers.main.XenditController.' + '_verify_notification_token' + ) as signature_check_mock: + 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, + XenditController._verify_notification_token, + XenditController, + self.provider.xendit_webhook_token, + tx, + ) + + @mute_logger('odoo.addons.payment_xendit.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, + XenditController._verify_notification_token, + XenditController, + None, + tx, + ) + + @mute_logger('odoo.addons.payment_xendit.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, XenditController._verify_notification_token, XenditController, 'dummy', tx + ) diff --git a/views/payment_provider_views.xml b/views/payment_provider_views.xml new file mode 100644 index 0000000..3500d36 --- /dev/null +++ b/views/payment_provider_views.xml @@ -0,0 +1,26 @@ + + + + + Xendit Provider Form + payment.provider + + + + + + + + + + + + diff --git a/views/payment_xendit_templates.xml b/views/payment_xendit_templates.xml new file mode 100644 index 0000000..0961237 --- /dev/null +++ b/views/payment_xendit_templates.xml @@ -0,0 +1,8 @@ + + + + + +