paytechuz 0.2.7__tar.gz → 0.2.8b0__tar.gz

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.

Files changed (74) hide show
  1. {paytechuz-0.2.7/src/paytechuz.egg-info → paytechuz-0.2.8b0}/PKG-INFO +1 -1
  2. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/pyproject.toml +1 -1
  3. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/setup.py +1 -1
  4. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/fastapi/models.py +9 -3
  5. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/fastapi/routes.py +7 -3
  6. {paytechuz-0.2.7 → paytechuz-0.2.8b0/src/paytechuz.egg-info}/PKG-INFO +1 -1
  7. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/MANIFEST.in +0 -0
  8. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/README.md +0 -0
  9. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/setup.cfg +0 -0
  10. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/__init__.py +0 -0
  11. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/core/__init__.py +0 -0
  12. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/core/base.py +0 -0
  13. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/core/constants.py +0 -0
  14. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/core/exceptions.py +0 -0
  15. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/core/http.py +0 -0
  16. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/core/payme/errors.py +0 -0
  17. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/core/utils.py +0 -0
  18. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/gateways/__init__.py +0 -0
  19. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/gateways/click/__init__.py +0 -0
  20. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/gateways/click/client.py +0 -0
  21. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/gateways/click/merchant.py +0 -0
  22. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/gateways/click/webhook.py +0 -0
  23. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/gateways/payme/__init__.py +0 -0
  24. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/gateways/payme/cards.py +0 -0
  25. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/gateways/payme/client.py +0 -0
  26. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/gateways/payme/receipts.py +0 -0
  27. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/gateways/payme/webhook.py +0 -0
  28. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/__init__.py +0 -0
  29. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/django/__init__.py +0 -0
  30. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/django/admin.py +0 -0
  31. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/django/apps.py +0 -0
  32. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/django/migrations/0001_initial.py +0 -0
  33. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/django/migrations/__init__.py +0 -0
  34. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/django/models.py +0 -0
  35. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/django/signals.py +0 -0
  36. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/django/views.py +0 -0
  37. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/django/webhooks.py +0 -0
  38. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/fastapi/__init__.py +0 -0
  39. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/fastapi/models.py +0 -0
  40. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/fastapi/routes.py +0 -0
  41. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/integrations/fastapi/schemas.py +0 -0
  42. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/__init__.py +0 -0
  43. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/core/__init__.py +0 -0
  44. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/core/base.py +0 -0
  45. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/core/constants.py +0 -0
  46. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/core/exceptions.py +0 -0
  47. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/core/http.py +0 -0
  48. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/core/payme/errors.py +0 -0
  49. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/core/utils.py +0 -0
  50. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/gateways/__init__.py +0 -0
  51. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/gateways/click/__init__.py +0 -0
  52. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/gateways/click/client.py +0 -0
  53. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/gateways/click/merchant.py +0 -0
  54. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/gateways/click/webhook.py +0 -0
  55. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/gateways/payme/__init__.py +0 -0
  56. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/gateways/payme/cards.py +0 -0
  57. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/gateways/payme/client.py +0 -0
  58. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/gateways/payme/receipts.py +0 -0
  59. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/gateways/payme/webhook.py +0 -0
  60. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/__init__.py +0 -0
  61. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/django/__init__.py +0 -0
  62. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/django/admin.py +0 -0
  63. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/django/apps.py +0 -0
  64. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/django/migrations/0001_initial.py +0 -0
  65. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/django/migrations/__init__.py +0 -0
  66. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/django/models.py +0 -0
  67. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/django/signals.py +0 -0
  68. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/django/views.py +0 -0
  69. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/django/webhooks.py +0 -0
  70. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/fastapi/__init__.py +0 -0
  71. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz/integrations/fastapi/schemas.py +0 -0
  72. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz.egg-info/SOURCES.txt +0 -0
  73. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz.egg-info/dependency_links.txt +0 -0
  74. {paytechuz-0.2.7 → paytechuz-0.2.8b0}/src/paytechuz.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paytechuz
3
- Version: 0.2.7
3
+ Version: 0.2.8b0
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "paytechuz"
7
- version = "0.2.7"
7
+ version = "0.2.8b"
8
8
  description = "Unified Python package for Uzbekistan payment gateways"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.7"
@@ -8,7 +8,7 @@ long_description = (here / "README.md").read_text(encoding="utf-8")
8
8
 
9
9
  setup(
10
10
  name='paytechuz',
11
- version='0.2.7',
11
+ version='0.2.8b',
12
12
  license='MIT',
13
13
  author="Muhammadali Akbarov",
14
14
  author_email='muhammadali17abc@gmail.com',
@@ -132,9 +132,15 @@ class PaymentTransaction(Base):
132
132
 
133
133
  # Only update state if not already cancelled
134
134
  if self.state not in [self.CANCELLED, self.CANCELLED_DURING_INIT]:
135
- # Always set state to CANCELLED (-2) for Payme API compatibility
136
- # regardless of the current state
137
- self.state = self.CANCELLED
135
+ # Set state based on current state and reason
136
+ if self.state == self.INITIATING or reason_code == 3:
137
+ # If transaction is in INITIATING state or reason is 3 (execution error),
138
+ # set state to CANCELLED_DURING_INIT (-1)
139
+ self.state = self.CANCELLED_DURING_INIT
140
+ else:
141
+ # Otherwise, set state to CANCELLED (-2)
142
+ self.state = self.CANCELLED
143
+
138
144
  self.cancelled_at = datetime.utcnow()
139
145
 
140
146
  # Store the reason directly in the reason column
@@ -362,10 +362,14 @@ class PaymeWebhookHandler:
362
362
  PaymentTransaction.transaction_id != transaction_id
363
363
  ).all()
364
364
 
365
- # Filter out transactions in final states (SUCCESSFULLY, CANCELLED)
365
+ # Filter out transactions in final states (SUCCESSFULLY, CANCELLED, CANCELLED_DURING_INIT)
366
366
  non_final_transactions = [
367
367
  t for t in existing_transactions
368
- if t.state not in [PaymentTransaction.SUCCESSFULLY, PaymentTransaction.CANCELLED]
368
+ if t.state not in [
369
+ PaymentTransaction.SUCCESSFULLY,
370
+ PaymentTransaction.CANCELLED,
371
+ PaymentTransaction.CANCELLED_DURING_INIT
372
+ ]
369
373
  ]
370
374
 
371
375
  if non_final_transactions:
@@ -534,7 +538,7 @@ class PaymeWebhookHandler:
534
538
  )
535
539
 
536
540
  # Check if transaction is already cancelled
537
- if transaction.state == PaymentTransaction.CANCELLED:
541
+ if transaction.state in [PaymentTransaction.CANCELLED, PaymentTransaction.CANCELLED_DURING_INIT]:
538
542
  # If transaction is already cancelled, update the reason if provided
539
543
  if 'reason' in params:
540
544
  reason = params.get('reason')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paytechuz
3
- Version: 0.2.7
3
+ Version: 0.2.8b0
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes