workspace-v1/shared/knowledge-base/reference/odoo/odoo-18.0/addons/payment/const.py
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
Sistema NEXUS v3.4 migrado con:

Estructura principal:
- core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles)
- core/catalog: Catalogo de funcionalidades reutilizables
- shared/knowledge-base: Base de conocimiento compartida
- devtools/scripts: Herramientas de desarrollo
- control-plane/registries: Control de servicios y CI/CD
- orchestration/: Configuracion de orquestacion de agentes

Proyectos incluidos (11):
- gamilit (submodule -> GitHub)
- trading-platform (OrbiquanTIA)
- erp-suite con 5 verticales:
  - erp-core, construccion, vidrio-templado
  - mecanicas-diesel, retail, clinicas
- betting-analytics
- inmobiliaria-analytics
- platform_marketing_content
- pos-micro, erp-basico

Configuracion:
- .gitignore completo para Node.js/Python/Docker
- gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git)
- Sistema de puertos estandarizado (3005-3199)

Generated with NEXUS v3.4 Migration System
EPIC-010: Configuracion Git y Repositorios
2026-01-04 03:37:42 -06:00

553 lines
9.0 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.tools.translate import LazyTranslate
_lt = LazyTranslate(__name__, default_lang='en_US')
# The keys that are sensitive and should not be logged.
SENSITIVE_KEYS = set()
# Mapping of ISO 3166-1 country codes in alpha-2 format to the numeric format.
COUNTRY_NUMERIC_CODES = {
'AF': '004',
'AL': '008',
'DZ': '012',
'AS': '016',
'AD': '020',
'AO': '024',
'AG': '028',
'AZ': '031',
'AR': '032',
'AU': '036',
'AT': '040',
'BS': '044',
'BH': '048',
'BD': '050',
'AM': '051',
'BB': '052',
'BE': '056',
'BM': '060',
'BT': '064',
'BO': '068',
'BA': '070',
'BW': '072',
'BV': '074',
'BR': '076',
'BZ': '084',
'IO': '086',
'SB': '090',
'VG': '092',
'BN': '096',
'BG': '100',
'MM': '104',
'BI': '108',
'BY': '112',
'KH': '116',
'CM': '120',
'CA': '124',
'CV': '132',
'KY': '136',
'CF': '140',
'LK': '144',
'TD': '148',
'CL': '152',
'CN': '156',
'TW': '158',
'CX': '162',
'CC': '166',
'CO': '170',
'KM': '174',
'YT': '175',
'CG': '178',
'CD': '180',
'CK': '184',
'CR': '188',
'HR': '191',
'CU': '192',
'CY': '196',
'CZ': '203',
'DK': '208',
'DM': '212',
'DO': '214',
'EC': '218',
'SV': '222',
'GQ': '226',
'ET': '231',
'ER': '232',
'EE': '233',
'FO': '234',
'FK': '238',
'GS': '239',
'FJ': '242',
'FI': '246',
'AX': '248',
'FR': '250',
'GF': '254',
'PF': '258',
'TF': '260',
'DJ': '262',
'GA': '266',
'GE': '268',
'GM': '270',
'PS': '275',
'DE': '276',
'GH': '288',
'GI': '292',
'KI': '296',
'GR': '300',
'GL': '304',
'GD': '308',
'GP': '312',
'GU': '316',
'GT': '320',
'GN': '324',
'GY': '328',
'HT': '332',
'HM': '334',
'VA': '336',
'HN': '340',
'HK': '344',
'HU': '348',
'IS': '352',
'IN': '356',
'ID': '360',
'IR': '364',
'IQ': '368',
'IE': '372',
'IL': '376',
'IT': '380',
'CI': '384',
'JM': '388',
'JP': '392',
'KZ': '398',
'JO': '400',
'KE': '404',
'KP': '408',
'KR': '410',
'KW': '414',
'KG': '417',
'LA': '418',
'LB': '422',
'LS': '426',
'LV': '428',
'LR': '430',
'LY': '434',
'LI': '438',
'LT': '440',
'LU': '442',
'MO': '446',
'MG': '450',
'MW': '454',
'MY': '458',
'MV': '462',
'ML': '466',
'MT': '470',
'MQ': '474',
'MR': '478',
'MU': '480',
'MX': '484',
'MC': '492',
'MN': '496',
'MD': '498',
'ME': '499',
'MS': '500',
'MA': '504',
'MZ': '508',
'OM': '512',
'NA': '516',
'NR': '520',
'NP': '524',
'NL': '528',
'CW': '531',
'AW': '533',
'SX': '534',
'BQ': '535',
'NC': '540',
'VU': '548',
'NZ': '554',
'NI': '558',
'NE': '562',
'NG': '566',
'NU': '570',
'NF': '574',
'NO': '578',
'MP': '580',
'UM': '581',
'FM': '583',
'MH': '584',
'PW': '585',
'PK': '586',
'PA': '591',
'PG': '598',
'PY': '600',
'PE': '604',
'PH': '608',
'PN': '612',
'PL': '616',
'PT': '620',
'GW': '624',
'TL': '626',
'PR': '630',
'QA': '634',
'RE': '638',
'RO': '642',
'RU': '643',
'RW': '646',
'BL': '652',
'SH': '654',
'KN': '659',
'AI': '660',
'LC': '662',
'MF': '663',
'PM': '666',
'VC': '670',
'SM': '674',
'ST': '678',
'SA': '682',
'SN': '686',
'RS': '688',
'SC': '690',
'SL': '694',
'SG': '702',
'SK': '703',
'VN': '704',
'SI': '705',
'SO': '706',
'ZA': '710',
'ZW': '716',
'ES': '724',
'SS': '728',
'SD': '729',
'EH': '732',
'SR': '740',
'SZ': '748',
'SE': '752',
'CH': '756',
'SY': '760',
'TJ': '762',
'TH': '764',
'TG': '768',
'TK': '772',
'TO': '776',
'TT': '780',
'AE': '784',
'TN': '788',
'TR': '792',
'TM': '795',
'TC': '796',
'TV': '798',
'UG': '800',
'UA': '804',
'MK': '807',
'EG': '818',
'GB': '826',
'GG': '831',
'JE': '832',
'IM': '833',
'TZ': '834',
'US': '840',
'VI': '850',
'BF': '854',
'UY': '858',
'UZ': '860',
'VE': '862',
'WF': '876',
'WS': '882',
'YE': '887',
'ZM': '894'
}
# Mapping of ISO 4217 currency codes to their number of decimals.
# See https://en.wikipedia.org/wiki/ISO_4217#Minor_unit_fractions.
CURRENCY_MINOR_UNITS = {
'ADF': 2,
'ADP': 0,
'AED': 2,
'AFA': 2,
'AFN': 2,
'ALL': 2,
'AMD': 2,
'ANG': 2,
'AOA': 2,
'AOK': 0,
'AON': 0,
'AOR': 0,
'ARA': 2,
'ARL': 2,
'ARP': 2,
'ARS': 2,
'ATS': 2,
'AUD': 2,
'AWG': 2,
'AYM': 0,
'AZM': 2,
'AZN': 2,
'BAD': 2,
'BAM': 2,
'BBD': 2,
'BDS': 2,
'BDT': 2,
'BEF': 2,
'BGL': 2,
'BGN': 2,
'BHD': 3,
'BIF': 0,
'BMD': 2,
'BND': 2,
'BOB': 2,
'BOP': 2,
'BOV': 2,
'BRB': 2,
'BRC': 2,
'BRE': 2,
'BRL': 2,
'BRN': 2,
'BRR': 2,
'BSD': 2,
'BTN': 2,
'BWP': 2,
'BYB': 2,
'BYN': 2,
'BYR': 0,
'BZD': 2,
'CAD': 2,
'CDF': 2,
'CHC': 2,
'CHE': 2,
'CHF': 2,
'CHW': 2,
'CLF': 4,
'CLP': 0,
'CNH': 2,
'CNT': 2,
'CNY': 2,
'COP': 2,
'COU': 2,
'CRC': 2,
'CSD': 2,
'CUC': 2,
'CUP': 2,
'CVE': 2,
'CYP': 2,
'CZK': 2,
'DEM': 2,
'DJF': 0,
'DKK': 2,
'DOP': 2,
'DZD': 2,
'ECS': 0,
'ECV': 2,
'EEK': 2,
'EGP': 2,
'ERN': 2,
'ESP': 0,
'ETB': 2,
'EUR': 2,
'FIM': 2,
'FJD': 2,
'FKP': 2,
'FRF': 2,
'GBP': 2,
'GEK': 0,
'GEL': 2,
'GGP': 2,
'GHC': 2,
'GHP': 2,
'GHS': 2,
'GIP': 2,
'GMD': 2,
'GNF': 0,
'GTQ': 2,
'GWP': 2,
'GYD': 2,
'HKD': 2,
'HNL': 2,
'HRD': 2,
'HRK': 2,
'HTG': 2,
'HUF': 2,
'IDR': 2,
'IEP': 2,
'ILR': 2,
'ILS': 2,
'IMP': 2,
'INR': 2,
'IQD': 3,
'IRR': 2,
'ISJ': 2,
'ISK': 0,
'ITL': 0,
'JEP': 2,
'JMD': 2,
'JOD': 3,
'JPY': 0,
'KES': 2,
'KGS': 2,
'KHR': 2,
'KID': 2,
'KMF': 0,
'KPW': 2,
'KRW': 0,
'KWD': 3,
'KYD': 2,
'KZT': 2,
'LAK': 2,
'LBP': 2,
'LKR': 2,
'LRD': 2,
'LSL': 2,
'LTL': 2,
'LTT': 2,
'LUF': 2,
'LVL': 2,
'LVR': 2,
'LYD': 3,
'MAD': 2,
'MAF': 2,
'MCF': 2,
'MDL': 2,
'MGA': 2,
'MGF': 0,
'MKD': 2,
'MMK': 2,
'MNT': 2,
'MOP': 2,
'MRO': 2,
'MRU': 2,
'MTL': 2,
'MUR': 2,
'MVR': 2,
'MWK': 2,
'MXN': 2,
'MXV': 2,
'MYR': 2,
'MZE': 2,
'MZM': 2,
'MZN': 2,
'NAD': 2,
'NGN': 2,
'NIC': 2,
'NIO': 2,
'NIS': 2,
'NLG': 2,
'NOK': 2,
'NPR': 2,
'NTD': 2,
'NZD': 2,
'OMR': 3,
'PAB': 2,
'PEN': 2,
'PES': 2,
'PGK': 2,
'PHP': 2,
'PKR': 2,
'PLN': 2,
'PLZ': 2,
'PRB': 2,
'PTE': 0,
'PYG': 0,
'QAR': 2,
'RHD': 2,
'RMB': 2,
'ROL': 0,
'RON': 2,
'RSD': 2,
'RUB': 2,
'RUR': 2,
'RWF': 0,
'SAR': 2,
'SBD': 2,
'SCR': 2,
'SDD': 2,
'SDG': 2,
'SEK': 2,
'SGD': 2,
'SHP': 2,
'SIT': 2,
'SKK': 2,
'SLE': 2,
'SLL': 2,
'SLS': 2,
'SML': 0,
'SOS': 2,
'SRD': 2,
'SRG': 2,
'SSP': 2,
'STD': 2,
'STG': 2,
'STN': 2,
'SVC': 2,
'SYP': 2,
'SZL': 2,
'THB': 2,
'TJR': 0,
'TJS': 2,
'TMM': 2,
'TMT': 2,
'TND': 3,
'TOP': 2,
'TPE': 0,
'TRL': 0,
'TRY': 2,
'TTD': 2,
'TVD': 2,
'TWD': 2,
'TZS': 2,
'UAH': 2,
'UAK': 2,
'UGX': 0,
'USD': 2,
'USN': 2,
'USS': 2,
'UYI': 0,
'UYN': 2,
'UYU': 2,
'UYW': 4,
'UZS': 2,
'VAL': 0,
'VEB': 2,
'VED': 2,
'VEF': 2,
'VES': 2,
'VND': 0,
'VUV': 0,
'WST': 2,
'XAF': 0,
'XCD': 2,
'XEU': 0,
'XOF': 0,
'XPF': 0,
'YER': 2,
'YUD': 2,
'YUG': 2,
'YUM': 2,
'YUN': 2,
'YUO': 2,
'YUR': 2,
'ZAL': 2,
'ZAR': 2,
'ZMK': 2,
'ZMW': 2,
'ZRN': 2,
'ZRZ': 2,
'ZWB': 2,
'ZWC': 2,
'ZWD': 2,
'ZWL': 2,
'ZWN': 2,
'ZWR': 2
}
REPORT_REASONS_MAPPING = {
'exceed_max_amount': _lt("maximum amount exceeded"),
'express_checkout_not_supported': _lt("express checkout not supported"),
'incompatible_country': _lt("incompatible country"),
'incompatible_currency': _lt("incompatible currency"),
'incompatible_website': _lt("incompatible website"),
'manual_capture_not_supported': _lt("manual capture not supported"),
'provider_not_available': _lt("no supported provider available"),
'tokenization_not_supported': _lt("tokenization not supported"),
'validation_not_supported': _lt("tokenization without payment no supported"),
}