paytechuz 0.2.19__py3-none-any.whl → 0.2.21__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of paytechuz might be problematic. Click here for more details.

@@ -0,0 +1,116 @@
1
+ """
2
+ FastAPI schemas for PayTechUZ.
3
+ """
4
+ from datetime import datetime
5
+ from typing import Dict, Any, Optional, List
6
+
7
+ from pydantic import BaseModel, Field, ConfigDict
8
+
9
+
10
+ class PaymentTransactionBase(BaseModel):
11
+ """
12
+ Base schema for payment transaction.
13
+ """
14
+ gateway: str = Field(
15
+ ..., description="Payment gateway (payme or click)"
16
+ )
17
+ transaction_id: str = Field(
18
+ ..., description="Transaction ID from the payment system"
19
+ )
20
+ account_id: str = Field(..., description="Account or order ID")
21
+ amount: float = Field(..., description="Payment amount")
22
+ state: int = Field(0, description="Transaction state")
23
+
24
+
25
+ class PaymentTransactionCreate(PaymentTransactionBase):
26
+ """
27
+ Schema for creating a payment transaction.
28
+ """
29
+ extra_data: Optional[Dict[str, Any]] = Field(
30
+ None, description="Additional data for the transaction"
31
+ )
32
+
33
+
34
+ class PaymentTransaction(PaymentTransactionBase):
35
+ """
36
+ Schema for payment transaction.
37
+ """
38
+ id: int = Field(..., description="Transaction ID")
39
+ extra_data: Dict[str, Any] = Field(
40
+ {}, description="Additional data for the transaction"
41
+ )
42
+ created_at: datetime = Field(..., description="Creation timestamp")
43
+ updated_at: datetime = Field(..., description="Last update timestamp")
44
+ performed_at: Optional[datetime] = Field(
45
+ None, description="Payment timestamp"
46
+ )
47
+ cancelled_at: Optional[datetime] = Field(
48
+ None, description="Cancellation timestamp"
49
+ )
50
+
51
+ model_config = ConfigDict(from_attributes=True)
52
+
53
+
54
+ class PaymentTransactionList(BaseModel):
55
+ """
56
+ Schema for a list of payment transactions.
57
+ """
58
+ transactions: List[PaymentTransaction] = Field(
59
+ ..., description="List of transactions"
60
+ )
61
+ total: int = Field(..., description="Total number of transactions")
62
+
63
+
64
+ class PaymeWebhookRequest(BaseModel):
65
+ """
66
+ Schema for Payme webhook request.
67
+ """
68
+ method: str = Field(..., description="Method name")
69
+ params: Dict[str, Any] = Field(..., description="Method parameters")
70
+ id: int = Field(..., description="Request ID")
71
+
72
+
73
+ class PaymeWebhookResponse(BaseModel):
74
+ """
75
+ Schema for Payme webhook response.
76
+ """
77
+ jsonrpc: str = Field("2.0", description="JSON-RPC version")
78
+ id: int = Field(..., description="Request ID")
79
+ result: Dict[str, Any] = Field(..., description="Response result")
80
+
81
+
82
+ class PaymeWebhookErrorResponse(BaseModel):
83
+ """
84
+ Schema for Payme webhook error response.
85
+ """
86
+ jsonrpc: str = Field("2.0", description="JSON-RPC version")
87
+ id: int = Field(..., description="Request ID")
88
+ error: Dict[str, Any] = Field(..., description="Error details")
89
+
90
+
91
+ class ClickWebhookRequest(BaseModel):
92
+ """
93
+ Schema for Click webhook request.
94
+ """
95
+ click_trans_id: str = Field(..., description="Click transaction ID")
96
+ service_id: str = Field(..., description="Service ID")
97
+ merchant_trans_id: str = Field(..., description="Merchant transaction ID")
98
+ amount: str = Field(..., description="Payment amount")
99
+ action: str = Field(..., description="Action (0 - prepare, 1 - complete)")
100
+ sign_time: str = Field(..., description="Signature timestamp")
101
+ sign_string: str = Field(..., description="Signature string")
102
+ error: Optional[str] = Field(None, description="Error code")
103
+ error_note: Optional[str] = Field(None, description="Error note")
104
+
105
+
106
+ class ClickWebhookResponse(BaseModel):
107
+ """
108
+ Schema for Click webhook response.
109
+ """
110
+ click_trans_id: str = Field(..., description="Click transaction ID")
111
+ merchant_trans_id: str = Field(..., description="Merchant transaction ID")
112
+ merchant_prepare_id: Optional[int] = Field(
113
+ None, description="Merchant prepare ID"
114
+ )
115
+ error: int = Field(0, description="Error code")
116
+ error_note: str = Field("Success", description="Error note")
@@ -989,42 +989,47 @@ class ClickWebhookHandler:
989
989
  """
990
990
  Check authentication using signature.
991
991
  """
992
- if str(params.get('service_id')) != self.service_id:
992
+ if not all([self.service_id, self.secret_key]):
993
993
  raise HTTPException(
994
994
  status_code=status.HTTP_401_UNAUTHORIZED,
995
- detail="Invalid service ID"
995
+ detail="Missing required settings: service_id or secret_key"
996
996
  )
997
997
 
998
- # Check signature if secret key is provided
999
- if self.secret_key:
1000
- sign_string = params.get('sign_string')
1001
- sign_time = params.get('sign_time')
998
+ if str(params.get("service_id")) != self.service_id:
999
+ raise HTTPException(
1000
+ status_code=status.HTTP_401_UNAUTHORIZED,
1001
+ detail="Invalid service ID"
1002
+ )
1002
1003
 
1003
- if not sign_string or not sign_time:
1004
- raise HTTPException(
1005
- status_code=status.HTTP_401_UNAUTHORIZED,
1006
- detail="Missing signature parameters"
1007
- )
1004
+ sign_string = params.get("sign_string")
1005
+ sign_time = params.get("sign_time")
1008
1006
 
1009
- # Create string to sign
1010
- to_sign = (
1011
- f"{params.get('click_trans_id')}"
1012
- f"{params.get('service_id')}"
1013
- f"{self.secret_key}"
1014
- f"{params.get('merchant_trans_id')}"
1015
- f"{params.get('amount')}"
1016
- f"{params.get('action')}"
1017
- f"{sign_time}"
1007
+ if not sign_string or not sign_time:
1008
+ raise HTTPException(
1009
+ status_code=status.HTTP_401_UNAUTHORIZED,
1010
+ detail="Missing signature parameters"
1018
1011
  )
1019
1012
 
1020
- # Generate signature
1021
- signature = hashlib.md5(to_sign.encode('utf-8')).hexdigest()
1013
+ # Prepare signature components
1014
+ text_parts = [
1015
+ str(params.get("click_trans_id") or ""),
1016
+ str(params.get("service_id") or ""),
1017
+ str(self.secret_key or ""),
1018
+ str(params.get("merchant_trans_id") or ""),
1019
+ str(params.get("merchant_prepare_id") or ""),
1020
+ str(params.get("amount") or ""),
1021
+ str(params.get("action") or ""),
1022
+ str(sign_time)
1023
+ ]
1024
+
1025
+ # Calculate hash
1026
+ calculated_hash = hashlib.md5("".join(text_parts).encode("utf-8")).hexdigest()
1022
1027
 
1023
- if signature != sign_string:
1024
- raise HTTPException(
1025
- status_code=status.HTTP_401_UNAUTHORIZED,
1026
- detail="Invalid signature"
1027
- )
1028
+ if calculated_hash != sign_string:
1029
+ raise HTTPException(
1030
+ status_code=status.HTTP_401_UNAUTHORIZED,
1031
+ detail="Invalid signature"
1032
+ )
1028
1033
 
1029
1034
  def _find_account(self, merchant_trans_id: str) -> Any:
1030
1035
  """
@@ -1,17 +1,42 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.1
2
2
  Name: paytechuz
3
- Version: 0.2.19
3
+ Version: 0.2.21
4
4
  Summary: Unified Python package for Uzbekistan payment gateways
5
5
  Home-page: https://github.com/Muhammadali-Akbarov/paytechuz
6
6
  Author: Muhammadali Akbarov
7
7
  Author-email: muhammadali17abc@gmail.com
8
8
  License: MIT
9
+ Keywords: paytechuz,payme,click,uzbekistan,payment,gateway,payment-gateway,payment-processing,django,flask,fastapi
10
+ Platform: UNKNOWN
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.6
15
+ Classifier: Programming Language :: Python :: 3.7
16
+ Classifier: Programming Language :: Python :: 3.8
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: License :: OSI Approved :: MIT License
22
+ Classifier: Operating System :: OS Independent
23
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
9
24
  Requires-Python: >=3.6
10
25
  Description-Content-Type: text/markdown
11
- Dynamic: author
12
- Dynamic: author-email
13
- Dynamic: home-page
14
- Dynamic: requires-python
26
+ Requires-Dist: requests<3.0,>=2.0
27
+ Requires-Dist: dataclasses<1.0,>=0.6; python_version < "3.7"
28
+ Provides-Extra: django
29
+ Requires-Dist: django<5.0,>=3.0; extra == "django"
30
+ Requires-Dist: djangorestframework<4.0,>=3.0; extra == "django"
31
+ Provides-Extra: fastapi
32
+ Requires-Dist: fastapi<1.0.0,>=0.68.0; extra == "fastapi"
33
+ Requires-Dist: sqlalchemy<3.0,>=1.4; extra == "fastapi"
34
+ Requires-Dist: httpx<1.0,>=0.20; extra == "fastapi"
35
+ Requires-Dist: python-multipart==0.0.20; extra == "fastapi"
36
+ Requires-Dist: pydantic<2.0,>=1.8; extra == "fastapi"
37
+ Provides-Extra: flask
38
+ Requires-Dist: flask<3.0,>=2.0; extra == "flask"
39
+ Requires-Dist: flask-sqlalchemy<3.0,>=2.5; extra == "flask"
15
40
 
16
41
  # paytechuz
17
42
 
@@ -332,3 +357,5 @@ Contributions are welcome! Please feel free to submit a Pull Request.
332
357
  ## License
333
358
 
334
359
  This project is licensed under the MIT License - see the LICENSE file for details.
360
+
361
+
@@ -0,0 +1,67 @@
1
+ core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ core/base.py,sha256=Es6eEGNgDjQJe-kEJVAHSAh8AWbgtIuQMm0xn7qfjl4,2549
3
+ core/constants.py,sha256=P2zeZ_cfZIttdC1vqkpIngkfRFh6loWzJYEgzQb5cKA,1660
4
+ core/exceptions.py,sha256=XMJkqiponTkvhjoh3S2iFNuU3UbBdFW4130kd0hpudg,5489
5
+ core/http.py,sha256=qmLR6ujxmIPjwoTS4vvKRIvDnNcpl84sS1HmVB890b0,7686
6
+ core/utils.py,sha256=ETHMzwu7_dirc-QfBUjpSTQmyS6_vBiNq97Dq9CNZto,4718
7
+ core/payme/errors.py,sha256=CZE62MbYDMsRfNIX23Syt6of_tPMMGLnXhYMii4hw3A,542
8
+ gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ gateways/click/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ gateways/click/client.py,sha256=UkzSd7FiYHoNUZayehhLn9GvTVPIdNOcmrcLCTKdWlA,6390
11
+ gateways/click/merchant.py,sha256=lav5bz7E-saiKHqEFHL2GQ-UVZkUduXkx8thZ2X5y2Q,7183
12
+ gateways/click/webhook.py,sha256=rph-NmjjnBKMW4rcxQTXrHHdK-uMrU39kXnbqK56leo,7936
13
+ gateways/payme/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ gateways/payme/cards.py,sha256=aL6su_ZTCBPU8qmrz2Jcw_Wn7Zf9RwIu8k10o4AWFTs,5420
15
+ gateways/payme/client.py,sha256=78NUHz4X6M5YIbWOYgKY4TKd-LOUYzFODaDPLFmgUCU,7839
16
+ gateways/payme/receipts.py,sha256=DdrZMPeDvQmGyqAEOTmtUorfcIVVb3t2tg31l7TXqHo,8904
17
+ gateways/payme/webhook.py,sha256=-0O8vzMtiu4U8FWFKDA6EfyoX4NEGqcEq-T0yNtVhM4,12374
18
+ integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ integrations/django/__init__.py,sha256=YDgD1Ux1E3CJxQMT-9tulhXmuLOEaUSv320LeaVgJ00,116
20
+ integrations/django/admin.py,sha256=6fs6GiKcdc-hGlLxJ0BthY7TFo_2RVVJRhQwhxMroCY,2664
21
+ integrations/django/apps.py,sha256=57svd2aqSuoASWMI3Jnh70ZXrYN1oQ8EnvLl_5LNyl0,473
22
+ integrations/django/models.py,sha256=83PjBnombavEjfPm2EcVFo2R5BO6VRIjp0MlNCp-fbg,5819
23
+ integrations/django/signals.py,sha256=VtNYEAnu13wi9PqadEaCU9LY_k2tY26AS4bnPIAqw7M,1319
24
+ integrations/django/views.py,sha256=r9DnbV2IBkFm18SBtan4lgrluaULLViKJIWGFTlHJH0,3031
25
+ integrations/django/webhooks.py,sha256=dslVnFMl6QRI1wQVgMRjlIoFFJ4yEt9Nbs1sClbfjPw,31464
26
+ integrations/django/migrations/0001_initial.py,sha256=YLDUp1w0V3Zvuz5TssQDrx3PlccduoHqdLD109Hg8Z4,2326
27
+ integrations/django/migrations/__init__.py,sha256=KLQ5NdjOMLDS21-u3b_g08G1MjPMMhG95XI_N8m4FSo,41
28
+ integrations/fastapi/__init__.py,sha256=DLnhAZQZf2ghu8BuFFfE7FzbNKWQQ2SLG8qxldRuwR4,565
29
+ integrations/fastapi/models.py,sha256=qZe_Pz3qfL3fjRL99WVQfxGIW1Mt2JAPMQ98k86pUxU,5526
30
+ integrations/fastapi/routes.py,sha256=dLInbxXrhzW7uFMA-TUmAE5v6nBX3RwAj8VMDrLmfAE,36876
31
+ integrations/fastapi/schemas.py,sha256=uGuIcgsJ7eh5EHmdSjCxxBJC51WONA1OwPLPf_mpgHc,3867
32
+ paytechuz/__init__.py,sha256=d-9AjWthchZAE_ykEjoBZ79o32gzqM1jZkkAQd-jB8s,1754
33
+ paytechuz/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
+ paytechuz/core/base.py,sha256=Es6eEGNgDjQJe-kEJVAHSAh8AWbgtIuQMm0xn7qfjl4,2549
35
+ paytechuz/core/constants.py,sha256=P2zeZ_cfZIttdC1vqkpIngkfRFh6loWzJYEgzQb5cKA,1660
36
+ paytechuz/core/exceptions.py,sha256=XMJkqiponTkvhjoh3S2iFNuU3UbBdFW4130kd0hpudg,5489
37
+ paytechuz/core/http.py,sha256=1PFv_Fo62GtfyYKUK2nsT4AaeQNuMgZlFUFL1q9p2MI,7672
38
+ paytechuz/core/utils.py,sha256=EbNtDweR1ABOtCu4D6cYlolM0t_fbiE3gNoc_qfcKKA,4704
39
+ paytechuz/core/payme/errors.py,sha256=CZE62MbYDMsRfNIX23Syt6of_tPMMGLnXhYMii4hw3A,542
40
+ paytechuz/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
+ paytechuz/gateways/click/__init__.py,sha256=35RPIrZYHgMWDzxjQkJMZYjzHDa8cY_BqQztCdZZmBM,90
42
+ paytechuz/gateways/click/client.py,sha256=NwsPGfXacO0tWvZCA0V9KZ9XhFV7AnyHBmtxsWAvci8,6736
43
+ paytechuz/gateways/click/merchant.py,sha256=tvHUwNr_eiDz_ED4-m2GNBh_LXN0b5lwtq1jw1e0zAQ,7191
44
+ paytechuz/gateways/click/webhook.py,sha256=rph-NmjjnBKMW4rcxQTXrHHdK-uMrU39kXnbqK56leo,7936
45
+ paytechuz/gateways/payme/__init__.py,sha256=KcVkYvAEblL4ASVAOrUofRBwywAkTZIgRXoBaCbYtv8,90
46
+ paytechuz/gateways/payme/cards.py,sha256=iyitnAIQ_BUNmF273ErSLe3GOs5LYp3pWHxdb_FtOzs,5421
47
+ paytechuz/gateways/payme/client.py,sha256=fmFHbgWX0UG7246JgA8tWougzAbw75QTWC9mw_TgvZI,7808
48
+ paytechuz/gateways/payme/receipts.py,sha256=DFIoD2EW65sStgeNP75GrUCcuvn7H7PPc415pw4S79g,8905
49
+ paytechuz/gateways/payme/webhook.py,sha256=-0O8vzMtiu4U8FWFKDA6EfyoX4NEGqcEq-T0yNtVhM4,12374
50
+ paytechuz/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
+ paytechuz/integrations/django/__init__.py,sha256=fNs4c2IWpCe78-_Yvgz59TdKbHiYRYDkLR33QOBf-Ok,356
52
+ paytechuz/integrations/django/admin.py,sha256=6fs6GiKcdc-hGlLxJ0BthY7TFo_2RVVJRhQwhxMroCY,2664
53
+ paytechuz/integrations/django/apps.py,sha256=Q9wG2osL7_Ip2BcAkq7lmmhu4UKJAg6UtSsSq_RgHlc,640
54
+ paytechuz/integrations/django/models.py,sha256=x3cVLY812Xts5oNk4VmCzK3zjb0FXQON9WV41PCtxaw,5696
55
+ paytechuz/integrations/django/signals.py,sha256=VtNYEAnu13wi9PqadEaCU9LY_k2tY26AS4bnPIAqw7M,1319
56
+ paytechuz/integrations/django/views.py,sha256=TL-LNbwrLvYjoBvGxm_yZjMVLBqelorgKjr4l3sKH1Y,3037
57
+ paytechuz/integrations/django/webhooks.py,sha256=6GlLgLEizMjkD7dYR3AoLcLmZnMPwi3IaqB0Kln7dSk,31759
58
+ paytechuz/integrations/django/migrations/0001_initial.py,sha256=SWHIUuwq91crzaxa9v1UK0kay8CxsjUo6t4bqg7j0Gw,1896
59
+ paytechuz/integrations/django/migrations/__init__.py,sha256=KLQ5NdjOMLDS21-u3b_g08G1MjPMMhG95XI_N8m4FSo,41
60
+ paytechuz/integrations/fastapi/__init__.py,sha256=DLnhAZQZf2ghu8BuFFfE7FzbNKWQQ2SLG8qxldRuwR4,565
61
+ paytechuz/integrations/fastapi/models.py,sha256=9IqrsndIVuIDwDbijZ89biJxEWQASXRBfWVShxgerAc,5113
62
+ paytechuz/integrations/fastapi/routes.py,sha256=t8zbqhMZsaJmEvMDgmF-NoRmbqksfX_AvIrx-3kCjg8,37845
63
+ paytechuz/integrations/fastapi/schemas.py,sha256=PgRqviJiD4-u3_CIkUOX8R7L8Yqn8L44WLte7968G0E,3887
64
+ paytechuz-0.2.21.dist-info/METADATA,sha256=dHA9NdyvhNtzp8F0V7gmF8KC75OauwM_Yyy9cd8PRjw,11464
65
+ paytechuz-0.2.21.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
66
+ paytechuz-0.2.21.dist-info/top_level.txt,sha256=v03IobsNVIGSgCareObqCsEwLgXOpwBvBTWy3y8-G_M,37
67
+ paytechuz-0.2.21.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: bdist_wheel (0.45.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -0,0 +1,4 @@
1
+ core
2
+ gateways
3
+ integrations
4
+ paytechuz
@@ -1,36 +0,0 @@
1
- paytechuz/__init__.py,sha256=d-9AjWthchZAE_ykEjoBZ79o32gzqM1jZkkAQd-jB8s,1754
2
- paytechuz/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- paytechuz/core/base.py,sha256=Es6eEGNgDjQJe-kEJVAHSAh8AWbgtIuQMm0xn7qfjl4,2549
4
- paytechuz/core/constants.py,sha256=P2zeZ_cfZIttdC1vqkpIngkfRFh6loWzJYEgzQb5cKA,1660
5
- paytechuz/core/exceptions.py,sha256=XMJkqiponTkvhjoh3S2iFNuU3UbBdFW4130kd0hpudg,5489
6
- paytechuz/core/http.py,sha256=1PFv_Fo62GtfyYKUK2nsT4AaeQNuMgZlFUFL1q9p2MI,7672
7
- paytechuz/core/utils.py,sha256=EbNtDweR1ABOtCu4D6cYlolM0t_fbiE3gNoc_qfcKKA,4704
8
- paytechuz/core/payme/errors.py,sha256=CZE62MbYDMsRfNIX23Syt6of_tPMMGLnXhYMii4hw3A,542
9
- paytechuz/gateways/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- paytechuz/gateways/click/__init__.py,sha256=35RPIrZYHgMWDzxjQkJMZYjzHDa8cY_BqQztCdZZmBM,90
11
- paytechuz/gateways/click/client.py,sha256=NwsPGfXacO0tWvZCA0V9KZ9XhFV7AnyHBmtxsWAvci8,6736
12
- paytechuz/gateways/click/merchant.py,sha256=tvHUwNr_eiDz_ED4-m2GNBh_LXN0b5lwtq1jw1e0zAQ,7191
13
- paytechuz/gateways/click/webhook.py,sha256=rph-NmjjnBKMW4rcxQTXrHHdK-uMrU39kXnbqK56leo,7936
14
- paytechuz/gateways/payme/__init__.py,sha256=KcVkYvAEblL4ASVAOrUofRBwywAkTZIgRXoBaCbYtv8,90
15
- paytechuz/gateways/payme/cards.py,sha256=iyitnAIQ_BUNmF273ErSLe3GOs5LYp3pWHxdb_FtOzs,5421
16
- paytechuz/gateways/payme/client.py,sha256=fmFHbgWX0UG7246JgA8tWougzAbw75QTWC9mw_TgvZI,7808
17
- paytechuz/gateways/payme/receipts.py,sha256=DFIoD2EW65sStgeNP75GrUCcuvn7H7PPc415pw4S79g,8905
18
- paytechuz/gateways/payme/webhook.py,sha256=-0O8vzMtiu4U8FWFKDA6EfyoX4NEGqcEq-T0yNtVhM4,12374
19
- paytechuz/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- paytechuz/integrations/django/__init__.py,sha256=fNs4c2IWpCe78-_Yvgz59TdKbHiYRYDkLR33QOBf-Ok,356
21
- paytechuz/integrations/django/admin.py,sha256=6fs6GiKcdc-hGlLxJ0BthY7TFo_2RVVJRhQwhxMroCY,2664
22
- paytechuz/integrations/django/apps.py,sha256=Q9wG2osL7_Ip2BcAkq7lmmhu4UKJAg6UtSsSq_RgHlc,640
23
- paytechuz/integrations/django/models.py,sha256=x3cVLY812Xts5oNk4VmCzK3zjb0FXQON9WV41PCtxaw,5696
24
- paytechuz/integrations/django/signals.py,sha256=VtNYEAnu13wi9PqadEaCU9LY_k2tY26AS4bnPIAqw7M,1319
25
- paytechuz/integrations/django/views.py,sha256=TL-LNbwrLvYjoBvGxm_yZjMVLBqelorgKjr4l3sKH1Y,3037
26
- paytechuz/integrations/django/webhooks.py,sha256=6GlLgLEizMjkD7dYR3AoLcLmZnMPwi3IaqB0Kln7dSk,31759
27
- paytechuz/integrations/django/migrations/0001_initial.py,sha256=SWHIUuwq91crzaxa9v1UK0kay8CxsjUo6t4bqg7j0Gw,1896
28
- paytechuz/integrations/django/migrations/__init__.py,sha256=KLQ5NdjOMLDS21-u3b_g08G1MjPMMhG95XI_N8m4FSo,41
29
- paytechuz/integrations/fastapi/__init__.py,sha256=DLnhAZQZf2ghu8BuFFfE7FzbNKWQQ2SLG8qxldRuwR4,565
30
- paytechuz/integrations/fastapi/models.py,sha256=9IqrsndIVuIDwDbijZ89biJxEWQASXRBfWVShxgerAc,5113
31
- paytechuz/integrations/fastapi/routes.py,sha256=61jsHsgGJZ_-ISfG2J1MSOCqIOLQ18C1boc9MVddkvg,37652
32
- paytechuz/integrations/fastapi/schemas.py,sha256=PgRqviJiD4-u3_CIkUOX8R7L8Yqn8L44WLte7968G0E,3887
33
- paytechuz-0.2.19.dist-info/METADATA,sha256=2BRx62AJ4fQCTR_95kilPV-HI7aCRt1oEVZmOC-NoLU,10084
34
- paytechuz-0.2.19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
35
- paytechuz-0.2.19.dist-info/top_level.txt,sha256=oloyKGNVj9Z2h3wpKG5yPyTlpdpWW0-CWr-j-asCWBc,10
36
- paytechuz-0.2.19.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- paytechuz