payrex-python 1.0.1__tar.gz → 1.0.2__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 (45) hide show
  1. {payrex_python-1.0.1 → payrex_python-1.0.2}/PKG-INFO +1 -1
  2. payrex_python-1.0.2/payrex/entities/__init__.py +0 -0
  3. payrex_python-1.0.2/payrex/entities/billing_statement_entity.py +22 -0
  4. payrex_python-1.0.2/payrex/entities/billing_statement_line_item_entity.py +12 -0
  5. payrex_python-1.0.2/payrex/entities/checkout_session_entity.py +22 -0
  6. payrex_python-1.0.2/payrex/entities/customer_entity.py +14 -0
  7. payrex_python-1.0.2/payrex/entities/deleted_entity.py +6 -0
  8. payrex_python-1.0.2/payrex/entities/event_entity.py +11 -0
  9. payrex_python-1.0.2/payrex/entities/listing_entity.py +4 -0
  10. payrex_python-1.0.2/payrex/entities/payment_intent_entity.py +23 -0
  11. payrex_python-1.0.2/payrex/entities/refund_entity.py +16 -0
  12. payrex_python-1.0.2/payrex/entities/webhook_entity.py +13 -0
  13. payrex_python-1.0.2/payrex/exceptions/__init__.py +0 -0
  14. payrex_python-1.0.2/payrex/exceptions/authentication_invalid_exception.py +4 -0
  15. payrex_python-1.0.2/payrex/exceptions/base_exception.py +5 -0
  16. payrex_python-1.0.2/payrex/exceptions/request_invalid_exception.py +4 -0
  17. payrex_python-1.0.2/payrex/exceptions/resource_not_found_exception.py +4 -0
  18. payrex_python-1.0.2/payrex/exceptions/signature_invalid_exception.py +2 -0
  19. payrex_python-1.0.2/payrex/exceptions/value_unexpected_exception.py +2 -0
  20. payrex_python-1.0.2/payrex/services/__init__.py +0 -0
  21. payrex_python-1.0.2/payrex/services/base_service.py +28 -0
  22. payrex_python-1.0.2/payrex/services/billing_statement_line_item_service.py +41 -0
  23. payrex_python-1.0.2/payrex/services/billing_statement_service.py +82 -0
  24. payrex_python-1.0.2/payrex/services/checkout_session_service.py +41 -0
  25. payrex_python-1.0.2/payrex/services/customer_service.py +50 -0
  26. payrex_python-1.0.2/payrex/services/payment_intent_service.py +32 -0
  27. payrex_python-1.0.2/payrex/services/refund_service.py +16 -0
  28. payrex_python-1.0.2/payrex/services/service_factory.py +29 -0
  29. payrex_python-1.0.2/payrex/services/webhook_service.py +98 -0
  30. {payrex_python-1.0.1 → payrex_python-1.0.2}/payrex_python.egg-info/PKG-INFO +1 -1
  31. payrex_python-1.0.2/payrex_python.egg-info/SOURCES.txt +42 -0
  32. {payrex_python-1.0.1 → payrex_python-1.0.2}/setup.py +1 -1
  33. payrex_python-1.0.1/payrex_python.egg-info/SOURCES.txt +0 -14
  34. {payrex_python-1.0.1 → payrex_python-1.0.2}/LICENSE +0 -0
  35. {payrex_python-1.0.1 → payrex_python-1.0.2}/README.md +0 -0
  36. {payrex_python-1.0.1 → payrex_python-1.0.2}/payrex/__init__.py +0 -0
  37. {payrex_python-1.0.1 → payrex_python-1.0.2}/payrex/api_resource.py +0 -0
  38. {payrex_python-1.0.1 → payrex_python-1.0.2}/payrex/client.py +0 -0
  39. {payrex_python-1.0.1 → payrex_python-1.0.2}/payrex/config.py +0 -0
  40. {payrex_python-1.0.1 → payrex_python-1.0.2}/payrex/error.py +0 -0
  41. {payrex_python-1.0.1 → payrex_python-1.0.2}/payrex/http_client.py +0 -0
  42. {payrex_python-1.0.1 → payrex_python-1.0.2}/payrex_python.egg-info/dependency_links.txt +0 -0
  43. {payrex_python-1.0.1 → payrex_python-1.0.2}/payrex_python.egg-info/requires.txt +0 -0
  44. {payrex_python-1.0.1 → payrex_python-1.0.2}/payrex_python.egg-info/top_level.txt +0 -0
  45. {payrex_python-1.0.1 → payrex_python-1.0.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: payrex-python
3
- Version: 1.0.1
3
+ Version: 1.0.2
4
4
  Summary: PayRex Python Library
5
5
  Home-page: https://github.com/payrexhq/payrex-python
6
6
  Author: PayRex
File without changes
@@ -0,0 +1,22 @@
1
+ class BillingStatementEntity:
2
+ def __init__(self, api_resource):
3
+ data = api_resource.data
4
+
5
+ self.id = data.get('id')
6
+ self.customer_reference_id = data.get('customer_reference_id')
7
+ self.client_secret = data.get('client_secret')
8
+ self.status = data.get('status')
9
+ self.currency = data.get('currency')
10
+ self.line_items = data.get('line_items')
11
+ self.livemode = data.get('livemode')
12
+ self.url = data.get('url')
13
+ self.payment_intent = data.get('payment_intent')
14
+ self.metadata = data.get('metadata')
15
+ self.success_url = data.get('success_url')
16
+ self.cancel_url = data.get('cancel_url')
17
+ self.payment_methods = data.get('payment_methods')
18
+ self.description = data.get('description')
19
+ self.submit_type = data.get('submit_type')
20
+ self.expires_at = data.get('expires_at')
21
+ self.created_at = data.get('created_at')
22
+ self.updated_at = data.get('updated_at')
@@ -0,0 +1,12 @@
1
+ class BillingStatementLineItemEntity:
2
+ def __init__(self, api_resource):
3
+ data = api_resource.data
4
+
5
+ self.id = data.get('id')
6
+ self.unit_price = data.get('unit_price')
7
+ self.quantity = data.get('quantity')
8
+ self.billing_statement_id = data.get('billing_statement_id')
9
+ self.description = data.get('description')
10
+ self.livemode = data.get('livemode')
11
+ self.created_at = data.get('created_at')
12
+ self.updated_at = data.get('updated_at')
@@ -0,0 +1,22 @@
1
+ class CheckoutSessionEntity:
2
+ def __init__(self, api_resource):
3
+ data = api_resource.data
4
+
5
+ self.id = data.get('id')
6
+ self.customer_reference_id = data.get('customer_reference_id')
7
+ self.client_secret = data.get('client_secret')
8
+ self.status = data.get('status')
9
+ self.currency = data.get('currency')
10
+ self.line_items = data.get('line_items')
11
+ self.livemode = data.get('livemode')
12
+ self.url = data.get('url')
13
+ self.payment_intent = data.get('payment_intent')
14
+ self.metadata = data.get('metadata')
15
+ self.success_url = data.get('success_url')
16
+ self.cancel_url = data.get('cancel_url')
17
+ self.payment_methods = data.get('payment_methods')
18
+ self.description = data.get('description')
19
+ self.submit_type = data.get('submit_type')
20
+ self.expires_at = data.get('expires_at')
21
+ self.created_at = data.get('created_at')
22
+ self.updated_at = data.get('updated_at')
@@ -0,0 +1,14 @@
1
+ class CustomerEntity:
2
+ def __init__(self, api_resource):
3
+ data = api_resource.data
4
+
5
+ self.id = data.get('id')
6
+ self.billing_statement_prefix = data.get('billing_statement_prefix')
7
+ self.currency = data.get('currency')
8
+ self.email = data.get('email')
9
+ self.livemode = data.get('livemode')
10
+ self.name = data.get('name')
11
+ self.metadata = data.get('metadata')
12
+ self.next_billing_statement_sequence_number = data.get('next_billing_statement_sequence_number')
13
+ self.created_at = data.get('created_at')
14
+ self.updated_at = data.get('updated_at')
@@ -0,0 +1,6 @@
1
+ class DeletedEntity:
2
+ def __init__(self, api_resource):
3
+ data = api_resource.data
4
+
5
+ self.id = data.get('id')
6
+ self.deleted = data.get('deleted')
@@ -0,0 +1,11 @@
1
+ class EventEntity:
2
+ def __init__(self, api_resource):
3
+ data = api_resource.data
4
+
5
+ self.id = data.get('id')
6
+ self.data = data.get('data')
7
+ self.type = data.get('type')
8
+ self.pending_webhooks = data.get('pending_webhooks')
9
+ self.previous_attributes = data.get('previous_attributes')
10
+ self.created_at = data.get('created_at')
11
+ self.updated_at = data.get('updated_at')
@@ -0,0 +1,4 @@
1
+ class ListingEntity:
2
+ def __init__(self, data, has_more):
3
+ self.data = data
4
+ self.has_more = has_more
@@ -0,0 +1,23 @@
1
+ class PaymentIntentEntity:
2
+ def __init__(self, api_resource):
3
+ data = api_resource.data
4
+
5
+ self.id = data.get('id')
6
+ self.amount = data.get('amount')
7
+ self.amount_received = data.get('amount_received')
8
+ self.amount_capturable = data.get('amount_capturable')
9
+ self.client_secret = data.get('client_secret')
10
+ self.currency = data.get('currency')
11
+ self.description = data.get('description')
12
+ self.livemode = data.get('livemode')
13
+ self.metadata = data.get('metadata')
14
+ self.latest_payment = data.get('latest_payment')
15
+ self.payment_method_id = data.get('payment_method_id')
16
+ self.payment_methods = data.get('payment_methods')
17
+ self.payment_method_options = data.get('payment_method_options')
18
+ self.status = data.get('status')
19
+ self.next_action = data.get('next_action')
20
+ self.return_url = data.get('return_url')
21
+ self.capture_before_at = data.get('capture_before_at')
22
+ self.created_at = data.get('created_at')
23
+ self.updated_at = data.get('updated_at')
@@ -0,0 +1,16 @@
1
+ class RefundEntity:
2
+ def __init__(self, api_resource):
3
+ data = api_resource.data
4
+
5
+ self.id = data.get('id')
6
+ self.amount = data.get('amount')
7
+ self.currency = data.get('currency')
8
+ self.livemode = data.get('livemode')
9
+ self.status = data.get('status')
10
+ self.description = data.get('description')
11
+ self.reason = data.get('reason')
12
+ self.remarks = data.get('remarks')
13
+ self.payment_id = data.get('payment_id')
14
+ self.metadata = data.get('metadata')
15
+ self.created_at = data.get('created_at')
16
+ self.updated_at = data.get('updated_at')
@@ -0,0 +1,13 @@
1
+ class WebhookEntity:
2
+ def __init__(self, api_resource):
3
+ data = api_resource.data
4
+
5
+ self.id = data.get('id')
6
+ self.secret_key = data.get('secret_key')
7
+ self.status = data.get('status')
8
+ self.description = data.get('description')
9
+ self.livemode = data.get('livemode')
10
+ self.url = data.get('url')
11
+ self.events = data.get('events')
12
+ self.created_at = data.get('created_at')
13
+ self.updated_at = data.get('updated_at')
File without changes
@@ -0,0 +1,4 @@
1
+ from payrex import BaseException
2
+
3
+ class AuthenticationInvalidException(BaseException):
4
+ pass
@@ -0,0 +1,5 @@
1
+ from payrex import Error
2
+
3
+ class BaseException(Exception):
4
+ def __init__(self, response):
5
+ self.errors = [Error(error) for error in response.get('errors', [])]
@@ -0,0 +1,4 @@
1
+ from payrex import BaseException
2
+
3
+ class RequestInvalidException(BaseException):
4
+ pass
@@ -0,0 +1,4 @@
1
+ from payrex import BaseException
2
+
3
+ class ResourceNotFoundException(BaseException):
4
+ pass
@@ -0,0 +1,2 @@
1
+ class SignatureInvalidException(Exception):
2
+ pass
@@ -0,0 +1,2 @@
1
+ class ValueUnexpectedException(Exception):
2
+ pass
File without changes
@@ -0,0 +1,28 @@
1
+ from payrex import HttpClient
2
+ from payrex import ListingEntity
3
+ from payrex import ApiResource
4
+
5
+ class BaseService:
6
+ def __init__(self, client):
7
+ self.client = client
8
+
9
+ def request(self, method, object, path, payload=None, is_list=False):
10
+ http_client = HttpClient(
11
+ api_key=self.client.config.api_key,
12
+ base_url=self.client.config.api_base_url
13
+ )
14
+
15
+ api_resource = http_client.request(
16
+ method=method,
17
+ params=payload,
18
+ path=path
19
+ )
20
+
21
+ if is_list:
22
+ data = [object(ApiResource(data)) for data in api_resource.data['data']]
23
+
24
+ return ListingEntity(data, api_resource.data['has_more'])
25
+ elif object is None:
26
+ return None
27
+ else:
28
+ return object(api_resource)
@@ -0,0 +1,41 @@
1
+ from payrex import BaseService
2
+ from payrex import BillingStatementLineItemEntity
3
+ from payrex import DeletedEntity
4
+
5
+ class BillingStatementLineItemService(BaseService):
6
+ PATH = 'billing_statement_line_items'
7
+
8
+ def __init__(self, client):
9
+ BaseService.__init__(self, client)
10
+
11
+ def create(self, payload):
12
+ return self.request(
13
+ method='post',
14
+ object=BillingStatementLineItemEntity,
15
+ path=self.PATH,
16
+ payload=payload
17
+ )
18
+
19
+ def retrieve(self, id):
20
+ return self.request(
21
+ method='get',
22
+ object=BillingStatementLineItemEntity,
23
+ path=f'{self.PATH}/{id}',
24
+ payload={}
25
+ )
26
+
27
+ def update(self, id, payload):
28
+ return self.request(
29
+ method='put',
30
+ object=BillingStatementLineItemEntity,
31
+ path=f'{self.PATH}/{id}',
32
+ payload=payload
33
+ )
34
+
35
+ def delete(self, id):
36
+ return self.request(
37
+ method='delete',
38
+ object=DeletedEntity,
39
+ path=f'{self.PATH}/{id}',
40
+ payload={}
41
+ )
@@ -0,0 +1,82 @@
1
+ from payrex import BaseService
2
+ from payrex import BillingStatementEntity
3
+ from payrex import DeletedEntity
4
+
5
+ class BillingStatementService(BaseService):
6
+ PATH = 'billing_statements'
7
+
8
+ def __init__(self, client):
9
+ BaseService.__init__(self, client)
10
+
11
+ def create(self, payload):
12
+ return self.request(
13
+ method='post',
14
+ object=BillingStatementEntity,
15
+ path=self.PATH,
16
+ payload=payload
17
+ )
18
+
19
+ def retrieve(self, id):
20
+ return self.request(
21
+ method='get',
22
+ object=BillingStatementEntity,
23
+ path=f'{self.PATH}/{id}',
24
+ payload={}
25
+ )
26
+
27
+ def list(self, payload = {}):
28
+ return self.request(
29
+ method='get',
30
+ object=BillingStatementEntity,
31
+ path=self.PATH,
32
+ payload=payload,
33
+ is_list=True
34
+ )
35
+
36
+ def update(self, id, payload):
37
+ return self.request(
38
+ method='put',
39
+ object=BillingStatementEntity,
40
+ path=f'{self.PATH}/{id}',
41
+ payload=payload
42
+ )
43
+
44
+ def delete(self, id):
45
+ return self.request(
46
+ method='delete',
47
+ object=DeletedEntity,
48
+ path=f'{self.PATH}/{id}',
49
+ payload={}
50
+ )
51
+
52
+ def finalize(self, id):
53
+ return self.request(
54
+ method='post',
55
+ object=BillingStatementEntity,
56
+ path=f'{self.PATH}/{id}/finalize',
57
+ payload={}
58
+ )
59
+
60
+ def send(self, id):
61
+ return self.request(
62
+ method='post',
63
+ object=None,
64
+ path=f'{self.PATH}/{id}/send',
65
+ payload={}
66
+ )
67
+
68
+ def void(self, id):
69
+ return self.request(
70
+ method='post',
71
+ object=BillingStatementEntity,
72
+ path=f'{self.PATH}/{id}/void',
73
+ payload={}
74
+ )
75
+
76
+ def mark_uncollectible(self, id):
77
+ return self.request(
78
+ method='post',
79
+ object=BillingStatementEntity,
80
+ path=f'{self.PATH}/{id}/mark_uncollectible',
81
+ payload={}
82
+ )
@@ -0,0 +1,41 @@
1
+ from payrex import BaseService
2
+ from payrex import CheckoutSessionEntity
3
+
4
+ class CheckoutSessionService(BaseService):
5
+ PATH = 'checkout_sessions'
6
+
7
+ def __init__(self, client):
8
+ BaseService.__init__(self, client)
9
+
10
+ def create(self, payload):
11
+ return self.request(
12
+ method='post',
13
+ object=CheckoutSessionEntity,
14
+ path=self.PATH,
15
+ payload=payload
16
+ )
17
+
18
+ def list(self, payload = {}):
19
+ return self.request(
20
+ method='get',
21
+ object=CheckoutSessionEntity,
22
+ path=self.PATH,
23
+ payload=payload,
24
+ is_list=True
25
+ )
26
+
27
+ def retrieve(self, id):
28
+ return self.request(
29
+ method='get',
30
+ object=CheckoutSessionEntity,
31
+ path=f'{self.PATH}/{id}',
32
+ payload={}
33
+ )
34
+
35
+ def expire(self, id):
36
+ return self.request(
37
+ method='post',
38
+ object=CheckoutSessionEntity,
39
+ path=f'{self.PATH}/{id}/expire',
40
+ payload={}
41
+ )
@@ -0,0 +1,50 @@
1
+ from payrex import BaseService
2
+ from payrex import CustomerEntity
3
+ from payrex import DeletedEntity
4
+
5
+ class CustomerService(BaseService):
6
+ PATH = 'customers'
7
+
8
+ def __init__(self, client):
9
+ BaseService.__init__(self, client)
10
+
11
+ def create(self, payload):
12
+ return self.request(
13
+ method='post',
14
+ object=CustomerEntity,
15
+ path=self.PATH,
16
+ payload=payload
17
+ )
18
+
19
+ def retrieve(self, id):
20
+ return self.request(
21
+ method='get',
22
+ object=CustomerEntity,
23
+ path=f'{self.PATH}/{id}',
24
+ payload={}
25
+ )
26
+
27
+ def list(self, payload = {}):
28
+ return self.request(
29
+ method='get',
30
+ object=CustomerEntity,
31
+ path=self.PATH,
32
+ payload=payload,
33
+ is_list=True
34
+ )
35
+
36
+ def update(self, id, payload):
37
+ return self.request(
38
+ method='put',
39
+ object=CustomerEntity,
40
+ path=f'{self.PATH}/{id}',
41
+ payload=payload
42
+ )
43
+
44
+ def delete(self, id):
45
+ return self.request(
46
+ method='delete',
47
+ object=DeletedEntity,
48
+ path=f'{self.PATH}/{id}',
49
+ payload={}
50
+ )
@@ -0,0 +1,32 @@
1
+ from payrex import BaseService
2
+ from payrex import PaymentIntentEntity
3
+
4
+ class PaymentIntentService(BaseService):
5
+ PATH = 'payment_intents'
6
+
7
+ def __init__(self, client):
8
+ BaseService.__init__(self, client)
9
+
10
+ def capture(self, id, payload):
11
+ return self.request(
12
+ method='post',
13
+ object=PaymentIntentEntity,
14
+ path=f'{self.PATH}/{id}/capture',
15
+ payload=payload
16
+ )
17
+
18
+ def create(self, payload):
19
+ return self.request(
20
+ method='post',
21
+ object=PaymentIntentEntity,
22
+ path=self.PATH,
23
+ payload=payload
24
+ )
25
+
26
+ def retrieve(self, id):
27
+ return self.request(
28
+ method='get',
29
+ object=PaymentIntentEntity,
30
+ path=f'{self.PATH}/{id}',
31
+ payload={}
32
+ )
@@ -0,0 +1,16 @@
1
+ from payrex import BaseService
2
+ from payrex import RefundEntity
3
+
4
+ class RefundService(BaseService):
5
+ PATH = 'refunds'
6
+
7
+ def __init__(self, client):
8
+ BaseService.__init__(self, client)
9
+
10
+ def create(self, payload):
11
+ return self.request(
12
+ method='post',
13
+ object=RefundEntity,
14
+ path=self.PATH,
15
+ payload=payload
16
+ )
@@ -0,0 +1,29 @@
1
+ import re
2
+
3
+ from payrex import BaseService
4
+ from payrex import CheckoutSessionService
5
+ from payrex import CustomerService
6
+ from payrex import BillingStatementService
7
+ from payrex import BillingStatementLineItemService
8
+ from payrex import PaymentIntentService
9
+ from payrex import RefundService
10
+ from payrex import WebhookService
11
+
12
+ class ServiceFactory:
13
+ @staticmethod
14
+ def get(name):
15
+ service_name = ''.join(word.capitalize() for word in name.split('_'))
16
+ service_class = globals().get(service_name + 'Service')
17
+
18
+ if not isinstance(service_class, type):
19
+ raise ValueError(f'Unknown service: {name}')
20
+
21
+ return service_class
22
+
23
+ @staticmethod
24
+ def names():
25
+ return [
26
+ re.sub(r'(?<!^)(?=[A-Z])', '_', c.__name__.split('Service')[0]).lower()
27
+
28
+ for c in BaseService.__subclasses__()
29
+ ]
@@ -0,0 +1,98 @@
1
+ import json
2
+ import hashlib
3
+ import hmac
4
+
5
+ from payrex import BaseService
6
+ from payrex import WebhookEntity
7
+ from payrex import DeletedEntity
8
+ from payrex import ValueUnexpectedException
9
+ from payrex import SignatureInvalidException
10
+ from payrex import ApiResource
11
+ from payrex import EventEntity
12
+
13
+ class WebhookService(BaseService):
14
+ PATH = 'webhooks'
15
+
16
+ def __init__(self, client):
17
+ BaseService.__init__(self, client)
18
+
19
+ def create(self, payload):
20
+ return self.request(
21
+ method='post',
22
+ object=WebhookEntity,
23
+ path=self.PATH,
24
+ payload=payload
25
+ )
26
+
27
+ def update(self, id, payload):
28
+ return self.request(
29
+ method='put',
30
+ object=WebhookEntity,
31
+ path=f'{self.PATH}/{id}',
32
+ payload=payload
33
+ )
34
+
35
+ def list(self, payload = {}):
36
+ return self.request(
37
+ method='get',
38
+ object=WebhookEntity,
39
+ path=self.PATH,
40
+ payload=payload,
41
+ is_list=True
42
+ )
43
+
44
+ def retrieve(self, id):
45
+ return self.request(
46
+ method='get',
47
+ object=WebhookEntity,
48
+ path=f'{self.PATH}/{id}',
49
+ payload={}
50
+ )
51
+
52
+ def enable(self, id):
53
+ return self.request(
54
+ method='post',
55
+ object=WebhookEntity,
56
+ path=f'{self.PATH}/{id}/enable',
57
+ payload={}
58
+ )
59
+
60
+ def disable(self, id):
61
+ return self.request(
62
+ method='post',
63
+ object=WebhookEntity,
64
+ path=f'{self.PATH}/{id}/disable',
65
+ payload={}
66
+ )
67
+
68
+ def delete(self, id):
69
+ return self.request(
70
+ method='delete',
71
+ object=DeletedEntity,
72
+ path=f'{self.PATH}/{id}',
73
+ payload={}
74
+ )
75
+
76
+ def parse_event(self, payload, signature_header, webhook_secret_key):
77
+ if not isinstance(signature_header, str):
78
+ raise ValueUnexpectedException('The signature must be a string.')
79
+
80
+ signature_array = signature_header.split(',')
81
+
82
+ if len(signature_array) < 3:
83
+ raise ValueUnexpectedException(f'The format of signature {signature_header} is invalid.')
84
+
85
+ timestamp = signature_array[0].split('=')[1]
86
+ test_mode_signature = signature_array[1].split('=')[1]
87
+ live_mode_signature = signature_array[2].split('=')[1]
88
+
89
+ comparison_signature = live_mode_signature or test_mode_signature
90
+
91
+ computed_hash = hmac.new(webhook_secret_key.encode(), f'{timestamp}.{payload}'.encode(), hashlib.sha256).hexdigest()
92
+
93
+ if computed_hash != comparison_signature:
94
+ raise SignatureInvalidException('The signature is invalid.')
95
+
96
+ api_resource = ApiResource(json.loads(payload))
97
+
98
+ return EventEntity(api_resource)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: payrex-python
3
- Version: 1.0.1
3
+ Version: 1.0.2
4
4
  Summary: PayRex Python Library
5
5
  Home-page: https://github.com/payrexhq/payrex-python
6
6
  Author: PayRex
@@ -0,0 +1,42 @@
1
+ LICENSE
2
+ README.md
3
+ setup.py
4
+ payrex/__init__.py
5
+ payrex/api_resource.py
6
+ payrex/client.py
7
+ payrex/config.py
8
+ payrex/error.py
9
+ payrex/http_client.py
10
+ payrex/entities/__init__.py
11
+ payrex/entities/billing_statement_entity.py
12
+ payrex/entities/billing_statement_line_item_entity.py
13
+ payrex/entities/checkout_session_entity.py
14
+ payrex/entities/customer_entity.py
15
+ payrex/entities/deleted_entity.py
16
+ payrex/entities/event_entity.py
17
+ payrex/entities/listing_entity.py
18
+ payrex/entities/payment_intent_entity.py
19
+ payrex/entities/refund_entity.py
20
+ payrex/entities/webhook_entity.py
21
+ payrex/exceptions/__init__.py
22
+ payrex/exceptions/authentication_invalid_exception.py
23
+ payrex/exceptions/base_exception.py
24
+ payrex/exceptions/request_invalid_exception.py
25
+ payrex/exceptions/resource_not_found_exception.py
26
+ payrex/exceptions/signature_invalid_exception.py
27
+ payrex/exceptions/value_unexpected_exception.py
28
+ payrex/services/__init__.py
29
+ payrex/services/base_service.py
30
+ payrex/services/billing_statement_line_item_service.py
31
+ payrex/services/billing_statement_service.py
32
+ payrex/services/checkout_session_service.py
33
+ payrex/services/customer_service.py
34
+ payrex/services/payment_intent_service.py
35
+ payrex/services/refund_service.py
36
+ payrex/services/service_factory.py
37
+ payrex/services/webhook_service.py
38
+ payrex_python.egg-info/PKG-INFO
39
+ payrex_python.egg-info/SOURCES.txt
40
+ payrex_python.egg-info/dependency_links.txt
41
+ payrex_python.egg-info/requires.txt
42
+ payrex_python.egg-info/top_level.txt
@@ -3,7 +3,7 @@ from pathlib import Path
3
3
 
4
4
  setup(
5
5
  name='payrex-python',
6
- version='1.0.1',
6
+ version='1.0.2',
7
7
  author='PayRex',
8
8
  author_email='support@payrexhq.com',
9
9
  description='PayRex Python Library',
@@ -1,14 +0,0 @@
1
- LICENSE
2
- README.md
3
- setup.py
4
- payrex/__init__.py
5
- payrex/api_resource.py
6
- payrex/client.py
7
- payrex/config.py
8
- payrex/error.py
9
- payrex/http_client.py
10
- payrex_python.egg-info/PKG-INFO
11
- payrex_python.egg-info/SOURCES.txt
12
- payrex_python.egg-info/dependency_links.txt
13
- payrex_python.egg-info/requires.txt
14
- payrex_python.egg-info/top_level.txt
File without changes
File without changes
File without changes