dodopayments 1.51.0__py3-none-any.whl → 1.52.4__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 dodopayments might be problematic. Click here for more details.

Files changed (43) hide show
  1. dodopayments/_client.py +18 -0
  2. dodopayments/_models.py +1 -1
  3. dodopayments/_types.py +35 -1
  4. dodopayments/_utils/__init__.py +1 -0
  5. dodopayments/_utils/_transform.py +6 -0
  6. dodopayments/_utils/_typing.py +5 -0
  7. dodopayments/_version.py +1 -1
  8. dodopayments/resources/__init__.py +28 -0
  9. dodopayments/resources/discounts.py +6 -6
  10. dodopayments/resources/invoices/payments.py +80 -0
  11. dodopayments/resources/meters.py +554 -0
  12. dodopayments/resources/products/products.py +16 -16
  13. dodopayments/resources/subscriptions.py +223 -0
  14. dodopayments/resources/usage_events.py +597 -0
  15. dodopayments/types/__init__.py +20 -0
  16. dodopayments/types/add_meter_to_price.py +29 -0
  17. dodopayments/types/add_meter_to_price_param.py +30 -0
  18. dodopayments/types/discount_create_params.py +3 -2
  19. dodopayments/types/discount_update_params.py +3 -2
  20. dodopayments/types/event.py +26 -0
  21. dodopayments/types/event_input_param.py +38 -0
  22. dodopayments/types/meter.py +40 -0
  23. dodopayments/types/meter_aggregation.py +16 -0
  24. dodopayments/types/meter_aggregation_param.py +16 -0
  25. dodopayments/types/meter_create_params.py +31 -0
  26. dodopayments/types/meter_filter.py +131 -0
  27. dodopayments/types/meter_filter_param.py +143 -0
  28. dodopayments/types/meter_list_params.py +18 -0
  29. dodopayments/types/payment.py +6 -0
  30. dodopayments/types/price.py +52 -5
  31. dodopayments/types/price_param.py +52 -5
  32. dodopayments/types/product_create_params.py +3 -2
  33. dodopayments/types/product_update_params.py +4 -3
  34. dodopayments/types/subscription.py +20 -1
  35. dodopayments/types/subscription_retrieve_usage_history_params.py +28 -0
  36. dodopayments/types/subscription_retrieve_usage_history_response.py +46 -0
  37. dodopayments/types/usage_event_ingest_params.py +15 -0
  38. dodopayments/types/usage_event_ingest_response.py +9 -0
  39. dodopayments/types/usage_event_list_params.py +42 -0
  40. {dodopayments-1.51.0.dist-info → dodopayments-1.52.4.dist-info}/METADATA +1 -1
  41. {dodopayments-1.51.0.dist-info → dodopayments-1.52.4.dist-info}/RECORD +43 -25
  42. {dodopayments-1.51.0.dist-info → dodopayments-1.52.4.dist-info}/WHEEL +0 -0
  43. {dodopayments-1.51.0.dist-info → dodopayments-1.52.4.dist-info}/licenses/LICENSE +0 -0
@@ -2,20 +2,21 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Union, Optional
5
+ from typing import Union, Iterable, Optional
6
6
  from typing_extensions import Literal, Required, TypeAlias, TypedDict
7
7
 
8
8
  from .currency import Currency
9
9
  from .time_interval import TimeInterval
10
+ from .add_meter_to_price_param import AddMeterToPriceParam
10
11
 
11
- __all__ = ["PriceParam", "OneTimePrice", "RecurringPrice"]
12
+ __all__ = ["PriceParam", "OneTimePrice", "RecurringPrice", "UsageBasedPrice"]
12
13
 
13
14
 
14
15
  class OneTimePrice(TypedDict, total=False):
15
16
  currency: Required[Currency]
16
17
  """The currency in which the payment is made."""
17
18
 
18
- discount: Required[float]
19
+ discount: Required[int]
19
20
  """Discount applied to the price, represented as a percentage (0 to 100)."""
20
21
 
21
22
  price: Required[int]
@@ -56,7 +57,7 @@ class RecurringPrice(TypedDict, total=False):
56
57
  currency: Required[Currency]
57
58
  """The currency in which the payment is made."""
58
59
 
59
- discount: Required[float]
60
+ discount: Required[int]
60
61
  """Discount applied to the price, represented as a percentage (0 to 100)."""
61
62
 
62
63
  payment_frequency_count: Required[int]
@@ -99,4 +100,50 @@ class RecurringPrice(TypedDict, total=False):
99
100
  """Number of days for the trial period. A value of `0` indicates no trial period."""
100
101
 
101
102
 
102
- PriceParam: TypeAlias = Union[OneTimePrice, RecurringPrice]
103
+ class UsageBasedPrice(TypedDict, total=False):
104
+ currency: Required[Currency]
105
+ """The currency in which the payment is made."""
106
+
107
+ discount: Required[int]
108
+ """Discount applied to the price, represented as a percentage (0 to 100)."""
109
+
110
+ fixed_price: Required[int]
111
+ """The fixed payment amount.
112
+
113
+ Represented in the lowest denomination of the currency (e.g., cents for USD).
114
+ For example, to charge $1.00, pass `100`.
115
+ """
116
+
117
+ payment_frequency_count: Required[int]
118
+ """
119
+ Number of units for the payment frequency. For example, a value of `1` with a
120
+ `payment_frequency_interval` of `month` represents monthly payments.
121
+ """
122
+
123
+ payment_frequency_interval: Required[TimeInterval]
124
+ """The time interval for the payment frequency (e.g., day, month, year)."""
125
+
126
+ purchasing_power_parity: Required[bool]
127
+ """
128
+ Indicates if purchasing power parity adjustments are applied to the price.
129
+ Purchasing power parity feature is not available as of now
130
+ """
131
+
132
+ subscription_period_count: Required[int]
133
+ """
134
+ Number of units for the subscription period. For example, a value of `12` with a
135
+ `subscription_period_interval` of `month` represents a one-year subscription.
136
+ """
137
+
138
+ subscription_period_interval: Required[TimeInterval]
139
+ """The time interval for the subscription period (e.g., day, month, year)."""
140
+
141
+ type: Required[Literal["usage_based_price"]]
142
+
143
+ meters: Optional[Iterable[AddMeterToPriceParam]]
144
+
145
+ tax_inclusive: Optional[bool]
146
+ """Indicates if the price is tax inclusive"""
147
+
148
+
149
+ PriceParam: TypeAlias = Union[OneTimePrice, RecurringPrice, UsageBasedPrice]
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Optional
5
+ from typing import Dict, Optional
6
6
  from typing_extensions import Required, TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
8
9
  from .price_param import PriceParam
9
10
  from .tax_category import TaxCategory
10
11
  from .license_key_duration_param import LicenseKeyDurationParam
@@ -19,7 +20,7 @@ class ProductCreateParams(TypedDict, total=False):
19
20
  tax_category: Required[TaxCategory]
20
21
  """Tax category applied to this product"""
21
22
 
22
- addons: Optional[List[str]]
23
+ addons: Optional[SequenceNotStr[str]]
23
24
  """Addons available for subscription product"""
24
25
 
25
26
  brand_id: Optional[str]
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Optional
5
+ from typing import Dict, Optional
6
6
  from typing_extensions import TypedDict
7
7
 
8
+ from .._types import SequenceNotStr
8
9
  from .price_param import PriceParam
9
10
  from .tax_category import TaxCategory
10
11
  from .license_key_duration_param import LicenseKeyDurationParam
@@ -13,7 +14,7 @@ __all__ = ["ProductUpdateParams", "DigitalProductDelivery"]
13
14
 
14
15
 
15
16
  class ProductUpdateParams(TypedDict, total=False):
16
- addons: Optional[List[str]]
17
+ addons: Optional[SequenceNotStr[str]]
17
18
  """Available Addons for subscription products"""
18
19
 
19
20
  brand_id: Optional[str]
@@ -72,7 +73,7 @@ class DigitalProductDelivery(TypedDict, total=False):
72
73
  external_url: Optional[str]
73
74
  """External URL to digital product"""
74
75
 
75
- files: Optional[List[str]]
76
+ files: Optional[SequenceNotStr[str]]
76
77
  """Uploaded files ids of digital product"""
77
78
 
78
79
  instructions: Optional[str]
@@ -11,7 +11,23 @@ from .subscription_status import SubscriptionStatus
11
11
  from .addon_cart_response_item import AddonCartResponseItem
12
12
  from .customer_limited_details import CustomerLimitedDetails
13
13
 
14
- __all__ = ["Subscription"]
14
+ __all__ = ["Subscription", "Meter"]
15
+
16
+
17
+ class Meter(BaseModel):
18
+ currency: Currency
19
+
20
+ free_threshold: int
21
+
22
+ measurement_unit: str
23
+
24
+ meter_id: str
25
+
26
+ name: str
27
+
28
+ price_per_unit: str
29
+
30
+ description: Optional[str] = None
15
31
 
16
32
 
17
33
  class Subscription(BaseModel):
@@ -36,6 +52,9 @@ class Subscription(BaseModel):
36
52
  metadata: Dict[str, str]
37
53
  """Additional custom data associated with the subscription"""
38
54
 
55
+ meters: List[Meter]
56
+ """Meters associated with this subscription (for usage-based billing)"""
57
+
39
58
  next_billing_date: datetime
40
59
  """Timestamp of the next scheduled billing.
41
60
 
@@ -0,0 +1,28 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union, Optional
6
+ from datetime import datetime
7
+ from typing_extensions import Annotated, TypedDict
8
+
9
+ from .._utils import PropertyInfo
10
+
11
+ __all__ = ["SubscriptionRetrieveUsageHistoryParams"]
12
+
13
+
14
+ class SubscriptionRetrieveUsageHistoryParams(TypedDict, total=False):
15
+ end_date: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
16
+ """Filter by end date (inclusive)"""
17
+
18
+ meter_id: Optional[str]
19
+ """Filter by specific meter ID"""
20
+
21
+ page_number: Optional[int]
22
+ """Page number (default: 0)"""
23
+
24
+ page_size: Optional[int]
25
+ """Page size (default: 10, max: 100)"""
26
+
27
+ start_date: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
28
+ """Filter by start date (inclusive)"""
@@ -0,0 +1,46 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from datetime import datetime
5
+
6
+ from .._models import BaseModel
7
+ from .currency import Currency
8
+
9
+ __all__ = ["SubscriptionRetrieveUsageHistoryResponse", "Meter"]
10
+
11
+
12
+ class Meter(BaseModel):
13
+ id: str
14
+ """Meter identifier"""
15
+
16
+ chargeable_units: str
17
+ """Chargeable units (after free threshold) as string for precision"""
18
+
19
+ consumed_units: str
20
+ """Total units consumed as string for precision"""
21
+
22
+ currency: Currency
23
+ """Currency for the price per unit"""
24
+
25
+ free_threshold: int
26
+ """Free threshold units for this meter"""
27
+
28
+ name: str
29
+ """Meter name"""
30
+
31
+ price_per_unit: str
32
+ """Price per unit in string format for precision"""
33
+
34
+ total_price: int
35
+ """Total price charged for this meter in smallest currency unit (cents)"""
36
+
37
+
38
+ class SubscriptionRetrieveUsageHistoryResponse(BaseModel):
39
+ end_date: datetime
40
+ """End date of the billing period"""
41
+
42
+ meters: List[Meter]
43
+ """List of meters and their usage for this billing period"""
44
+
45
+ start_date: datetime
46
+ """Start date of the billing period"""
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Iterable
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ from .event_input_param import EventInputParam
9
+
10
+ __all__ = ["UsageEventIngestParams"]
11
+
12
+
13
+ class UsageEventIngestParams(TypedDict, total=False):
14
+ events: Required[Iterable[EventInputParam]]
15
+ """List of events to be pushed"""
@@ -0,0 +1,9 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .._models import BaseModel
4
+
5
+ __all__ = ["UsageEventIngestResponse"]
6
+
7
+
8
+ class UsageEventIngestResponse(BaseModel):
9
+ ingested_count: int
@@ -0,0 +1,42 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union
6
+ from datetime import datetime
7
+ from typing_extensions import Annotated, TypedDict
8
+
9
+ from .._utils import PropertyInfo
10
+
11
+ __all__ = ["UsageEventListParams"]
12
+
13
+
14
+ class UsageEventListParams(TypedDict, total=False):
15
+ customer_id: str
16
+ """Filter events by customer ID"""
17
+
18
+ end: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
19
+ """Filter events created before this timestamp"""
20
+
21
+ event_name: str
22
+ """Filter events by event name.
23
+
24
+ If both event_name and meter_id are provided, they must match the meter's
25
+ configured event_name
26
+ """
27
+
28
+ meter_id: str
29
+ """Filter events by meter ID.
30
+
31
+ When provided, only events that match the meter's event_name and filter criteria
32
+ will be returned
33
+ """
34
+
35
+ page_number: int
36
+ """Page number (0-based, default: 0)"""
37
+
38
+ page_size: int
39
+ """Number of events to return per page (default: 10)"""
40
+
41
+ start: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")]
42
+ """Filter events created after this timestamp"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dodopayments
3
- Version: 1.51.0
3
+ Version: 1.52.4
4
4
  Summary: The official Python library for the Dodo Payments API
5
5
  Project-URL: Homepage, https://github.com/dodopayments/dodopayments-python
6
6
  Project-URL: Repository, https://github.com/dodopayments/dodopayments-python
@@ -1,57 +1,61 @@
1
1
  dodopayments/__init__.py,sha256=jLgJiqM7q7-wstUdqp2RuuWVjLPGor5q-vw3liQR5lw,2711
2
2
  dodopayments/_base_client.py,sha256=rrB4T5TSjt2gzNFQiYNF8NTvmeyE0S3sn7ZyCL6kf2A,67041
3
- dodopayments/_client.py,sha256=0nvb_QZD-LlL0iorV8NpyOoN9neiZvK1EFlI840LIMU,28122
3
+ dodopayments/_client.py,sha256=cyIz_UL_a8aLNRyMnKncI0SQ0Wuch2XfQ-1Xcf9D_Ak,29304
4
4
  dodopayments/_compat.py,sha256=VWemUKbj6DDkQ-O4baSpHVLJafotzeXmCQGJugfVTIw,6580
5
5
  dodopayments/_constants.py,sha256=S14PFzyN9-I31wiV7SmIlL5Ga0MLHxdvegInGdXH7tM,462
6
6
  dodopayments/_exceptions.py,sha256=NgI0bxilB8xXOfjBWCzr-Y7t1aIJGMqCQRXvSyy29cM,3232
7
7
  dodopayments/_files.py,sha256=KnEzGi_O756MvKyJ4fOCW_u3JhOeWPQ4RsmDvqihDQU,3545
8
- dodopayments/_models.py,sha256=KvjsMfb88XZlFUKVoOxr8OyDj47MhoH2OKqWNEbBhk4,30010
8
+ dodopayments/_models.py,sha256=6rDtUmk6jhjGN1q96CUICYfBunNXNhhEk_AqztTm3uE,30012
9
9
  dodopayments/_qs.py,sha256=AOkSz4rHtK4YI3ZU_kzea-zpwBUgEY8WniGmTPyEimc,4846
10
10
  dodopayments/_resource.py,sha256=Jfh17Q3kKzAhO-dlfIwYlueN9t1edaaY_vmnC9vErpA,1136
11
11
  dodopayments/_response.py,sha256=PDvrSN3E3IkXVw2GvyOCTNB8ch0Xn9yaWQz4w1nHZEQ,28854
12
12
  dodopayments/_streaming.py,sha256=U4D6MhotaUaGaHz32lBt0XM98IOPIpPbKHUfbb0HGCk,10124
13
- dodopayments/_types.py,sha256=gP0yR7AIegimhmZ6rYIjSHFCr9YWzvh-jZabbVcgtio,6203
14
- dodopayments/_version.py,sha256=d_xcVD-Tt7Dus02NMUzZnx2ntL9aBASCA8JAJ6rWnjc,165
13
+ dodopayments/_types.py,sha256=Zlx9hG-LsblNWuAFs7_Ux5a-S4w5jIB87yirH9z30nE,7302
14
+ dodopayments/_version.py,sha256=szvjW3RxzkiX2KqxAB3-jX4KdFU5XqC1bAcb9LPsWk8,165
15
15
  dodopayments/pagination.py,sha256=gaS62u_b_92OYnUHmstLAFL5AF2_cr3Z6VpzSHd0mMw,2796
16
16
  dodopayments/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- dodopayments/_utils/__init__.py,sha256=PNZ_QJuzZEgyYXqkO1HVhGkj5IU9bglVUcw7H-Knjzw,2062
17
+ dodopayments/_utils/__init__.py,sha256=QMTNChOzCs5KF_NTxyb5XpFyyfmHiQASrFovz3dHmK8,2104
18
18
  dodopayments/_utils/_logs.py,sha256=wS-wfjlRVqO9Na43iwXZXBQ3Vm0dbZRPyOl9xYum580,793
19
19
  dodopayments/_utils/_proxy.py,sha256=aglnj2yBTDyGX9Akk2crZHrl10oqRmceUy2Zp008XEs,1975
20
20
  dodopayments/_utils/_reflection.py,sha256=ZmGkIgT_PuwedyNBrrKGbxoWtkpytJNU1uU4QHnmEMU,1364
21
21
  dodopayments/_utils/_resources_proxy.py,sha256=UYxKVIu0_C8NeRj7yoow0JN6MkxeIlOC0IBDX2F1QPU,619
22
22
  dodopayments/_utils/_streams.py,sha256=SMC90diFFecpEg_zgDRVbdR3hSEIgVVij4taD-noMLM,289
23
23
  dodopayments/_utils/_sync.py,sha256=TpGLrrhRNWTJtODNE6Fup3_k7zrWm1j2RlirzBwre-0,2862
24
- dodopayments/_utils/_transform.py,sha256=n7kskEWz6o__aoNvhFoGVyDoalNe6mJwp-g7BWkdj88,15617
25
- dodopayments/_utils/_typing.py,sha256=D0DbbNu8GnYQTSICnTSHDGsYXj8TcAKyhejb0XcnjtY,4602
24
+ dodopayments/_utils/_transform.py,sha256=Owrq-VLQMnGwPwOYHRLnnRTZTaGn1DJYSD2YROB23CU,15894
25
+ dodopayments/_utils/_typing.py,sha256=UAoN7JEd8A-T32Cju-dL5EyqWKO_ktG4VDQ3KOhzqG0,4787
26
26
  dodopayments/_utils/_utils.py,sha256=ts4CiiuNpFiGB6YMdkQRh2SZvYvsl7mAF-JWHCcLDf4,12312
27
27
  dodopayments/lib/.keep,sha256=wuNrz-5SXo3jJaJOJgz4vFHM41YH_g20F5cRQo0vLes,224
28
- dodopayments/resources/__init__.py,sha256=2aH7abToE2YrdKAuS8v4gTDNrosvbkfRy_FFh7jG7R4,8445
28
+ dodopayments/resources/__init__.py,sha256=uuPxPjUx7lOhJf5IXShPaBZmOrk3KGk1dqIHFWZ3QZ4,9411
29
29
  dodopayments/resources/addons.py,sha256=apKpyfdtajQNxSKUnj-tkFB-6Xgj7kMnpQ8q_1LbcB4,21902
30
30
  dodopayments/resources/brands.py,sha256=EH0Meg4duOJO9ZSvzv4IxBazA7OrdS6_gdOOJkQMSGo,18786
31
31
  dodopayments/resources/checkout_sessions.py,sha256=6q2E8mZihlMoxDIBE6g1VW1rPzQ5e9ih42xES358iII,12351
32
- dodopayments/resources/discounts.py,sha256=NwcjxzVXR1rlxfeevg8MGxpPBseqfULw3PgHtICJuWc,26690
32
+ dodopayments/resources/discounts.py,sha256=nybXO_n9VfCg7AOfDF-JLcGWC-zRE4_-GOv0QDRCx6c,26740
33
33
  dodopayments/resources/disputes.py,sha256=pnRGAyvRvQdXntqq8PTnCxpaFjKRkukbq7CzlRkG-kg,12263
34
34
  dodopayments/resources/license_key_instances.py,sha256=oCgJ-D6JVP_Fte_IjRHnykqhAynN6rDJphrkg6hyxjE,14082
35
35
  dodopayments/resources/license_keys.py,sha256=N4CKnjzEx3JoAmGZ72hU30ENVT5NegGwvP-ILaTu04U,15838
36
36
  dodopayments/resources/licenses.py,sha256=S7cNB9k82pJBiHfdRjmNdvEfDaYUGNUigLBJPgUyg-E,13150
37
+ dodopayments/resources/meters.py,sha256=pqv-YhGS9u9QEFVULGxkDJyZJ64e4d-SrQ5xjZ5YlZ4,20285
37
38
  dodopayments/resources/misc.py,sha256=BRPUna3lLIrJ-gMGOOQL1-xYx_oMwVDzKL4d498C7pI,5081
38
39
  dodopayments/resources/payments.py,sha256=8VNZCDvtjjUyj_yETzF-nx19gqWzfca9Za5zb2dwfMA,24533
39
40
  dodopayments/resources/payouts.py,sha256=llIbNwI3vQZYf2HsgYL5Irfl6BBoQc1g4aLPWwY09Uo,6926
40
41
  dodopayments/resources/refunds.py,sha256=BS9PcxZhEmBZveZTRo4__WmgVwKpqEEHQDp7tuMh7tQ,15045
41
- dodopayments/resources/subscriptions.py,sha256=zUqZ2vnUsdfX1rS8f7-KPUZEq7873ixk0SRN4cJ1vlw,38993
42
+ dodopayments/resources/subscriptions.py,sha256=HWjcDodxUW8j_NnyIZ4aOuhgzmBo1-SFmNqg6Ius2kM,48864
43
+ dodopayments/resources/usage_events.py,sha256=qfb_cAUknqlUr8T_-FMe38H_3Rt19IauBvL5xkl7md8,22311
42
44
  dodopayments/resources/customers/__init__.py,sha256=RIP1WYqO_PIq9b57tDaJWf9zIRxG_iFeFkOVhe3apAo,1146
43
45
  dodopayments/resources/customers/customer_portal.py,sha256=f74AYBYOb0yIffh4jLmIB3igrcfaHnCS0oAbACmGlyA,6961
44
46
  dodopayments/resources/customers/customers.py,sha256=Z3HuZh3XiX7xUl_rNCO-Ia0uahy97QkUTTB_ue-Z1Cc,18337
45
47
  dodopayments/resources/invoices/__init__.py,sha256=r81DwjI_F6B-ydnyJLSpowqPN0eTcROcPEvvzAkGPds,1054
46
48
  dodopayments/resources/invoices/invoices.py,sha256=-XZWHtZk92Wbbz5qO0DgiOCZGNKv4Slsd95feusnTnI,3761
47
- dodopayments/resources/invoices/payments.py,sha256=Kq32Cpzca3YuPdk8XjmF6wkRi6_BQ2aegyLf2FZ7KG8,6346
49
+ dodopayments/resources/invoices/payments.py,sha256=74qauN9yhNIIJSF2mhs-aY7H1_9NukfXT6LRZquyAyg,9680
48
50
  dodopayments/resources/products/__init__.py,sha256=GKmDlI7Pw4UnnCRlnhb5WBh2Y3UYhqme7RqC35aztGo,1028
49
51
  dodopayments/resources/products/images.py,sha256=7pl2ZFMB3Y_ltwAOiyC0tif31tAXSf_MkQ8-kjrlrKE,6339
50
- dodopayments/resources/products/products.py,sha256=3GiRtx4HDWgzj5YVCPgZmvqwjZq3IBgw2eQWwnR55vw,39026
52
+ dodopayments/resources/products/products.py,sha256=sXv72Kl_YudJy9WnG9l-omJ_5oedA1EB_rNO5jSe_VI,39086
51
53
  dodopayments/resources/webhooks/__init__.py,sha256=qhsQMSm4GpXfesAwbvPOYkhytB3Ab_uW4Nqur7h1R8w,1041
52
54
  dodopayments/resources/webhooks/headers.py,sha256=wkTnIIfL2XjFcsXB4ceQVJtsty9uxuLVY_cRcaOZJ7M,9581
53
55
  dodopayments/resources/webhooks/webhooks.py,sha256=jPtHWACFpTWBkMUqoYGYGrZiOHeTgLgOCg7-FaY73sw,28034
54
- dodopayments/types/__init__.py,sha256=AADOTSlfKRwuhFwqsPAl4P5AWrmxO25fbfchpqJe7uI,7413
56
+ dodopayments/types/__init__.py,sha256=1H9Su4HZodscyfuft9n46jrv4v4lpnHciSB955zrCqA,8671
57
+ dodopayments/types/add_meter_to_price.py,sha256=kCxLBTWwLCOjc1NbJM8tQX0dY5X-Be36YL1G2oBU6Z8,827
58
+ dodopayments/types/add_meter_to_price_param.py,sha256=aHH_YNEAexekadq44gkNEpIcv-t6v8akZMgZY_nECVE,895
55
59
  dodopayments/types/addon_cart_response_item.py,sha256=R-I8Zd2HJKn0DmXmv6Oyu4oo-oEC1-dud0Q6_yqDB7k,235
56
60
  dodopayments/types/addon_create_params.py,sha256=a1bKexuFdJcWUPzvPodeeTjqYvCyOwTdp8b2es2ygx8,695
57
61
  dodopayments/types/addon_list_params.py,sha256=Vwp_bhaf6F4E4Xe2N5YcuaOr9SdyIWK_w-KXB1JwKss,364
@@ -79,15 +83,17 @@ dodopayments/types/customer_portal_session.py,sha256=XwfDZMfoaiuVoJ4OmulTfLrfGur
79
83
  dodopayments/types/customer_request_param.py,sha256=dfhcbTX8Ujb0pVlYWJm0fbI8-tR1fKxyDogG9xl0WVs,434
80
84
  dodopayments/types/customer_update_params.py,sha256=FRS6J8xSI4i6ZvZW72DIxZLm1CAYKZHnShzduGcwvu0,338
81
85
  dodopayments/types/discount.py,sha256=SufFRysp2DMuL9588cO--5vwieH9qCe66XiW_iKGTyg,1540
82
- dodopayments/types/discount_create_params.py,sha256=ytnXVDkftHBbgKGPYYh6J7pkLm3Z3xDyChDYRcvgHD0,1697
86
+ dodopayments/types/discount_create_params.py,sha256=XXL4VoXZVq-nn7qAr6Edu9K1wAEYa9VGCM-tuCC5-Eg,1737
83
87
  dodopayments/types/discount_list_params.py,sha256=xKbKRcv1Z8N_KhqKs3DqsJMnsoceMBP1ocWh4kI0GBM,374
84
88
  dodopayments/types/discount_type.py,sha256=2GOiaq6ssxLTFIMh_jO9mvFfoPhZp1XtUs516f6hrIM,213
85
- dodopayments/types/discount_update_params.py,sha256=T1GZjxAoix8LzNwWt9xiUXqz2FllkoNw48okhFQtxEI,1441
89
+ dodopayments/types/discount_update_params.py,sha256=Lj0mI-eCxx5E5LwluTi9THOBg37xLQXLaeJMjdDCUFE,1481
86
90
  dodopayments/types/dispute.py,sha256=RR8uLulYlDRgC4IWlhEIwVweTVnn5Swk_3hLwx2F9t0,1115
87
91
  dodopayments/types/dispute_list_params.py,sha256=px9NuKB4ABAV4jGWs_4dPkpfEToQUQpcEiLzWf4HDHA,1158
88
92
  dodopayments/types/dispute_list_response.py,sha256=-2iimail29OzhGJFXev4_yDlLifMl3zpiNO2nSo5NT8,1058
89
93
  dodopayments/types/dispute_stage.py,sha256=OFaSeVXItONcrIoxGx37qccFVD_dvTeerPJ-d7pPwo8,244
90
94
  dodopayments/types/dispute_status.py,sha256=tBDzobNwCiCmlwT08Y8h3R-IuRPCn_M0IKEpQk-wPXA,363
95
+ dodopayments/types/event.py,sha256=F1H4ieex2-Xp_DbNfm1nlEcBoRyDaBmLNdLsFiNNWGU,514
96
+ dodopayments/types/event_input_param.py,sha256=BcT-hu0u2NFZBQ99U0PHTKuZDfJCVqKnRvxTxTi7cPw,1120
91
97
  dodopayments/types/get_dispute.py,sha256=26tVlqDoddB27yrS4p1Ve5B1OOhdTCe8AYAcVeaOzUg,1332
92
98
  dodopayments/types/intent_status.py,sha256=0aP3OxHiMfZDXQFOOXNbTSZz1vZkLjBFm3ryT0sT4Z8,483
93
99
  dodopayments/types/license_activate_params.py,sha256=LM3_sHiPdco8kuYlKXmSzXu9OyU9okrZW7Drl63GRZU,321
@@ -103,12 +109,19 @@ dodopayments/types/license_key_status.py,sha256=UlGOUTQM93ePW0xWxcOgeLQ_SAkjtav-
103
109
  dodopayments/types/license_key_update_params.py,sha256=iLtkSyF7R4NdWUgX3aZnzO0XQPujVvLjLWLsULXTEug,1018
104
110
  dodopayments/types/license_validate_params.py,sha256=f_UWM6Jy9E4pdcjGLr7YtsAsHR1-6EXpw4zGzLZj1JQ,368
105
111
  dodopayments/types/license_validate_response.py,sha256=vlSrdtsVYmQcsJpPMI-ENCf_apLzhbS9Q6e4MG3ys1Q,218
112
+ dodopayments/types/meter.py,sha256=Wiu_Wtqd00mBRSesi_SPxEjWhp7GJDBW0fN8EF3rOqI,882
113
+ dodopayments/types/meter_aggregation.py,sha256=HBry4-1sLcVusVIXme9Dfgez6-MDMMnWLL_1c813GII,418
114
+ dodopayments/types/meter_aggregation_param.py,sha256=hYIEQn9znKhFMo85G6yTeAuqwJGbF80vIJXZWEZNI1c,468
115
+ dodopayments/types/meter_create_params.py,sha256=J_LnJNxhhnsWUzzQQjHoNfrwzuRATtJySIlDTNH56M4,835
116
+ dodopayments/types/meter_filter.py,sha256=vTorhjlskNzqfZ-mJ5wU-zpHvdQ6P5Ovqj9vtgU_TK4,3790
117
+ dodopayments/types/meter_filter_param.py,sha256=mjSkU7ASQbIrEjko6Zu9lExEsLX3hKpeUIdnG-KW95I,4412
118
+ dodopayments/types/meter_list_params.py,sha256=_CUUn6rWB-O8F_y7wawEiUaCFO7EgHhgWPctzPF3uY0,415
106
119
  dodopayments/types/misc_list_supported_countries_response.py,sha256=Imr7f0CAjq04iikVbDSUvG1ZSYzB9Fopx8pVfVtt-zw,307
107
120
  dodopayments/types/new_customer_param.py,sha256=00L6Tg-VNzwbhTHZo010D34cRj9hZISdyCbLTpFUg7A,366
108
121
  dodopayments/types/on_demand_subscription_param.py,sha256=of3bmiTDMGljy6No4k-MMSHW71t3n-CadOf3Ye-trFQ,1407
109
122
  dodopayments/types/one_time_product_cart_item.py,sha256=3l7J3KEE-SCXgArN25qKIXbIIu44Q2kxqd7jf73AGto,544
110
123
  dodopayments/types/one_time_product_cart_item_param.py,sha256=JydRYPBnLhON1pCQPRpQzKLaGJTSrDn1IRVCcMK8iAE,633
111
- dodopayments/types/payment.py,sha256=UNlKp_uXhFmQtL5_sMvOBgmvNsWz9IVViuzCo-YfA7o,3796
124
+ dodopayments/types/payment.py,sha256=AY4q3rHCnkzxvd_-wtohYO6ziYTjXLo5-Xd8m6muu_8,3956
112
125
  dodopayments/types/payment_create_params.py,sha256=8Tcvw__GD1LavNJFNOAgMgoDyrca4HNUiPO3qh2WoNw,2263
113
126
  dodopayments/types/payment_create_response.py,sha256=Kx70m87jA_WlNtdkzGN8ArzjmfrPZC0gneeov5gXtrM,1276
114
127
  dodopayments/types/payment_list_params.py,sha256=CH6z3MqKkQsoWzuSnsxxEj60HBrAsUKwQ_9iLm4uZJc,1283
@@ -117,20 +130,20 @@ dodopayments/types/payment_method_types.py,sha256=_Kp6SGsquALvZ7WRboxDsTdFhJxtgQ
117
130
  dodopayments/types/payment_retrieve_line_items_response.py,sha256=Cxfq-BNHw0AyoLzZ6-5JAcQLkHsKWHg0e0a3yBfzRXU,513
118
131
  dodopayments/types/payout_list_params.py,sha256=xI5mSD5hlbXTSWSw5pMeiMyyTamh4NzVGodmzPGOaK4,366
119
132
  dodopayments/types/payout_list_response.py,sha256=6SDDeP3J2OemGMujl-nsrvpt50evfP2FwX5nM32nAIg,1661
120
- dodopayments/types/price.py,sha256=5jQNBQSMXkTv8Ze7hy-omjDglG62_GRCSw6-agesn2k,3197
121
- dodopayments/types/price_param.py,sha256=jg6ECbyPHEcTL3pIIcUMN--y_UXJ1-dC2AlaJcsHgZ4,3343
133
+ dodopayments/types/price.py,sha256=qUSoF8QCMEUXI5WJ68fty-hoXGRu0RdPYayOYSyYWkA,4744
134
+ dodopayments/types/price_param.py,sha256=M2U14HfclkKa4cOkw3AKAZkq2Ct3cWenoSWhAQaGwxs,5003
122
135
  dodopayments/types/product.py,sha256=iYBF781NDTm9aJ02W8NWK0D3mFVqGt4W1gabdwgItFQ,2401
123
- dodopayments/types/product_create_params.py,sha256=vwYQ2CFcDdRsIbyA7TWvwy6js37QwKqj6Z_YXu6n8-c,2073
136
+ dodopayments/types/product_create_params.py,sha256=osRlO5ps9L8UEJu_pNe4kQrLDfp5Nd6fGTHiTeAj-Vs,2113
124
137
  dodopayments/types/product_list_params.py,sha256=pi50RGxTFtJsuxp8Zs2zXBXml-0T9FRJu8W2e4PlUk4,712
125
138
  dodopayments/types/product_list_response.py,sha256=quSCR3qak0T1aLPsZSgnkRGLSwFEWAaUXl4JsiSsq14,1887
126
139
  dodopayments/types/product_update_files_params.py,sha256=7AkcQ3mWfc2WyUOnWabzst-gQaWTuS3KSvmM1KYnhT4,300
127
140
  dodopayments/types/product_update_files_response.py,sha256=a6sNHOCHQxxA7l55M3zS8S26O3UEFo1vctngHIy5tJo,239
128
- dodopayments/types/product_update_params.py,sha256=sApVoLbnoDkOaVZBlzvAa3TP2Xe2P5NX6lL7ODQFUmg,2526
141
+ dodopayments/types/product_update_params.py,sha256=WuvH5Dd_cZgJ2n_lXOh1XzCBuQdq9N1Kl45U_IT6Lq8,2576
129
142
  dodopayments/types/refund.py,sha256=ySj9ERvneb2ya4hdcszIVvqWZaqQMUkuCJuBKoKeTBI,1064
130
143
  dodopayments/types/refund_create_params.py,sha256=hua-rUlW_5ZfKaPsh8O06yPgsj0gH7ru9Rw0Rb-3moQ,912
131
144
  dodopayments/types/refund_list_params.py,sha256=iz4MPgquP4K3AlYPV5_bbt5jHzGFT__RTpGjT4QXnPs,883
132
145
  dodopayments/types/refund_status.py,sha256=ftnBnLvslfMYcUg8t7nEvb6-m5NWyVVnNcgyVu9eZto,243
133
- dodopayments/types/subscription.py,sha256=Q0CVWJuoexFvCQKyuHJw3EcpQLx9_zWgw8c-l2hf-LM,2981
146
+ dodopayments/types/subscription.py,sha256=T0Py5jsjzXLgvdqX3aV5bfyfJoDLj7nizPmbyzSgltw,3291
134
147
  dodopayments/types/subscription_change_plan_params.py,sha256=u04uGX3XYTPZSldZzc7fvhKeq_HFyQ3kkOkCugZo7TQ,866
135
148
  dodopayments/types/subscription_charge_params.py,sha256=b7KPBp8Jv5U0srxqi4AgJbrL1PWkZ6VhDObigAuph0M,1302
136
149
  dodopayments/types/subscription_charge_response.py,sha256=aDFuOKqqQ-_v1szx9oUT89QaeM3nvwrlAExzZhF0O-Q,228
@@ -138,10 +151,15 @@ dodopayments/types/subscription_create_params.py,sha256=EaqP9FdQ_0z8mTdsGaS0M9xO
138
151
  dodopayments/types/subscription_create_response.py,sha256=Equ-ycrO3A3mOVElW6BjoBH8sqc5wwKS8ED9fHvTza0,1372
139
152
  dodopayments/types/subscription_list_params.py,sha256=rh6yKzc_2T2R2P4ASk3L6wll-wC9bWa-wTLwFaz67WE,965
140
153
  dodopayments/types/subscription_list_response.py,sha256=CVNB4vhOLHMTsFndufVcIv58CfOyUDV6HjhSE3uAH8M,2750
154
+ dodopayments/types/subscription_retrieve_usage_history_params.py,sha256=6zy-1464rEJEeYQDBOpYnsaO7UQMj6pK1-ritd3eAAk,863
155
+ dodopayments/types/subscription_retrieve_usage_history_response.py,sha256=m6ypsxNUMZ6QYPlgmXBI_AzGTLs2GLeM6Ib6GciTSqI,1155
141
156
  dodopayments/types/subscription_status.py,sha256=3UxvrPY4QVcppbeIV86qe6p2YUQK8sPVcxbqUJn4V8Y,277
142
157
  dodopayments/types/subscription_update_params.py,sha256=vjrcj7uv1XK8GWth1lZqgG809EsqKgYeS4llb-PHRY0,1093
143
158
  dodopayments/types/tax_category.py,sha256=Fwgm25IMhHaSziDOfqePSBKE4PczW_KFJq1yE1uSfpA,245
144
159
  dodopayments/types/time_interval.py,sha256=ZTA79GvVo5RjERLfRrY7ad6e0OqfeeoZuMnE1NShcio,231
160
+ dodopayments/types/usage_event_ingest_params.py,sha256=4qlJeoYmw-cBEvw29GIQUwqCKrmemAb1vtdCJ39Brds,429
161
+ dodopayments/types/usage_event_ingest_response.py,sha256=9vqpDOdLHTIEbyKc_Xy2ima4ma2jJQBuQmXgucR-Uj0,228
162
+ dodopayments/types/usage_event_list_params.py,sha256=4igrzFkmjDNokKkIy5XV3DriurmVXZG590gosc1RZN8,1155
145
163
  dodopayments/types/webhook_create_params.py,sha256=JsM7wcpIzfmLiFWG9rJ17SsdYFH5e8vXixU6VgDdpqI,974
146
164
  dodopayments/types/webhook_details.py,sha256=rnQ0JLG2Vm-AexrIdZkPcMHNnzdWXPoAA1ud2jX0tBc,873
147
165
  dodopayments/types/webhook_event_type.py,sha256=TzMHCyMXyxsGLLVyg7h9if4vth5Iaiw7EBijr1a-37k,740
@@ -157,7 +175,7 @@ dodopayments/types/products/image_update_response.py,sha256=TcJyXjoJlONpwwR6yZdI
157
175
  dodopayments/types/webhooks/__init__.py,sha256=F_ZpQalnBiuXt_C2pUepZjgJZwiAGKNwaEB03ZB6sUM,285
158
176
  dodopayments/types/webhooks/header_retrieve_response.py,sha256=IKNaI2xO9qU7UXbffENYrRo2vUr0mqb8TIkAQdtLtXI,369
159
177
  dodopayments/types/webhooks/header_update_params.py,sha256=USiXP4oFllTJgOBcBZQrcLlEzEOB6RHH9Ugdxatyy3g,376
160
- dodopayments-1.51.0.dist-info/METADATA,sha256=4Ckk8GywBDF2A65ulI9Kxv62UH4uRMtXgMnozRiDPqE,17198
161
- dodopayments-1.51.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
162
- dodopayments-1.51.0.dist-info/licenses/LICENSE,sha256=3_sqrBb5J3AT3FsjMKEOBRZhweWVsl_s_RjFlclm1vQ,11343
163
- dodopayments-1.51.0.dist-info/RECORD,,
178
+ dodopayments-1.52.4.dist-info/METADATA,sha256=EJt6C2wxBy-FJ2ye-_yJM0VxeIRl8jk2LPg1pA_oCdw,17198
179
+ dodopayments-1.52.4.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
180
+ dodopayments-1.52.4.dist-info/licenses/LICENSE,sha256=3_sqrBb5J3AT3FsjMKEOBRZhweWVsl_s_RjFlclm1vQ,11343
181
+ dodopayments-1.52.4.dist-info/RECORD,,