Files
Odoo-Modules/fusion_clover/const.py
gsinghpal 92369be6e0 changes
2026-03-20 11:46:41 -04:00

86 lines
2.4 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
# Clover Ecommerce API (charges, refunds, tokenization)
ECOM_BASE_URL = 'https://scl.clover.com'
ECOM_BASE_URL_TEST = 'https://scl-sandbox.dev.clover.com'
# Clover Platform API (merchants, orders, etc.)
API_BASE_URL = 'https://api.clover.com'
API_BASE_URL_TEST = 'https://apisandbox.dev.clover.com'
# Clover Tokenization Service
TOKEN_BASE_URL = 'https://token.clover.com'
TOKEN_BASE_URL_TEST = 'https://token-sandbox.dev.clover.com'
# Clover Card Present / REST Pay Display API (Cloud connection)
# Used for sending payment requests to Clover terminals via cloud.
CONNECT_BASE_URL = 'https://api.clover.com/connect/v1'
CONNECT_BASE_URL_TEST = 'https://apisandbox.dev.clover.com/connect/v1'
# OAuth URLs
OAUTH_AUTHORIZE_URL_TEST = 'https://apisandbox.dev.clover.com/oauth/authorize'
OAUTH_AUTHORIZE_URL = 'https://api.clover.com/oauth/authorize'
OAUTH_TOKEN_URL_TEST = 'https://apisandbox.dev.clover.com/oauth/token'
OAUTH_TOKEN_URL = 'https://api.clover.com/oauth/token'
DEFAULT_PAYMENT_METHOD_CODES = {
'card',
'visa',
'mastercard',
'amex',
'discover',
}
# Mapping of Clover charge statuses to Odoo payment transaction states.
STATUS_MAPPING = {
'authorized': ('pending',),
'done': ('succeeded', 'paid', 'captured'),
'cancel': ('canceled', 'voided'),
'error': ('failed',),
'refund': ('refunded',),
}
# Card brand mapping from Clover scheme to Odoo payment method codes
CARD_BRAND_MAPPING = {
'VISA': 'visa',
'MC': 'mastercard',
'MASTERCARD': 'mastercard',
'AMEX': 'amex',
'AMERICAN_EXPRESS': 'amex',
'DISCOVER': 'discover',
'DINERS_CLUB': 'diners_club',
'JCB': 'jcb',
}
# Clover amounts are in cents (minor currency units)
CURRENCY_DECIMALS = {
'JPY': 0,
'KRW': 0,
}
# Clover Platform API v3 — transaction statuses that indicate a void
VOIDED_STATUSES = {'VOIDED', 'VOID'}
# Referenced refund age limit (days). Clover does NOT impose a hard limit,
# but card networks generally restrict refund-to-original-card beyond ~180 days.
REFERENCED_REFUND_LIMIT_DAYS = 180
# Handled webhook event types
HANDLED_WEBHOOK_EVENTS = {
'charge.succeeded',
'charge.failed',
'charge.captured',
'charge.voided',
'refund.created',
'refund.succeeded',
'refund.failed',
'payment.created',
}
# Sensitive keys that should be masked in logs
SENSITIVE_KEYS = {
'clover_api_key',
'clover_secret',
'access_token',
}