From e54c2e8049f615fd603f1f1213a3554239fd52b2 Mon Sep 17 00:00:00 2001 From: Sergey Krylov <krylov.sa@ispras.ru> Date: Mon, 24 Feb 2025 15:53:41 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D1=87=D0=B0=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D0=BE=D0=B5=20=D0=BD=D0=B0=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 34 ++++++- __init__.py | 14 +++ __manifest__.py | 19 ++++ const.py | 38 ++++++++ controllers/__init__.py | 3 + controllers/main.py | 60 ++++++++++++ data/neutralize.sql | 3 + data/payment_provider_data.xml | 9 ++ i18n/ar.po | 102 ++++++++++++++++++++ i18n/bg.po | 111 +++++++++++++++++++++ i18n/ca.po | 108 +++++++++++++++++++++ i18n/cs.po | 104 ++++++++++++++++++++ i18n/da.po | 105 ++++++++++++++++++++ i18n/de.po | 104 ++++++++++++++++++++ i18n/es.po | 103 ++++++++++++++++++++ i18n/es_419.po | 103 ++++++++++++++++++++ i18n/et.po | 107 ++++++++++++++++++++ i18n/fa.po | 105 ++++++++++++++++++++ i18n/fi.po | 101 +++++++++++++++++++ i18n/fr.po | 104 ++++++++++++++++++++ i18n/he.po | 107 ++++++++++++++++++++ i18n/hu.po | 106 ++++++++++++++++++++ i18n/id.po | 103 ++++++++++++++++++++ i18n/it.po | 105 ++++++++++++++++++++ i18n/ja.po | 100 +++++++++++++++++++ i18n/ko.po | 100 +++++++++++++++++++ i18n/lt.po | 105 ++++++++++++++++++++ i18n/lv.po | 106 ++++++++++++++++++++ i18n/nl.po | 105 ++++++++++++++++++++ i18n/payment_xendit.pot | 100 +++++++++++++++++++ i18n/pl.po | 104 ++++++++++++++++++++ i18n/pt.po | 104 ++++++++++++++++++++ i18n/pt_BR.po | 104 ++++++++++++++++++++ i18n/ru.po | 106 ++++++++++++++++++++ i18n/sk.po | 99 +++++++++++++++++++ i18n/sl.po | 105 ++++++++++++++++++++ i18n/sr.po | 106 ++++++++++++++++++++ i18n/sv.po | 107 ++++++++++++++++++++ i18n/th.po | 102 ++++++++++++++++++++ i18n/tr.po | 108 +++++++++++++++++++++ i18n/uk.po | 106 ++++++++++++++++++++ i18n/vi.po | 106 ++++++++++++++++++++ i18n/zh_CN.po | 101 +++++++++++++++++++ i18n/zh_TW.po | 105 ++++++++++++++++++++ models/__init__.py | 4 + models/payment_provider.py | 79 +++++++++++++++ models/payment_transaction.py | 150 +++++++++++++++++++++++++++++ static/description/icon.png | Bin 0 -> 3296 bytes static/description/icon.svg | 1 + tests/__init__.py | 6 ++ tests/common.py | 34 +++++++ tests/test_payment_provider.py | 16 +++ tests/test_payment_transaction.py | 69 +++++++++++++ tests/test_processing_flows.py | 75 +++++++++++++++ views/payment_provider_views.xml | 26 +++++ views/payment_xendit_templates.xml | 8 ++ 56 files changed, 4404 insertions(+), 1 deletion(-) create mode 100644 __init__.py create mode 100644 __manifest__.py create mode 100644 const.py create mode 100644 controllers/__init__.py create mode 100644 controllers/main.py create mode 100644 data/neutralize.sql create mode 100644 data/payment_provider_data.xml create mode 100644 i18n/ar.po create mode 100644 i18n/bg.po create mode 100644 i18n/ca.po create mode 100644 i18n/cs.po create mode 100644 i18n/da.po create mode 100644 i18n/de.po create mode 100644 i18n/es.po create mode 100644 i18n/es_419.po create mode 100644 i18n/et.po create mode 100644 i18n/fa.po create mode 100644 i18n/fi.po create mode 100644 i18n/fr.po create mode 100644 i18n/he.po create mode 100644 i18n/hu.po create mode 100644 i18n/id.po create mode 100644 i18n/it.po create mode 100644 i18n/ja.po create mode 100644 i18n/ko.po create mode 100644 i18n/lt.po create mode 100644 i18n/lv.po create mode 100644 i18n/nl.po create mode 100644 i18n/payment_xendit.pot create mode 100644 i18n/pl.po create mode 100644 i18n/pt.po create mode 100644 i18n/pt_BR.po create mode 100644 i18n/ru.po create mode 100644 i18n/sk.po create mode 100644 i18n/sl.po create mode 100644 i18n/sr.po create mode 100644 i18n/sv.po create mode 100644 i18n/th.po create mode 100644 i18n/tr.po create mode 100644 i18n/uk.po create mode 100644 i18n/vi.po create mode 100644 i18n/zh_CN.po create mode 100644 i18n/zh_TW.po create mode 100644 models/__init__.py create mode 100644 models/payment_provider.py create mode 100644 models/payment_transaction.py create mode 100644 static/description/icon.png create mode 100644 static/description/icon.svg create mode 100644 tests/__init__.py create mode 100644 tests/common.py create mode 100644 tests/test_payment_provider.py create mode 100644 tests/test_payment_transaction.py create mode 100644 tests/test_processing_flows.py create mode 100644 views/payment_provider_views.xml create mode 100644 views/payment_xendit_templates.xml 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 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo noupdate="1"> + + <record id="payment.payment_provider_xendit" model="payment.provider"> + <field name="code">xendit</field> + <field name="redirect_form_view_id" ref="redirect_form"/> + </record> + +</odoo> 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 <msea@odoo.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: Malaz Abuidris <msea@odoo.com>, 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 <albena_vicheva@abv.bg>, 2024 +# Maria Boyadjieva <marabo2000@gmail.com>, 2024 +# aleksandar ivanov, 2024 +# Turhan Aydin <taydin@unionproject.eu>, 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 <taydin@unionproject.eu>, 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 <odoo@rgbconsulting.com>, 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 <lhm@flexerp.dk>, 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 <pagc@odoo.com>, 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 <jarmo.kortetjarvi@gmail.com>, 2024 +# Veikko Väätäjä <veikko.vaataja@gmail.com>, 2024 +# Ossi Mantylahti <ossi.mantylahti@obs-solutions.fi>, 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 <ossi.mantylahti@obs-solutions.fi>, 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 <excaliberx@gmail.com>, 2024 +# Martin Trigaux, 2024 +# Ha Ketem <haketem@gmail.com>, 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 <haketem@gmail.com>, 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 <ntomasz81@gmail.com>, 2024 +# gezza <geza.nagy@oregional.hu>, 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 <primes2h@gmail.com>, 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 <linaskrisiukenas@gmail.com>, 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 <armins.jeltajevs@gmail.com>, 2024 +# Martin Trigaux, 2024 +# Arnis Putniņš <arnis@allegro.lv>, 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ņš <arnis@allegro.lv>, 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 <erwin@odooexperts.nl>, 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 <erwin@odooexperts.nl>, 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 <istartlin@gmail.com>, 2024 +# Martin Trigaux, 2024 +# ILMIR <karamov@it-projects.info>, 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 <tomaz@editor.si>, 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 <dragan.vukosavljevic@gmail.com>, 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 <kim.asplund@gmail.com>, 2024 +# Anders Wallenquist <anders.wallenquist@vertel.se>, 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 <umura@projetgrup.com>, 2024 +# Ediz Duman <neps1192@gmail.com>, 2024 +# Martin Trigaux, 2024 +# Murat Kaplan <muratk@projetgrup.com>, 2024 +# Ertuğrul Güreş <ertugrulg@projetgrup.com>, 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ş <ertugrulg@projetgrup.com>, 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 <alina.lisnenko@erp.co.ua>, 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 <liangjia@qq.com>, 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 0000000000000000000000000000000000000000..199f849265995aa8e3a500346dda5c1cc76be8d4 GIT binary patch literal 3296 zcmV<63?K7}P)<h;3K|Lk000e1NJLTq003kF003kN1^@s6aN?Cz00009a7bBm000&x z000&x0ZCFM@Bjb+0drDELIAGL9O(c600d`2O+f$vv5yP<VFdsH40TCFK~#7F?VaCm z99I>`&z%`NO-qt>c_=Tm>y`)Fs!0rj2PD#|lJpl2af%v6fXJ4ol32B=c#hZo0}=<d zh^NHi0R<z)b`lV28)sEsDz(V@@jxFa_Cp_931XLq($q6^IcIhp*7nZ*wfD{fnol&b zy?bYOcF&x9&i&pqcK}LCN=iyfN=iyfN=iyfO8$Fb&?TOJak?7&{uRzx6)eL!JAL`J z!5@PryN74#`#2s4$#`Spz%q1!0J_9V;MW<jDp-bdSd8P9S3nayK>(tp8U?{<5HpSs zy$oHzgDybcfyOutPGI%MFApq&CM!X}a66v<!P)5EBfr}TU7#xl!L#r*IDotZyQ(vw z$=)O9!Ap1z`>UbsA;!JrICO!+4T2xOhCf1ZfXBT9U;<139b5Nk_~h{UAt;#QJ%qs+ zH~<6r<Qu>E&Q;K4&+rB8q1afP<bvUA9uG&SD^MVX8U#Q5n2W3mS;jy<4w_IP52C0a ze;sM}JZI1!MBXSANMUI&1#*lX3$k{2S}uYnXyh|*zPhgtn(Q7vPoMv^B*9ohqkZiU z28n_Rg{8gCG*`@1%h%!Q<r^<NcJXWj95X-kec&JbX6NNCj~u?VZM&#xU)0RLo`V7? zq{|AAOz)JXxqZ<s*!9Vu@oeW#V$6E{IA%c{o%{Ab-h<7_=d$KQ*xiOu0EHN&hxya8 zHcx$g9lw|r`Zc_^@1WCu`})2^_&=-Rf7QFu82gvrmF+^#eGCe~xj`t+l?8J0j&I)j z>z%*Ro5tqDAt%|*{LmqYeZWA@?|i}Z-Vc5Dk!;s+&(ZVF1H4m%P#{-HbB})X#`=dU z{+3Nnx-LKA47Zo?*J|tI<e?JqJYmONr@>AQLV;Z79pAY1KHMAqv)xmp^UpqSRlZ2Q z!^7j@u;EPq3VH|~i-f))_MLWJ&J3cWS5a3bIx~IWI{_B)B4D`Xdfxt}Kgk2UW1Y*H zK~SiZewhQGE-vSI$136V!Gl)h3ku|nL5(q<dy-Iq-}T9RvX^qIb2%{x1@ac5t}P@4 zK6CS$Tzg{dgq;A7<L;I~p4Vva$Jc9IJ~$0srNM4IL`kn=^#K|Ha%e~zR=usg9c4E+ z1`m<~K*v-SHsmn#v-^K|hA}3a+(Ji#Q!WC$b%UtrRU`zi%H(mtUH}P<vk?r)RWN`8 zc@%j4cuXUbrW}vuWt3p(_eQqmH+H0RSv5$S<^o6$vQ-Eim^r(MU4%>+tawTCI2h0p z$c1M!cA+QfSm^gCia2fxQ^4L!*=M$fRfABP3z83xjIW>3OM=fQaLzP$4jZ3a+;M(N zd*X?_BMG1?3gp@AFC+mwx%xLA9|VDiLTDm8QTkT=9;<1vHG`<=RTRka%$r>Q_`uA} zGVc4+y#28M&wWmWALAe}=5vx}9N%Dk)jL*+f&?NzAtMQk9njb{n*rXMK~(fA(R}yz z3uh;D0{rCmi&Hb8NvmEZYM1AIjfn%;-SsTtz+P4`VO8g{Vh|O*N@cz~2DYJ#h<&C# z@zhSQ$~&wiPI6`Sxz`54V|)TYnh9FdxjHt8s$Lbx(G#*Zlm=69UHu!4yrC;mAy2Pr z!{os4e=D2zrIH}ImsrxdIyOku<BzDMxvHf(NpQPP0lwLloUMZad3x2FW5St0^ge0* z7Nx-)cmp?CQqgB44erPwsdu2ZBWb2J-%SA?zpil%v~@5<q*vX6v7f7YUmV0d_G3yc zB-M=Gu};(Ajtr8exiU`b7Ow5MFg0P4<`NjpYbt53j`vZ34`Oc#{r9A#DZ}aBQ_um% z25IV5@-)|^_@FbSQ^0AO3!1E^!LD^Ka}QC}tDrzovr^KlOuVn@CBc%a&IN`T8AP$Z zYR06j(-hLW@R(%rEY+*P5FMRs&+u#=4A3@6I`PDLP1X)a<VK@wQ!tR%K|`-HMMvi{ zNrSZwqB1SZ4FY*5kay_nRi=>6<p;qceMU*sK7XZ0dm>BAAS%<c>Gc^=Gyw&Ides$4 zleT)5DRB^C8XQq#U|r|ZG6-GqByVMQeTFHN=7OPKWr|CkOW7c{^eUS)C#~dZu1K#k zMMvj)^5{k7i<6WLk_IP*G}rk03`2q_p$}S>G*i*5Oi|Lg62?!c26!cd1W}-*SD9R& zVM><f)+Nojie6<(Q|AKIxj;5OpsaIA4U%ayby+);>oYnbOLK*w!CtWy$n(GihT}$K z8=20fG~FvTh@xIKUUVS0tyh`SGTkdpgH?1csX;K!eE_5+P%KJ%RUHa~p)0EN{@ATA z%GyX@1xKaQG97%Gk#J<X4;(`?ff{<%ub=?vvN%7EtB`Y9Tnk*~`gy5Anq85!`l8}T zJ;&(+O2<$jugMy9qF3n<)~}!n>@$UG8?LHeC}mkFJyX8DBx*yWQgC#+GeO>w1@fw- z>7?sGzRF!6E`uM%{n)MlNYpM<FO*~(C4<nq9}1&VVhjgC;D~;eKyFeLVM2Ihij)hM z`2J-{Q?8?4D38=}WU4eO#jS>eAg~FQ^eEI<fla+i1a(!tu!-SUt)gBmpn9Pk&veyZ z>Dfo4Qan&=Maa}uAvKWeRSP!tDiPFGc}Y@jv--n^!$S4qd!T`qL2zVB)fbbJW)+-& z9!*!*u|riM%>@^FRXfN#sH?&;#bFofh4y?%9K}-EnbKhVuOB*uyaV;B8gy5$T0`m` z%`{hbk}R1l6QymCEDe@r3>6xcT1bN_&6OA76&T1V&5h*h1&NMElXOON>XZg^&KD%j zLfoX)ig{2VSJbP<i%N5Q;4YMIp{A1NV)t%zk{B6;(qM(^3!v%?oa_ffoaj}&UWfVp z`#~4V9J$wa8K*XfWnOJ#Tn0n|9)AdD5IIZx{<>}&OqZak1ag!5s;gJ8(kQlaZQnuV zeJGIktoW!`G1Y1tW7(#o%0<QMixHhPI7@R?^r~syH1|pv;&^5g3!+|1I!5P1HBU)L z<QT{q=dzhUsz~Wbw&}<q6tvJkWd#kDAo0gE0=zT5s#5t9B>?Hf7WO^Z^)Ts)(yCWU zyhB;9647z>dmN<I7ebvYE65H(f=j*X-N8X%F=s7_LLV*PG5_rI!u?$6RU$ezh-ID2 znO^0?-T0;PA$<MTFP6Hloq7AX(yK&tY!E_2=Q^Ah;9crfZ$I+`@G&jKZGGVyqvbnp z3?ACBk4wEugcXBiNY7f7UFz)uyi2``0{P~i2q*PYZ>Y9u@;Gkc`T*}zuM%O+AWfYM zg!wI{!8tltRVB^!I8(^#)<S_i@fc=ExiflbEPkprz`NF~MA-BYP^`XKqjTx#RVHgO zdJzS3p64B_^waVknWyULRoq0c5@FRKhB}v1y($S9ry^@EtHb3iy+~A3ud-fkW7Qyp zhRzihp;zI4_#Vju_AT;i^_Y+Cy7d8btyhV#ZV*+S3pv3Z=~e4V{M)pA2YJb&r0L=3 zZoU(`)~iHVHwdAkb0ItDwml+WG0s4*TF<~N3Y<~zQX*fXgT1}=p>wYFDiKZ$LPUut zl{V(KK3e&g*DGpr#n!a!z{M#X9I{!_`dohx?n#eH@=_h^RU(`jq=BiROy?qFT-x?n z?(-PPwbNV?ao}^@a=*;Cwmb|sgD;3)g6k}TV1hG)5Gp#?TU#H7zihg%-BZ@<s|IF% zjR8Ks+PZwlD&!r1-1=4F{-$^D(ZQ)fRCTUPm9=ZHyR5HD{Le5AzCGTW22=ie_KV+= z?P^W065-S!M5c4ii`u+@*L`qf^OyhgfW!JK3h-XsyOb{9k@3zw52nW;BD*@wNg!{< zxj{0dL2&louctAki2AA>7p7<+c#;DAr(O@dUfC|&h3ea_#<M&a6vXb~3+M37gqOT! zx2t%<L?WS)Kiv{Xwf+6K{{}z#@Xc_p@6ox}#kZ?4z73xVg&8D#ak?4=0d-xuX=S!r zslw$CYay``<(Rs{6zj(Kl#e+m&3&-(|8_$c`apYzXED3+a&@Z?E{m(;HkMvDV;3iS zm58EZNQy+~GWy`*k!jV-?zC~GSBWUpAnEN)*~S1*Gj1I$<22ytCY8?gDiMVmgt+|b zcj*%1#@a{C#vF7*$R6gO12;5^NORXyxIr>n4KQu8`a?GBSW^hfCMd4>W1p@VB%AI{ zb*>JCI;GW64REekiRjwhqDklSBM(eJIL&wCj|ZTc30Z^UnQOhOq@<*zq@<*zq@<*z eq@?73g?|IU@G=n=Cuv6j0000<MNUMnLSTZ-B1Xgj literal 0 HcmV?d00001 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 @@ +<svg width="50" height="50" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><path d="M26.936 5H15.642L4 25.012 15.642 45l2.296-3.929-9.346-16.06 9.346-16.06h6.68L26.936 5Z" fill="#446CB3"/><path d="m18.982 18.579 2.296-3.929-3.34-5.698-2.296 3.952 3.34 5.675Zm13.08-9.627 2.296 3.952-16.42 28.168-2.296-3.952 16.42-28.168Z" fill="#D24D57"/><path d="m23.087 45 2.273-3.952h6.702l9.346-16.037-9.346-16.06L34.358 5 46 25.012 34.358 45H23.087Z" fill="#446CB3"/><path d="m30.972 31.352-2.296 3.93 3.386 5.766 2.296-3.883-3.386-5.813Z" fill="#D24D57"/></svg> 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 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <record id="payment_provider_form_xendit" model="ir.ui.view"> + <field name="name">Xendit Provider Form</field> + <field name="model">payment.provider</field> + <field name="inherit_id" ref="payment.payment_provider_form"/> + <field name="arch" type="xml"> + <group name="provider_credentials" position="inside"> + <group invisible="code != 'xendit'"> + <field name="xendit_secret_key" + string="Secret Key" + required="code == 'xendit' and state != 'disabled'" + password="True" + /> + <field name="xendit_webhook_token" + string="Webhook Token" + required="code == 'xendit' and state != 'disabled'" + password="True" + /> + </group> + </group> + </field> + </record> + +</odoo> 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 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <template id="redirect_form"> + <form t-att-action="api_url" method="get"/> + </template> + +</odoo>