mollie-api-py 1.0.0__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.
Files changed (337) hide show
  1. mollie/__init__.py +18 -0
  2. mollie/_hooks/__init__.py +5 -0
  3. mollie/_hooks/mollie_hooks.py +165 -0
  4. mollie/_hooks/registration.py +18 -0
  5. mollie/_hooks/sdkhooks.py +76 -0
  6. mollie/_hooks/types.py +113 -0
  7. mollie/_version.py +15 -0
  8. mollie/balance_transfers.py +651 -0
  9. mollie/balances.py +1105 -0
  10. mollie/basesdk.py +360 -0
  11. mollie/capabilities.py +209 -0
  12. mollie/captures.py +677 -0
  13. mollie/chargebacks_sdk.py +675 -0
  14. mollie/client_links.py +325 -0
  15. mollie/clients.py +409 -0
  16. mollie/customers.py +1563 -0
  17. mollie/delayed_routing.py +421 -0
  18. mollie/httpclient.py +125 -0
  19. mollie/invoices.py +429 -0
  20. mollie/mandates.py +895 -0
  21. mollie/methods.py +789 -0
  22. mollie/models/__init__.py +4002 -0
  23. mollie/models/address.py +29 -0
  24. mollie/models/amount.py +25 -0
  25. mollie/models/amount_nullable.py +24 -0
  26. mollie/models/apierror.py +40 -0
  27. mollie/models/balance_card_audience.py +10 -0
  28. mollie/models/balance_card_issuer.py +12 -0
  29. mollie/models/balance_card_region.py +12 -0
  30. mollie/models/balance_fee_type.py +43 -0
  31. mollie/models/balance_prepayment_part_type.py +13 -0
  32. mollie/models/balance_report_grouping.py +10 -0
  33. mollie/models/balance_transaction_type.py +47 -0
  34. mollie/models/balance_transfer_category.py +17 -0
  35. mollie/models/balance_transfer_category_response.py +18 -0
  36. mollie/models/balance_transfer_destination_type.py +14 -0
  37. mollie/models/balance_transfer_party_type.py +10 -0
  38. mollie/models/balance_transfer_party_type_response.py +11 -0
  39. mollie/models/balance_transfer_status.py +13 -0
  40. mollie/models/balance_transfer_status_reason_response.py +19 -0
  41. mollie/models/billingaddress.py +154 -0
  42. mollie/models/cancel_paymentop.py +93 -0
  43. mollie/models/cancel_refundop.py +86 -0
  44. mollie/models/cancel_subscriptionop.py +100 -0
  45. mollie/models/capability_requirement_status.py +15 -0
  46. mollie/models/capability_status.py +12 -0
  47. mollie/models/capability_status_reason.py +10 -0
  48. mollie/models/capture_mode.py +15 -0
  49. mollie/models/capture_mode_response.py +16 -0
  50. mollie/models/capture_response.py +265 -0
  51. mollie/models/client_link_request.py +210 -0
  52. mollie/models/client_link_response.py +56 -0
  53. mollie/models/clienterror.py +30 -0
  54. mollie/models/components_sub_totals.py +127 -0
  55. mollie/models/create_captureop.py +43 -0
  56. mollie/models/create_client_linkop.py +29 -0
  57. mollie/models/create_connect_balance_transferop.py +32 -0
  58. mollie/models/create_customer_paymentop.py +43 -0
  59. mollie/models/create_customerop.py +29 -0
  60. mollie/models/create_mandateop.py +43 -0
  61. mollie/models/create_payment_linkop.py +325 -0
  62. mollie/models/create_paymentop.py +73 -0
  63. mollie/models/create_profileop.py +29 -0
  64. mollie/models/create_refundop.py +43 -0
  65. mollie/models/create_sales_invoiceop.py +29 -0
  66. mollie/models/create_subscriptionop.py +43 -0
  67. mollie/models/create_webhook.py +123 -0
  68. mollie/models/create_webhookop.py +69 -0
  69. mollie/models/currencies.py +20 -0
  70. mollie/models/customer_response.py +169 -0
  71. mollie/models/delete_customerop.py +91 -0
  72. mollie/models/delete_payment_linkop.py +91 -0
  73. mollie/models/delete_profileop.py +29 -0
  74. mollie/models/delete_sales_invoiceop.py +44 -0
  75. mollie/models/delete_values_sales_invoice.py +54 -0
  76. mollie/models/delete_webhookop.py +56 -0
  77. mollie/models/entity_balance.py +325 -0
  78. mollie/models/entity_balance_report.py +541 -0
  79. mollie/models/entity_balance_transaction.py +1068 -0
  80. mollie/models/entity_balance_transfer.py +62 -0
  81. mollie/models/entity_balance_transfer_party.py +28 -0
  82. mollie/models/entity_balance_transfer_party_response.py +32 -0
  83. mollie/models/entity_balance_transfer_response.py +159 -0
  84. mollie/models/entity_capability.py +75 -0
  85. mollie/models/entity_capability_requirement.py +87 -0
  86. mollie/models/entity_capture.py +63 -0
  87. mollie/models/entity_chargeback.py +247 -0
  88. mollie/models/entity_customer.py +86 -0
  89. mollie/models/entity_event.py +46 -0
  90. mollie/models/entity_invoice.py +247 -0
  91. mollie/models/entity_method_get.py +329 -0
  92. mollie/models/entity_onboarding_status.py +95 -0
  93. mollie/models/entity_organization.py +178 -0
  94. mollie/models/entity_payment_route.py +111 -0
  95. mollie/models/entity_payment_route_response.py +140 -0
  96. mollie/models/entity_permission.py +61 -0
  97. mollie/models/entity_refund_response.py +361 -0
  98. mollie/models/entity_route.py +96 -0
  99. mollie/models/entity_settlement.py +467 -0
  100. mollie/models/entity_terminal.py +160 -0
  101. mollie/models/entity_webhook.py +122 -0
  102. mollie/models/entity_webhook_event.py +149 -0
  103. mollie/models/error_response.py +70 -0
  104. mollie/models/get_balance_reportop.py +126 -0
  105. mollie/models/get_balanceop.py +71 -0
  106. mollie/models/get_captureop.py +129 -0
  107. mollie/models/get_chargebackop.py +129 -0
  108. mollie/models/get_clientop.py +216 -0
  109. mollie/models/get_connect_balance_transferop.py +71 -0
  110. mollie/models/get_current_organizationop.py +22 -0
  111. mollie/models/get_current_profileop.py +22 -0
  112. mollie/models/get_customerop.py +286 -0
  113. mollie/models/get_invoiceop.py +29 -0
  114. mollie/models/get_mandateop.py +86 -0
  115. mollie/models/get_methodop.py +199 -0
  116. mollie/models/get_next_settlementop.py +22 -0
  117. mollie/models/get_onboarding_statusop.py +22 -0
  118. mollie/models/get_open_settlementop.py +22 -0
  119. mollie/models/get_organizationop.py +71 -0
  120. mollie/models/get_partner_statusop.py +231 -0
  121. mollie/models/get_payment_link_paymentsop.py +188 -0
  122. mollie/models/get_payment_linkop.py +77 -0
  123. mollie/models/get_paymentop.py +128 -0
  124. mollie/models/get_permissionop.py +73 -0
  125. mollie/models/get_primary_balanceop.py +22 -0
  126. mollie/models/get_profileop.py +71 -0
  127. mollie/models/get_refundop.py +129 -0
  128. mollie/models/get_sales_invoiceop.py +75 -0
  129. mollie/models/get_settlementop.py +29 -0
  130. mollie/models/get_subscriptionop.py +86 -0
  131. mollie/models/get_terminalop.py +77 -0
  132. mollie/models/get_webhook_eventop.py +71 -0
  133. mollie/models/get_webhookop.py +71 -0
  134. mollie/models/internal/__init__.py +54 -0
  135. mollie/models/internal/globals.py +59 -0
  136. mollie/models/line_categories.py +13 -0
  137. mollie/models/line_categories_response.py +14 -0
  138. mollie/models/list_all_chargebacksop.py +236 -0
  139. mollie/models/list_all_methodsop.py +249 -0
  140. mollie/models/list_all_refundsop.py +230 -0
  141. mollie/models/list_all_subscriptionsop.py +202 -0
  142. mollie/models/list_balance_transactionsop.py +174 -0
  143. mollie/models/list_balancesop.py +171 -0
  144. mollie/models/list_capabilitiesop.py +62 -0
  145. mollie/models/list_capture_response.py +264 -0
  146. mollie/models/list_capturesop.py +185 -0
  147. mollie/models/list_chargebacksop.py +185 -0
  148. mollie/models/list_clientsop.py +269 -0
  149. mollie/models/list_connect_balance_transfersop.py +177 -0
  150. mollie/models/list_customer_paymentsop.py +231 -0
  151. mollie/models/list_customer_response.py +164 -0
  152. mollie/models/list_customersop.py +172 -0
  153. mollie/models/list_entity_balance.py +322 -0
  154. mollie/models/list_entity_chargeback.py +244 -0
  155. mollie/models/list_entity_invoice.py +244 -0
  156. mollie/models/list_entity_method.py +315 -0
  157. mollie/models/list_entity_method_all.py +391 -0
  158. mollie/models/list_entity_permission.py +56 -0
  159. mollie/models/list_entity_refund.py +352 -0
  160. mollie/models/list_entity_settlement.py +457 -0
  161. mollie/models/list_entity_terminal.py +157 -0
  162. mollie/models/list_entity_webhook.py +117 -0
  163. mollie/models/list_invoicesop.py +175 -0
  164. mollie/models/list_links.py +68 -0
  165. mollie/models/list_mandate_response.py +261 -0
  166. mollie/models/list_mandatesop.py +186 -0
  167. mollie/models/list_methodsop.py +332 -0
  168. mollie/models/list_payment_linksop.py +159 -0
  169. mollie/models/list_payment_response.py +1953 -0
  170. mollie/models/list_paymentsop.py +217 -0
  171. mollie/models/list_permissionsop.py +85 -0
  172. mollie/models/list_profile_response.py +194 -0
  173. mollie/models/list_profilesop.py +118 -0
  174. mollie/models/list_refundsop.py +189 -0
  175. mollie/models/list_route_get_response.py +97 -0
  176. mollie/models/list_sales_invoice_response.py +505 -0
  177. mollie/models/list_sales_invoicesop.py +172 -0
  178. mollie/models/list_settlement_capturesop.py +187 -0
  179. mollie/models/list_settlement_chargebacksop.py +187 -0
  180. mollie/models/list_settlement_paymentsop.py +233 -0
  181. mollie/models/list_settlement_refundsop.py +191 -0
  182. mollie/models/list_settlementsop.py +178 -0
  183. mollie/models/list_subscription_paymentsop.py +242 -0
  184. mollie/models/list_subscription_response.py +344 -0
  185. mollie/models/list_subscriptionsop.py +189 -0
  186. mollie/models/list_terminalsop.py +172 -0
  187. mollie/models/list_webhooksop.py +189 -0
  188. mollie/models/locale.py +32 -0
  189. mollie/models/locale_response.py +33 -0
  190. mollie/models/mandate_details_card_label_response.py +22 -0
  191. mollie/models/mandate_method.py +15 -0
  192. mollie/models/mandate_method_response.py +16 -0
  193. mollie/models/mandate_request.py +160 -0
  194. mollie/models/mandate_response.py +264 -0
  195. mollie/models/metadata.py +19 -0
  196. mollie/models/method.py +50 -0
  197. mollie/models/method_include_wallets_parameter.py +8 -0
  198. mollie/models/method_resource_parameter.py +9 -0
  199. mollie/models/method_response.py +59 -0
  200. mollie/models/method_status.py +15 -0
  201. mollie/models/mode.py +12 -0
  202. mollie/models/no_response_error.py +17 -0
  203. mollie/models/onboarding_vat_regulation.py +16 -0
  204. mollie/models/organization_vat_regulation.py +17 -0
  205. mollie/models/payment_address.py +130 -0
  206. mollie/models/payment_create_routeop.py +43 -0
  207. mollie/models/payment_details_card_audition_response.py +12 -0
  208. mollie/models/payment_details_card_funding_response.py +14 -0
  209. mollie/models/payment_details_card_label_response.py +23 -0
  210. mollie/models/payment_details_card_security_response.py +12 -0
  211. mollie/models/payment_details_failure_reason_response.py +25 -0
  212. mollie/models/payment_details_fee_region_response.py +20 -0
  213. mollie/models/payment_details_receipt_card_read_method_response.py +17 -0
  214. mollie/models/payment_details_receipt_card_verification_method_response.py +21 -0
  215. mollie/models/payment_details_seller_protection_response.py +20 -0
  216. mollie/models/payment_details_wallet_response.py +11 -0
  217. mollie/models/payment_line_item.py +96 -0
  218. mollie/models/payment_line_item_response.py +104 -0
  219. mollie/models/payment_line_type.py +20 -0
  220. mollie/models/payment_line_type_response.py +21 -0
  221. mollie/models/payment_link_method.py +36 -0
  222. mollie/models/payment_link_method_response.py +37 -0
  223. mollie/models/payment_link_response.py +348 -0
  224. mollie/models/payment_link_sequence_type.py +9 -0
  225. mollie/models/payment_link_sequence_type_response.py +10 -0
  226. mollie/models/payment_list_routesop.py +140 -0
  227. mollie/models/payment_method.py +53 -0
  228. mollie/models/payment_request.py +919 -0
  229. mollie/models/payment_response.py +1953 -0
  230. mollie/models/profile_request.py +67 -0
  231. mollie/models/profile_response.py +197 -0
  232. mollie/models/profile_review_status_response.py +12 -0
  233. mollie/models/recurring_line_item.py +77 -0
  234. mollie/models/refund_external_reference_type.py +10 -0
  235. mollie/models/refund_external_reference_type_response.py +11 -0
  236. mollie/models/refund_request.py +200 -0
  237. mollie/models/release_authorizationop.py +108 -0
  238. mollie/models/request_apple_pay_payment_sessionop.py +76 -0
  239. mollie/models/responsevalidationerror.py +27 -0
  240. mollie/models/revoke_mandateop.py +100 -0
  241. mollie/models/route_create_response.py +97 -0
  242. mollie/models/route_destination_type.py +10 -0
  243. mollie/models/route_destination_type_response.py +11 -0
  244. mollie/models/sales_invoice_discount.py +21 -0
  245. mollie/models/sales_invoice_discount_response.py +25 -0
  246. mollie/models/sales_invoice_discount_type.py +11 -0
  247. mollie/models/sales_invoice_discount_type_response.py +12 -0
  248. mollie/models/sales_invoice_email_details.py +20 -0
  249. mollie/models/sales_invoice_line_item.py +67 -0
  250. mollie/models/sales_invoice_line_item_response.py +70 -0
  251. mollie/models/sales_invoice_payment_details.py +59 -0
  252. mollie/models/sales_invoice_payment_details_response.py +66 -0
  253. mollie/models/sales_invoice_payment_details_source.py +12 -0
  254. mollie/models/sales_invoice_payment_details_source_response.py +13 -0
  255. mollie/models/sales_invoice_payment_term.py +16 -0
  256. mollie/models/sales_invoice_payment_term_response.py +17 -0
  257. mollie/models/sales_invoice_recipient.py +176 -0
  258. mollie/models/sales_invoice_recipient_locale.py +18 -0
  259. mollie/models/sales_invoice_recipient_locale_response.py +19 -0
  260. mollie/models/sales_invoice_recipient_response.py +182 -0
  261. mollie/models/sales_invoice_recipient_type.py +13 -0
  262. mollie/models/sales_invoice_recipient_type_response.py +14 -0
  263. mollie/models/sales_invoice_request.py +256 -0
  264. mollie/models/sales_invoice_response.py +509 -0
  265. mollie/models/sales_invoice_status.py +25 -0
  266. mollie/models/sales_invoice_status_response.py +26 -0
  267. mollie/models/sales_invoice_vat_mode.py +13 -0
  268. mollie/models/sales_invoice_vat_mode_response.py +14 -0
  269. mollie/models/sales_invoice_vat_scheme.py +11 -0
  270. mollie/models/sales_invoice_vat_scheme_response.py +12 -0
  271. mollie/models/security.py +35 -0
  272. mollie/models/sequence_type.py +10 -0
  273. mollie/models/sequence_type_response.py +11 -0
  274. mollie/models/sorting.py +9 -0
  275. mollie/models/status_reason.py +168 -0
  276. mollie/models/sub_group.py +52 -0
  277. mollie/models/sub_totals.py +120 -0
  278. mollie/models/submit_onboarding_dataop.py +214 -0
  279. mollie/models/subscription_method.py +12 -0
  280. mollie/models/subscription_method_response.py +13 -0
  281. mollie/models/subscription_request.py +213 -0
  282. mollie/models/subscription_response.py +349 -0
  283. mollie/models/terminal_brand.py +12 -0
  284. mollie/models/terminal_model.py +16 -0
  285. mollie/models/test_webhookop.py +64 -0
  286. mollie/models/update_customerop.py +43 -0
  287. mollie/models/update_payment_linkop.py +172 -0
  288. mollie/models/update_paymentop.py +332 -0
  289. mollie/models/update_profileop.py +147 -0
  290. mollie/models/update_sales_invoiceop.py +44 -0
  291. mollie/models/update_subscriptionop.py +188 -0
  292. mollie/models/update_values_sales_invoice.py +176 -0
  293. mollie/models/update_webhookop.py +83 -0
  294. mollie/models/url.py +24 -0
  295. mollie/models/url_nullable.py +25 -0
  296. mollie/models/webhook_event_types.py +18 -0
  297. mollie/models/webhook_status.py +14 -0
  298. mollie/onboarding.py +403 -0
  299. mollie/organizations.py +579 -0
  300. mollie/payment_links.py +1323 -0
  301. mollie/payments_sdk.py +1385 -0
  302. mollie/permissions.py +397 -0
  303. mollie/profiles.py +1209 -0
  304. mollie/py.typed +1 -0
  305. mollie/refunds_sdk.py +1111 -0
  306. mollie/sales_invoices.py +1121 -0
  307. mollie/sdk.py +265 -0
  308. mollie/sdkconfiguration.py +50 -0
  309. mollie/settlements.py +1735 -0
  310. mollie/subscriptions.py +1617 -0
  311. mollie/terminals.py +427 -0
  312. mollie/types/__init__.py +21 -0
  313. mollie/types/basemodel.py +39 -0
  314. mollie/utils/__init__.py +200 -0
  315. mollie/utils/annotations.py +79 -0
  316. mollie/utils/datetimes.py +23 -0
  317. mollie/utils/enums.py +74 -0
  318. mollie/utils/eventstreaming.py +248 -0
  319. mollie/utils/forms.py +223 -0
  320. mollie/utils/headers.py +136 -0
  321. mollie/utils/logger.py +27 -0
  322. mollie/utils/metadata.py +118 -0
  323. mollie/utils/queryparams.py +205 -0
  324. mollie/utils/requestbodies.py +66 -0
  325. mollie/utils/retries.py +217 -0
  326. mollie/utils/security.py +195 -0
  327. mollie/utils/serializers.py +249 -0
  328. mollie/utils/unmarshal_json_response.py +24 -0
  329. mollie/utils/url.py +155 -0
  330. mollie/utils/values.py +137 -0
  331. mollie/wallets.py +263 -0
  332. mollie/webhook_events.py +211 -0
  333. mollie/webhooks.py +1305 -0
  334. mollie_api_py-1.0.0.dist-info/METADATA +834 -0
  335. mollie_api_py-1.0.0.dist-info/RECORD +337 -0
  336. mollie_api_py-1.0.0.dist-info/WHEEL +4 -0
  337. mollie_api_py-1.0.0.dist-info/licenses/LICENSE.md +24 -0
@@ -0,0 +1,185 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .list_capture_response import ListCaptureResponse, ListCaptureResponseTypedDict
5
+ from .list_links import ListLinks, ListLinksTypedDict
6
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
+ from mollie.utils import (
8
+ FieldMetadata,
9
+ HeaderMetadata,
10
+ PathParamMetadata,
11
+ QueryParamMetadata,
12
+ )
13
+ import pydantic
14
+ from pydantic import model_serializer
15
+ from typing import List, Optional
16
+ from typing_extensions import Annotated, NotRequired, TypedDict
17
+
18
+
19
+ class ListCapturesGlobalsTypedDict(TypedDict):
20
+ testmode: NotRequired[bool]
21
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
22
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
23
+ setting the `testmode` query parameter to `true`.
24
+
25
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
26
+ """
27
+
28
+
29
+ class ListCapturesGlobals(BaseModel):
30
+ testmode: Annotated[
31
+ Optional[bool],
32
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
33
+ ] = None
34
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
35
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
36
+ setting the `testmode` query parameter to `true`.
37
+
38
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
39
+ """
40
+
41
+
42
+ class ListCapturesRequestTypedDict(TypedDict):
43
+ payment_id: str
44
+ r"""Provide the ID of the related payment."""
45
+ from_: NotRequired[str]
46
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
47
+ result set.
48
+ """
49
+ limit: NotRequired[Nullable[int]]
50
+ r"""The maximum number of items to return. Defaults to 50 items."""
51
+ embed: NotRequired[Nullable[str]]
52
+ r"""This endpoint allows embedding related API items by appending the following values via the `embed` query string
53
+ parameter.
54
+ """
55
+ testmode: NotRequired[bool]
56
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
57
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
58
+ setting the `testmode` query parameter to `true`.
59
+
60
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
61
+ """
62
+ idempotency_key: NotRequired[str]
63
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
64
+
65
+
66
+ class ListCapturesRequest(BaseModel):
67
+ payment_id: Annotated[
68
+ str,
69
+ pydantic.Field(alias="paymentId"),
70
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
71
+ ]
72
+ r"""Provide the ID of the related payment."""
73
+
74
+ from_: Annotated[
75
+ Optional[str],
76
+ pydantic.Field(alias="from"),
77
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
78
+ ] = None
79
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
80
+ result set.
81
+ """
82
+
83
+ limit: Annotated[
84
+ OptionalNullable[int],
85
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
86
+ ] = UNSET
87
+ r"""The maximum number of items to return. Defaults to 50 items."""
88
+
89
+ embed: Annotated[
90
+ OptionalNullable[str],
91
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
92
+ ] = UNSET
93
+ r"""This endpoint allows embedding related API items by appending the following values via the `embed` query string
94
+ parameter.
95
+ """
96
+
97
+ testmode: Annotated[
98
+ Optional[bool],
99
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
100
+ ] = None
101
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
102
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
103
+ setting the `testmode` query parameter to `true`.
104
+
105
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
106
+ """
107
+
108
+ idempotency_key: Annotated[
109
+ Optional[str],
110
+ pydantic.Field(alias="idempotency-key"),
111
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
112
+ ] = None
113
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
114
+
115
+ @model_serializer(mode="wrap")
116
+ def serialize_model(self, handler):
117
+ optional_fields = ["from", "limit", "embed", "testmode", "idempotency-key"]
118
+ nullable_fields = ["limit", "embed"]
119
+ null_default_fields = []
120
+
121
+ serialized = handler(self)
122
+
123
+ m = {}
124
+
125
+ for n, f in type(self).model_fields.items():
126
+ k = f.alias or n
127
+ val = serialized.get(k)
128
+ serialized.pop(k, None)
129
+
130
+ optional_nullable = k in optional_fields and k in nullable_fields
131
+ is_set = (
132
+ self.__pydantic_fields_set__.intersection({n})
133
+ or k in null_default_fields
134
+ ) # pylint: disable=no-member
135
+
136
+ if val is not None and val != UNSET_SENTINEL:
137
+ m[k] = val
138
+ elif val != UNSET_SENTINEL and (
139
+ not k in optional_fields or (optional_nullable and is_set)
140
+ ):
141
+ m[k] = val
142
+
143
+ return m
144
+
145
+
146
+ class ListCapturesEmbeddedTypedDict(TypedDict):
147
+ captures: List[ListCaptureResponseTypedDict]
148
+ r"""An array of capture objects."""
149
+
150
+
151
+ class ListCapturesEmbedded(BaseModel):
152
+ captures: List[ListCaptureResponse]
153
+ r"""An array of capture objects."""
154
+
155
+
156
+ class ListCapturesResponseTypedDict(TypedDict):
157
+ r"""A list of capture objects."""
158
+
159
+ count: int
160
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
161
+ as well.
162
+
163
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
164
+ limit is 50 items.
165
+ """
166
+ embedded: ListCapturesEmbeddedTypedDict
167
+ links: ListLinksTypedDict
168
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
169
+
170
+
171
+ class ListCapturesResponse(BaseModel):
172
+ r"""A list of capture objects."""
173
+
174
+ count: int
175
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
176
+ as well.
177
+
178
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
179
+ limit is 50 items.
180
+ """
181
+
182
+ embedded: Annotated[ListCapturesEmbedded, pydantic.Field(alias="_embedded")]
183
+
184
+ links: Annotated[ListLinks, pydantic.Field(alias="_links")]
185
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
@@ -0,0 +1,185 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .list_entity_chargeback import ListEntityChargeback, ListEntityChargebackTypedDict
5
+ from .list_links import ListLinks, ListLinksTypedDict
6
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
+ from mollie.utils import (
8
+ FieldMetadata,
9
+ HeaderMetadata,
10
+ PathParamMetadata,
11
+ QueryParamMetadata,
12
+ )
13
+ import pydantic
14
+ from pydantic import model_serializer
15
+ from typing import List, Optional
16
+ from typing_extensions import Annotated, NotRequired, TypedDict
17
+
18
+
19
+ class ListChargebacksGlobalsTypedDict(TypedDict):
20
+ testmode: NotRequired[bool]
21
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
22
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
23
+ setting the `testmode` query parameter to `true`.
24
+
25
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
26
+ """
27
+
28
+
29
+ class ListChargebacksGlobals(BaseModel):
30
+ testmode: Annotated[
31
+ Optional[bool],
32
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
33
+ ] = None
34
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
35
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
36
+ setting the `testmode` query parameter to `true`.
37
+
38
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
39
+ """
40
+
41
+
42
+ class ListChargebacksRequestTypedDict(TypedDict):
43
+ payment_id: str
44
+ r"""Provide the ID of the related payment."""
45
+ from_: NotRequired[str]
46
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
47
+ result set.
48
+ """
49
+ limit: NotRequired[Nullable[int]]
50
+ r"""The maximum number of items to return. Defaults to 50 items."""
51
+ embed: NotRequired[Nullable[str]]
52
+ r"""This endpoint allows embedding related API items by appending the following values via the `embed` query string
53
+ parameter.
54
+ """
55
+ testmode: NotRequired[bool]
56
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
57
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
58
+ setting the `testmode` query parameter to `true`.
59
+
60
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
61
+ """
62
+ idempotency_key: NotRequired[str]
63
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
64
+
65
+
66
+ class ListChargebacksRequest(BaseModel):
67
+ payment_id: Annotated[
68
+ str,
69
+ pydantic.Field(alias="paymentId"),
70
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
71
+ ]
72
+ r"""Provide the ID of the related payment."""
73
+
74
+ from_: Annotated[
75
+ Optional[str],
76
+ pydantic.Field(alias="from"),
77
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
78
+ ] = None
79
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
80
+ result set.
81
+ """
82
+
83
+ limit: Annotated[
84
+ OptionalNullable[int],
85
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
86
+ ] = UNSET
87
+ r"""The maximum number of items to return. Defaults to 50 items."""
88
+
89
+ embed: Annotated[
90
+ OptionalNullable[str],
91
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
92
+ ] = UNSET
93
+ r"""This endpoint allows embedding related API items by appending the following values via the `embed` query string
94
+ parameter.
95
+ """
96
+
97
+ testmode: Annotated[
98
+ Optional[bool],
99
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
100
+ ] = None
101
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
102
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
103
+ setting the `testmode` query parameter to `true`.
104
+
105
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
106
+ """
107
+
108
+ idempotency_key: Annotated[
109
+ Optional[str],
110
+ pydantic.Field(alias="idempotency-key"),
111
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
112
+ ] = None
113
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
114
+
115
+ @model_serializer(mode="wrap")
116
+ def serialize_model(self, handler):
117
+ optional_fields = ["from", "limit", "embed", "testmode", "idempotency-key"]
118
+ nullable_fields = ["limit", "embed"]
119
+ null_default_fields = []
120
+
121
+ serialized = handler(self)
122
+
123
+ m = {}
124
+
125
+ for n, f in type(self).model_fields.items():
126
+ k = f.alias or n
127
+ val = serialized.get(k)
128
+ serialized.pop(k, None)
129
+
130
+ optional_nullable = k in optional_fields and k in nullable_fields
131
+ is_set = (
132
+ self.__pydantic_fields_set__.intersection({n})
133
+ or k in null_default_fields
134
+ ) # pylint: disable=no-member
135
+
136
+ if val is not None and val != UNSET_SENTINEL:
137
+ m[k] = val
138
+ elif val != UNSET_SENTINEL and (
139
+ not k in optional_fields or (optional_nullable and is_set)
140
+ ):
141
+ m[k] = val
142
+
143
+ return m
144
+
145
+
146
+ class ListChargebacksEmbeddedTypedDict(TypedDict):
147
+ chargebacks: List[ListEntityChargebackTypedDict]
148
+ r"""A list of chargeback objects."""
149
+
150
+
151
+ class ListChargebacksEmbedded(BaseModel):
152
+ chargebacks: List[ListEntityChargeback]
153
+ r"""A list of chargeback objects."""
154
+
155
+
156
+ class ListChargebacksResponseTypedDict(TypedDict):
157
+ r"""A list of chargeback objects."""
158
+
159
+ count: int
160
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
161
+ as well.
162
+
163
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
164
+ limit is 50 items.
165
+ """
166
+ embedded: ListChargebacksEmbeddedTypedDict
167
+ links: ListLinksTypedDict
168
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
169
+
170
+
171
+ class ListChargebacksResponse(BaseModel):
172
+ r"""A list of chargeback objects."""
173
+
174
+ count: int
175
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
176
+ as well.
177
+
178
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
179
+ limit is 50 items.
180
+ """
181
+
182
+ embedded: Annotated[ListChargebacksEmbedded, pydantic.Field(alias="_embedded")]
183
+
184
+ links: Annotated[ListLinks, pydantic.Field(alias="_links")]
185
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
@@ -0,0 +1,269 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .entity_capability import EntityCapability, EntityCapabilityTypedDict
5
+ from .entity_onboarding_status import (
6
+ EntityOnboardingStatus,
7
+ EntityOnboardingStatusTypedDict,
8
+ )
9
+ from .entity_organization import EntityOrganization, EntityOrganizationTypedDict
10
+ from .list_links import ListLinks, ListLinksTypedDict
11
+ from .url import URL, URLTypedDict
12
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
13
+ from mollie.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
14
+ import pydantic
15
+ from pydantic import model_serializer
16
+ from typing import List, Optional
17
+ from typing_extensions import Annotated, NotRequired, TypedDict
18
+
19
+
20
+ class ListClientsRequestTypedDict(TypedDict):
21
+ embed: NotRequired[Nullable[str]]
22
+ r"""This endpoint allows embedding related API items by appending the following values via the `embed` query string
23
+ parameter.
24
+ """
25
+ from_: NotRequired[Nullable[str]]
26
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
27
+ result set.
28
+ """
29
+ limit: NotRequired[Nullable[int]]
30
+ r"""The maximum number of items to return. Defaults to 50 items."""
31
+ idempotency_key: NotRequired[str]
32
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
33
+
34
+
35
+ class ListClientsRequest(BaseModel):
36
+ embed: Annotated[
37
+ OptionalNullable[str],
38
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
39
+ ] = UNSET
40
+ r"""This endpoint allows embedding related API items by appending the following values via the `embed` query string
41
+ parameter.
42
+ """
43
+
44
+ from_: Annotated[
45
+ OptionalNullable[str],
46
+ pydantic.Field(alias="from"),
47
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
48
+ ] = UNSET
49
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
50
+ result set.
51
+ """
52
+
53
+ limit: Annotated[
54
+ OptionalNullable[int],
55
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
56
+ ] = UNSET
57
+ r"""The maximum number of items to return. Defaults to 50 items."""
58
+
59
+ idempotency_key: Annotated[
60
+ Optional[str],
61
+ pydantic.Field(alias="idempotency-key"),
62
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
63
+ ] = None
64
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
65
+
66
+ @model_serializer(mode="wrap")
67
+ def serialize_model(self, handler):
68
+ optional_fields = ["embed", "from", "limit", "idempotency-key"]
69
+ nullable_fields = ["embed", "from", "limit"]
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
+
97
+ class ListClientsCommissionTypedDict(TypedDict):
98
+ r"""The commission object."""
99
+
100
+ count: NotRequired[int]
101
+ r"""The commission count."""
102
+
103
+
104
+ class ListClientsCommission(BaseModel):
105
+ r"""The commission object."""
106
+
107
+ count: Optional[int] = None
108
+ r"""The commission count."""
109
+
110
+
111
+ class ListClientsLinksTypedDict(TypedDict):
112
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
113
+
114
+ self_: URLTypedDict
115
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
116
+ organization: NotRequired[URLTypedDict]
117
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
118
+ onboarding: NotRequired[URLTypedDict]
119
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
120
+
121
+
122
+ class ListClientsLinks(BaseModel):
123
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
124
+
125
+ self_: Annotated[URL, pydantic.Field(alias="self")]
126
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
127
+
128
+ organization: Optional[URL] = None
129
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
130
+
131
+ onboarding: Optional[URL] = None
132
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
133
+
134
+
135
+ class ClientEmbeddedTypedDict(TypedDict):
136
+ organization: NotRequired[EntityOrganizationTypedDict]
137
+ onboarding: NotRequired[EntityOnboardingStatusTypedDict]
138
+ capabilities: NotRequired[EntityCapabilityTypedDict]
139
+
140
+
141
+ class ClientEmbedded(BaseModel):
142
+ organization: Optional[EntityOrganization] = None
143
+
144
+ onboarding: Optional[EntityOnboardingStatus] = None
145
+
146
+ capabilities: Optional[EntityCapability] = None
147
+
148
+
149
+ class ListClientsClientTypedDict(TypedDict):
150
+ resource: str
151
+ r"""Indicates the response contains a client object. Will always contain the string `client` for this resource type."""
152
+ id: str
153
+ r"""The identifier uniquely referring to this client. Example: `org_12345678`."""
154
+ links: ListClientsLinksTypedDict
155
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
156
+ commission: NotRequired[Nullable[ListClientsCommissionTypedDict]]
157
+ r"""The commission object."""
158
+ organization_created_at: NotRequired[str]
159
+ r"""The date and time the client organization was created, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
160
+ format.
161
+ """
162
+ embedded: NotRequired[ClientEmbeddedTypedDict]
163
+
164
+
165
+ class ListClientsClient(BaseModel):
166
+ resource: str
167
+ r"""Indicates the response contains a client object. Will always contain the string `client` for this resource type."""
168
+
169
+ id: str
170
+ r"""The identifier uniquely referring to this client. Example: `org_12345678`."""
171
+
172
+ links: Annotated[ListClientsLinks, pydantic.Field(alias="_links")]
173
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
174
+
175
+ commission: OptionalNullable[ListClientsCommission] = UNSET
176
+ r"""The commission object."""
177
+
178
+ organization_created_at: Annotated[
179
+ Optional[str], pydantic.Field(alias="organizationCreatedAt")
180
+ ] = None
181
+ r"""The date and time the client organization was created, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
182
+ format.
183
+ """
184
+
185
+ embedded: Annotated[Optional[ClientEmbedded], pydantic.Field(alias="_embedded")] = (
186
+ None
187
+ )
188
+
189
+ @model_serializer(mode="wrap")
190
+ def serialize_model(self, handler):
191
+ optional_fields = ["commission", "organizationCreatedAt", "_embedded"]
192
+ nullable_fields = ["commission"]
193
+ null_default_fields = []
194
+
195
+ serialized = handler(self)
196
+
197
+ m = {}
198
+
199
+ for n, f in type(self).model_fields.items():
200
+ k = f.alias or n
201
+ val = serialized.get(k)
202
+ serialized.pop(k, None)
203
+
204
+ optional_nullable = k in optional_fields and k in nullable_fields
205
+ is_set = (
206
+ self.__pydantic_fields_set__.intersection({n})
207
+ or k in null_default_fields
208
+ ) # pylint: disable=no-member
209
+
210
+ if val is not None and val != UNSET_SENTINEL:
211
+ m[k] = val
212
+ elif val != UNSET_SENTINEL and (
213
+ not k in optional_fields or (optional_nullable and is_set)
214
+ ):
215
+ m[k] = val
216
+
217
+ return m
218
+
219
+
220
+ class ListClientsEmbeddedTypedDict(TypedDict):
221
+ clients: NotRequired[List[ListClientsClientTypedDict]]
222
+ r"""An array of client objects. For a complete reference of the client object, refer to the
223
+ [Get client endpoint](get-client) documentation.
224
+ """
225
+
226
+
227
+ class ListClientsEmbedded(BaseModel):
228
+ clients: Optional[List[ListClientsClient]] = None
229
+ r"""An array of client objects. For a complete reference of the client object, refer to the
230
+ [Get client endpoint](get-client) documentation.
231
+ """
232
+
233
+
234
+ class ListClientsResponseTypedDict(TypedDict):
235
+ r"""A list of client objects. For a complete reference of the client object, refer to the
236
+ [Get client endpoint](get-client) documentation.
237
+ """
238
+
239
+ count: NotRequired[int]
240
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
241
+ as well.
242
+
243
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
244
+ limit is 50 items.
245
+ """
246
+ embedded: NotRequired[ListClientsEmbeddedTypedDict]
247
+ links: NotRequired[ListLinksTypedDict]
248
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
249
+
250
+
251
+ class ListClientsResponse(BaseModel):
252
+ r"""A list of client objects. For a complete reference of the client object, refer to the
253
+ [Get client endpoint](get-client) documentation.
254
+ """
255
+
256
+ count: Optional[int] = None
257
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
258
+ as well.
259
+
260
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
261
+ limit is 50 items.
262
+ """
263
+
264
+ embedded: Annotated[
265
+ Optional[ListClientsEmbedded], pydantic.Field(alias="_embedded")
266
+ ] = None
267
+
268
+ links: Annotated[Optional[ListLinks], pydantic.Field(alias="_links")] = None
269
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""