asaas-python-sdk 1.2.0__tar.gz → 1.3.0__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.
Files changed (27) hide show
  1. {asaas_python_sdk-1.2.0/src/asaas_python_sdk.egg-info → asaas_python_sdk-1.3.0}/PKG-INFO +1 -1
  2. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/pyproject.toml +1 -1
  3. asaas_python_sdk-1.3.0/src/asaas/apis/payments.py +76 -0
  4. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/dtos/account.py +17 -17
  5. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0/src/asaas_python_sdk.egg-info}/PKG-INFO +1 -1
  6. asaas_python_sdk-1.2.0/src/asaas/apis/payments.py +0 -41
  7. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/LICENSE +0 -0
  8. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/README.md +0 -0
  9. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/setup.cfg +0 -0
  10. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/__init__.py +0 -0
  11. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/__init__.py +0 -0
  12. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/api.py +0 -0
  13. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/apis/__init__.py +0 -0
  14. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/apis/accounts.py +0 -0
  15. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/apis/credit_cards.py +0 -0
  16. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/apis/customers.py +0 -0
  17. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/apis/subscriptions.py +0 -0
  18. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/apis/webhooks.py +0 -0
  19. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/dtos/__init__.py +0 -0
  20. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/dtos/credit_card.py +0 -0
  21. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/dtos/customer.py +0 -0
  22. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/dtos/payment.py +0 -0
  23. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/dtos/subscription.py +0 -0
  24. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas/dtos/webhook.py +0 -0
  25. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas_python_sdk.egg-info/SOURCES.txt +0 -0
  26. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas_python_sdk.egg-info/dependency_links.txt +0 -0
  27. {asaas_python_sdk-1.2.0 → asaas_python_sdk-1.3.0}/src/asaas_python_sdk.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: asaas-python-sdk
3
- Version: 1.2.0
3
+ Version: 1.3.0
4
4
  Summary: Client de comunicaçao c/ API do ASAAS
5
5
  Author-email: Filipe Coelho <filipe@fmconsult.com.br>
6
6
  License: MIT License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "asaas-python-sdk"
7
- version = "1.2.0"
7
+ version = "1.3.0"
8
8
  description = "Client de comunicaçao c/ API do ASAAS"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -0,0 +1,76 @@
1
+ import logging, jsonpickle
2
+ from enum import Enum
3
+ from http import HTTPMethod
4
+ from fmconsult.utils.url import UrlUtil
5
+ from asaas.api import AsaasApi
6
+ from asaas.dtos.payment import Filter
7
+
8
+ class Status(Enum):
9
+ PENDING = 'PENDING'
10
+ RECEIVED = 'RECEIVED'
11
+ CONFIRMED = 'CONFIRMED'
12
+ OVERDUE = 'OVERDUE'
13
+ REFUNDED = 'REFUNDED'
14
+ RECEIVED_IN_CASH = 'RECEIVED_IN_CASH'
15
+ REFUND_REQUESTED = 'REFUND_REQUESTED'
16
+ REFUND_IN_PROGRESS = 'REFUND_IN_PROGRESS'
17
+ CHARGEBACK_REQUESTED = 'CHARGEBACK_REQUESTED'
18
+ CHARGEBACK_DISPUTE = 'CHARGEBACK_DISPUTE'
19
+ AWAITING_CHARGEBACK_REVERSAL = 'AWAITING_CHARGEBACK_REVERSAL'
20
+ DUNNING_REQUESTED = 'DUNNING_REQUESTED'
21
+ DUNNING_RECEIVED = 'DUNNING_RECEIVED'
22
+ AWAITING_RISK_ANALYSIS = 'AWAITING_RISK_ANALYSIS'
23
+
24
+ class Payments(AsaasApi):
25
+
26
+ def __init__(self):
27
+ super().__init__()
28
+ self.endpoint_url = UrlUtil().make_url(self.base_url, ['v3', 'payments'])]
29
+
30
+ def confirmReceiveInCash(self, payment_id):
31
+ try:
32
+ logging.info(f'confirm receive in cash...')
33
+ endpoint_url = UrlUtil().make_url(self.endpoint_url, [payment_id, 'receiveInCash'])
34
+ res = self.call_request(HTTPMethod.POST, endpoint_url)
35
+ return jsonpickle.decode(res)
36
+ except:
37
+ raise
38
+
39
+ def get_all(self, filters:Filter):
40
+ try:
41
+ logging.info(f'listing payments...')
42
+ if not filters is None:
43
+ params = {field: value for field, value in vars(filters).items() if value is not None}
44
+ else:
45
+ params = {}
46
+ res = self.call_request(HTTPMethod.GET, self.endpoint_url, params=params)
47
+ return jsonpickle.decode(res)
48
+ except:
49
+ raise
50
+
51
+ def get_by_id(self, payment_id):
52
+ try:
53
+ logging.info(f'get payment by id...')
54
+ endpoint_url = UrlUtil().make_url(self.endpoint_url, [payment_id])
55
+ res = self.call_request(HTTPMethod.GET, endpoint_url)
56
+ return jsonpickle.decode(res)
57
+ except:
58
+ raise
59
+
60
+ def get_status_by_id(self, payment_id):
61
+ try:
62
+ logging.info(f'get payment by id...')
63
+ endpoint_url = UrlUtil().make_url(self.endpoint_url, [payment_id, 'status'])
64
+ res = self.call_request(HTTPMethod.GET, endpoint_url)
65
+ return jsonpickle.decode(res)
66
+ except:
67
+ raise
68
+
69
+ def get_qrcode_pix(self, payment_id):
70
+ try:
71
+ logging.info(f'get payment PIX QRCode by id...')
72
+ endpoint_url = UrlUtil().make_url(self.endpoint_url, [payment_id, 'pixQrCode'])
73
+ res = self.call_request(HTTPMethod.GET, endpoint_url)
74
+ return jsonpickle.decode(res)
75
+ except:
76
+ raise
@@ -5,12 +5,12 @@ from fmconsult.utils.object import CustomObject
5
5
 
6
6
  @dataclass
7
7
  class Filter(CustomObject):
8
- cpfCnpj:str
9
- email:str
10
- name:str
11
- walletId:str
12
- offset:int
13
- limit:int
8
+ cpfCnpj: str
9
+ email: str
10
+ name: str
11
+ walletId: str
12
+ offset: int
13
+ limit: int
14
14
 
15
15
  class CompanyType(CustomEnum):
16
16
  MEI = 'MEI'
@@ -20,17 +20,17 @@ class CompanyType(CustomEnum):
20
20
 
21
21
  @dataclass
22
22
  class Account(CustomObject):
23
- name:str
24
- email:str
25
- cpfCnpj:str
26
- birthDate:str
27
- mobilePhone:str
28
- incomeValue:float
29
- address:str
30
- addressNumber:str
31
- complement:str
32
- province:str
33
- postalCode:str
23
+ name: str
24
+ email: str
25
+ cpfCnpj: str
26
+ birthDate: str
27
+ mobilePhone: str
28
+ incomeValue: float
29
+ address: str
30
+ addressNumber: str
31
+ complement: str
32
+ province: str
33
+ postalCode: str
34
34
  loginEmail: Optional[str] = None
35
35
  companyType: Optional[CompanyType] = None
36
36
  phone: Optional[str] = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: asaas-python-sdk
3
- Version: 1.2.0
3
+ Version: 1.3.0
4
4
  Summary: Client de comunicaçao c/ API do ASAAS
5
5
  Author-email: Filipe Coelho <filipe@fmconsult.com.br>
6
6
  License: MIT License
@@ -1,41 +0,0 @@
1
- import logging, jsonpickle
2
- from http import HTTPMethod
3
- from fmconsult.utils.url import UrlUtil
4
- from asaas.api import AsaasApi
5
- from asaas.dtos.payment import Filter
6
-
7
- class Payments(AsaasApi):
8
-
9
- def __init__(self):
10
- super().__init__()
11
- self.endpoint_url = UrlUtil().make_url(self.base_url, ['v3', 'payments'])
12
-
13
- def get_all(self, filters:Filter):
14
- try:
15
- logging.info(f'listing payments...')
16
- if not filters is None:
17
- params = {field: value for field, value in vars(filters).items() if value is not None}
18
- else:
19
- params = {}
20
- res = self.call_request(HTTPMethod.GET, self.endpoint_url, params=params)
21
- return jsonpickle.decode(res)
22
- except:
23
- raise
24
-
25
- def get_by_id(self, payment_id):
26
- try:
27
- logging.info(f'get payment by id...')
28
- req_url = f'{self.endpoint_url}/{payment_id}'
29
- res = self.call_request(HTTPMethod.GET, req_url)
30
- return jsonpickle.decode(res)
31
- except:
32
- raise
33
-
34
- def get_qrcode_pix(self, payment_id):
35
- try:
36
- logging.info(f'get payment PIX QRCode by id...')
37
- req_url = f'{self.endpoint_url}/{payment_id}/pixQrCode'
38
- res = self.call_request(HTTPMethod.GET, req_url)
39
- return jsonpickle.decode(res)
40
- except:
41
- raise