mollie-api-py 1.1.0__py3-none-any.whl → 1.1.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.
- mollie/_version.py +2 -2
- mollie/customers.py +20 -14
- mollie/models/__init__.py +16 -63
- mollie/models/client_link_request.py +35 -564
- mollie/models/list_payment_response.py +1 -1
- mollie/models/payment_response.py +1 -1
- mollie/models/update_customerop.py +85 -5
- mollie/models/update_payment_linkop.py +11 -9
- mollie/models/update_paymentop.py +4 -5
- mollie/models/update_sales_invoiceop.py +174 -8
- mollie/models/update_subscriptionop.py +11 -9
- mollie/models/update_webhookop.py +8 -4
- mollie/sales_invoices.py +16 -16
- {mollie_api_py-1.1.0.dist-info → mollie_api_py-1.1.2.dist-info}/METADATA +1 -1
- {mollie_api_py-1.1.0.dist-info → mollie_api_py-1.1.2.dist-info}/RECORD +17 -18
- mollie/models/update_values_sales_invoice.py +0 -176
- {mollie_api_py-1.1.0.dist-info → mollie_api_py-1.1.2.dist-info}/WHEEL +0 -0
- {mollie_api_py-1.1.0.dist-info → mollie_api_py-1.1.2.dist-info}/licenses/LICENSE.md +0 -0
|
@@ -1,25 +1,105 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from .
|
|
5
|
-
from
|
|
4
|
+
from .locale_response import LocaleResponse
|
|
5
|
+
from .metadata import Metadata, MetadataTypedDict
|
|
6
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
6
7
|
from mollie.utils import (
|
|
7
8
|
FieldMetadata,
|
|
8
9
|
HeaderMetadata,
|
|
9
10
|
PathParamMetadata,
|
|
10
11
|
RequestMetadata,
|
|
12
|
+
validate_open_enum,
|
|
11
13
|
)
|
|
12
14
|
import pydantic
|
|
15
|
+
from pydantic import model_serializer
|
|
16
|
+
from pydantic.functional_validators import PlainValidator
|
|
13
17
|
from typing import Optional
|
|
14
18
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
15
19
|
|
|
16
20
|
|
|
21
|
+
class UpdateCustomerRequestBodyTypedDict(TypedDict):
|
|
22
|
+
name: NotRequired[Nullable[str]]
|
|
23
|
+
r"""The full name of the customer."""
|
|
24
|
+
email: NotRequired[Nullable[str]]
|
|
25
|
+
r"""The email address of the customer."""
|
|
26
|
+
locale: NotRequired[Nullable[LocaleResponse]]
|
|
27
|
+
r"""Allows you to preset the language to be used."""
|
|
28
|
+
metadata: NotRequired[Nullable[MetadataTypedDict]]
|
|
29
|
+
r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
|
|
30
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
31
|
+
"""
|
|
32
|
+
testmode: NotRequired[bool]
|
|
33
|
+
r"""Whether the entity was created in test mode or live mode. This field does not update the mode of the entity.
|
|
34
|
+
|
|
35
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
36
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
37
|
+
`testmode` to `true`.
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class UpdateCustomerRequestBody(BaseModel):
|
|
42
|
+
name: OptionalNullable[str] = UNSET
|
|
43
|
+
r"""The full name of the customer."""
|
|
44
|
+
|
|
45
|
+
email: OptionalNullable[str] = UNSET
|
|
46
|
+
r"""The email address of the customer."""
|
|
47
|
+
|
|
48
|
+
locale: Annotated[
|
|
49
|
+
OptionalNullable[LocaleResponse], PlainValidator(validate_open_enum(False))
|
|
50
|
+
] = UNSET
|
|
51
|
+
r"""Allows you to preset the language to be used."""
|
|
52
|
+
|
|
53
|
+
metadata: OptionalNullable[Metadata] = UNSET
|
|
54
|
+
r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
|
|
55
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
testmode: Optional[bool] = None
|
|
59
|
+
r"""Whether the entity was created in test mode or live mode. This field does not update the mode of the entity.
|
|
60
|
+
|
|
61
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
62
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
63
|
+
`testmode` to `true`.
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
@model_serializer(mode="wrap")
|
|
67
|
+
def serialize_model(self, handler):
|
|
68
|
+
optional_fields = ["name", "email", "locale", "metadata", "testmode"]
|
|
69
|
+
nullable_fields = ["name", "email", "locale", "metadata"]
|
|
70
|
+
null_default_fields = []
|
|
71
|
+
|
|
72
|
+
serialized = handler(self)
|
|
73
|
+
|
|
74
|
+
m = {}
|
|
75
|
+
|
|
76
|
+
for n, f in type(self).model_fields.items():
|
|
77
|
+
k = f.alias or n
|
|
78
|
+
val = serialized.get(k)
|
|
79
|
+
serialized.pop(k, None)
|
|
80
|
+
|
|
81
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
82
|
+
is_set = (
|
|
83
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
84
|
+
or k in null_default_fields
|
|
85
|
+
) # pylint: disable=no-member
|
|
86
|
+
|
|
87
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
88
|
+
m[k] = val
|
|
89
|
+
elif val != UNSET_SENTINEL and (
|
|
90
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
91
|
+
):
|
|
92
|
+
m[k] = val
|
|
93
|
+
|
|
94
|
+
return m
|
|
95
|
+
|
|
96
|
+
|
|
17
97
|
class UpdateCustomerRequestTypedDict(TypedDict):
|
|
18
98
|
customer_id: str
|
|
19
99
|
r"""Provide the ID of the related customer."""
|
|
20
100
|
idempotency_key: NotRequired[str]
|
|
21
101
|
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
22
|
-
|
|
102
|
+
request_body: NotRequired[UpdateCustomerRequestBodyTypedDict]
|
|
23
103
|
|
|
24
104
|
|
|
25
105
|
class UpdateCustomerRequest(BaseModel):
|
|
@@ -37,7 +117,7 @@ class UpdateCustomerRequest(BaseModel):
|
|
|
37
117
|
] = None
|
|
38
118
|
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
39
119
|
|
|
40
|
-
|
|
41
|
-
Optional[
|
|
120
|
+
request_body: Annotated[
|
|
121
|
+
Optional[UpdateCustomerRequestBody],
|
|
42
122
|
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
|
43
123
|
] = None
|
|
@@ -45,11 +45,12 @@ class UpdatePaymentLinkRequestBodyTypedDict(TypedDict):
|
|
|
45
45
|
"""
|
|
46
46
|
billing_address: NotRequired[PaymentAddressTypedDict]
|
|
47
47
|
shipping_address: NotRequired[PaymentAddressTypedDict]
|
|
48
|
-
testmode: NotRequired[
|
|
49
|
-
r"""
|
|
50
|
-
such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
|
|
48
|
+
testmode: NotRequired[bool]
|
|
49
|
+
r"""Whether the entity was created in test mode or live mode. This field does not update the mode of the entity.
|
|
51
50
|
|
|
52
|
-
|
|
51
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
52
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
53
|
+
`testmode` to `true`.
|
|
53
54
|
"""
|
|
54
55
|
|
|
55
56
|
|
|
@@ -96,11 +97,12 @@ class UpdatePaymentLinkRequestBody(BaseModel):
|
|
|
96
97
|
Optional[PaymentAddress], pydantic.Field(alias="shippingAddress")
|
|
97
98
|
] = None
|
|
98
99
|
|
|
99
|
-
testmode:
|
|
100
|
-
r"""
|
|
101
|
-
such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
|
|
100
|
+
testmode: Optional[bool] = None
|
|
101
|
+
r"""Whether the entity was created in test mode or live mode. This field does not update the mode of the entity.
|
|
102
102
|
|
|
103
|
-
|
|
103
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
104
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
105
|
+
`testmode` to `true`.
|
|
104
106
|
"""
|
|
105
107
|
|
|
106
108
|
@model_serializer(mode="wrap")
|
|
@@ -115,7 +117,7 @@ class UpdatePaymentLinkRequestBody(BaseModel):
|
|
|
115
117
|
"shippingAddress",
|
|
116
118
|
"testmode",
|
|
117
119
|
]
|
|
118
|
-
nullable_fields = ["allowedMethods", "lines"
|
|
120
|
+
nullable_fields = ["allowedMethods", "lines"]
|
|
119
121
|
null_default_fields = []
|
|
120
122
|
|
|
121
123
|
serialized = handler(self)
|
|
@@ -84,8 +84,8 @@ class UpdatePaymentRequestBodyTypedDict(TypedDict):
|
|
|
84
84
|
|
|
85
85
|
The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`.
|
|
86
86
|
"""
|
|
87
|
-
testmode: NotRequired[
|
|
88
|
-
r"""Whether
|
|
87
|
+
testmode: NotRequired[bool]
|
|
88
|
+
r"""Whether the entity was created in test mode or live mode. This field does not update the mode of the entity.
|
|
89
89
|
|
|
90
90
|
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
91
91
|
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
@@ -203,8 +203,8 @@ class UpdatePaymentRequestBody(BaseModel):
|
|
|
203
203
|
The field expects a country code in ISO 3166-1 alpha-2 format, for example `NL`.
|
|
204
204
|
"""
|
|
205
205
|
|
|
206
|
-
testmode:
|
|
207
|
-
r"""Whether
|
|
206
|
+
testmode: Optional[bool] = None
|
|
207
|
+
r"""Whether the entity was created in test mode or live mode. This field does not update the mode of the entity.
|
|
208
208
|
|
|
209
209
|
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
210
210
|
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
@@ -273,7 +273,6 @@ class UpdatePaymentRequestBody(BaseModel):
|
|
|
273
273
|
"method",
|
|
274
274
|
"locale",
|
|
275
275
|
"restrictPaymentMethodsToCountry",
|
|
276
|
-
"testmode",
|
|
277
276
|
"issuer",
|
|
278
277
|
]
|
|
279
278
|
null_default_fields = []
|
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from .
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
from .sales_invoice_discount import SalesInvoiceDiscount, SalesInvoiceDiscountTypedDict
|
|
5
|
+
from .sales_invoice_email_details import (
|
|
6
|
+
SalesInvoiceEmailDetails,
|
|
7
|
+
SalesInvoiceEmailDetailsTypedDict,
|
|
7
8
|
)
|
|
8
|
-
from
|
|
9
|
+
from .sales_invoice_line_item import SalesInvoiceLineItem, SalesInvoiceLineItemTypedDict
|
|
10
|
+
from .sales_invoice_payment_details import (
|
|
11
|
+
SalesInvoicePaymentDetails,
|
|
12
|
+
SalesInvoicePaymentDetailsTypedDict,
|
|
13
|
+
)
|
|
14
|
+
from .sales_invoice_payment_term import SalesInvoicePaymentTerm
|
|
15
|
+
from .sales_invoice_recipient import (
|
|
16
|
+
SalesInvoiceRecipient,
|
|
17
|
+
SalesInvoiceRecipientTypedDict,
|
|
18
|
+
)
|
|
19
|
+
from .sales_invoice_status import SalesInvoiceStatus
|
|
20
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
9
21
|
from mollie.utils import (
|
|
10
22
|
FieldMetadata,
|
|
11
23
|
HeaderMetadata,
|
|
@@ -13,16 +25,170 @@ from mollie.utils import (
|
|
|
13
25
|
RequestMetadata,
|
|
14
26
|
)
|
|
15
27
|
import pydantic
|
|
16
|
-
from
|
|
28
|
+
from pydantic import model_serializer
|
|
29
|
+
from typing import List, Optional
|
|
17
30
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
18
31
|
|
|
19
32
|
|
|
33
|
+
class UpdateSalesInvoiceRequestBodyTypedDict(TypedDict):
|
|
34
|
+
testmode: NotRequired[bool]
|
|
35
|
+
r"""Whether the entity was created in test mode or live mode. This field does not update the mode of the entity.
|
|
36
|
+
|
|
37
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
38
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
39
|
+
`testmode` to `true`.
|
|
40
|
+
"""
|
|
41
|
+
status: NotRequired[SalesInvoiceStatus]
|
|
42
|
+
r"""The status for the invoice to end up in.
|
|
43
|
+
|
|
44
|
+
A `draft` invoice is not paid or not sent and can be updated after creation. Setting it to `issued` sends it to
|
|
45
|
+
the recipient so they may then pay through our payment system. To skip our payment process, set this to `paid` to
|
|
46
|
+
mark it as paid. It can then subsequently be sent as well, same as with `issued`.
|
|
47
|
+
|
|
48
|
+
A status value that cannot be set but can be returned is `canceled`, for invoices which were
|
|
49
|
+
issued, but then canceled. Currently this can only be done for invoices created in the dashboard.
|
|
50
|
+
|
|
51
|
+
Dependent parameters:
|
|
52
|
+
- `paymentDetails` is required if invoice should be set directly to `paid`
|
|
53
|
+
- `customerId` and `mandateId` are required if a recurring payment should be used to set the invoice to `paid`
|
|
54
|
+
- `emailDetails` optional for `issued` and `paid` to send the invoice by email
|
|
55
|
+
"""
|
|
56
|
+
memo: NotRequired[Nullable[str]]
|
|
57
|
+
r"""A free-form memo you can set on the invoice, and will be shown on the invoice PDF."""
|
|
58
|
+
payment_term: NotRequired[Nullable[SalesInvoicePaymentTerm]]
|
|
59
|
+
r"""The payment term to be set on the invoice."""
|
|
60
|
+
payment_details: NotRequired[SalesInvoicePaymentDetailsTypedDict]
|
|
61
|
+
email_details: NotRequired[Nullable[SalesInvoiceEmailDetailsTypedDict]]
|
|
62
|
+
recipient_identifier: NotRequired[str]
|
|
63
|
+
r"""An identifier tied to the recipient data. This should be a unique value based on data your system contains,
|
|
64
|
+
so that both you and us know who we're referring to. It is a value you provide to us so that recipient management
|
|
65
|
+
is not required to send a first invoice to a recipient.
|
|
66
|
+
"""
|
|
67
|
+
recipient: NotRequired[Nullable[SalesInvoiceRecipientTypedDict]]
|
|
68
|
+
lines: NotRequired[Nullable[List[SalesInvoiceLineItemTypedDict]]]
|
|
69
|
+
r"""Provide the line items for the invoice. Each line contains details such as a description of the item
|
|
70
|
+
ordered and its price.
|
|
71
|
+
|
|
72
|
+
All lines must have the same currency as the invoice.
|
|
73
|
+
"""
|
|
74
|
+
discount: NotRequired[Nullable[SalesInvoiceDiscountTypedDict]]
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class UpdateSalesInvoiceRequestBody(BaseModel):
|
|
78
|
+
testmode: Optional[bool] = None
|
|
79
|
+
r"""Whether the entity was created in test mode or live mode. This field does not update the mode of the entity.
|
|
80
|
+
|
|
81
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
82
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
83
|
+
`testmode` to `true`.
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
status: Optional[SalesInvoiceStatus] = None
|
|
87
|
+
r"""The status for the invoice to end up in.
|
|
88
|
+
|
|
89
|
+
A `draft` invoice is not paid or not sent and can be updated after creation. Setting it to `issued` sends it to
|
|
90
|
+
the recipient so they may then pay through our payment system. To skip our payment process, set this to `paid` to
|
|
91
|
+
mark it as paid. It can then subsequently be sent as well, same as with `issued`.
|
|
92
|
+
|
|
93
|
+
A status value that cannot be set but can be returned is `canceled`, for invoices which were
|
|
94
|
+
issued, but then canceled. Currently this can only be done for invoices created in the dashboard.
|
|
95
|
+
|
|
96
|
+
Dependent parameters:
|
|
97
|
+
- `paymentDetails` is required if invoice should be set directly to `paid`
|
|
98
|
+
- `customerId` and `mandateId` are required if a recurring payment should be used to set the invoice to `paid`
|
|
99
|
+
- `emailDetails` optional for `issued` and `paid` to send the invoice by email
|
|
100
|
+
"""
|
|
101
|
+
|
|
102
|
+
memo: OptionalNullable[str] = UNSET
|
|
103
|
+
r"""A free-form memo you can set on the invoice, and will be shown on the invoice PDF."""
|
|
104
|
+
|
|
105
|
+
payment_term: Annotated[
|
|
106
|
+
OptionalNullable[SalesInvoicePaymentTerm], pydantic.Field(alias="paymentTerm")
|
|
107
|
+
] = UNSET
|
|
108
|
+
r"""The payment term to be set on the invoice."""
|
|
109
|
+
|
|
110
|
+
payment_details: Annotated[
|
|
111
|
+
Optional[SalesInvoicePaymentDetails], pydantic.Field(alias="paymentDetails")
|
|
112
|
+
] = None
|
|
113
|
+
|
|
114
|
+
email_details: Annotated[
|
|
115
|
+
OptionalNullable[SalesInvoiceEmailDetails], pydantic.Field(alias="emailDetails")
|
|
116
|
+
] = UNSET
|
|
117
|
+
|
|
118
|
+
recipient_identifier: Annotated[
|
|
119
|
+
Optional[str], pydantic.Field(alias="recipientIdentifier")
|
|
120
|
+
] = None
|
|
121
|
+
r"""An identifier tied to the recipient data. This should be a unique value based on data your system contains,
|
|
122
|
+
so that both you and us know who we're referring to. It is a value you provide to us so that recipient management
|
|
123
|
+
is not required to send a first invoice to a recipient.
|
|
124
|
+
"""
|
|
125
|
+
|
|
126
|
+
recipient: OptionalNullable[SalesInvoiceRecipient] = UNSET
|
|
127
|
+
|
|
128
|
+
lines: OptionalNullable[List[SalesInvoiceLineItem]] = UNSET
|
|
129
|
+
r"""Provide the line items for the invoice. Each line contains details such as a description of the item
|
|
130
|
+
ordered and its price.
|
|
131
|
+
|
|
132
|
+
All lines must have the same currency as the invoice.
|
|
133
|
+
"""
|
|
134
|
+
|
|
135
|
+
discount: OptionalNullable[SalesInvoiceDiscount] = UNSET
|
|
136
|
+
|
|
137
|
+
@model_serializer(mode="wrap")
|
|
138
|
+
def serialize_model(self, handler):
|
|
139
|
+
optional_fields = [
|
|
140
|
+
"testmode",
|
|
141
|
+
"status",
|
|
142
|
+
"memo",
|
|
143
|
+
"paymentTerm",
|
|
144
|
+
"paymentDetails",
|
|
145
|
+
"emailDetails",
|
|
146
|
+
"recipientIdentifier",
|
|
147
|
+
"recipient",
|
|
148
|
+
"lines",
|
|
149
|
+
"discount",
|
|
150
|
+
]
|
|
151
|
+
nullable_fields = [
|
|
152
|
+
"memo",
|
|
153
|
+
"paymentTerm",
|
|
154
|
+
"emailDetails",
|
|
155
|
+
"recipient",
|
|
156
|
+
"lines",
|
|
157
|
+
"discount",
|
|
158
|
+
]
|
|
159
|
+
null_default_fields = []
|
|
160
|
+
|
|
161
|
+
serialized = handler(self)
|
|
162
|
+
|
|
163
|
+
m = {}
|
|
164
|
+
|
|
165
|
+
for n, f in type(self).model_fields.items():
|
|
166
|
+
k = f.alias or n
|
|
167
|
+
val = serialized.get(k)
|
|
168
|
+
serialized.pop(k, None)
|
|
169
|
+
|
|
170
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
171
|
+
is_set = (
|
|
172
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
173
|
+
or k in null_default_fields
|
|
174
|
+
) # pylint: disable=no-member
|
|
175
|
+
|
|
176
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
177
|
+
m[k] = val
|
|
178
|
+
elif val != UNSET_SENTINEL and (
|
|
179
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
180
|
+
):
|
|
181
|
+
m[k] = val
|
|
182
|
+
|
|
183
|
+
return m
|
|
184
|
+
|
|
185
|
+
|
|
20
186
|
class UpdateSalesInvoiceRequestTypedDict(TypedDict):
|
|
21
187
|
sales_invoice_id: str
|
|
22
188
|
r"""Provide the ID of the related sales invoice."""
|
|
23
189
|
idempotency_key: NotRequired[str]
|
|
24
190
|
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
25
|
-
|
|
191
|
+
request_body: NotRequired[UpdateSalesInvoiceRequestBodyTypedDict]
|
|
26
192
|
|
|
27
193
|
|
|
28
194
|
class UpdateSalesInvoiceRequest(BaseModel):
|
|
@@ -40,7 +206,7 @@ class UpdateSalesInvoiceRequest(BaseModel):
|
|
|
40
206
|
] = None
|
|
41
207
|
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
42
208
|
|
|
43
|
-
|
|
44
|
-
Optional[
|
|
209
|
+
request_body: Annotated[
|
|
210
|
+
Optional[UpdateSalesInvoiceRequestBody],
|
|
45
211
|
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
|
46
212
|
] = None
|
|
@@ -51,11 +51,12 @@ class UpdateSubscriptionRequestBodyTypedDict(TypedDict):
|
|
|
51
51
|
failures as well. Be sure to verify the payment's subscription ID and its status.
|
|
52
52
|
"""
|
|
53
53
|
mandate_id: NotRequired[str]
|
|
54
|
-
testmode: NotRequired[
|
|
55
|
-
r"""
|
|
56
|
-
such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
|
|
54
|
+
testmode: NotRequired[bool]
|
|
55
|
+
r"""Whether the entity was created in test mode or live mode. This field does not update the mode of the entity.
|
|
57
56
|
|
|
58
|
-
|
|
57
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
58
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
59
|
+
`testmode` to `true`.
|
|
59
60
|
"""
|
|
60
61
|
|
|
61
62
|
|
|
@@ -102,11 +103,12 @@ class UpdateSubscriptionRequestBody(BaseModel):
|
|
|
102
103
|
|
|
103
104
|
mandate_id: Annotated[Optional[str], pydantic.Field(alias="mandateId")] = None
|
|
104
105
|
|
|
105
|
-
testmode:
|
|
106
|
-
r"""
|
|
107
|
-
such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
|
|
106
|
+
testmode: Optional[bool] = None
|
|
107
|
+
r"""Whether the entity was created in test mode or live mode. This field does not update the mode of the entity.
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
110
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
111
|
+
`testmode` to `true`.
|
|
110
112
|
"""
|
|
111
113
|
|
|
112
114
|
@model_serializer(mode="wrap")
|
|
@@ -122,7 +124,7 @@ class UpdateSubscriptionRequestBody(BaseModel):
|
|
|
122
124
|
"mandateId",
|
|
123
125
|
"testmode",
|
|
124
126
|
]
|
|
125
|
-
nullable_fields = ["metadata"
|
|
127
|
+
nullable_fields = ["metadata"]
|
|
126
128
|
null_default_fields = []
|
|
127
129
|
|
|
128
130
|
serialized = handler(self)
|
|
@@ -32,9 +32,11 @@ class UpdateWebhookRequestBodyTypedDict(TypedDict):
|
|
|
32
32
|
r"""The URL Mollie will send the events to. This URL must be publicly accessible."""
|
|
33
33
|
event_types: NotRequired[UpdateWebhookEventTypesTypedDict]
|
|
34
34
|
testmode: NotRequired[bool]
|
|
35
|
-
r"""
|
|
35
|
+
r"""Whether the entity was created in test mode or live mode. This field does not update the mode of the entity.
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
38
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
39
|
+
`testmode` to `true`.
|
|
38
40
|
"""
|
|
39
41
|
|
|
40
42
|
|
|
@@ -50,9 +52,11 @@ class UpdateWebhookRequestBody(BaseModel):
|
|
|
50
52
|
] = None
|
|
51
53
|
|
|
52
54
|
testmode: Optional[bool] = None
|
|
53
|
-
r"""
|
|
55
|
+
r"""Whether the entity was created in test mode or live mode. This field does not update the mode of the entity.
|
|
54
56
|
|
|
55
|
-
|
|
57
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
58
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
59
|
+
`testmode` to `true`.
|
|
56
60
|
"""
|
|
57
61
|
|
|
58
62
|
|
mollie/sales_invoices.py
CHANGED
|
@@ -659,10 +659,10 @@ class SalesInvoices(BaseSDK):
|
|
|
659
659
|
*,
|
|
660
660
|
sales_invoice_id: str,
|
|
661
661
|
idempotency_key: Optional[str] = None,
|
|
662
|
-
|
|
662
|
+
request_body: Optional[
|
|
663
663
|
Union[
|
|
664
|
-
models.
|
|
665
|
-
models.
|
|
664
|
+
models.UpdateSalesInvoiceRequestBody,
|
|
665
|
+
models.UpdateSalesInvoiceRequestBodyTypedDict,
|
|
666
666
|
]
|
|
667
667
|
] = None,
|
|
668
668
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
@@ -682,7 +682,7 @@ class SalesInvoices(BaseSDK):
|
|
|
682
682
|
|
|
683
683
|
:param sales_invoice_id: Provide the ID of the related sales invoice.
|
|
684
684
|
:param idempotency_key: A unique key to ensure idempotent requests. This key should be a UUID v4 string.
|
|
685
|
-
:param
|
|
685
|
+
:param request_body:
|
|
686
686
|
:param retries: Override the default retry configuration for this method
|
|
687
687
|
:param server_url: Override the default server URL for this method
|
|
688
688
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -701,8 +701,8 @@ class SalesInvoices(BaseSDK):
|
|
|
701
701
|
request = models.UpdateSalesInvoiceRequest(
|
|
702
702
|
sales_invoice_id=sales_invoice_id,
|
|
703
703
|
idempotency_key=idempotency_key,
|
|
704
|
-
|
|
705
|
-
|
|
704
|
+
request_body=utils.get_pydantic_model(
|
|
705
|
+
request_body, Optional[models.UpdateSalesInvoiceRequestBody]
|
|
706
706
|
),
|
|
707
707
|
)
|
|
708
708
|
|
|
@@ -720,11 +720,11 @@ class SalesInvoices(BaseSDK):
|
|
|
720
720
|
http_headers=http_headers,
|
|
721
721
|
security=self.sdk_configuration.security,
|
|
722
722
|
get_serialized_body=lambda: utils.serialize_request_body(
|
|
723
|
-
request.
|
|
723
|
+
request.request_body,
|
|
724
724
|
False,
|
|
725
725
|
True,
|
|
726
726
|
"json",
|
|
727
|
-
Optional[models.
|
|
727
|
+
Optional[models.UpdateSalesInvoiceRequestBody],
|
|
728
728
|
),
|
|
729
729
|
timeout_ms=timeout_ms,
|
|
730
730
|
)
|
|
@@ -776,10 +776,10 @@ class SalesInvoices(BaseSDK):
|
|
|
776
776
|
*,
|
|
777
777
|
sales_invoice_id: str,
|
|
778
778
|
idempotency_key: Optional[str] = None,
|
|
779
|
-
|
|
779
|
+
request_body: Optional[
|
|
780
780
|
Union[
|
|
781
|
-
models.
|
|
782
|
-
models.
|
|
781
|
+
models.UpdateSalesInvoiceRequestBody,
|
|
782
|
+
models.UpdateSalesInvoiceRequestBodyTypedDict,
|
|
783
783
|
]
|
|
784
784
|
] = None,
|
|
785
785
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
@@ -799,7 +799,7 @@ class SalesInvoices(BaseSDK):
|
|
|
799
799
|
|
|
800
800
|
:param sales_invoice_id: Provide the ID of the related sales invoice.
|
|
801
801
|
:param idempotency_key: A unique key to ensure idempotent requests. This key should be a UUID v4 string.
|
|
802
|
-
:param
|
|
802
|
+
:param request_body:
|
|
803
803
|
:param retries: Override the default retry configuration for this method
|
|
804
804
|
:param server_url: Override the default server URL for this method
|
|
805
805
|
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
@@ -818,8 +818,8 @@ class SalesInvoices(BaseSDK):
|
|
|
818
818
|
request = models.UpdateSalesInvoiceRequest(
|
|
819
819
|
sales_invoice_id=sales_invoice_id,
|
|
820
820
|
idempotency_key=idempotency_key,
|
|
821
|
-
|
|
822
|
-
|
|
821
|
+
request_body=utils.get_pydantic_model(
|
|
822
|
+
request_body, Optional[models.UpdateSalesInvoiceRequestBody]
|
|
823
823
|
),
|
|
824
824
|
)
|
|
825
825
|
|
|
@@ -837,11 +837,11 @@ class SalesInvoices(BaseSDK):
|
|
|
837
837
|
http_headers=http_headers,
|
|
838
838
|
security=self.sdk_configuration.security,
|
|
839
839
|
get_serialized_body=lambda: utils.serialize_request_body(
|
|
840
|
-
request.
|
|
840
|
+
request.request_body,
|
|
841
841
|
False,
|
|
842
842
|
True,
|
|
843
843
|
"json",
|
|
844
|
-
Optional[models.
|
|
844
|
+
Optional[models.UpdateSalesInvoiceRequestBody],
|
|
845
845
|
),
|
|
846
846
|
timeout_ms=timeout_ms,
|
|
847
847
|
)
|