Files
encoach_backend_new_v3/odoo/addons/payment_nuvei/const.py
Yamen Ahmad 3e83d8d7d5 feat: add complete EnCoach backend — Odoo 19 + all addons
Includes:
- Odoo 19 framework (odoo/)
- 27 custom EnCoach addons (new_project/custom_addons/)
  - encoach_core, encoach_api, encoach_lms_api, encoach_adaptive_api
  - encoach_exam, encoach_taxonomy, encoach_adaptive, encoach_assignment
  - encoach_ai, encoach_ai_grading, encoach_ai_generation, encoach_ai_media
  - encoach_courseware, encoach_communication, encoach_subscription
  - encoach_notification, encoach_approval, encoach_branding
  - encoach_classroom, encoach_registration, encoach_stats
  - encoach_faq, encoach_ticket, encoach_training, encoach_resources
  - encoach_adaptive_ai, encoach_sis
- 21 OpenEduCat Enterprise modules (new_project/enterprise-19/)
- 14 OpenEduCat Community modules (new_project/openeducat_erp-19.0/)
- Configuration: odoo.conf, requirements.txt, scripts
- 200+ REST API endpoints with JWT authentication
- SRS and test documentation

Made-with: Cursor
2026-04-01 17:10:04 +04:00

68 lines
1.5 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
# The currencies supported by Nuvei, in ISO 4217 format.
SUPPORTED_CURRENCIES = [
'ARS',
'BRL',
'CAD',
'CLP',
'COP',
'MXN',
'PEN',
'USD',
'UYU',
]
# The codes of the payment methods to activate when Nuvei is activated.
DEFAULT_PAYMENT_METHOD_CODES = {
# Primary payment methods.
'card',
# Brand payment methods.
'visa',
'mastercard',
'amex',
'discover',
'tarjeta_mercadopago',
'naranja',
}
# Some payment methods require no decimal points no matter the currency
INTEGER_METHODS = [
'webpay',
]
# Some payment methods require first and last name on customers to work.
FULL_NAME_METHODS = [
'boleto',
]
# Mapping of payment method codes to Nuvei codes.
PAYMENT_METHODS_MAPPING = {
'astropay': 'apmgw_Astropay_TEF',
'boleto': 'apmgw_BOLETO',
'card': 'cc_card',
'nuvei_local': 'apmgw_Local_Payments',
'oxxopay': 'apmgw_OXXO_PAY',
'pix': 'apmgw_PIX',
'pse': 'apmgw_PSE',
'spei': 'apmgw_SPEI',
'webpay': 'apmgw_Webpay',
}
# The keys of the values to use in the calculation of the signature.
SIGNATURE_KEYS = [
'totalAmount',
'currency',
'responseTimeStamp',
'PPP_TransactionID',
'Status',
'productId',
]
# Mapping of transaction states to Nuvei payment statuses.
PAYMENT_STATUS_MAPPING = {
'pending': ('pending',),
'done': ('approved', 'ok',),
'error': ('declined', 'error', 'fail',),
}