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,286 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .entity_event import EntityEvent, EntityEventTypedDict
5
+ from .locale_response import LocaleResponse
6
+ from .metadata import Metadata, MetadataTypedDict
7
+ from .mode import Mode
8
+ from .url import URL, URLTypedDict
9
+ from .url_nullable import URLNullable, URLNullableTypedDict
10
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
11
+ from mollie.utils import (
12
+ FieldMetadata,
13
+ HeaderMetadata,
14
+ PathParamMetadata,
15
+ QueryParamMetadata,
16
+ validate_open_enum,
17
+ )
18
+ import pydantic
19
+ from pydantic import model_serializer
20
+ from pydantic.functional_validators import PlainValidator
21
+ from typing import List, Optional
22
+ from typing_extensions import Annotated, NotRequired, TypedDict
23
+
24
+
25
+ class GetCustomerGlobalsTypedDict(TypedDict):
26
+ testmode: NotRequired[bool]
27
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
28
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
29
+ setting the `testmode` query parameter to `true`.
30
+
31
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
32
+ """
33
+
34
+
35
+ class GetCustomerGlobals(BaseModel):
36
+ testmode: Annotated[
37
+ Optional[bool],
38
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
39
+ ] = None
40
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
41
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
42
+ setting the `testmode` query parameter to `true`.
43
+
44
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
45
+ """
46
+
47
+
48
+ class GetCustomerRequestTypedDict(TypedDict):
49
+ customer_id: str
50
+ r"""Provide the ID of the related customer."""
51
+ include: NotRequired[Nullable[str]]
52
+ r"""This endpoint allows you to include additional information via the `include` query string parameter."""
53
+ testmode: NotRequired[bool]
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
+ idempotency_key: NotRequired[str]
61
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
62
+
63
+
64
+ class GetCustomerRequest(BaseModel):
65
+ customer_id: Annotated[
66
+ str,
67
+ pydantic.Field(alias="customerId"),
68
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
69
+ ]
70
+ r"""Provide the ID of the related customer."""
71
+
72
+ include: Annotated[
73
+ OptionalNullable[str],
74
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
75
+ ] = UNSET
76
+ r"""This endpoint allows you to include additional information via the `include` query string parameter."""
77
+
78
+ testmode: Annotated[
79
+ Optional[bool],
80
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
81
+ ] = None
82
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
83
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
84
+ setting the `testmode` query parameter to `true`.
85
+
86
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
87
+ """
88
+
89
+ idempotency_key: Annotated[
90
+ Optional[str],
91
+ pydantic.Field(alias="idempotency-key"),
92
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
93
+ ] = None
94
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
95
+
96
+ @model_serializer(mode="wrap")
97
+ def serialize_model(self, handler):
98
+ optional_fields = ["include", "testmode", "idempotency-key"]
99
+ nullable_fields = ["include"]
100
+ null_default_fields = []
101
+
102
+ serialized = handler(self)
103
+
104
+ m = {}
105
+
106
+ for n, f in type(self).model_fields.items():
107
+ k = f.alias or n
108
+ val = serialized.get(k)
109
+ serialized.pop(k, None)
110
+
111
+ optional_nullable = k in optional_fields and k in nullable_fields
112
+ is_set = (
113
+ self.__pydantic_fields_set__.intersection({n})
114
+ or k in null_default_fields
115
+ ) # pylint: disable=no-member
116
+
117
+ if val is not None and val != UNSET_SENTINEL:
118
+ m[k] = val
119
+ elif val != UNSET_SENTINEL and (
120
+ not k in optional_fields or (optional_nullable and is_set)
121
+ ):
122
+ m[k] = val
123
+
124
+ return m
125
+
126
+
127
+ class GetCustomerLinksTypedDict(TypedDict):
128
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
129
+
130
+ self_: URLTypedDict
131
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
132
+ dashboard: URLTypedDict
133
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
134
+ documentation: URLTypedDict
135
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
136
+ payments: NotRequired[Nullable[URLNullableTypedDict]]
137
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
138
+ mandates: NotRequired[Nullable[URLNullableTypedDict]]
139
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
140
+ subscriptions: NotRequired[Nullable[URLNullableTypedDict]]
141
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
142
+
143
+
144
+ class GetCustomerLinks(BaseModel):
145
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
146
+
147
+ self_: Annotated[URL, pydantic.Field(alias="self")]
148
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
149
+
150
+ dashboard: URL
151
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
152
+
153
+ documentation: URL
154
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
155
+
156
+ payments: OptionalNullable[URLNullable] = UNSET
157
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
158
+
159
+ mandates: OptionalNullable[URLNullable] = UNSET
160
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
161
+
162
+ subscriptions: OptionalNullable[URLNullable] = UNSET
163
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
164
+
165
+ @model_serializer(mode="wrap")
166
+ def serialize_model(self, handler):
167
+ optional_fields = ["payments", "mandates", "subscriptions"]
168
+ nullable_fields = ["payments", "mandates", "subscriptions"]
169
+ null_default_fields = []
170
+
171
+ serialized = handler(self)
172
+
173
+ m = {}
174
+
175
+ for n, f in type(self).model_fields.items():
176
+ k = f.alias or n
177
+ val = serialized.get(k)
178
+ serialized.pop(k, None)
179
+
180
+ optional_nullable = k in optional_fields and k in nullable_fields
181
+ is_set = (
182
+ self.__pydantic_fields_set__.intersection({n})
183
+ or k in null_default_fields
184
+ ) # pylint: disable=no-member
185
+
186
+ if val is not None and val != UNSET_SENTINEL:
187
+ m[k] = val
188
+ elif val != UNSET_SENTINEL and (
189
+ not k in optional_fields or (optional_nullable and is_set)
190
+ ):
191
+ m[k] = val
192
+
193
+ return m
194
+
195
+
196
+ class GetCustomerResponseTypedDict(TypedDict):
197
+ r"""The customer object."""
198
+
199
+ resource: str
200
+ r"""Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint."""
201
+ id: str
202
+ r"""The identifier uniquely referring to this customer. Example: `cst_vsKJpSsabw`."""
203
+ mode: Mode
204
+ r"""Whether this entity was created in live mode or in test mode."""
205
+ name: Nullable[str]
206
+ r"""The full name of the customer."""
207
+ email: Nullable[str]
208
+ r"""The email address of the customer."""
209
+ locale: Nullable[LocaleResponse]
210
+ r"""Allows you to preset the language to be used."""
211
+ metadata: Nullable[MetadataTypedDict]
212
+ r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
213
+ you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
214
+ """
215
+ created_at: str
216
+ r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
217
+ links: GetCustomerLinksTypedDict
218
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
219
+ events: NotRequired[List[EntityEventTypedDict]]
220
+
221
+
222
+ class GetCustomerResponse(BaseModel):
223
+ r"""The customer object."""
224
+
225
+ resource: str
226
+ r"""Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint."""
227
+
228
+ id: str
229
+ r"""The identifier uniquely referring to this customer. Example: `cst_vsKJpSsabw`."""
230
+
231
+ mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
232
+ r"""Whether this entity was created in live mode or in test mode."""
233
+
234
+ name: Nullable[str]
235
+ r"""The full name of the customer."""
236
+
237
+ email: Nullable[str]
238
+ r"""The email address of the customer."""
239
+
240
+ locale: Annotated[
241
+ Nullable[LocaleResponse], PlainValidator(validate_open_enum(False))
242
+ ]
243
+ r"""Allows you to preset the language to be used."""
244
+
245
+ metadata: Nullable[Metadata]
246
+ r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
247
+ you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
248
+ """
249
+
250
+ created_at: Annotated[str, pydantic.Field(alias="createdAt")]
251
+ r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
252
+
253
+ links: Annotated[GetCustomerLinks, pydantic.Field(alias="_links")]
254
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
255
+
256
+ events: Optional[List[EntityEvent]] = None
257
+
258
+ @model_serializer(mode="wrap")
259
+ def serialize_model(self, handler):
260
+ optional_fields = ["events"]
261
+ nullable_fields = ["name", "email", "locale", "metadata"]
262
+ null_default_fields = []
263
+
264
+ serialized = handler(self)
265
+
266
+ m = {}
267
+
268
+ for n, f in type(self).model_fields.items():
269
+ k = f.alias or n
270
+ val = serialized.get(k)
271
+ serialized.pop(k, None)
272
+
273
+ optional_nullable = k in optional_fields and k in nullable_fields
274
+ is_set = (
275
+ self.__pydantic_fields_set__.intersection({n})
276
+ or k in null_default_fields
277
+ ) # pylint: disable=no-member
278
+
279
+ if val is not None and val != UNSET_SENTINEL:
280
+ m[k] = val
281
+ elif val != UNSET_SENTINEL and (
282
+ not k in optional_fields or (optional_nullable and is_set)
283
+ ):
284
+ m[k] = val
285
+
286
+ return m
@@ -0,0 +1,29 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mollie.types import BaseModel
5
+ from mollie.utils import FieldMetadata, HeaderMetadata, PathParamMetadata
6
+ import pydantic
7
+ from typing import Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class GetInvoiceRequestTypedDict(TypedDict):
12
+ id: str
13
+ r"""Provide the ID of the item you want to perform this operation on."""
14
+ idempotency_key: NotRequired[str]
15
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
16
+
17
+
18
+ class GetInvoiceRequest(BaseModel):
19
+ id: Annotated[
20
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
21
+ ]
22
+ r"""Provide the ID of the item you want to perform this operation on."""
23
+
24
+ idempotency_key: Annotated[
25
+ Optional[str],
26
+ pydantic.Field(alias="idempotency-key"),
27
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
28
+ ] = None
29
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
@@ -0,0 +1,86 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mollie.types import BaseModel
5
+ from mollie.utils import (
6
+ FieldMetadata,
7
+ HeaderMetadata,
8
+ PathParamMetadata,
9
+ QueryParamMetadata,
10
+ )
11
+ import pydantic
12
+ from typing import Optional
13
+ from typing_extensions import Annotated, NotRequired, TypedDict
14
+
15
+
16
+ class GetMandateGlobalsTypedDict(TypedDict):
17
+ testmode: NotRequired[bool]
18
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
19
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
20
+ setting the `testmode` query parameter to `true`.
21
+
22
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
23
+ """
24
+
25
+
26
+ class GetMandateGlobals(BaseModel):
27
+ testmode: Annotated[
28
+ Optional[bool],
29
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
30
+ ] = None
31
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
32
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
33
+ setting the `testmode` query parameter to `true`.
34
+
35
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
36
+ """
37
+
38
+
39
+ class GetMandateRequestTypedDict(TypedDict):
40
+ customer_id: str
41
+ r"""Provide the ID of the related customer."""
42
+ mandate_id: str
43
+ r"""Provide the ID of the related mandate."""
44
+ testmode: NotRequired[bool]
45
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
46
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
47
+ setting the `testmode` query parameter to `true`.
48
+
49
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
50
+ """
51
+ idempotency_key: NotRequired[str]
52
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
53
+
54
+
55
+ class GetMandateRequest(BaseModel):
56
+ customer_id: Annotated[
57
+ str,
58
+ pydantic.Field(alias="customerId"),
59
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
60
+ ]
61
+ r"""Provide the ID of the related customer."""
62
+
63
+ mandate_id: Annotated[
64
+ str,
65
+ pydantic.Field(alias="mandateId"),
66
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
67
+ ]
68
+ r"""Provide the ID of the related mandate."""
69
+
70
+ testmode: Annotated[
71
+ Optional[bool],
72
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
73
+ ] = None
74
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
75
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
76
+ setting the `testmode` query parameter to `true`.
77
+
78
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
79
+ """
80
+
81
+ idempotency_key: Annotated[
82
+ Optional[str],
83
+ pydantic.Field(alias="idempotency-key"),
84
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
85
+ ] = None
86
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
@@ -0,0 +1,199 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .locale import Locale
5
+ from .sequence_type import SequenceType
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 Optional
16
+ from typing_extensions import Annotated, NotRequired, TypedDict
17
+
18
+
19
+ class GetMethodGlobalsTypedDict(TypedDict):
20
+ profile_id: NotRequired[str]
21
+ r"""The identifier referring to the [profile](get-profile) you wish to
22
+ retrieve the resources for.
23
+
24
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
25
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
26
+ """
27
+ testmode: NotRequired[bool]
28
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
29
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
30
+ setting the `testmode` query parameter to `true`.
31
+
32
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
33
+ """
34
+
35
+
36
+ class GetMethodGlobals(BaseModel):
37
+ profile_id: Annotated[
38
+ Optional[str],
39
+ pydantic.Field(alias="profileId"),
40
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
41
+ ] = None
42
+ r"""The identifier referring to the [profile](get-profile) you wish to
43
+ retrieve the resources for.
44
+
45
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
46
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
47
+ """
48
+
49
+ testmode: Annotated[
50
+ Optional[bool],
51
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
52
+ ] = None
53
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
54
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
55
+ setting the `testmode` query parameter to `true`.
56
+
57
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
58
+ """
59
+
60
+
61
+ class GetMethodRequestTypedDict(TypedDict):
62
+ id: str
63
+ r"""Provide the ID of the item you want to perform this operation on."""
64
+ locale: NotRequired[Nullable[Locale]]
65
+ r"""Response language"""
66
+ currency: NotRequired[str]
67
+ r"""If provided, the `minimumAmount` and `maximumAmount` will be converted
68
+ to the given currency. An error is returned if the currency is not supported by the payment method.
69
+ """
70
+ profile_id: NotRequired[str]
71
+ r"""The identifier referring to the [profile](get-profile) you wish to
72
+ retrieve the resources for.
73
+
74
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
75
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
76
+ """
77
+ include: NotRequired[Nullable[str]]
78
+ r"""This endpoint allows you to include additional information via the `include` query string parameter."""
79
+ sequence_type: NotRequired[SequenceType]
80
+ r"""Set this parameter to `first` to only return the methods that
81
+ can be used for the first payment of a recurring sequence.
82
+
83
+ Set it to `recurring` to only return methods that can be used for recurring payments or subscriptions.
84
+ """
85
+ testmode: NotRequired[bool]
86
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
87
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
88
+ setting the `testmode` query parameter to `true`.
89
+
90
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
91
+ """
92
+ idempotency_key: NotRequired[str]
93
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
94
+
95
+
96
+ class GetMethodRequest(BaseModel):
97
+ id: Annotated[
98
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
99
+ ]
100
+ r"""Provide the ID of the item you want to perform this operation on."""
101
+
102
+ locale: Annotated[
103
+ OptionalNullable[Locale],
104
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
105
+ ] = UNSET
106
+ r"""Response language"""
107
+
108
+ currency: Annotated[
109
+ Optional[str],
110
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
111
+ ] = None
112
+ r"""If provided, the `minimumAmount` and `maximumAmount` will be converted
113
+ to the given currency. An error is returned if the currency is not supported by the payment method.
114
+ """
115
+
116
+ profile_id: Annotated[
117
+ Optional[str],
118
+ pydantic.Field(alias="profileId"),
119
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
120
+ ] = None
121
+ r"""The identifier referring to the [profile](get-profile) you wish to
122
+ retrieve the resources for.
123
+
124
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
125
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
126
+ """
127
+
128
+ include: Annotated[
129
+ OptionalNullable[str],
130
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
131
+ ] = UNSET
132
+ r"""This endpoint allows you to include additional information via the `include` query string parameter."""
133
+
134
+ sequence_type: Annotated[
135
+ Optional[SequenceType],
136
+ pydantic.Field(alias="sequenceType"),
137
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
138
+ ] = None
139
+ r"""Set this parameter to `first` to only return the methods that
140
+ can be used for the first payment of a recurring sequence.
141
+
142
+ Set it to `recurring` to only return methods that can be used for recurring payments or subscriptions.
143
+ """
144
+
145
+ testmode: Annotated[
146
+ Optional[bool],
147
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
148
+ ] = None
149
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
150
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
151
+ setting the `testmode` query parameter to `true`.
152
+
153
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
154
+ """
155
+
156
+ idempotency_key: Annotated[
157
+ Optional[str],
158
+ pydantic.Field(alias="idempotency-key"),
159
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
160
+ ] = None
161
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
162
+
163
+ @model_serializer(mode="wrap")
164
+ def serialize_model(self, handler):
165
+ optional_fields = [
166
+ "locale",
167
+ "currency",
168
+ "profileId",
169
+ "include",
170
+ "sequenceType",
171
+ "testmode",
172
+ "idempotency-key",
173
+ ]
174
+ nullable_fields = ["locale", "include"]
175
+ null_default_fields = []
176
+
177
+ serialized = handler(self)
178
+
179
+ m = {}
180
+
181
+ for n, f in type(self).model_fields.items():
182
+ k = f.alias or n
183
+ val = serialized.get(k)
184
+ serialized.pop(k, None)
185
+
186
+ optional_nullable = k in optional_fields and k in nullable_fields
187
+ is_set = (
188
+ self.__pydantic_fields_set__.intersection({n})
189
+ or k in null_default_fields
190
+ ) # pylint: disable=no-member
191
+
192
+ if val is not None and val != UNSET_SENTINEL:
193
+ m[k] = val
194
+ elif val != UNSET_SENTINEL and (
195
+ not k in optional_fields or (optional_nullable and is_set)
196
+ ):
197
+ m[k] = val
198
+
199
+ return m
@@ -0,0 +1,22 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mollie.types import BaseModel
5
+ from mollie.utils import FieldMetadata, HeaderMetadata
6
+ import pydantic
7
+ from typing import Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class GetNextSettlementRequestTypedDict(TypedDict):
12
+ idempotency_key: NotRequired[str]
13
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
14
+
15
+
16
+ class GetNextSettlementRequest(BaseModel):
17
+ idempotency_key: Annotated[
18
+ Optional[str],
19
+ pydantic.Field(alias="idempotency-key"),
20
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
21
+ ] = None
22
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
@@ -0,0 +1,22 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mollie.types import BaseModel
5
+ from mollie.utils import FieldMetadata, HeaderMetadata
6
+ import pydantic
7
+ from typing import Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class GetOnboardingStatusRequestTypedDict(TypedDict):
12
+ idempotency_key: NotRequired[str]
13
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
14
+
15
+
16
+ class GetOnboardingStatusRequest(BaseModel):
17
+ idempotency_key: Annotated[
18
+ Optional[str],
19
+ pydantic.Field(alias="idempotency-key"),
20
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
21
+ ] = None
22
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
@@ -0,0 +1,22 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mollie.types import BaseModel
5
+ from mollie.utils import FieldMetadata, HeaderMetadata
6
+ import pydantic
7
+ from typing import Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class GetOpenSettlementRequestTypedDict(TypedDict):
12
+ idempotency_key: NotRequired[str]
13
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
14
+
15
+
16
+ class GetOpenSettlementRequest(BaseModel):
17
+ idempotency_key: Annotated[
18
+ Optional[str],
19
+ pydantic.Field(alias="idempotency-key"),
20
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
21
+ ] = None
22
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""