dodopayments 1.52.6__py3-none-any.whl → 1.53.2__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.
- dodopayments/_version.py +1 -1
- dodopayments/resources/customers/__init__.py +14 -0
- dodopayments/resources/customers/customers.py +32 -0
- dodopayments/resources/customers/wallets/__init__.py +33 -0
- dodopayments/resources/customers/wallets/ledger_entries.py +318 -0
- dodopayments/resources/customers/wallets/wallets.py +191 -0
- dodopayments/resources/licenses.py +5 -5
- dodopayments/resources/refunds.py +7 -6
- dodopayments/resources/subscriptions.py +8 -0
- dodopayments/types/__init__.py +2 -0
- dodopayments/types/customers/__init__.py +2 -0
- dodopayments/types/customers/customer_wallet.py +20 -0
- dodopayments/types/customers/wallet_list_response.py +15 -0
- dodopayments/types/customers/wallets/__init__.py +7 -0
- dodopayments/types/customers/wallets/customer_wallet_transaction.py +38 -0
- dodopayments/types/customers/wallets/ledger_entry_create_params.py +25 -0
- dodopayments/types/customers/wallets/ledger_entry_list_params.py +18 -0
- dodopayments/types/license_activate_response.py +40 -0
- dodopayments/types/payment.py +31 -2
- dodopayments/types/refund.py +4 -0
- dodopayments/types/refund_list_response.py +39 -0
- dodopayments/types/subscription_charge_params.py +12 -1
- {dodopayments-1.52.6.dist-info → dodopayments-1.53.2.dist-info}/METADATA +1 -1
- {dodopayments-1.52.6.dist-info → dodopayments-1.53.2.dist-info}/RECORD +26 -15
- {dodopayments-1.52.6.dist-info → dodopayments-1.53.2.dist-info}/WHEEL +0 -0
- {dodopayments-1.52.6.dist-info → dodopayments-1.53.2.dist-info}/licenses/LICENSE +0 -0
dodopayments/_version.py
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
+
from .wallets import (
|
|
4
|
+
WalletsResource,
|
|
5
|
+
AsyncWalletsResource,
|
|
6
|
+
WalletsResourceWithRawResponse,
|
|
7
|
+
AsyncWalletsResourceWithRawResponse,
|
|
8
|
+
WalletsResourceWithStreamingResponse,
|
|
9
|
+
AsyncWalletsResourceWithStreamingResponse,
|
|
10
|
+
)
|
|
3
11
|
from .customers import (
|
|
4
12
|
CustomersResource,
|
|
5
13
|
AsyncCustomersResource,
|
|
@@ -24,6 +32,12 @@ __all__ = [
|
|
|
24
32
|
"AsyncCustomerPortalResourceWithRawResponse",
|
|
25
33
|
"CustomerPortalResourceWithStreamingResponse",
|
|
26
34
|
"AsyncCustomerPortalResourceWithStreamingResponse",
|
|
35
|
+
"WalletsResource",
|
|
36
|
+
"AsyncWalletsResource",
|
|
37
|
+
"WalletsResourceWithRawResponse",
|
|
38
|
+
"AsyncWalletsResourceWithRawResponse",
|
|
39
|
+
"WalletsResourceWithStreamingResponse",
|
|
40
|
+
"AsyncWalletsResourceWithStreamingResponse",
|
|
27
41
|
"CustomersResource",
|
|
28
42
|
"AsyncCustomersResource",
|
|
29
43
|
"CustomersResourceWithRawResponse",
|
|
@@ -27,6 +27,14 @@ from .customer_portal import (
|
|
|
27
27
|
CustomerPortalResourceWithStreamingResponse,
|
|
28
28
|
AsyncCustomerPortalResourceWithStreamingResponse,
|
|
29
29
|
)
|
|
30
|
+
from .wallets.wallets import (
|
|
31
|
+
WalletsResource,
|
|
32
|
+
AsyncWalletsResource,
|
|
33
|
+
WalletsResourceWithRawResponse,
|
|
34
|
+
AsyncWalletsResourceWithRawResponse,
|
|
35
|
+
WalletsResourceWithStreamingResponse,
|
|
36
|
+
AsyncWalletsResourceWithStreamingResponse,
|
|
37
|
+
)
|
|
30
38
|
from ...types.customer import Customer
|
|
31
39
|
|
|
32
40
|
__all__ = ["CustomersResource", "AsyncCustomersResource"]
|
|
@@ -37,6 +45,10 @@ class CustomersResource(SyncAPIResource):
|
|
|
37
45
|
def customer_portal(self) -> CustomerPortalResource:
|
|
38
46
|
return CustomerPortalResource(self._client)
|
|
39
47
|
|
|
48
|
+
@cached_property
|
|
49
|
+
def wallets(self) -> WalletsResource:
|
|
50
|
+
return WalletsResource(self._client)
|
|
51
|
+
|
|
40
52
|
@cached_property
|
|
41
53
|
def with_raw_response(self) -> CustomersResourceWithRawResponse:
|
|
42
54
|
"""
|
|
@@ -221,6 +233,10 @@ class AsyncCustomersResource(AsyncAPIResource):
|
|
|
221
233
|
def customer_portal(self) -> AsyncCustomerPortalResource:
|
|
222
234
|
return AsyncCustomerPortalResource(self._client)
|
|
223
235
|
|
|
236
|
+
@cached_property
|
|
237
|
+
def wallets(self) -> AsyncWalletsResource:
|
|
238
|
+
return AsyncWalletsResource(self._client)
|
|
239
|
+
|
|
224
240
|
@cached_property
|
|
225
241
|
def with_raw_response(self) -> AsyncCustomersResourceWithRawResponse:
|
|
226
242
|
"""
|
|
@@ -421,6 +437,10 @@ class CustomersResourceWithRawResponse:
|
|
|
421
437
|
def customer_portal(self) -> CustomerPortalResourceWithRawResponse:
|
|
422
438
|
return CustomerPortalResourceWithRawResponse(self._customers.customer_portal)
|
|
423
439
|
|
|
440
|
+
@cached_property
|
|
441
|
+
def wallets(self) -> WalletsResourceWithRawResponse:
|
|
442
|
+
return WalletsResourceWithRawResponse(self._customers.wallets)
|
|
443
|
+
|
|
424
444
|
|
|
425
445
|
class AsyncCustomersResourceWithRawResponse:
|
|
426
446
|
def __init__(self, customers: AsyncCustomersResource) -> None:
|
|
@@ -443,6 +463,10 @@ class AsyncCustomersResourceWithRawResponse:
|
|
|
443
463
|
def customer_portal(self) -> AsyncCustomerPortalResourceWithRawResponse:
|
|
444
464
|
return AsyncCustomerPortalResourceWithRawResponse(self._customers.customer_portal)
|
|
445
465
|
|
|
466
|
+
@cached_property
|
|
467
|
+
def wallets(self) -> AsyncWalletsResourceWithRawResponse:
|
|
468
|
+
return AsyncWalletsResourceWithRawResponse(self._customers.wallets)
|
|
469
|
+
|
|
446
470
|
|
|
447
471
|
class CustomersResourceWithStreamingResponse:
|
|
448
472
|
def __init__(self, customers: CustomersResource) -> None:
|
|
@@ -465,6 +489,10 @@ class CustomersResourceWithStreamingResponse:
|
|
|
465
489
|
def customer_portal(self) -> CustomerPortalResourceWithStreamingResponse:
|
|
466
490
|
return CustomerPortalResourceWithStreamingResponse(self._customers.customer_portal)
|
|
467
491
|
|
|
492
|
+
@cached_property
|
|
493
|
+
def wallets(self) -> WalletsResourceWithStreamingResponse:
|
|
494
|
+
return WalletsResourceWithStreamingResponse(self._customers.wallets)
|
|
495
|
+
|
|
468
496
|
|
|
469
497
|
class AsyncCustomersResourceWithStreamingResponse:
|
|
470
498
|
def __init__(self, customers: AsyncCustomersResource) -> None:
|
|
@@ -486,3 +514,7 @@ class AsyncCustomersResourceWithStreamingResponse:
|
|
|
486
514
|
@cached_property
|
|
487
515
|
def customer_portal(self) -> AsyncCustomerPortalResourceWithStreamingResponse:
|
|
488
516
|
return AsyncCustomerPortalResourceWithStreamingResponse(self._customers.customer_portal)
|
|
517
|
+
|
|
518
|
+
@cached_property
|
|
519
|
+
def wallets(self) -> AsyncWalletsResourceWithStreamingResponse:
|
|
520
|
+
return AsyncWalletsResourceWithStreamingResponse(self._customers.wallets)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from .wallets import (
|
|
4
|
+
WalletsResource,
|
|
5
|
+
AsyncWalletsResource,
|
|
6
|
+
WalletsResourceWithRawResponse,
|
|
7
|
+
AsyncWalletsResourceWithRawResponse,
|
|
8
|
+
WalletsResourceWithStreamingResponse,
|
|
9
|
+
AsyncWalletsResourceWithStreamingResponse,
|
|
10
|
+
)
|
|
11
|
+
from .ledger_entries import (
|
|
12
|
+
LedgerEntriesResource,
|
|
13
|
+
AsyncLedgerEntriesResource,
|
|
14
|
+
LedgerEntriesResourceWithRawResponse,
|
|
15
|
+
AsyncLedgerEntriesResourceWithRawResponse,
|
|
16
|
+
LedgerEntriesResourceWithStreamingResponse,
|
|
17
|
+
AsyncLedgerEntriesResourceWithStreamingResponse,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
__all__ = [
|
|
21
|
+
"LedgerEntriesResource",
|
|
22
|
+
"AsyncLedgerEntriesResource",
|
|
23
|
+
"LedgerEntriesResourceWithRawResponse",
|
|
24
|
+
"AsyncLedgerEntriesResourceWithRawResponse",
|
|
25
|
+
"LedgerEntriesResourceWithStreamingResponse",
|
|
26
|
+
"AsyncLedgerEntriesResourceWithStreamingResponse",
|
|
27
|
+
"WalletsResource",
|
|
28
|
+
"AsyncWalletsResource",
|
|
29
|
+
"WalletsResourceWithRawResponse",
|
|
30
|
+
"AsyncWalletsResourceWithRawResponse",
|
|
31
|
+
"WalletsResourceWithStreamingResponse",
|
|
32
|
+
"AsyncWalletsResourceWithStreamingResponse",
|
|
33
|
+
]
|
|
@@ -0,0 +1,318 @@
|
|
|
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 Optional
|
|
6
|
+
from typing_extensions import Literal
|
|
7
|
+
|
|
8
|
+
import httpx
|
|
9
|
+
|
|
10
|
+
from ....types import Currency
|
|
11
|
+
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
|
|
12
|
+
from ...._utils import maybe_transform, async_maybe_transform
|
|
13
|
+
from ...._compat import cached_property
|
|
14
|
+
from ...._resource import SyncAPIResource, AsyncAPIResource
|
|
15
|
+
from ...._response import (
|
|
16
|
+
to_raw_response_wrapper,
|
|
17
|
+
to_streamed_response_wrapper,
|
|
18
|
+
async_to_raw_response_wrapper,
|
|
19
|
+
async_to_streamed_response_wrapper,
|
|
20
|
+
)
|
|
21
|
+
from ....pagination import SyncDefaultPageNumberPagination, AsyncDefaultPageNumberPagination
|
|
22
|
+
from ...._base_client import AsyncPaginator, make_request_options
|
|
23
|
+
from ....types.currency import Currency
|
|
24
|
+
from ....types.customers.wallets import ledger_entry_list_params, ledger_entry_create_params
|
|
25
|
+
from ....types.customers.customer_wallet import CustomerWallet
|
|
26
|
+
from ....types.customers.wallets.customer_wallet_transaction import CustomerWalletTransaction
|
|
27
|
+
|
|
28
|
+
__all__ = ["LedgerEntriesResource", "AsyncLedgerEntriesResource"]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class LedgerEntriesResource(SyncAPIResource):
|
|
32
|
+
@cached_property
|
|
33
|
+
def with_raw_response(self) -> LedgerEntriesResourceWithRawResponse:
|
|
34
|
+
"""
|
|
35
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
36
|
+
the raw response object instead of the parsed content.
|
|
37
|
+
|
|
38
|
+
For more information, see https://www.github.com/dodopayments/dodopayments-python#accessing-raw-response-data-eg-headers
|
|
39
|
+
"""
|
|
40
|
+
return LedgerEntriesResourceWithRawResponse(self)
|
|
41
|
+
|
|
42
|
+
@cached_property
|
|
43
|
+
def with_streaming_response(self) -> LedgerEntriesResourceWithStreamingResponse:
|
|
44
|
+
"""
|
|
45
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
46
|
+
|
|
47
|
+
For more information, see https://www.github.com/dodopayments/dodopayments-python#with_streaming_response
|
|
48
|
+
"""
|
|
49
|
+
return LedgerEntriesResourceWithStreamingResponse(self)
|
|
50
|
+
|
|
51
|
+
def create(
|
|
52
|
+
self,
|
|
53
|
+
customer_id: str,
|
|
54
|
+
*,
|
|
55
|
+
amount: int,
|
|
56
|
+
currency: Currency,
|
|
57
|
+
entry_type: Literal["credit", "debit"],
|
|
58
|
+
idempotency_key: Optional[str] | NotGiven = NOT_GIVEN,
|
|
59
|
+
reason: Optional[str] | NotGiven = NOT_GIVEN,
|
|
60
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
61
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
62
|
+
extra_headers: Headers | None = None,
|
|
63
|
+
extra_query: Query | None = None,
|
|
64
|
+
extra_body: Body | None = None,
|
|
65
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
66
|
+
) -> CustomerWallet:
|
|
67
|
+
"""
|
|
68
|
+
Args:
|
|
69
|
+
currency: Currency of the wallet to adjust
|
|
70
|
+
|
|
71
|
+
entry_type: Type of ledger entry - credit or debit
|
|
72
|
+
|
|
73
|
+
idempotency_key: Optional idempotency key to prevent duplicate entries
|
|
74
|
+
|
|
75
|
+
extra_headers: Send extra headers
|
|
76
|
+
|
|
77
|
+
extra_query: Add additional query parameters to the request
|
|
78
|
+
|
|
79
|
+
extra_body: Add additional JSON properties to the request
|
|
80
|
+
|
|
81
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
82
|
+
"""
|
|
83
|
+
if not customer_id:
|
|
84
|
+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
|
|
85
|
+
return self._post(
|
|
86
|
+
f"/customers/{customer_id}/wallets/ledger-entries",
|
|
87
|
+
body=maybe_transform(
|
|
88
|
+
{
|
|
89
|
+
"amount": amount,
|
|
90
|
+
"currency": currency,
|
|
91
|
+
"entry_type": entry_type,
|
|
92
|
+
"idempotency_key": idempotency_key,
|
|
93
|
+
"reason": reason,
|
|
94
|
+
},
|
|
95
|
+
ledger_entry_create_params.LedgerEntryCreateParams,
|
|
96
|
+
),
|
|
97
|
+
options=make_request_options(
|
|
98
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
99
|
+
),
|
|
100
|
+
cast_to=CustomerWallet,
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
def list(
|
|
104
|
+
self,
|
|
105
|
+
customer_id: str,
|
|
106
|
+
*,
|
|
107
|
+
currency: Currency | NotGiven = NOT_GIVEN,
|
|
108
|
+
page_number: int | NotGiven = NOT_GIVEN,
|
|
109
|
+
page_size: int | NotGiven = NOT_GIVEN,
|
|
110
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
111
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
112
|
+
extra_headers: Headers | None = None,
|
|
113
|
+
extra_query: Query | None = None,
|
|
114
|
+
extra_body: Body | None = None,
|
|
115
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
116
|
+
) -> SyncDefaultPageNumberPagination[CustomerWalletTransaction]:
|
|
117
|
+
"""
|
|
118
|
+
Args:
|
|
119
|
+
currency: Optional currency filter
|
|
120
|
+
|
|
121
|
+
extra_headers: Send extra headers
|
|
122
|
+
|
|
123
|
+
extra_query: Add additional query parameters to the request
|
|
124
|
+
|
|
125
|
+
extra_body: Add additional JSON properties to the request
|
|
126
|
+
|
|
127
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
128
|
+
"""
|
|
129
|
+
if not customer_id:
|
|
130
|
+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
|
|
131
|
+
return self._get_api_list(
|
|
132
|
+
f"/customers/{customer_id}/wallets/ledger-entries",
|
|
133
|
+
page=SyncDefaultPageNumberPagination[CustomerWalletTransaction],
|
|
134
|
+
options=make_request_options(
|
|
135
|
+
extra_headers=extra_headers,
|
|
136
|
+
extra_query=extra_query,
|
|
137
|
+
extra_body=extra_body,
|
|
138
|
+
timeout=timeout,
|
|
139
|
+
query=maybe_transform(
|
|
140
|
+
{
|
|
141
|
+
"currency": currency,
|
|
142
|
+
"page_number": page_number,
|
|
143
|
+
"page_size": page_size,
|
|
144
|
+
},
|
|
145
|
+
ledger_entry_list_params.LedgerEntryListParams,
|
|
146
|
+
),
|
|
147
|
+
),
|
|
148
|
+
model=CustomerWalletTransaction,
|
|
149
|
+
)
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
class AsyncLedgerEntriesResource(AsyncAPIResource):
|
|
153
|
+
@cached_property
|
|
154
|
+
def with_raw_response(self) -> AsyncLedgerEntriesResourceWithRawResponse:
|
|
155
|
+
"""
|
|
156
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
157
|
+
the raw response object instead of the parsed content.
|
|
158
|
+
|
|
159
|
+
For more information, see https://www.github.com/dodopayments/dodopayments-python#accessing-raw-response-data-eg-headers
|
|
160
|
+
"""
|
|
161
|
+
return AsyncLedgerEntriesResourceWithRawResponse(self)
|
|
162
|
+
|
|
163
|
+
@cached_property
|
|
164
|
+
def with_streaming_response(self) -> AsyncLedgerEntriesResourceWithStreamingResponse:
|
|
165
|
+
"""
|
|
166
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
167
|
+
|
|
168
|
+
For more information, see https://www.github.com/dodopayments/dodopayments-python#with_streaming_response
|
|
169
|
+
"""
|
|
170
|
+
return AsyncLedgerEntriesResourceWithStreamingResponse(self)
|
|
171
|
+
|
|
172
|
+
async def create(
|
|
173
|
+
self,
|
|
174
|
+
customer_id: str,
|
|
175
|
+
*,
|
|
176
|
+
amount: int,
|
|
177
|
+
currency: Currency,
|
|
178
|
+
entry_type: Literal["credit", "debit"],
|
|
179
|
+
idempotency_key: Optional[str] | NotGiven = NOT_GIVEN,
|
|
180
|
+
reason: Optional[str] | NotGiven = NOT_GIVEN,
|
|
181
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
182
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
183
|
+
extra_headers: Headers | None = None,
|
|
184
|
+
extra_query: Query | None = None,
|
|
185
|
+
extra_body: Body | None = None,
|
|
186
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
187
|
+
) -> CustomerWallet:
|
|
188
|
+
"""
|
|
189
|
+
Args:
|
|
190
|
+
currency: Currency of the wallet to adjust
|
|
191
|
+
|
|
192
|
+
entry_type: Type of ledger entry - credit or debit
|
|
193
|
+
|
|
194
|
+
idempotency_key: Optional idempotency key to prevent duplicate entries
|
|
195
|
+
|
|
196
|
+
extra_headers: Send extra headers
|
|
197
|
+
|
|
198
|
+
extra_query: Add additional query parameters to the request
|
|
199
|
+
|
|
200
|
+
extra_body: Add additional JSON properties to the request
|
|
201
|
+
|
|
202
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
203
|
+
"""
|
|
204
|
+
if not customer_id:
|
|
205
|
+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
|
|
206
|
+
return await self._post(
|
|
207
|
+
f"/customers/{customer_id}/wallets/ledger-entries",
|
|
208
|
+
body=await async_maybe_transform(
|
|
209
|
+
{
|
|
210
|
+
"amount": amount,
|
|
211
|
+
"currency": currency,
|
|
212
|
+
"entry_type": entry_type,
|
|
213
|
+
"idempotency_key": idempotency_key,
|
|
214
|
+
"reason": reason,
|
|
215
|
+
},
|
|
216
|
+
ledger_entry_create_params.LedgerEntryCreateParams,
|
|
217
|
+
),
|
|
218
|
+
options=make_request_options(
|
|
219
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
220
|
+
),
|
|
221
|
+
cast_to=CustomerWallet,
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
def list(
|
|
225
|
+
self,
|
|
226
|
+
customer_id: str,
|
|
227
|
+
*,
|
|
228
|
+
currency: Currency | NotGiven = NOT_GIVEN,
|
|
229
|
+
page_number: int | NotGiven = NOT_GIVEN,
|
|
230
|
+
page_size: int | NotGiven = NOT_GIVEN,
|
|
231
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
232
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
233
|
+
extra_headers: Headers | None = None,
|
|
234
|
+
extra_query: Query | None = None,
|
|
235
|
+
extra_body: Body | None = None,
|
|
236
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
237
|
+
) -> AsyncPaginator[CustomerWalletTransaction, AsyncDefaultPageNumberPagination[CustomerWalletTransaction]]:
|
|
238
|
+
"""
|
|
239
|
+
Args:
|
|
240
|
+
currency: Optional currency filter
|
|
241
|
+
|
|
242
|
+
extra_headers: Send extra headers
|
|
243
|
+
|
|
244
|
+
extra_query: Add additional query parameters to the request
|
|
245
|
+
|
|
246
|
+
extra_body: Add additional JSON properties to the request
|
|
247
|
+
|
|
248
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
249
|
+
"""
|
|
250
|
+
if not customer_id:
|
|
251
|
+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
|
|
252
|
+
return self._get_api_list(
|
|
253
|
+
f"/customers/{customer_id}/wallets/ledger-entries",
|
|
254
|
+
page=AsyncDefaultPageNumberPagination[CustomerWalletTransaction],
|
|
255
|
+
options=make_request_options(
|
|
256
|
+
extra_headers=extra_headers,
|
|
257
|
+
extra_query=extra_query,
|
|
258
|
+
extra_body=extra_body,
|
|
259
|
+
timeout=timeout,
|
|
260
|
+
query=maybe_transform(
|
|
261
|
+
{
|
|
262
|
+
"currency": currency,
|
|
263
|
+
"page_number": page_number,
|
|
264
|
+
"page_size": page_size,
|
|
265
|
+
},
|
|
266
|
+
ledger_entry_list_params.LedgerEntryListParams,
|
|
267
|
+
),
|
|
268
|
+
),
|
|
269
|
+
model=CustomerWalletTransaction,
|
|
270
|
+
)
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
class LedgerEntriesResourceWithRawResponse:
|
|
274
|
+
def __init__(self, ledger_entries: LedgerEntriesResource) -> None:
|
|
275
|
+
self._ledger_entries = ledger_entries
|
|
276
|
+
|
|
277
|
+
self.create = to_raw_response_wrapper(
|
|
278
|
+
ledger_entries.create,
|
|
279
|
+
)
|
|
280
|
+
self.list = to_raw_response_wrapper(
|
|
281
|
+
ledger_entries.list,
|
|
282
|
+
)
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
class AsyncLedgerEntriesResourceWithRawResponse:
|
|
286
|
+
def __init__(self, ledger_entries: AsyncLedgerEntriesResource) -> None:
|
|
287
|
+
self._ledger_entries = ledger_entries
|
|
288
|
+
|
|
289
|
+
self.create = async_to_raw_response_wrapper(
|
|
290
|
+
ledger_entries.create,
|
|
291
|
+
)
|
|
292
|
+
self.list = async_to_raw_response_wrapper(
|
|
293
|
+
ledger_entries.list,
|
|
294
|
+
)
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
class LedgerEntriesResourceWithStreamingResponse:
|
|
298
|
+
def __init__(self, ledger_entries: LedgerEntriesResource) -> None:
|
|
299
|
+
self._ledger_entries = ledger_entries
|
|
300
|
+
|
|
301
|
+
self.create = to_streamed_response_wrapper(
|
|
302
|
+
ledger_entries.create,
|
|
303
|
+
)
|
|
304
|
+
self.list = to_streamed_response_wrapper(
|
|
305
|
+
ledger_entries.list,
|
|
306
|
+
)
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
class AsyncLedgerEntriesResourceWithStreamingResponse:
|
|
310
|
+
def __init__(self, ledger_entries: AsyncLedgerEntriesResource) -> None:
|
|
311
|
+
self._ledger_entries = ledger_entries
|
|
312
|
+
|
|
313
|
+
self.create = async_to_streamed_response_wrapper(
|
|
314
|
+
ledger_entries.create,
|
|
315
|
+
)
|
|
316
|
+
self.list = async_to_streamed_response_wrapper(
|
|
317
|
+
ledger_entries.list,
|
|
318
|
+
)
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import httpx
|
|
6
|
+
|
|
7
|
+
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
|
|
8
|
+
from ...._compat import cached_property
|
|
9
|
+
from ...._resource import SyncAPIResource, AsyncAPIResource
|
|
10
|
+
from ...._response import (
|
|
11
|
+
to_raw_response_wrapper,
|
|
12
|
+
to_streamed_response_wrapper,
|
|
13
|
+
async_to_raw_response_wrapper,
|
|
14
|
+
async_to_streamed_response_wrapper,
|
|
15
|
+
)
|
|
16
|
+
from .ledger_entries import (
|
|
17
|
+
LedgerEntriesResource,
|
|
18
|
+
AsyncLedgerEntriesResource,
|
|
19
|
+
LedgerEntriesResourceWithRawResponse,
|
|
20
|
+
AsyncLedgerEntriesResourceWithRawResponse,
|
|
21
|
+
LedgerEntriesResourceWithStreamingResponse,
|
|
22
|
+
AsyncLedgerEntriesResourceWithStreamingResponse,
|
|
23
|
+
)
|
|
24
|
+
from ...._base_client import make_request_options
|
|
25
|
+
from ....types.customers.wallet_list_response import WalletListResponse
|
|
26
|
+
|
|
27
|
+
__all__ = ["WalletsResource", "AsyncWalletsResource"]
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class WalletsResource(SyncAPIResource):
|
|
31
|
+
@cached_property
|
|
32
|
+
def ledger_entries(self) -> LedgerEntriesResource:
|
|
33
|
+
return LedgerEntriesResource(self._client)
|
|
34
|
+
|
|
35
|
+
@cached_property
|
|
36
|
+
def with_raw_response(self) -> WalletsResourceWithRawResponse:
|
|
37
|
+
"""
|
|
38
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
39
|
+
the raw response object instead of the parsed content.
|
|
40
|
+
|
|
41
|
+
For more information, see https://www.github.com/dodopayments/dodopayments-python#accessing-raw-response-data-eg-headers
|
|
42
|
+
"""
|
|
43
|
+
return WalletsResourceWithRawResponse(self)
|
|
44
|
+
|
|
45
|
+
@cached_property
|
|
46
|
+
def with_streaming_response(self) -> WalletsResourceWithStreamingResponse:
|
|
47
|
+
"""
|
|
48
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
49
|
+
|
|
50
|
+
For more information, see https://www.github.com/dodopayments/dodopayments-python#with_streaming_response
|
|
51
|
+
"""
|
|
52
|
+
return WalletsResourceWithStreamingResponse(self)
|
|
53
|
+
|
|
54
|
+
def list(
|
|
55
|
+
self,
|
|
56
|
+
customer_id: str,
|
|
57
|
+
*,
|
|
58
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
59
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
60
|
+
extra_headers: Headers | None = None,
|
|
61
|
+
extra_query: Query | None = None,
|
|
62
|
+
extra_body: Body | None = None,
|
|
63
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
64
|
+
) -> WalletListResponse:
|
|
65
|
+
"""
|
|
66
|
+
Args:
|
|
67
|
+
extra_headers: Send extra headers
|
|
68
|
+
|
|
69
|
+
extra_query: Add additional query parameters to the request
|
|
70
|
+
|
|
71
|
+
extra_body: Add additional JSON properties to the request
|
|
72
|
+
|
|
73
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
74
|
+
"""
|
|
75
|
+
if not customer_id:
|
|
76
|
+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
|
|
77
|
+
return self._get(
|
|
78
|
+
f"/customers/{customer_id}/wallets",
|
|
79
|
+
options=make_request_options(
|
|
80
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
81
|
+
),
|
|
82
|
+
cast_to=WalletListResponse,
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class AsyncWalletsResource(AsyncAPIResource):
|
|
87
|
+
@cached_property
|
|
88
|
+
def ledger_entries(self) -> AsyncLedgerEntriesResource:
|
|
89
|
+
return AsyncLedgerEntriesResource(self._client)
|
|
90
|
+
|
|
91
|
+
@cached_property
|
|
92
|
+
def with_raw_response(self) -> AsyncWalletsResourceWithRawResponse:
|
|
93
|
+
"""
|
|
94
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
95
|
+
the raw response object instead of the parsed content.
|
|
96
|
+
|
|
97
|
+
For more information, see https://www.github.com/dodopayments/dodopayments-python#accessing-raw-response-data-eg-headers
|
|
98
|
+
"""
|
|
99
|
+
return AsyncWalletsResourceWithRawResponse(self)
|
|
100
|
+
|
|
101
|
+
@cached_property
|
|
102
|
+
def with_streaming_response(self) -> AsyncWalletsResourceWithStreamingResponse:
|
|
103
|
+
"""
|
|
104
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
105
|
+
|
|
106
|
+
For more information, see https://www.github.com/dodopayments/dodopayments-python#with_streaming_response
|
|
107
|
+
"""
|
|
108
|
+
return AsyncWalletsResourceWithStreamingResponse(self)
|
|
109
|
+
|
|
110
|
+
async def list(
|
|
111
|
+
self,
|
|
112
|
+
customer_id: str,
|
|
113
|
+
*,
|
|
114
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
115
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
116
|
+
extra_headers: Headers | None = None,
|
|
117
|
+
extra_query: Query | None = None,
|
|
118
|
+
extra_body: Body | None = None,
|
|
119
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
120
|
+
) -> WalletListResponse:
|
|
121
|
+
"""
|
|
122
|
+
Args:
|
|
123
|
+
extra_headers: Send extra headers
|
|
124
|
+
|
|
125
|
+
extra_query: Add additional query parameters to the request
|
|
126
|
+
|
|
127
|
+
extra_body: Add additional JSON properties to the request
|
|
128
|
+
|
|
129
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
130
|
+
"""
|
|
131
|
+
if not customer_id:
|
|
132
|
+
raise ValueError(f"Expected a non-empty value for `customer_id` but received {customer_id!r}")
|
|
133
|
+
return await self._get(
|
|
134
|
+
f"/customers/{customer_id}/wallets",
|
|
135
|
+
options=make_request_options(
|
|
136
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
137
|
+
),
|
|
138
|
+
cast_to=WalletListResponse,
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
class WalletsResourceWithRawResponse:
|
|
143
|
+
def __init__(self, wallets: WalletsResource) -> None:
|
|
144
|
+
self._wallets = wallets
|
|
145
|
+
|
|
146
|
+
self.list = to_raw_response_wrapper(
|
|
147
|
+
wallets.list,
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
@cached_property
|
|
151
|
+
def ledger_entries(self) -> LedgerEntriesResourceWithRawResponse:
|
|
152
|
+
return LedgerEntriesResourceWithRawResponse(self._wallets.ledger_entries)
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
class AsyncWalletsResourceWithRawResponse:
|
|
156
|
+
def __init__(self, wallets: AsyncWalletsResource) -> None:
|
|
157
|
+
self._wallets = wallets
|
|
158
|
+
|
|
159
|
+
self.list = async_to_raw_response_wrapper(
|
|
160
|
+
wallets.list,
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
@cached_property
|
|
164
|
+
def ledger_entries(self) -> AsyncLedgerEntriesResourceWithRawResponse:
|
|
165
|
+
return AsyncLedgerEntriesResourceWithRawResponse(self._wallets.ledger_entries)
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
class WalletsResourceWithStreamingResponse:
|
|
169
|
+
def __init__(self, wallets: WalletsResource) -> None:
|
|
170
|
+
self._wallets = wallets
|
|
171
|
+
|
|
172
|
+
self.list = to_streamed_response_wrapper(
|
|
173
|
+
wallets.list,
|
|
174
|
+
)
|
|
175
|
+
|
|
176
|
+
@cached_property
|
|
177
|
+
def ledger_entries(self) -> LedgerEntriesResourceWithStreamingResponse:
|
|
178
|
+
return LedgerEntriesResourceWithStreamingResponse(self._wallets.ledger_entries)
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
class AsyncWalletsResourceWithStreamingResponse:
|
|
182
|
+
def __init__(self, wallets: AsyncWalletsResource) -> None:
|
|
183
|
+
self._wallets = wallets
|
|
184
|
+
|
|
185
|
+
self.list = async_to_streamed_response_wrapper(
|
|
186
|
+
wallets.list,
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
@cached_property
|
|
190
|
+
def ledger_entries(self) -> AsyncLedgerEntriesResourceWithStreamingResponse:
|
|
191
|
+
return AsyncLedgerEntriesResourceWithStreamingResponse(self._wallets.ledger_entries)
|
|
@@ -18,7 +18,7 @@ from .._response import (
|
|
|
18
18
|
async_to_streamed_response_wrapper,
|
|
19
19
|
)
|
|
20
20
|
from .._base_client import make_request_options
|
|
21
|
-
from ..types.
|
|
21
|
+
from ..types.license_activate_response import LicenseActivateResponse
|
|
22
22
|
from ..types.license_validate_response import LicenseValidateResponse
|
|
23
23
|
|
|
24
24
|
__all__ = ["LicensesResource", "AsyncLicensesResource"]
|
|
@@ -55,7 +55,7 @@ class LicensesResource(SyncAPIResource):
|
|
|
55
55
|
extra_query: Query | None = None,
|
|
56
56
|
extra_body: Body | None = None,
|
|
57
57
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
58
|
-
) ->
|
|
58
|
+
) -> LicenseActivateResponse:
|
|
59
59
|
"""
|
|
60
60
|
Args:
|
|
61
61
|
extra_headers: Send extra headers
|
|
@@ -78,7 +78,7 @@ class LicensesResource(SyncAPIResource):
|
|
|
78
78
|
options=make_request_options(
|
|
79
79
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
80
80
|
),
|
|
81
|
-
cast_to=
|
|
81
|
+
cast_to=LicenseActivateResponse,
|
|
82
82
|
)
|
|
83
83
|
|
|
84
84
|
def deactivate(
|
|
@@ -188,7 +188,7 @@ class AsyncLicensesResource(AsyncAPIResource):
|
|
|
188
188
|
extra_query: Query | None = None,
|
|
189
189
|
extra_body: Body | None = None,
|
|
190
190
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
191
|
-
) ->
|
|
191
|
+
) -> LicenseActivateResponse:
|
|
192
192
|
"""
|
|
193
193
|
Args:
|
|
194
194
|
extra_headers: Send extra headers
|
|
@@ -211,7 +211,7 @@ class AsyncLicensesResource(AsyncAPIResource):
|
|
|
211
211
|
options=make_request_options(
|
|
212
212
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
213
213
|
),
|
|
214
|
-
cast_to=
|
|
214
|
+
cast_to=LicenseActivateResponse,
|
|
215
215
|
)
|
|
216
216
|
|
|
217
217
|
async def deactivate(
|
|
@@ -22,6 +22,7 @@ from .._response import (
|
|
|
22
22
|
from ..pagination import SyncDefaultPageNumberPagination, AsyncDefaultPageNumberPagination
|
|
23
23
|
from .._base_client import AsyncPaginator, make_request_options
|
|
24
24
|
from ..types.refund import Refund
|
|
25
|
+
from ..types.refund_list_response import RefundListResponse
|
|
25
26
|
|
|
26
27
|
__all__ = ["RefundsResource", "AsyncRefundsResource"]
|
|
27
28
|
|
|
@@ -137,7 +138,7 @@ class RefundsResource(SyncAPIResource):
|
|
|
137
138
|
extra_query: Query | None = None,
|
|
138
139
|
extra_body: Body | None = None,
|
|
139
140
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
140
|
-
) -> SyncDefaultPageNumberPagination[
|
|
141
|
+
) -> SyncDefaultPageNumberPagination[RefundListResponse]:
|
|
141
142
|
"""
|
|
142
143
|
Args:
|
|
143
144
|
created_at_gte: Get events after this created time
|
|
@@ -162,7 +163,7 @@ class RefundsResource(SyncAPIResource):
|
|
|
162
163
|
"""
|
|
163
164
|
return self._get_api_list(
|
|
164
165
|
"/refunds",
|
|
165
|
-
page=SyncDefaultPageNumberPagination[
|
|
166
|
+
page=SyncDefaultPageNumberPagination[RefundListResponse],
|
|
166
167
|
options=make_request_options(
|
|
167
168
|
extra_headers=extra_headers,
|
|
168
169
|
extra_query=extra_query,
|
|
@@ -180,7 +181,7 @@ class RefundsResource(SyncAPIResource):
|
|
|
180
181
|
refund_list_params.RefundListParams,
|
|
181
182
|
),
|
|
182
183
|
),
|
|
183
|
-
model=
|
|
184
|
+
model=RefundListResponse,
|
|
184
185
|
)
|
|
185
186
|
|
|
186
187
|
|
|
@@ -295,7 +296,7 @@ class AsyncRefundsResource(AsyncAPIResource):
|
|
|
295
296
|
extra_query: Query | None = None,
|
|
296
297
|
extra_body: Body | None = None,
|
|
297
298
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
298
|
-
) -> AsyncPaginator[
|
|
299
|
+
) -> AsyncPaginator[RefundListResponse, AsyncDefaultPageNumberPagination[RefundListResponse]]:
|
|
299
300
|
"""
|
|
300
301
|
Args:
|
|
301
302
|
created_at_gte: Get events after this created time
|
|
@@ -320,7 +321,7 @@ class AsyncRefundsResource(AsyncAPIResource):
|
|
|
320
321
|
"""
|
|
321
322
|
return self._get_api_list(
|
|
322
323
|
"/refunds",
|
|
323
|
-
page=AsyncDefaultPageNumberPagination[
|
|
324
|
+
page=AsyncDefaultPageNumberPagination[RefundListResponse],
|
|
324
325
|
options=make_request_options(
|
|
325
326
|
extra_headers=extra_headers,
|
|
326
327
|
extra_query=extra_query,
|
|
@@ -338,7 +339,7 @@ class AsyncRefundsResource(AsyncAPIResource):
|
|
|
338
339
|
refund_list_params.RefundListParams,
|
|
339
340
|
),
|
|
340
341
|
),
|
|
341
|
-
model=
|
|
342
|
+
model=RefundListResponse,
|
|
342
343
|
)
|
|
343
344
|
|
|
344
345
|
|
|
@@ -373,6 +373,7 @@ class SubscriptionsResource(SyncAPIResource):
|
|
|
373
373
|
*,
|
|
374
374
|
product_price: int,
|
|
375
375
|
adaptive_currency_fees_inclusive: Optional[bool] | NotGiven = NOT_GIVEN,
|
|
376
|
+
customer_balance_config: Optional[subscription_charge_params.CustomerBalanceConfig] | NotGiven = NOT_GIVEN,
|
|
376
377
|
metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
377
378
|
product_currency: Optional[Currency] | NotGiven = NOT_GIVEN,
|
|
378
379
|
product_description: Optional[str] | NotGiven = NOT_GIVEN,
|
|
@@ -393,6 +394,8 @@ class SubscriptionsResource(SyncAPIResource):
|
|
|
393
394
|
added on top (false). This field is ignored if adaptive pricing is not enabled
|
|
394
395
|
for the business.
|
|
395
396
|
|
|
397
|
+
customer_balance_config: Specify how customer balance is used for the payment
|
|
398
|
+
|
|
396
399
|
metadata: Metadata for the payment. If not passed, the metadata of the subscription will
|
|
397
400
|
be taken
|
|
398
401
|
|
|
@@ -418,6 +421,7 @@ class SubscriptionsResource(SyncAPIResource):
|
|
|
418
421
|
{
|
|
419
422
|
"product_price": product_price,
|
|
420
423
|
"adaptive_currency_fees_inclusive": adaptive_currency_fees_inclusive,
|
|
424
|
+
"customer_balance_config": customer_balance_config,
|
|
421
425
|
"metadata": metadata,
|
|
422
426
|
"product_currency": product_currency,
|
|
423
427
|
"product_description": product_description,
|
|
@@ -861,6 +865,7 @@ class AsyncSubscriptionsResource(AsyncAPIResource):
|
|
|
861
865
|
*,
|
|
862
866
|
product_price: int,
|
|
863
867
|
adaptive_currency_fees_inclusive: Optional[bool] | NotGiven = NOT_GIVEN,
|
|
868
|
+
customer_balance_config: Optional[subscription_charge_params.CustomerBalanceConfig] | NotGiven = NOT_GIVEN,
|
|
864
869
|
metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
865
870
|
product_currency: Optional[Currency] | NotGiven = NOT_GIVEN,
|
|
866
871
|
product_description: Optional[str] | NotGiven = NOT_GIVEN,
|
|
@@ -881,6 +886,8 @@ class AsyncSubscriptionsResource(AsyncAPIResource):
|
|
|
881
886
|
added on top (false). This field is ignored if adaptive pricing is not enabled
|
|
882
887
|
for the business.
|
|
883
888
|
|
|
889
|
+
customer_balance_config: Specify how customer balance is used for the payment
|
|
890
|
+
|
|
884
891
|
metadata: Metadata for the payment. If not passed, the metadata of the subscription will
|
|
885
892
|
be taken
|
|
886
893
|
|
|
@@ -906,6 +913,7 @@ class AsyncSubscriptionsResource(AsyncAPIResource):
|
|
|
906
913
|
{
|
|
907
914
|
"product_price": product_price,
|
|
908
915
|
"adaptive_currency_fees_inclusive": adaptive_currency_fees_inclusive,
|
|
916
|
+
"customer_balance_config": customer_balance_config,
|
|
909
917
|
"metadata": metadata,
|
|
910
918
|
"product_currency": product_currency,
|
|
911
919
|
"product_description": product_description,
|
dodopayments/types/__init__.py
CHANGED
|
@@ -59,6 +59,7 @@ from .license_key_instance import LicenseKeyInstance as LicenseKeyInstance
|
|
|
59
59
|
from .payment_method_types import PaymentMethodTypes as PaymentMethodTypes
|
|
60
60
|
from .payout_list_response import PayoutListResponse as PayoutListResponse
|
|
61
61
|
from .refund_create_params import RefundCreateParams as RefundCreateParams
|
|
62
|
+
from .refund_list_response import RefundListResponse as RefundListResponse
|
|
62
63
|
from .billing_address_param import BillingAddressParam as BillingAddressParam
|
|
63
64
|
from .dispute_list_response import DisputeListResponse as DisputeListResponse
|
|
64
65
|
from .payment_create_params import PaymentCreateParams as PaymentCreateParams
|
|
@@ -85,6 +86,7 @@ from .addon_cart_response_item import AddonCartResponseItem as AddonCartResponse
|
|
|
85
86
|
from .customer_limited_details import CustomerLimitedDetails as CustomerLimitedDetails
|
|
86
87
|
from .subscription_list_params import SubscriptionListParams as SubscriptionListParams
|
|
87
88
|
from .checkout_session_response import CheckoutSessionResponse as CheckoutSessionResponse
|
|
89
|
+
from .license_activate_response import LicenseActivateResponse as LicenseActivateResponse
|
|
88
90
|
from .license_deactivate_params import LicenseDeactivateParams as LicenseDeactivateParams
|
|
89
91
|
from .license_key_update_params import LicenseKeyUpdateParams as LicenseKeyUpdateParams
|
|
90
92
|
from .license_validate_response import LicenseValidateResponse as LicenseValidateResponse
|
|
@@ -2,4 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
from .customer_wallet import CustomerWallet as CustomerWallet
|
|
6
|
+
from .wallet_list_response import WalletListResponse as WalletListResponse
|
|
5
7
|
from .customer_portal_create_params import CustomerPortalCreateParams as CustomerPortalCreateParams
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
|
|
5
|
+
from ..._models import BaseModel
|
|
6
|
+
from ..currency import Currency
|
|
7
|
+
|
|
8
|
+
__all__ = ["CustomerWallet"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CustomerWallet(BaseModel):
|
|
12
|
+
balance: int
|
|
13
|
+
|
|
14
|
+
created_at: datetime
|
|
15
|
+
|
|
16
|
+
currency: Currency
|
|
17
|
+
|
|
18
|
+
customer_id: str
|
|
19
|
+
|
|
20
|
+
updated_at: datetime
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
4
|
+
|
|
5
|
+
from ..._models import BaseModel
|
|
6
|
+
from .customer_wallet import CustomerWallet
|
|
7
|
+
|
|
8
|
+
__all__ = ["WalletListResponse"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class WalletListResponse(BaseModel):
|
|
12
|
+
items: List[CustomerWallet]
|
|
13
|
+
|
|
14
|
+
total_balance_usd: int
|
|
15
|
+
"""Sum of all wallet balances converted to USD (in smallest unit)"""
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from .ledger_entry_list_params import LedgerEntryListParams as LedgerEntryListParams
|
|
6
|
+
from .ledger_entry_create_params import LedgerEntryCreateParams as LedgerEntryCreateParams
|
|
7
|
+
from .customer_wallet_transaction import CustomerWalletTransaction as CustomerWalletTransaction
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from ...._models import BaseModel
|
|
8
|
+
from ...currency import Currency
|
|
9
|
+
|
|
10
|
+
__all__ = ["CustomerWalletTransaction"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class CustomerWalletTransaction(BaseModel):
|
|
14
|
+
id: str
|
|
15
|
+
|
|
16
|
+
after_balance: int
|
|
17
|
+
|
|
18
|
+
amount: int
|
|
19
|
+
|
|
20
|
+
before_balance: int
|
|
21
|
+
|
|
22
|
+
business_id: str
|
|
23
|
+
|
|
24
|
+
created_at: datetime
|
|
25
|
+
|
|
26
|
+
currency: Currency
|
|
27
|
+
|
|
28
|
+
customer_id: str
|
|
29
|
+
|
|
30
|
+
event_type: Literal[
|
|
31
|
+
"payment", "payment_reversal", "refund", "refund_reversal", "dispute", "dispute_reversal", "merchant_adjustment"
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
is_credit: bool
|
|
35
|
+
|
|
36
|
+
reason: Optional[str] = None
|
|
37
|
+
|
|
38
|
+
reference_object_id: Optional[str] = None
|
|
@@ -0,0 +1,25 @@
|
|
|
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 Optional
|
|
6
|
+
from typing_extensions import Literal, Required, TypedDict
|
|
7
|
+
|
|
8
|
+
from ...currency import Currency
|
|
9
|
+
|
|
10
|
+
__all__ = ["LedgerEntryCreateParams"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class LedgerEntryCreateParams(TypedDict, total=False):
|
|
14
|
+
amount: Required[int]
|
|
15
|
+
|
|
16
|
+
currency: Required[Currency]
|
|
17
|
+
"""Currency of the wallet to adjust"""
|
|
18
|
+
|
|
19
|
+
entry_type: Required[Literal["credit", "debit"]]
|
|
20
|
+
"""Type of ledger entry - credit or debit"""
|
|
21
|
+
|
|
22
|
+
idempotency_key: Optional[str]
|
|
23
|
+
"""Optional idempotency key to prevent duplicate entries"""
|
|
24
|
+
|
|
25
|
+
reason: Optional[str]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
from ...currency import Currency
|
|
8
|
+
|
|
9
|
+
__all__ = ["LedgerEntryListParams"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class LedgerEntryListParams(TypedDict, total=False):
|
|
13
|
+
currency: Currency
|
|
14
|
+
"""Optional currency filter"""
|
|
15
|
+
|
|
16
|
+
page_number: int
|
|
17
|
+
|
|
18
|
+
page_size: int
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
from .._models import BaseModel
|
|
7
|
+
from .customer_limited_details import CustomerLimitedDetails
|
|
8
|
+
|
|
9
|
+
__all__ = ["LicenseActivateResponse", "Product"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class Product(BaseModel):
|
|
13
|
+
product_id: str
|
|
14
|
+
"""Unique identifier for the product."""
|
|
15
|
+
|
|
16
|
+
name: Optional[str] = None
|
|
17
|
+
"""Name of the product, if set by the merchant."""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class LicenseActivateResponse(BaseModel):
|
|
21
|
+
id: str
|
|
22
|
+
"""License key instance ID"""
|
|
23
|
+
|
|
24
|
+
business_id: str
|
|
25
|
+
"""Business ID"""
|
|
26
|
+
|
|
27
|
+
created_at: datetime
|
|
28
|
+
"""Creation timestamp"""
|
|
29
|
+
|
|
30
|
+
customer: CustomerLimitedDetails
|
|
31
|
+
"""Limited customer details associated with the license key."""
|
|
32
|
+
|
|
33
|
+
license_key_id: str
|
|
34
|
+
"""Associated license key ID"""
|
|
35
|
+
|
|
36
|
+
name: str
|
|
37
|
+
"""Instance name"""
|
|
38
|
+
|
|
39
|
+
product: Product
|
|
40
|
+
"""Related product info. Present if the license key is tied to a product."""
|
dodopayments/types/payment.py
CHANGED
|
@@ -3,16 +3,45 @@
|
|
|
3
3
|
from typing import Dict, List, Optional
|
|
4
4
|
from datetime import datetime
|
|
5
5
|
|
|
6
|
-
from .refund import Refund
|
|
7
6
|
from .dispute import Dispute
|
|
8
7
|
from .._models import BaseModel
|
|
9
8
|
from .currency import Currency
|
|
10
9
|
from .country_code import CountryCode
|
|
11
10
|
from .intent_status import IntentStatus
|
|
11
|
+
from .refund_status import RefundStatus
|
|
12
12
|
from .billing_address import BillingAddress
|
|
13
13
|
from .customer_limited_details import CustomerLimitedDetails
|
|
14
14
|
|
|
15
|
-
__all__ = ["Payment", "ProductCart"]
|
|
15
|
+
__all__ = ["Payment", "Refund", "ProductCart"]
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class Refund(BaseModel):
|
|
19
|
+
business_id: str
|
|
20
|
+
"""The unique identifier of the business issuing the refund."""
|
|
21
|
+
|
|
22
|
+
created_at: datetime
|
|
23
|
+
"""The timestamp of when the refund was created in UTC."""
|
|
24
|
+
|
|
25
|
+
is_partial: bool
|
|
26
|
+
"""If true the refund is a partial refund"""
|
|
27
|
+
|
|
28
|
+
payment_id: str
|
|
29
|
+
"""The unique identifier of the payment associated with the refund."""
|
|
30
|
+
|
|
31
|
+
refund_id: str
|
|
32
|
+
"""The unique identifier of the refund."""
|
|
33
|
+
|
|
34
|
+
status: RefundStatus
|
|
35
|
+
"""The current status of the refund."""
|
|
36
|
+
|
|
37
|
+
amount: Optional[int] = None
|
|
38
|
+
"""The refunded amount."""
|
|
39
|
+
|
|
40
|
+
currency: Optional[Currency] = None
|
|
41
|
+
"""The currency of the refund, represented as an ISO 4217 currency code."""
|
|
42
|
+
|
|
43
|
+
reason: Optional[str] = None
|
|
44
|
+
"""The reason provided for the refund, if any. Optional."""
|
|
16
45
|
|
|
17
46
|
|
|
18
47
|
class ProductCart(BaseModel):
|
dodopayments/types/refund.py
CHANGED
|
@@ -6,6 +6,7 @@ from datetime import datetime
|
|
|
6
6
|
from .._models import BaseModel
|
|
7
7
|
from .currency import Currency
|
|
8
8
|
from .refund_status import RefundStatus
|
|
9
|
+
from .customer_limited_details import CustomerLimitedDetails
|
|
9
10
|
|
|
10
11
|
__all__ = ["Refund"]
|
|
11
12
|
|
|
@@ -17,6 +18,9 @@ class Refund(BaseModel):
|
|
|
17
18
|
created_at: datetime
|
|
18
19
|
"""The timestamp of when the refund was created in UTC."""
|
|
19
20
|
|
|
21
|
+
customer: CustomerLimitedDetails
|
|
22
|
+
"""Details about the customer for this refund (from the associated payment)"""
|
|
23
|
+
|
|
20
24
|
is_partial: bool
|
|
21
25
|
"""If true the refund is a partial refund"""
|
|
22
26
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
from .._models import BaseModel
|
|
7
|
+
from .currency import Currency
|
|
8
|
+
from .refund_status import RefundStatus
|
|
9
|
+
|
|
10
|
+
__all__ = ["RefundListResponse"]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class RefundListResponse(BaseModel):
|
|
14
|
+
business_id: str
|
|
15
|
+
"""The unique identifier of the business issuing the refund."""
|
|
16
|
+
|
|
17
|
+
created_at: datetime
|
|
18
|
+
"""The timestamp of when the refund was created in UTC."""
|
|
19
|
+
|
|
20
|
+
is_partial: bool
|
|
21
|
+
"""If true the refund is a partial refund"""
|
|
22
|
+
|
|
23
|
+
payment_id: str
|
|
24
|
+
"""The unique identifier of the payment associated with the refund."""
|
|
25
|
+
|
|
26
|
+
refund_id: str
|
|
27
|
+
"""The unique identifier of the refund."""
|
|
28
|
+
|
|
29
|
+
status: RefundStatus
|
|
30
|
+
"""The current status of the refund."""
|
|
31
|
+
|
|
32
|
+
amount: Optional[int] = None
|
|
33
|
+
"""The refunded amount."""
|
|
34
|
+
|
|
35
|
+
currency: Optional[Currency] = None
|
|
36
|
+
"""The currency of the refund, represented as an ISO 4217 currency code."""
|
|
37
|
+
|
|
38
|
+
reason: Optional[str] = None
|
|
39
|
+
"""The reason provided for the refund, if any. Optional."""
|
|
@@ -7,7 +7,7 @@ from typing_extensions import Required, TypedDict
|
|
|
7
7
|
|
|
8
8
|
from .currency import Currency
|
|
9
9
|
|
|
10
|
-
__all__ = ["SubscriptionChargeParams"]
|
|
10
|
+
__all__ = ["SubscriptionChargeParams", "CustomerBalanceConfig"]
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class SubscriptionChargeParams(TypedDict, total=False):
|
|
@@ -25,6 +25,9 @@ class SubscriptionChargeParams(TypedDict, total=False):
|
|
|
25
25
|
for the business.
|
|
26
26
|
"""
|
|
27
27
|
|
|
28
|
+
customer_balance_config: Optional[CustomerBalanceConfig]
|
|
29
|
+
"""Specify how customer balance is used for the payment"""
|
|
30
|
+
|
|
28
31
|
metadata: Optional[Dict[str, str]]
|
|
29
32
|
"""Metadata for the payment.
|
|
30
33
|
|
|
@@ -42,3 +45,11 @@ class SubscriptionChargeParams(TypedDict, total=False):
|
|
|
42
45
|
Optional product description override for billing and line items. If not
|
|
43
46
|
specified, the stored description of the product will be used.
|
|
44
47
|
"""
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class CustomerBalanceConfig(TypedDict, total=False):
|
|
51
|
+
allow_customer_credits_purchase: Optional[bool]
|
|
52
|
+
"""Allows Customer Credit to be purchased to settle payments"""
|
|
53
|
+
|
|
54
|
+
allow_customer_credits_usage: Optional[bool]
|
|
55
|
+
"""Allows Customer Credit Balance to be used to settle payments"""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: dodopayments
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.53.2
|
|
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
|
|
@@ -11,7 +11,7 @@ dodopayments/_resource.py,sha256=Jfh17Q3kKzAhO-dlfIwYlueN9t1edaaY_vmnC9vErpA,113
|
|
|
11
11
|
dodopayments/_response.py,sha256=PDvrSN3E3IkXVw2GvyOCTNB8ch0Xn9yaWQz4w1nHZEQ,28854
|
|
12
12
|
dodopayments/_streaming.py,sha256=U4D6MhotaUaGaHz32lBt0XM98IOPIpPbKHUfbb0HGCk,10124
|
|
13
13
|
dodopayments/_types.py,sha256=Zlx9hG-LsblNWuAFs7_Ux5a-S4w5jIB87yirH9z30nE,7302
|
|
14
|
-
dodopayments/_version.py,sha256=
|
|
14
|
+
dodopayments/_version.py,sha256=wpjm2H0JdpJ0XwsXwTk8SYDucZJibjgUv8IrkpRQ5-o,165
|
|
15
15
|
dodopayments/pagination.py,sha256=gaS62u_b_92OYnUHmstLAFL5AF2_cr3Z6VpzSHd0mMw,2796
|
|
16
16
|
dodopayments/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
17
|
dodopayments/_utils/__init__.py,sha256=7fch0GT9zpNnErbciSpUNa-SjTxxjY6kxHxKMOM4AGs,2305
|
|
@@ -35,17 +35,20 @@ dodopayments/resources/discounts.py,sha256=nybXO_n9VfCg7AOfDF-JLcGWC-zRE4_-GOv0Q
|
|
|
35
35
|
dodopayments/resources/disputes.py,sha256=pnRGAyvRvQdXntqq8PTnCxpaFjKRkukbq7CzlRkG-kg,12263
|
|
36
36
|
dodopayments/resources/license_key_instances.py,sha256=oCgJ-D6JVP_Fte_IjRHnykqhAynN6rDJphrkg6hyxjE,14082
|
|
37
37
|
dodopayments/resources/license_keys.py,sha256=N4CKnjzEx3JoAmGZ72hU30ENVT5NegGwvP-ILaTu04U,15838
|
|
38
|
-
dodopayments/resources/licenses.py,sha256=
|
|
38
|
+
dodopayments/resources/licenses.py,sha256=E5Zck3INP6lItZVd_UM4ZaXWxx5vhZEKSvQ56sE4MDc,13180
|
|
39
39
|
dodopayments/resources/meters.py,sha256=pqv-YhGS9u9QEFVULGxkDJyZJ64e4d-SrQ5xjZ5YlZ4,20285
|
|
40
40
|
dodopayments/resources/misc.py,sha256=BRPUna3lLIrJ-gMGOOQL1-xYx_oMwVDzKL4d498C7pI,5081
|
|
41
41
|
dodopayments/resources/payments.py,sha256=8VNZCDvtjjUyj_yETzF-nx19gqWzfca9Za5zb2dwfMA,24533
|
|
42
42
|
dodopayments/resources/payouts.py,sha256=llIbNwI3vQZYf2HsgYL5Irfl6BBoQc1g4aLPWwY09Uo,6926
|
|
43
|
-
dodopayments/resources/refunds.py,sha256=
|
|
44
|
-
dodopayments/resources/subscriptions.py,sha256=
|
|
43
|
+
dodopayments/resources/refunds.py,sha256=sl_xkDcvj__exhdh9whH1HORkWfKZ1WY1SY8ODtE_Tk,15189
|
|
44
|
+
dodopayments/resources/subscriptions.py,sha256=x9GmoahpBya3IV1V2diZ30Jo7GKaGwV14RzE3knk8Zc,49418
|
|
45
45
|
dodopayments/resources/usage_events.py,sha256=qfb_cAUknqlUr8T_-FMe38H_3Rt19IauBvL5xkl7md8,22311
|
|
46
|
-
dodopayments/resources/customers/__init__.py,sha256=
|
|
46
|
+
dodopayments/resources/customers/__init__.py,sha256=LCE-I9hVmlMoL9NbPUp1fbmv-mvpkbJtkJJY9TW4t28,1609
|
|
47
47
|
dodopayments/resources/customers/customer_portal.py,sha256=f74AYBYOb0yIffh4jLmIB3igrcfaHnCS0oAbACmGlyA,6961
|
|
48
|
-
dodopayments/resources/customers/customers.py,sha256=
|
|
48
|
+
dodopayments/resources/customers/customers.py,sha256=QlpluHpg3cselSPk3N8VQIcqjV-9LzJ9R2YDkHmOUao,19455
|
|
49
|
+
dodopayments/resources/customers/wallets/__init__.py,sha256=dHyDPoA5Es0I1LFNUv_Adr9ghKs52SW8U8O4AoLSn_w,1107
|
|
50
|
+
dodopayments/resources/customers/wallets/ledger_entries.py,sha256=SLqlQPy3WNXdc7xwBEeWiD6lX_zf-WwLTiQ-dfd9TsU,12579
|
|
51
|
+
dodopayments/resources/customers/wallets/wallets.py,sha256=-ATQ2fEEL8zNHLaJagVxqXYSAh1jPALxY1X86mLrVY8,7156
|
|
49
52
|
dodopayments/resources/invoices/__init__.py,sha256=r81DwjI_F6B-ydnyJLSpowqPN0eTcROcPEvvzAkGPds,1054
|
|
50
53
|
dodopayments/resources/invoices/invoices.py,sha256=-XZWHtZk92Wbbz5qO0DgiOCZGNKv4Slsd95feusnTnI,3761
|
|
51
54
|
dodopayments/resources/invoices/payments.py,sha256=74qauN9yhNIIJSF2mhs-aY7H1_9NukfXT6LRZquyAyg,9680
|
|
@@ -55,7 +58,7 @@ dodopayments/resources/products/products.py,sha256=sXv72Kl_YudJy9WnG9l-omJ_5oedA
|
|
|
55
58
|
dodopayments/resources/webhooks/__init__.py,sha256=qhsQMSm4GpXfesAwbvPOYkhytB3Ab_uW4Nqur7h1R8w,1041
|
|
56
59
|
dodopayments/resources/webhooks/headers.py,sha256=wkTnIIfL2XjFcsXB4ceQVJtsty9uxuLVY_cRcaOZJ7M,9581
|
|
57
60
|
dodopayments/resources/webhooks/webhooks.py,sha256=jPtHWACFpTWBkMUqoYGYGrZiOHeTgLgOCg7-FaY73sw,28034
|
|
58
|
-
dodopayments/types/__init__.py,sha256=
|
|
61
|
+
dodopayments/types/__init__.py,sha256=AVOtUgicvzpNHZ5sNneD9O-gVyjjTqm-WE7SYu5Z0sc,8836
|
|
59
62
|
dodopayments/types/add_meter_to_price.py,sha256=kCxLBTWwLCOjc1NbJM8tQX0dY5X-Be36YL1G2oBU6Z8,827
|
|
60
63
|
dodopayments/types/add_meter_to_price_param.py,sha256=aHH_YNEAexekadq44gkNEpIcv-t6v8akZMgZY_nECVE,895
|
|
61
64
|
dodopayments/types/addon_cart_response_item.py,sha256=R-I8Zd2HJKn0DmXmv6Oyu4oo-oEC1-dud0Q6_yqDB7k,235
|
|
@@ -99,6 +102,7 @@ dodopayments/types/event_input_param.py,sha256=BcT-hu0u2NFZBQ99U0PHTKuZDfJCVqKnR
|
|
|
99
102
|
dodopayments/types/get_dispute.py,sha256=26tVlqDoddB27yrS4p1Ve5B1OOhdTCe8AYAcVeaOzUg,1332
|
|
100
103
|
dodopayments/types/intent_status.py,sha256=0aP3OxHiMfZDXQFOOXNbTSZz1vZkLjBFm3ryT0sT4Z8,483
|
|
101
104
|
dodopayments/types/license_activate_params.py,sha256=LM3_sHiPdco8kuYlKXmSzXu9OyU9okrZW7Drl63GRZU,321
|
|
105
|
+
dodopayments/types/license_activate_response.py,sha256=M4iXx8skuEkbhMYrcMUf5zGjvJmdRAZRrrf-VhqVYLQ,967
|
|
102
106
|
dodopayments/types/license_deactivate_params.py,sha256=F6A7vZfdkCsfQi4ibECL3SFzwjjOyr8ZR_RrNRVsCMo,344
|
|
103
107
|
dodopayments/types/license_key.py,sha256=XdWk3moTPbM0b1wyMpcqeli_moTOZ1HF9v4QhmAe7Oc,1505
|
|
104
108
|
dodopayments/types/license_key_duration.py,sha256=iijVuKvY1Ie8c76576GmG4TbaZbSKmp8sUdf_p9OLnc,275
|
|
@@ -123,7 +127,7 @@ dodopayments/types/new_customer_param.py,sha256=00L6Tg-VNzwbhTHZo010D34cRj9hZISd
|
|
|
123
127
|
dodopayments/types/on_demand_subscription_param.py,sha256=of3bmiTDMGljy6No4k-MMSHW71t3n-CadOf3Ye-trFQ,1407
|
|
124
128
|
dodopayments/types/one_time_product_cart_item.py,sha256=3l7J3KEE-SCXgArN25qKIXbIIu44Q2kxqd7jf73AGto,544
|
|
125
129
|
dodopayments/types/one_time_product_cart_item_param.py,sha256=JydRYPBnLhON1pCQPRpQzKLaGJTSrDn1IRVCcMK8iAE,633
|
|
126
|
-
dodopayments/types/payment.py,sha256=
|
|
130
|
+
dodopayments/types/payment.py,sha256=uzSTwdc_Dq9N_v1zuGzyAqh7MZTgCHBjPmN63-k0_CU,4772
|
|
127
131
|
dodopayments/types/payment_create_params.py,sha256=8Tcvw__GD1LavNJFNOAgMgoDyrca4HNUiPO3qh2WoNw,2263
|
|
128
132
|
dodopayments/types/payment_create_response.py,sha256=Kx70m87jA_WlNtdkzGN8ArzjmfrPZC0gneeov5gXtrM,1276
|
|
129
133
|
dodopayments/types/payment_list_params.py,sha256=CH6z3MqKkQsoWzuSnsxxEj60HBrAsUKwQ_9iLm4uZJc,1283
|
|
@@ -141,13 +145,14 @@ dodopayments/types/product_list_response.py,sha256=quSCR3qak0T1aLPsZSgnkRGLSwFEW
|
|
|
141
145
|
dodopayments/types/product_update_files_params.py,sha256=7AkcQ3mWfc2WyUOnWabzst-gQaWTuS3KSvmM1KYnhT4,300
|
|
142
146
|
dodopayments/types/product_update_files_response.py,sha256=a6sNHOCHQxxA7l55M3zS8S26O3UEFo1vctngHIy5tJo,239
|
|
143
147
|
dodopayments/types/product_update_params.py,sha256=WuvH5Dd_cZgJ2n_lXOh1XzCBuQdq9N1Kl45U_IT6Lq8,2576
|
|
144
|
-
dodopayments/types/refund.py,sha256=
|
|
148
|
+
dodopayments/types/refund.py,sha256=dp50pvFEU89ETZsQLA9ntDGsi-0jc5M-qbb_t9cFOEs,1246
|
|
145
149
|
dodopayments/types/refund_create_params.py,sha256=hua-rUlW_5ZfKaPsh8O06yPgsj0gH7ru9Rw0Rb-3moQ,912
|
|
146
150
|
dodopayments/types/refund_list_params.py,sha256=iz4MPgquP4K3AlYPV5_bbt5jHzGFT__RTpGjT4QXnPs,883
|
|
151
|
+
dodopayments/types/refund_list_response.py,sha256=ac-PiXylKt2woZXop2hOBNx-UOV1JBq879EBICs-oJs,1088
|
|
147
152
|
dodopayments/types/refund_status.py,sha256=ftnBnLvslfMYcUg8t7nEvb6-m5NWyVVnNcgyVu9eZto,243
|
|
148
153
|
dodopayments/types/subscription.py,sha256=T0Py5jsjzXLgvdqX3aV5bfyfJoDLj7nizPmbyzSgltw,3291
|
|
149
154
|
dodopayments/types/subscription_change_plan_params.py,sha256=u04uGX3XYTPZSldZzc7fvhKeq_HFyQ3kkOkCugZo7TQ,866
|
|
150
|
-
dodopayments/types/subscription_charge_params.py,sha256=
|
|
155
|
+
dodopayments/types/subscription_charge_params.py,sha256=ZFj-vOPuOoS86D--fD6p3Ntxq7TBj3Eeq1PwMJeJ6wI,1748
|
|
151
156
|
dodopayments/types/subscription_charge_response.py,sha256=aDFuOKqqQ-_v1szx9oUT89QaeM3nvwrlAExzZhF0O-Q,228
|
|
152
157
|
dodopayments/types/subscription_create_params.py,sha256=EaqP9FdQ_0z8mTdsGaS0M9xOCiDK80jMHAi4E6tcl4I,2648
|
|
153
158
|
dodopayments/types/subscription_create_response.py,sha256=Equ-ycrO3A3mOVElW6BjoBH8sqc5wwKS8ED9fHvTza0,1372
|
|
@@ -168,8 +173,14 @@ dodopayments/types/webhook_event_type.py,sha256=TzMHCyMXyxsGLLVyg7h9if4vth5Iaiw7
|
|
|
168
173
|
dodopayments/types/webhook_list_params.py,sha256=SCrBT0s4VDOQdRvqgL6P5YDhqd3njW5rQlqOAnu3r40,430
|
|
169
174
|
dodopayments/types/webhook_retrieve_secret_response.py,sha256=kkjb6oJp9SerqAhJjscOq3basHMKP95q3nvz_c1oIW8,230
|
|
170
175
|
dodopayments/types/webhook_update_params.py,sha256=Gv-1jteNEm58ZevionMCv7xCUUZUJ1cxTKV4M23oQIw,807
|
|
171
|
-
dodopayments/types/customers/__init__.py,sha256=
|
|
176
|
+
dodopayments/types/customers/__init__.py,sha256=e_URiFdz6kmlW-A9rsOJ2Vph5qvMdpyAT6YU3Aaq0z8,360
|
|
172
177
|
dodopayments/types/customers/customer_portal_create_params.py,sha256=QTRksHDHn8_3AmOpsscjWF1ZNvooLY05DZNbMmLbC2Y,329
|
|
178
|
+
dodopayments/types/customers/customer_wallet.py,sha256=BdDibeumIb7nRzB40MIR6p6FO4Y_l60TLlN627tcQco,363
|
|
179
|
+
dodopayments/types/customers/wallet_list_response.py,sha256=aKjuedpRolH72oKEmbpLw6DCF-Vs7H97OKN6AH5luPs,395
|
|
180
|
+
dodopayments/types/customers/wallets/__init__.py,sha256=8wk5W37JesivqxGvY5zCrIOc5YU0KUjCiZL_TxAt85o,395
|
|
181
|
+
dodopayments/types/customers/wallets/customer_wallet_transaction.py,sha256=iCzA9nN_EdsViThLMtFKgyAlobxpCwLLK4mNUwd1GB8,765
|
|
182
|
+
dodopayments/types/customers/wallets/ledger_entry_create_params.py,sha256=oMNFnhUgEQRnAr3c1eNg_hIt5epYbOEzZ3LQRaPfz3Y,673
|
|
183
|
+
dodopayments/types/customers/wallets/ledger_entry_list_params.py,sha256=UFQoEDO4mU37nVtjO9GvEpKaYIwl6UQMabEvz4h-GDA,389
|
|
173
184
|
dodopayments/types/invoices/__init__.py,sha256=OKfJYcKb4NObdiRObqJV_dOyDQ8feXekDUge2o_4pXQ,122
|
|
174
185
|
dodopayments/types/products/__init__.py,sha256=-W2ETtkni8cZpsC4Eg1aRwuLg1plV1U429JFOR1U4Rw,273
|
|
175
186
|
dodopayments/types/products/image_update_params.py,sha256=xyF5fRudD8wct8KKx6wc8F7bbMzVBQPOMKnX5bTiRDQ,270
|
|
@@ -177,7 +188,7 @@ dodopayments/types/products/image_update_response.py,sha256=TcJyXjoJlONpwwR6yZdI
|
|
|
177
188
|
dodopayments/types/webhooks/__init__.py,sha256=F_ZpQalnBiuXt_C2pUepZjgJZwiAGKNwaEB03ZB6sUM,285
|
|
178
189
|
dodopayments/types/webhooks/header_retrieve_response.py,sha256=IKNaI2xO9qU7UXbffENYrRo2vUr0mqb8TIkAQdtLtXI,369
|
|
179
190
|
dodopayments/types/webhooks/header_update_params.py,sha256=USiXP4oFllTJgOBcBZQrcLlEzEOB6RHH9Ugdxatyy3g,376
|
|
180
|
-
dodopayments-1.
|
|
181
|
-
dodopayments-1.
|
|
182
|
-
dodopayments-1.
|
|
183
|
-
dodopayments-1.
|
|
191
|
+
dodopayments-1.53.2.dist-info/METADATA,sha256=Vg-qu8sZ657jn79tlLdjzVHLvFIkUhaoibX1msB3_gk,17198
|
|
192
|
+
dodopayments-1.53.2.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
|
193
|
+
dodopayments-1.53.2.dist-info/licenses/LICENSE,sha256=3_sqrBb5J3AT3FsjMKEOBRZhweWVsl_s_RjFlclm1vQ,11343
|
|
194
|
+
dodopayments-1.53.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|