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,177 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .entity_balance_transfer_response import (
5
+ EntityBalanceTransferResponse,
6
+ EntityBalanceTransferResponseTypedDict,
7
+ )
8
+ from .list_links import ListLinks, ListLinksTypedDict
9
+ from .sorting import Sorting
10
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
11
+ from mollie.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
12
+ import pydantic
13
+ from pydantic import model_serializer
14
+ from typing import List, Optional
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
16
+
17
+
18
+ class ListConnectBalanceTransfersGlobalsTypedDict(TypedDict):
19
+ testmode: NotRequired[bool]
20
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
21
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
22
+ setting the `testmode` query parameter to `true`.
23
+
24
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
25
+ """
26
+
27
+
28
+ class ListConnectBalanceTransfersGlobals(BaseModel):
29
+ testmode: Annotated[
30
+ Optional[bool],
31
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
32
+ ] = None
33
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
34
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
35
+ setting the `testmode` query parameter to `true`.
36
+
37
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
38
+ """
39
+
40
+
41
+ class ListConnectBalanceTransfersRequestTypedDict(TypedDict):
42
+ from_: NotRequired[Nullable[str]]
43
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
44
+ result set.
45
+ """
46
+ limit: NotRequired[Nullable[int]]
47
+ r"""The maximum number of items to return. Defaults to 50 items."""
48
+ sort: NotRequired[Sorting]
49
+ r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
50
+ newest to oldest.
51
+ """
52
+ testmode: NotRequired[bool]
53
+ r"""You can enable test mode by setting the `testmode` query parameter to `true`.
54
+
55
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
56
+ """
57
+ idempotency_key: NotRequired[str]
58
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
59
+
60
+
61
+ class ListConnectBalanceTransfersRequest(BaseModel):
62
+ from_: Annotated[
63
+ OptionalNullable[str],
64
+ pydantic.Field(alias="from"),
65
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
66
+ ] = UNSET
67
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
68
+ result set.
69
+ """
70
+
71
+ limit: Annotated[
72
+ OptionalNullable[int],
73
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
74
+ ] = UNSET
75
+ r"""The maximum number of items to return. Defaults to 50 items."""
76
+
77
+ sort: Annotated[
78
+ Optional[Sorting],
79
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
80
+ ] = None
81
+ r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
82
+ newest to oldest.
83
+ """
84
+
85
+ testmode: Annotated[
86
+ Optional[bool],
87
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
88
+ ] = None
89
+ r"""You can enable test mode by setting the `testmode` query parameter to `true`.
90
+
91
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
92
+ """
93
+
94
+ idempotency_key: Annotated[
95
+ Optional[str],
96
+ pydantic.Field(alias="idempotency-key"),
97
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
98
+ ] = None
99
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
100
+
101
+ @model_serializer(mode="wrap")
102
+ def serialize_model(self, handler):
103
+ optional_fields = ["from", "limit", "sort", "testmode", "idempotency-key"]
104
+ nullable_fields = ["from", "limit"]
105
+ null_default_fields = []
106
+
107
+ serialized = handler(self)
108
+
109
+ m = {}
110
+
111
+ for n, f in type(self).model_fields.items():
112
+ k = f.alias or n
113
+ val = serialized.get(k)
114
+ serialized.pop(k, None)
115
+
116
+ optional_nullable = k in optional_fields and k in nullable_fields
117
+ is_set = (
118
+ self.__pydantic_fields_set__.intersection({n})
119
+ or k in null_default_fields
120
+ ) # pylint: disable=no-member
121
+
122
+ if val is not None and val != UNSET_SENTINEL:
123
+ m[k] = val
124
+ elif val != UNSET_SENTINEL and (
125
+ not k in optional_fields or (optional_nullable and is_set)
126
+ ):
127
+ m[k] = val
128
+
129
+ return m
130
+
131
+
132
+ class ListConnectBalanceTransfersEmbeddedTypedDict(TypedDict):
133
+ connect_balance_transfers: List[EntityBalanceTransferResponseTypedDict]
134
+ r"""A list of Connect balance transfers."""
135
+
136
+
137
+ class ListConnectBalanceTransfersEmbedded(BaseModel):
138
+ connect_balance_transfers: List[EntityBalanceTransferResponse]
139
+ r"""A list of Connect balance transfers."""
140
+
141
+
142
+ class ListConnectBalanceTransfersResponseTypedDict(TypedDict):
143
+ r"""A list of Connect balance transfers. For a complete reference of the Connect balance transfer
144
+ object, refer to the [Get balance transfer endpoint](get-balance-transfer) documentation.
145
+ """
146
+
147
+ count: int
148
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
149
+ as well.
150
+
151
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
152
+ limit is 50 items.
153
+ """
154
+ embedded: ListConnectBalanceTransfersEmbeddedTypedDict
155
+ links: ListLinksTypedDict
156
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
157
+
158
+
159
+ class ListConnectBalanceTransfersResponse(BaseModel):
160
+ r"""A list of Connect balance transfers. For a complete reference of the Connect balance transfer
161
+ object, refer to the [Get balance transfer endpoint](get-balance-transfer) documentation.
162
+ """
163
+
164
+ count: int
165
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
166
+ as well.
167
+
168
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
169
+ limit is 50 items.
170
+ """
171
+
172
+ embedded: Annotated[
173
+ ListConnectBalanceTransfersEmbedded, pydantic.Field(alias="_embedded")
174
+ ]
175
+
176
+ links: Annotated[ListLinks, pydantic.Field(alias="_links")]
177
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
@@ -0,0 +1,231 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .list_links import ListLinks, ListLinksTypedDict
5
+ from .list_payment_response import ListPaymentResponse, ListPaymentResponseTypedDict
6
+ from .sorting import Sorting
7
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
8
+ from mollie.utils import (
9
+ FieldMetadata,
10
+ HeaderMetadata,
11
+ PathParamMetadata,
12
+ QueryParamMetadata,
13
+ )
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 ListCustomerPaymentsGlobalsTypedDict(TypedDict):
21
+ profile_id: NotRequired[str]
22
+ r"""The identifier referring to the [profile](get-profile) you wish to
23
+ retrieve the resources for.
24
+
25
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
26
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
27
+ """
28
+ testmode: NotRequired[bool]
29
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
30
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
31
+ setting the `testmode` query parameter to `true`.
32
+
33
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
34
+ """
35
+
36
+
37
+ class ListCustomerPaymentsGlobals(BaseModel):
38
+ profile_id: Annotated[
39
+ Optional[str],
40
+ pydantic.Field(alias="profileId"),
41
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
42
+ ] = None
43
+ r"""The identifier referring to the [profile](get-profile) you wish to
44
+ retrieve the resources for.
45
+
46
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
47
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
48
+ """
49
+
50
+ testmode: Annotated[
51
+ Optional[bool],
52
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
53
+ ] = None
54
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
55
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
56
+ setting the `testmode` query parameter to `true`.
57
+
58
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
59
+ """
60
+
61
+
62
+ class ListCustomerPaymentsRequestTypedDict(TypedDict):
63
+ customer_id: str
64
+ r"""Provide the ID of the related customer."""
65
+ from_: NotRequired[str]
66
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate
67
+ the result set.
68
+ """
69
+ limit: NotRequired[Nullable[int]]
70
+ r"""The maximum number of items to return. Defaults to 50 items."""
71
+ sort: NotRequired[Sorting]
72
+ r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
73
+ newest to oldest.
74
+ """
75
+ profile_id: NotRequired[str]
76
+ r"""The identifier referring to the [profile](get-profile) you wish to
77
+ retrieve the resources for.
78
+
79
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
80
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
81
+ """
82
+ testmode: NotRequired[bool]
83
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
84
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
85
+ setting the `testmode` query parameter to `true`.
86
+
87
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
88
+ """
89
+ idempotency_key: NotRequired[str]
90
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
91
+
92
+
93
+ class ListCustomerPaymentsRequest(BaseModel):
94
+ customer_id: Annotated[
95
+ str,
96
+ pydantic.Field(alias="customerId"),
97
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
98
+ ]
99
+ r"""Provide the ID of the related customer."""
100
+
101
+ from_: Annotated[
102
+ Optional[str],
103
+ pydantic.Field(alias="from"),
104
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
105
+ ] = None
106
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate
107
+ the result set.
108
+ """
109
+
110
+ limit: Annotated[
111
+ OptionalNullable[int],
112
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
113
+ ] = UNSET
114
+ r"""The maximum number of items to return. Defaults to 50 items."""
115
+
116
+ sort: Annotated[
117
+ Optional[Sorting],
118
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
119
+ ] = None
120
+ r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
121
+ newest to oldest.
122
+ """
123
+
124
+ profile_id: Annotated[
125
+ Optional[str],
126
+ pydantic.Field(alias="profileId"),
127
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
128
+ ] = None
129
+ r"""The identifier referring to the [profile](get-profile) you wish to
130
+ retrieve the resources for.
131
+
132
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
133
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
134
+ """
135
+
136
+ testmode: Annotated[
137
+ Optional[bool],
138
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
139
+ ] = None
140
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
141
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
142
+ setting the `testmode` query parameter to `true`.
143
+
144
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
145
+ """
146
+
147
+ idempotency_key: Annotated[
148
+ Optional[str],
149
+ pydantic.Field(alias="idempotency-key"),
150
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
151
+ ] = None
152
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
153
+
154
+ @model_serializer(mode="wrap")
155
+ def serialize_model(self, handler):
156
+ optional_fields = [
157
+ "from",
158
+ "limit",
159
+ "sort",
160
+ "profileId",
161
+ "testmode",
162
+ "idempotency-key",
163
+ ]
164
+ nullable_fields = ["limit"]
165
+ null_default_fields = []
166
+
167
+ serialized = handler(self)
168
+
169
+ m = {}
170
+
171
+ for n, f in type(self).model_fields.items():
172
+ k = f.alias or n
173
+ val = serialized.get(k)
174
+ serialized.pop(k, None)
175
+
176
+ optional_nullable = k in optional_fields and k in nullable_fields
177
+ is_set = (
178
+ self.__pydantic_fields_set__.intersection({n})
179
+ or k in null_default_fields
180
+ ) # pylint: disable=no-member
181
+
182
+ if val is not None and val != UNSET_SENTINEL:
183
+ m[k] = val
184
+ elif val != UNSET_SENTINEL and (
185
+ not k in optional_fields or (optional_nullable and is_set)
186
+ ):
187
+ m[k] = val
188
+
189
+ return m
190
+
191
+
192
+ class ListCustomerPaymentsEmbeddedTypedDict(TypedDict):
193
+ payments: NotRequired[List[ListPaymentResponseTypedDict]]
194
+ r"""An array of payment objects."""
195
+
196
+
197
+ class ListCustomerPaymentsEmbedded(BaseModel):
198
+ payments: Optional[List[ListPaymentResponse]] = None
199
+ r"""An array of payment objects."""
200
+
201
+
202
+ class ListCustomerPaymentsResponseTypedDict(TypedDict):
203
+ r"""A list of payment objects."""
204
+
205
+ count: int
206
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
207
+ as well.
208
+
209
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
210
+ limit is 50 items.
211
+ """
212
+ embedded: ListCustomerPaymentsEmbeddedTypedDict
213
+ links: ListLinksTypedDict
214
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
215
+
216
+
217
+ class ListCustomerPaymentsResponse(BaseModel):
218
+ r"""A list of payment objects."""
219
+
220
+ count: int
221
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
222
+ as well.
223
+
224
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
225
+ limit is 50 items.
226
+ """
227
+
228
+ embedded: Annotated[ListCustomerPaymentsEmbedded, pydantic.Field(alias="_embedded")]
229
+
230
+ links: Annotated[ListLinks, pydantic.Field(alias="_links")]
231
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
@@ -0,0 +1,164 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .locale_response import LocaleResponse
5
+ from .metadata import Metadata, MetadataTypedDict
6
+ from .mode import Mode
7
+ from .url import URL, URLTypedDict
8
+ from .url_nullable import URLNullable, URLNullableTypedDict
9
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
10
+ from mollie.utils import validate_open_enum
11
+ import pydantic
12
+ from pydantic import model_serializer
13
+ from pydantic.functional_validators import PlainValidator
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class ListCustomerResponseLinksTypedDict(TypedDict):
18
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
19
+
20
+ self_: URLTypedDict
21
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
22
+ dashboard: URLTypedDict
23
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
24
+ payments: NotRequired[Nullable[URLNullableTypedDict]]
25
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
26
+ mandates: NotRequired[Nullable[URLNullableTypedDict]]
27
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
28
+ subscriptions: NotRequired[Nullable[URLNullableTypedDict]]
29
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
30
+
31
+
32
+ class ListCustomerResponseLinks(BaseModel):
33
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
34
+
35
+ self_: Annotated[URL, pydantic.Field(alias="self")]
36
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
37
+
38
+ dashboard: URL
39
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
40
+
41
+ payments: OptionalNullable[URLNullable] = UNSET
42
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
43
+
44
+ mandates: OptionalNullable[URLNullable] = UNSET
45
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
46
+
47
+ subscriptions: OptionalNullable[URLNullable] = UNSET
48
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
49
+
50
+ @model_serializer(mode="wrap")
51
+ def serialize_model(self, handler):
52
+ optional_fields = ["payments", "mandates", "subscriptions"]
53
+ nullable_fields = ["payments", "mandates", "subscriptions"]
54
+ null_default_fields = []
55
+
56
+ serialized = handler(self)
57
+
58
+ m = {}
59
+
60
+ for n, f in type(self).model_fields.items():
61
+ k = f.alias or n
62
+ val = serialized.get(k)
63
+ serialized.pop(k, None)
64
+
65
+ optional_nullable = k in optional_fields and k in nullable_fields
66
+ is_set = (
67
+ self.__pydantic_fields_set__.intersection({n})
68
+ or k in null_default_fields
69
+ ) # pylint: disable=no-member
70
+
71
+ if val is not None and val != UNSET_SENTINEL:
72
+ m[k] = val
73
+ elif val != UNSET_SENTINEL and (
74
+ not k in optional_fields or (optional_nullable and is_set)
75
+ ):
76
+ m[k] = val
77
+
78
+ return m
79
+
80
+
81
+ class ListCustomerResponseTypedDict(TypedDict):
82
+ resource: str
83
+ r"""Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint."""
84
+ id: str
85
+ r"""The identifier uniquely referring to this customer. Example: `cst_vsKJpSsabw`."""
86
+ mode: Mode
87
+ r"""Whether this entity was created in live mode or in test mode."""
88
+ name: Nullable[str]
89
+ r"""The full name of the customer."""
90
+ email: Nullable[str]
91
+ r"""The email address of the customer."""
92
+ locale: Nullable[LocaleResponse]
93
+ r"""Allows you to preset the language to be used."""
94
+ metadata: Nullable[MetadataTypedDict]
95
+ r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
96
+ you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
97
+ """
98
+ created_at: str
99
+ r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
100
+ links: ListCustomerResponseLinksTypedDict
101
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
102
+
103
+
104
+ class ListCustomerResponse(BaseModel):
105
+ resource: str
106
+ r"""Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint."""
107
+
108
+ id: str
109
+ r"""The identifier uniquely referring to this customer. Example: `cst_vsKJpSsabw`."""
110
+
111
+ mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
112
+ r"""Whether this entity was created in live mode or in test mode."""
113
+
114
+ name: Nullable[str]
115
+ r"""The full name of the customer."""
116
+
117
+ email: Nullable[str]
118
+ r"""The email address of the customer."""
119
+
120
+ locale: Annotated[
121
+ Nullable[LocaleResponse], PlainValidator(validate_open_enum(False))
122
+ ]
123
+ r"""Allows you to preset the language to be used."""
124
+
125
+ metadata: Nullable[Metadata]
126
+ r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
127
+ you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
128
+ """
129
+
130
+ created_at: Annotated[str, pydantic.Field(alias="createdAt")]
131
+ r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
132
+
133
+ links: Annotated[ListCustomerResponseLinks, pydantic.Field(alias="_links")]
134
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
135
+
136
+ @model_serializer(mode="wrap")
137
+ def serialize_model(self, handler):
138
+ optional_fields = []
139
+ nullable_fields = ["name", "email", "locale", "metadata"]
140
+ null_default_fields = []
141
+
142
+ serialized = handler(self)
143
+
144
+ m = {}
145
+
146
+ for n, f in type(self).model_fields.items():
147
+ k = f.alias or n
148
+ val = serialized.get(k)
149
+ serialized.pop(k, None)
150
+
151
+ optional_nullable = k in optional_fields and k in nullable_fields
152
+ is_set = (
153
+ self.__pydantic_fields_set__.intersection({n})
154
+ or k in null_default_fields
155
+ ) # pylint: disable=no-member
156
+
157
+ if val is not None and val != UNSET_SENTINEL:
158
+ m[k] = val
159
+ elif val != UNSET_SENTINEL and (
160
+ not k in optional_fields or (optional_nullable and is_set)
161
+ ):
162
+ m[k] = val
163
+
164
+ return m