Coverage for packages/azericard/src/integrify/azericard/env.py: 100%
34 statements
« prev ^ index » next coverage.py v7.16.0, created at 2026-10-19 02:39 +0000
« prev ^ index » next coverage.py v7.16.0, created at 2026-10-19 02:39 +0000
1import os
2from enum import Enum
3from warnings import warn
5from integrify.utils import Environment
7VERSION = '2024.11.6'
10AZERICARD_MERCHANT_ID = os.getenv('AZERICARD_MERCHANT_ID', None)
11"""Bank tərəfindən təyin edilmiş Merchant Terminal ID"""
13AZERICARD_KEY_FILE_PATH = os.getenv('AZERICARD_KEY_FILE_PATH', '')
14"""AzeriCard sorğuları üçün açar"""
16AZERICARD_ENV: str = os.getenv('AZERICARD_ENV', Environment.TEST.value).strip().lower()
17"""AzeriCard sorğu mühiti (test/prod)"""
19# Naməlum dəyər verilibsə (məs., 'PROD', 'production'), səssizcə TEST-ə düşmək əvəzinə
20# xəbərdarlıq edirik — əks halda real ödənişlər test gateway-ə gedər.
21if AZERICARD_ENV not in (Environment.TEST.value, Environment.PROD.value): # pragma: no cover
22 warn(
23 f"AZERICARD_ENV='{AZERICARD_ENV}' tanınmayan dəyərdir; TEST mühiti istifadə olunacaq. "
24 f"Mümkün dəyərlər: '{Environment.TEST.value}', '{Environment.PROD.value}'."
25 )
26 AZERICARD_ENV = Environment.TEST.value
28AZERICARD_MERCHANT_NAME = os.getenv('AZERICARD_MERCHANT_NAME', None)
29"""Satıcının (merchan) adı (kart istifadəçisinin anladığı formada olmalıdır)"""
31AZERICARD_MERCHANT_URL = os.getenv('AZERICARD_MERCHANT_URL', None)
32"""Satıcının web site URL-ı"""
34AZERICARD_MERCHANT_EMAIL = os.getenv('AZERICARD_MERCHANT_EMAIL', None)
35"""Satıcının email ünvanı"""
37AZERICARD_CALLBACK_URL = os.getenv('AZERICARD_CALLBACK_URL', None)
38"""Avtorizasiya nəticəsinin yerləşdirilməsində(post) istifadə olunan Merchant URL."""
40AZERICARD_INTERFACE_LANG = os.getenv('AZERICARD_INTERFACE_LANG', 'az')
41"""Dil seçimi (default: az)"""
43if not AZERICARD_KEY_FILE_PATH: # pragma: no cover
44 warn('AZERICARD_KEY_FILE_PATH mühit dəyişənlərinə dəyər verməsəniz sorğular çalışmayacaq!')
47class MpiAPI(str, Enum):
48 """Endpoint constant-ları"""
50 TEST_BASE_URL = 'https://testmpi.3dsecure.az'
51 PROD_BASE_URL = 'https://mpi.3dsecure.az'
52 BASE_URL = PROD_BASE_URL if AZERICARD_ENV == Environment.PROD.value else TEST_BASE_URL
54 AUTHORIZATION = '/cgi-bin/cgi_link'
55 SAVE_CARD = '/token/cgi_link'
58class MtAPI(str, Enum):
59 """MT Endpoint constant-ları"""
61 TEST_BASE_URL = 'https://testmt.azericard.com'
62 PROD_BASE_URL = 'https://mt.azericard.com'
63 BASE_URL = PROD_BASE_URL if AZERICARD_ENV == Environment.PROD.value else TEST_BASE_URL
65 TRANSFER = '/payment/view'
66 TRANSFER_CONFIRM = '/api/confirm'
67 TRANSFER_DECLINE = '/api/decline'