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,172 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .list_customer_response import ListCustomerResponse, ListCustomerResponseTypedDict
5
+ from .list_links import ListLinks, ListLinksTypedDict
6
+ from .sorting import Sorting
7
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
8
+ from mollie.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
9
+ import pydantic
10
+ from pydantic import model_serializer
11
+ from typing import List, Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class ListCustomersGlobalsTypedDict(TypedDict):
16
+ testmode: NotRequired[bool]
17
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
18
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
19
+ setting the `testmode` query parameter to `true`.
20
+
21
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
22
+ """
23
+
24
+
25
+ class ListCustomersGlobals(BaseModel):
26
+ testmode: Annotated[
27
+ Optional[bool],
28
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
29
+ ] = None
30
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
31
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
32
+ setting the `testmode` query parameter to `true`.
33
+
34
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
35
+ """
36
+
37
+
38
+ class ListCustomersRequestTypedDict(TypedDict):
39
+ from_: NotRequired[str]
40
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
41
+ result set.
42
+ """
43
+ limit: NotRequired[Nullable[int]]
44
+ r"""The maximum number of items to return. Defaults to 50 items."""
45
+ sort: NotRequired[Sorting]
46
+ r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
47
+ newest to oldest.
48
+ """
49
+ testmode: NotRequired[bool]
50
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
51
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
52
+ setting the `testmode` query parameter to `true`.
53
+
54
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
55
+ """
56
+ idempotency_key: NotRequired[str]
57
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
58
+
59
+
60
+ class ListCustomersRequest(BaseModel):
61
+ from_: Annotated[
62
+ Optional[str],
63
+ pydantic.Field(alias="from"),
64
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
65
+ ] = None
66
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
67
+ result set.
68
+ """
69
+
70
+ limit: Annotated[
71
+ OptionalNullable[int],
72
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
73
+ ] = UNSET
74
+ r"""The maximum number of items to return. Defaults to 50 items."""
75
+
76
+ sort: Annotated[
77
+ Optional[Sorting],
78
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
79
+ ] = None
80
+ r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
81
+ newest to oldest.
82
+ """
83
+
84
+ testmode: Annotated[
85
+ Optional[bool],
86
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
87
+ ] = None
88
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
89
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
90
+ setting the `testmode` query parameter to `true`.
91
+
92
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
93
+ """
94
+
95
+ idempotency_key: Annotated[
96
+ Optional[str],
97
+ pydantic.Field(alias="idempotency-key"),
98
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
99
+ ] = None
100
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
101
+
102
+ @model_serializer(mode="wrap")
103
+ def serialize_model(self, handler):
104
+ optional_fields = ["from", "limit", "sort", "testmode", "idempotency-key"]
105
+ nullable_fields = ["limit"]
106
+ null_default_fields = []
107
+
108
+ serialized = handler(self)
109
+
110
+ m = {}
111
+
112
+ for n, f in type(self).model_fields.items():
113
+ k = f.alias or n
114
+ val = serialized.get(k)
115
+ serialized.pop(k, None)
116
+
117
+ optional_nullable = k in optional_fields and k in nullable_fields
118
+ is_set = (
119
+ self.__pydantic_fields_set__.intersection({n})
120
+ or k in null_default_fields
121
+ ) # pylint: disable=no-member
122
+
123
+ if val is not None and val != UNSET_SENTINEL:
124
+ m[k] = val
125
+ elif val != UNSET_SENTINEL and (
126
+ not k in optional_fields or (optional_nullable and is_set)
127
+ ):
128
+ m[k] = val
129
+
130
+ return m
131
+
132
+
133
+ class ListCustomersEmbeddedTypedDict(TypedDict):
134
+ customers: List[ListCustomerResponseTypedDict]
135
+ r"""An array of customer objects."""
136
+
137
+
138
+ class ListCustomersEmbedded(BaseModel):
139
+ customers: List[ListCustomerResponse]
140
+ r"""An array of customer objects."""
141
+
142
+
143
+ class ListCustomersResponseTypedDict(TypedDict):
144
+ r"""A list of customer objects."""
145
+
146
+ count: int
147
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
148
+ as well.
149
+
150
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
151
+ limit is 50 items.
152
+ """
153
+ embedded: ListCustomersEmbeddedTypedDict
154
+ links: ListLinksTypedDict
155
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
156
+
157
+
158
+ class ListCustomersResponse(BaseModel):
159
+ r"""A list of customer objects."""
160
+
161
+ count: int
162
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
163
+ as well.
164
+
165
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
166
+ limit is 50 items.
167
+ """
168
+
169
+ embedded: Annotated[ListCustomersEmbedded, pydantic.Field(alias="_embedded")]
170
+
171
+ links: Annotated[ListLinks, pydantic.Field(alias="_links")]
172
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
@@ -0,0 +1,322 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .balance_transfer_destination_type import BalanceTransferDestinationType
5
+ from .mode import Mode
6
+ from .url import URL, URLTypedDict
7
+ from enum import Enum
8
+ from mollie import utils
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 import Optional
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
16
+
17
+
18
+ class ListEntityBalanceCurrency(str, Enum, metaclass=utils.OpenEnumMeta):
19
+ r"""The balance's ISO 4217 currency code."""
20
+
21
+ EUR = "EUR"
22
+ GBP = "GBP"
23
+ CHF = "CHF"
24
+ DKK = "DKK"
25
+ NOK = "NOK"
26
+ PLN = "PLN"
27
+ SEK = "SEK"
28
+ USD = "USD"
29
+ CZK = "CZK"
30
+ HUF = "HUF"
31
+ AUD = "AUD"
32
+ CAD = "CAD"
33
+
34
+
35
+ class ListEntityBalanceStatus(str, Enum, metaclass=utils.OpenEnumMeta):
36
+ r"""The status of the balance."""
37
+
38
+ ACTIVE = "active"
39
+ INACTIVE = "inactive"
40
+
41
+
42
+ class ListEntityBalanceTransferFrequency(str, Enum, metaclass=utils.OpenEnumMeta):
43
+ r"""The frequency with which the available amount on the balance will be settled to the configured transfer
44
+ destination.
45
+
46
+ Settlements created during weekends or on bank holidays will take place on the next business day.
47
+ """
48
+
49
+ EVERY_DAY = "every-day"
50
+ DAILY = "daily"
51
+ EVERY_MONDAY = "every-monday"
52
+ EVERY_TUESDAY = "every-tuesday"
53
+ EVERY_WEDNESDAY = "every-wednesday"
54
+ EVERY_THURSDAY = "every-thursday"
55
+ EVERY_FRIDAY = "every-friday"
56
+ MONTHLY = "monthly"
57
+ REVENUE_DAY = "revenue-day"
58
+ NEVER = "never"
59
+
60
+
61
+ class ListEntityBalanceTransferThresholdTypedDict(TypedDict):
62
+ r"""The minimum amount configured for scheduled automatic settlements. As soon as the amount on the balance exceeds
63
+ this threshold, the complete balance will be paid out to the transfer destination according to the configured
64
+ frequency.
65
+ """
66
+
67
+ currency: str
68
+ r"""A three-character ISO 4217 currency code."""
69
+ value: str
70
+ r"""A string containing an exact monetary amount in the given currency."""
71
+
72
+
73
+ class ListEntityBalanceTransferThreshold(BaseModel):
74
+ r"""The minimum amount configured for scheduled automatic settlements. As soon as the amount on the balance exceeds
75
+ this threshold, the complete balance will be paid out to the transfer destination according to the configured
76
+ frequency.
77
+ """
78
+
79
+ currency: str
80
+ r"""A three-character ISO 4217 currency code."""
81
+
82
+ value: str
83
+ r"""A string containing an exact monetary amount in the given currency."""
84
+
85
+
86
+ class ListEntityBalanceTransferDestinationTypedDict(TypedDict):
87
+ r"""The destination where the available amount will be automatically transferred to according to the configured
88
+ transfer frequency.
89
+ """
90
+
91
+ type: NotRequired[BalanceTransferDestinationType]
92
+ r"""The default destination of automatic scheduled transfers. Currently only `bank-account` is supported.
93
+
94
+ * `bank-account` — Transfer the balance amount to an external bank account
95
+ """
96
+ bank_account: NotRequired[str]
97
+ r"""The configured bank account number of the beneficiary the balance amount is to be transferred to."""
98
+ beneficiary_name: NotRequired[str]
99
+ r"""The full name of the beneficiary the balance amount is to be transferred to."""
100
+
101
+
102
+ class ListEntityBalanceTransferDestination(BaseModel):
103
+ r"""The destination where the available amount will be automatically transferred to according to the configured
104
+ transfer frequency.
105
+ """
106
+
107
+ type: Annotated[
108
+ Optional[BalanceTransferDestinationType],
109
+ PlainValidator(validate_open_enum(False)),
110
+ ] = None
111
+ r"""The default destination of automatic scheduled transfers. Currently only `bank-account` is supported.
112
+
113
+ * `bank-account` — Transfer the balance amount to an external bank account
114
+ """
115
+
116
+ bank_account: Annotated[Optional[str], pydantic.Field(alias="bankAccount")] = None
117
+ r"""The configured bank account number of the beneficiary the balance amount is to be transferred to."""
118
+
119
+ beneficiary_name: Annotated[
120
+ Optional[str], pydantic.Field(alias="beneficiaryName")
121
+ ] = None
122
+ r"""The full name of the beneficiary the balance amount is to be transferred to."""
123
+
124
+
125
+ class ListEntityBalanceAvailableAmountTypedDict(TypedDict):
126
+ r"""The amount directly available on the balance, e.g. `{\"currency\":\"EUR\", \"value\":\"100.00\"}`."""
127
+
128
+ currency: str
129
+ r"""A three-character ISO 4217 currency code."""
130
+ value: str
131
+ r"""A string containing an exact monetary amount in the given currency."""
132
+
133
+
134
+ class ListEntityBalanceAvailableAmount(BaseModel):
135
+ r"""The amount directly available on the balance, e.g. `{\"currency\":\"EUR\", \"value\":\"100.00\"}`."""
136
+
137
+ currency: str
138
+ r"""A three-character ISO 4217 currency code."""
139
+
140
+ value: str
141
+ r"""A string containing an exact monetary amount in the given currency."""
142
+
143
+
144
+ class ListEntityBalancePendingAmountTypedDict(TypedDict):
145
+ r"""The total amount that is queued to be transferred to your balance. For example, a credit card payment can take a
146
+ few days to clear.
147
+ """
148
+
149
+ currency: str
150
+ r"""A three-character ISO 4217 currency code."""
151
+ value: str
152
+ r"""A string containing an exact monetary amount in the given currency."""
153
+
154
+
155
+ class ListEntityBalancePendingAmount(BaseModel):
156
+ r"""The total amount that is queued to be transferred to your balance. For example, a credit card payment can take a
157
+ few days to clear.
158
+ """
159
+
160
+ currency: str
161
+ r"""A three-character ISO 4217 currency code."""
162
+
163
+ value: str
164
+ r"""A string containing an exact monetary amount in the given currency."""
165
+
166
+
167
+ class ListEntityBalanceLinksTypedDict(TypedDict):
168
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
169
+
170
+ self_: NotRequired[URLTypedDict]
171
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
172
+
173
+
174
+ class ListEntityBalanceLinks(BaseModel):
175
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
176
+
177
+ self_: Annotated[Optional[URL], pydantic.Field(alias="self")] = None
178
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
179
+
180
+
181
+ class ListEntityBalanceTypedDict(TypedDict):
182
+ resource: str
183
+ r"""Indicates the response contains a balance object. Will always contain the string `balance` for this endpoint."""
184
+ id: str
185
+ r"""The identifier uniquely referring to this balance."""
186
+ mode: Mode
187
+ r"""Whether this entity was created in live mode or in test mode."""
188
+ created_at: str
189
+ r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
190
+ currency: ListEntityBalanceCurrency
191
+ r"""The balance's ISO 4217 currency code."""
192
+ description: str
193
+ r"""The description or name of the balance. Can be used to denote the purpose of the balance."""
194
+ status: ListEntityBalanceStatus
195
+ available_amount: ListEntityBalanceAvailableAmountTypedDict
196
+ r"""The amount directly available on the balance, e.g. `{\"currency\":\"EUR\", \"value\":\"100.00\"}`."""
197
+ pending_amount: ListEntityBalancePendingAmountTypedDict
198
+ r"""The total amount that is queued to be transferred to your balance. For example, a credit card payment can take a
199
+ few days to clear.
200
+ """
201
+ links: ListEntityBalanceLinksTypedDict
202
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
203
+ transfer_frequency: NotRequired[ListEntityBalanceTransferFrequency]
204
+ transfer_threshold: NotRequired[ListEntityBalanceTransferThresholdTypedDict]
205
+ r"""The minimum amount configured for scheduled automatic settlements. As soon as the amount on the balance exceeds
206
+ this threshold, the complete balance will be paid out to the transfer destination according to the configured
207
+ frequency.
208
+ """
209
+ transfer_reference: NotRequired[Nullable[str]]
210
+ r"""The transfer reference set to be included in all the transfers for this balance."""
211
+ transfer_destination: NotRequired[
212
+ Nullable[ListEntityBalanceTransferDestinationTypedDict]
213
+ ]
214
+ r"""The destination where the available amount will be automatically transferred to according to the configured
215
+ transfer frequency.
216
+ """
217
+
218
+
219
+ class ListEntityBalance(BaseModel):
220
+ resource: str
221
+ r"""Indicates the response contains a balance object. Will always contain the string `balance` for this endpoint."""
222
+
223
+ id: str
224
+ r"""The identifier uniquely referring to this balance."""
225
+
226
+ mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
227
+ r"""Whether this entity was created in live mode or in test mode."""
228
+
229
+ created_at: Annotated[str, pydantic.Field(alias="createdAt")]
230
+ r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
231
+
232
+ currency: Annotated[
233
+ ListEntityBalanceCurrency, PlainValidator(validate_open_enum(False))
234
+ ]
235
+ r"""The balance's ISO 4217 currency code."""
236
+
237
+ description: str
238
+ r"""The description or name of the balance. Can be used to denote the purpose of the balance."""
239
+
240
+ status: Annotated[
241
+ ListEntityBalanceStatus, PlainValidator(validate_open_enum(False))
242
+ ]
243
+
244
+ available_amount: Annotated[
245
+ ListEntityBalanceAvailableAmount, pydantic.Field(alias="availableAmount")
246
+ ]
247
+ r"""The amount directly available on the balance, e.g. `{\"currency\":\"EUR\", \"value\":\"100.00\"}`."""
248
+
249
+ pending_amount: Annotated[
250
+ ListEntityBalancePendingAmount, pydantic.Field(alias="pendingAmount")
251
+ ]
252
+ r"""The total amount that is queued to be transferred to your balance. For example, a credit card payment can take a
253
+ few days to clear.
254
+ """
255
+
256
+ links: Annotated[ListEntityBalanceLinks, pydantic.Field(alias="_links")]
257
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
258
+
259
+ transfer_frequency: Annotated[
260
+ Annotated[
261
+ Optional[ListEntityBalanceTransferFrequency],
262
+ PlainValidator(validate_open_enum(False)),
263
+ ],
264
+ pydantic.Field(alias="transferFrequency"),
265
+ ] = None
266
+
267
+ transfer_threshold: Annotated[
268
+ Optional[ListEntityBalanceTransferThreshold],
269
+ pydantic.Field(alias="transferThreshold"),
270
+ ] = None
271
+ r"""The minimum amount configured for scheduled automatic settlements. As soon as the amount on the balance exceeds
272
+ this threshold, the complete balance will be paid out to the transfer destination according to the configured
273
+ frequency.
274
+ """
275
+
276
+ transfer_reference: Annotated[
277
+ OptionalNullable[str], pydantic.Field(alias="transferReference")
278
+ ] = UNSET
279
+ r"""The transfer reference set to be included in all the transfers for this balance."""
280
+
281
+ transfer_destination: Annotated[
282
+ OptionalNullable[ListEntityBalanceTransferDestination],
283
+ pydantic.Field(alias="transferDestination"),
284
+ ] = UNSET
285
+ r"""The destination where the available amount will be automatically transferred to according to the configured
286
+ transfer frequency.
287
+ """
288
+
289
+ @model_serializer(mode="wrap")
290
+ def serialize_model(self, handler):
291
+ optional_fields = [
292
+ "transferFrequency",
293
+ "transferThreshold",
294
+ "transferReference",
295
+ "transferDestination",
296
+ ]
297
+ nullable_fields = ["transferReference", "transferDestination"]
298
+ null_default_fields = []
299
+
300
+ serialized = handler(self)
301
+
302
+ m = {}
303
+
304
+ for n, f in type(self).model_fields.items():
305
+ k = f.alias or n
306
+ val = serialized.get(k)
307
+ serialized.pop(k, None)
308
+
309
+ optional_nullable = k in optional_fields and k in nullable_fields
310
+ is_set = (
311
+ self.__pydantic_fields_set__.intersection({n})
312
+ or k in null_default_fields
313
+ ) # pylint: disable=no-member
314
+
315
+ if val is not None and val != UNSET_SENTINEL:
316
+ m[k] = val
317
+ elif val != UNSET_SENTINEL and (
318
+ not k in optional_fields or (optional_nullable and is_set)
319
+ ):
320
+ m[k] = val
321
+
322
+ return m