Odoo18-Base/addons/payment_asiapay/const.py
2025-03-10 10:52:11 +07:00

153 lines
3.7 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
API_URLS = {
'production': {
'pesopay': 'https://www.pesopay.com/b2c2/eng/payment/payForm.jsp',
'siampay': 'https://www.siampay.com/b2c2/eng/payment/payForm.jsp',
'bimopay': 'https://www.bimopay.com/b2c2/eng/payment/payForm.jsp',
'paydollar': 'https://www.paydollar.com/b2c2/eng/payment/payForm.jsp',
},
'test': {
'pesopay': 'https://test.pesopay.com/b2cDemo/eng/payment/payForm.jsp',
'siampay': 'https://test.siampay.com/b2cDemo/eng/payment/payForm.jsp',
'paydollar': 'https://test.paydollar.com/b2cDemo/eng/payment/payForm.jsp',
}
}
# Mapping of currency ISO 4217 codes AsiaPay's currency codes.
# See https://www.paydollar.com/pdf/op/enpdintguide.pdf for the list of currency codes.
CURRENCY_MAPPING = {
'AED': '784',
'AUD': '036',
'BND': '096',
'CAD': '124',
'CNY': '156',
'EUR': '978',
'GBP': '826',
'HKD': '344',
'IDR': '360',
'INR': '356',
'JPY': '392',
'KRW': '410',
'MOP': '446',
'MYR': '458',
'NZD': '554',
'PHP': '608',
'SAR': '682',
'SGD': '702',
'THB': '764',
'TWD': '901',
'USD': '840',
'VND': '704',
}
# Mapping of both country codes (e.g., 'es') and IETF language tags (e.g.: 'fr-BE') to AsiaPay
# language codes. If a language tag is not listed, the country code prefix can serve as fallback.
LANGUAGE_CODES_MAPPING = {
'en': 'E',
'zh_HK': 'C',
'zh_TW': 'C',
'zh_CN': 'X',
'ja_JP': 'J',
'th_TH': 'T',
'fr': 'F',
'de': 'G',
'ru_RU': 'R',
'es': 'S',
'vi_VN': 'S',
}
# The codes of the payment methods to activate when Asiapay is activated.
DEFAULT_PAYMENT_METHODS_CODES = [
# Primary payment methods.
'card',
# Brand payment methods.
'visa',
'mastercard',
'amex',
'discover',
]
# Mapping of payment method codes to AsiaPay codes.
PAYMENT_METHODS_MAPPING = {
'alipay_hk': 'ALIPAYHKONL',
'amex': 'AMEX',
'apple_pay': 'APPLEPAY',
'atome': 'ATOME',
'bangkok_bank': 'IBANKING',
'bpi': 'BPI',
'boa': 'KRUNGSRIONLINE',
'card': 'CC',
'cimb': 'CIMBCLICK',
'dana': 'DANA',
'ditnow': 'DuitNow',
'diners': 'Diners',
'enets': 'ENETS',
'enetsbanking': 'ENETSBANKING',
'enetsqr': 'ENETSQR',
'eximbay': 'Eximbay',
'fps': 'FPS',
'gcash': 'GCash',
'google_pay': 'GOOGLE',
'hoolah': 'HOOLAH',
'humm': 'humm',
'jkopay': 'JKOPAY',
'jcs': 'JCB',
'kungthai_bank': 'KTB',
'linepay': 'LINEPAY',
'maya': 'PayMaya',
'mastercard': 'Master',
'masterpass': 'MP',
'maybank': 'M2U',
'momo': 'MOMOPAY',
'ovo': 'OVO',
'pace': 'Pace',
'pay_id': 'PAYID',
'paymaya': 'PayMaya',
'payme': 'PayMe',
'payu': 'PAYU',
'poli': 'POLI',
'qris': 'QRIS',
'samsung_pay': 'SAMSUNG',
'shopeepay': 'SHOPEEPAY',
'tendopay': 'TendoPay',
'touch_n_go': 'TouchnGo',
'truemoney': 'TRUEMONEY',
'ttb': 'TMB',
'unionpay': 'CHINAPAY',
'visa': 'VISA',
'wechat_pay': 'WECHATONL',
'zip': 'ZIPPAY',
'zippay': 'ZIPPAY',
'tenpay': 'TENPAY',
'welend': 'WELEND',
'tmb': 'TMB',
}
# The keys of the values to use in the calculation of the signature.
SIGNATURE_KEYS = {
'outgoing': [
'merchant_id',
'reference',
'currency_code',
'amount',
'payment_type',
],
'incoming': [
'src',
'prc',
'successcode',
'Ref',
'PayRef',
'Cur',
'Amt',
'payerAuth',
],
}
# Mapping of transaction states to AsiaPay success codes.
SUCCESS_CODE_MAPPING = {
'done': ('0',),
'error': ('1',),
}