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

1import os 

2from enum import Enum 

3from warnings import warn 

4 

5from integrify.utils import Environment 

6 

7VERSION = '2024.11.6' 

8 

9 

10AZERICARD_MERCHANT_ID = os.getenv('AZERICARD_MERCHANT_ID', None) 

11"""Bank tərəfindən təyin edilmiş Merchant Terminal ID""" 

12 

13AZERICARD_KEY_FILE_PATH = os.getenv('AZERICARD_KEY_FILE_PATH', '') 

14"""AzeriCard sorğuları üçün açar""" 

15 

16AZERICARD_ENV: str = os.getenv('AZERICARD_ENV', Environment.TEST.value).strip().lower() 

17"""AzeriCard sorğu mühiti (test/prod)""" 

18 

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 

27 

28AZERICARD_MERCHANT_NAME = os.getenv('AZERICARD_MERCHANT_NAME', None) 

29"""Satıcının (merchan) adı (kart istifadəçisinin anladığı formada olmalıdır)""" 

30 

31AZERICARD_MERCHANT_URL = os.getenv('AZERICARD_MERCHANT_URL', None) 

32"""Satıcının web site URL-ı""" 

33 

34AZERICARD_MERCHANT_EMAIL = os.getenv('AZERICARD_MERCHANT_EMAIL', None) 

35"""Satıcının email ünvanı""" 

36 

37AZERICARD_CALLBACK_URL = os.getenv('AZERICARD_CALLBACK_URL', None) 

38"""Avtorizasiya nəticəsinin yerləşdirilməsində(post) istifadə olunan Merchant URL.""" 

39 

40AZERICARD_INTERFACE_LANG = os.getenv('AZERICARD_INTERFACE_LANG', 'az') 

41"""Dil seçimi (default: az)""" 

42 

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!') 

45 

46 

47class MpiAPI(str, Enum): 

48 """Endpoint constant-ları""" 

49 

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 

53 

54 AUTHORIZATION = '/cgi-bin/cgi_link' 

55 SAVE_CARD = '/token/cgi_link' 

56 

57 

58class MtAPI(str, Enum): 

59 """MT Endpoint constant-ları""" 

60 

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 

64 

65 TRANSFER = '/payment/view' 

66 TRANSFER_CONFIRM = '/api/confirm' 

67 TRANSFER_DECLINE = '/api/decline'