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,210 @@
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 mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
6
+ from mollie.utils import validate_open_enum
7
+ import pydantic
8
+ from pydantic import model_serializer
9
+ from pydantic.functional_validators import PlainValidator
10
+ from typing_extensions import Annotated, NotRequired, TypedDict
11
+
12
+
13
+ class OwnerTypedDict(TypedDict):
14
+ r"""Personal data of your customer."""
15
+
16
+ email: str
17
+ r"""The email address of your customer."""
18
+ given_name: str
19
+ r"""The given name (first name) of your customer."""
20
+ family_name: str
21
+ r"""The family name (surname) of your customer."""
22
+ locale: NotRequired[Nullable[LocaleResponse]]
23
+ r"""Allows you to preset the language to be used."""
24
+
25
+
26
+ class Owner(BaseModel):
27
+ r"""Personal data of your customer."""
28
+
29
+ email: str
30
+ r"""The email address of your customer."""
31
+
32
+ given_name: Annotated[str, pydantic.Field(alias="givenName")]
33
+ r"""The given name (first name) of your customer."""
34
+
35
+ family_name: Annotated[str, pydantic.Field(alias="familyName")]
36
+ r"""The family name (surname) of your customer."""
37
+
38
+ locale: Annotated[
39
+ OptionalNullable[LocaleResponse], PlainValidator(validate_open_enum(False))
40
+ ] = UNSET
41
+ r"""Allows you to preset the language to be used."""
42
+
43
+ @model_serializer(mode="wrap")
44
+ def serialize_model(self, handler):
45
+ optional_fields = ["locale"]
46
+ nullable_fields = ["locale"]
47
+ null_default_fields = []
48
+
49
+ serialized = handler(self)
50
+
51
+ m = {}
52
+
53
+ for n, f in type(self).model_fields.items():
54
+ k = f.alias or n
55
+ val = serialized.get(k)
56
+ serialized.pop(k, None)
57
+
58
+ optional_nullable = k in optional_fields and k in nullable_fields
59
+ is_set = (
60
+ self.__pydantic_fields_set__.intersection({n})
61
+ or k in null_default_fields
62
+ ) # pylint: disable=no-member
63
+
64
+ if val is not None and val != UNSET_SENTINEL:
65
+ m[k] = val
66
+ elif val != UNSET_SENTINEL and (
67
+ not k in optional_fields or (optional_nullable and is_set)
68
+ ):
69
+ m[k] = val
70
+
71
+ return m
72
+
73
+
74
+ class ClientLinkRequestAddressTypedDict(TypedDict):
75
+ r"""Address of the organization."""
76
+
77
+ country: str
78
+ r"""The country of the address in
79
+ [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
80
+ """
81
+ street_and_number: NotRequired[Nullable[str]]
82
+ r"""The street name and house number of the organization."""
83
+ postal_code: NotRequired[Nullable[str]]
84
+ r"""The postal code of the organization. Required if a street address is provided and if the country has a postal
85
+ code system.
86
+ """
87
+ city: NotRequired[Nullable[str]]
88
+ r"""The city of the organization. Required if a street address is provided."""
89
+
90
+
91
+ class ClientLinkRequestAddress(BaseModel):
92
+ r"""Address of the organization."""
93
+
94
+ country: str
95
+ r"""The country of the address in
96
+ [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
97
+ """
98
+
99
+ street_and_number: Annotated[
100
+ OptionalNullable[str], pydantic.Field(alias="streetAndNumber")
101
+ ] = UNSET
102
+ r"""The street name and house number of the organization."""
103
+
104
+ postal_code: Annotated[
105
+ OptionalNullable[str], pydantic.Field(alias="postalCode")
106
+ ] = UNSET
107
+ r"""The postal code of the organization. Required if a street address is provided and if the country has a postal
108
+ code system.
109
+ """
110
+
111
+ city: OptionalNullable[str] = UNSET
112
+ r"""The city of the organization. Required if a street address is provided."""
113
+
114
+ @model_serializer(mode="wrap")
115
+ def serialize_model(self, handler):
116
+ optional_fields = ["streetAndNumber", "postalCode", "city"]
117
+ nullable_fields = ["streetAndNumber", "postalCode", "city"]
118
+ null_default_fields = []
119
+
120
+ serialized = handler(self)
121
+
122
+ m = {}
123
+
124
+ for n, f in type(self).model_fields.items():
125
+ k = f.alias or n
126
+ val = serialized.get(k)
127
+ serialized.pop(k, None)
128
+
129
+ optional_nullable = k in optional_fields and k in nullable_fields
130
+ is_set = (
131
+ self.__pydantic_fields_set__.intersection({n})
132
+ or k in null_default_fields
133
+ ) # pylint: disable=no-member
134
+
135
+ if val is not None and val != UNSET_SENTINEL:
136
+ m[k] = val
137
+ elif val != UNSET_SENTINEL and (
138
+ not k in optional_fields or (optional_nullable and is_set)
139
+ ):
140
+ m[k] = val
141
+
142
+ return m
143
+
144
+
145
+ class ClientLinkRequestTypedDict(TypedDict):
146
+ owner: OwnerTypedDict
147
+ r"""Personal data of your customer."""
148
+ name: str
149
+ r"""Name of the organization."""
150
+ address: ClientLinkRequestAddressTypedDict
151
+ r"""Address of the organization."""
152
+ registration_number: NotRequired[Nullable[str]]
153
+ r"""The registration number of the organization at their local chamber of commerce."""
154
+ vat_number: NotRequired[Nullable[str]]
155
+ r"""The VAT number of the organization, if based in the European Union. VAT numbers are verified against the
156
+ international registry *VIES*.
157
+ """
158
+
159
+
160
+ class ClientLinkRequest(BaseModel):
161
+ owner: Owner
162
+ r"""Personal data of your customer."""
163
+
164
+ name: str
165
+ r"""Name of the organization."""
166
+
167
+ address: ClientLinkRequestAddress
168
+ r"""Address of the organization."""
169
+
170
+ registration_number: Annotated[
171
+ OptionalNullable[str], pydantic.Field(alias="registrationNumber")
172
+ ] = UNSET
173
+ r"""The registration number of the organization at their local chamber of commerce."""
174
+
175
+ vat_number: Annotated[OptionalNullable[str], pydantic.Field(alias="vatNumber")] = (
176
+ UNSET
177
+ )
178
+ r"""The VAT number of the organization, if based in the European Union. VAT numbers are verified against the
179
+ international registry *VIES*.
180
+ """
181
+
182
+ @model_serializer(mode="wrap")
183
+ def serialize_model(self, handler):
184
+ optional_fields = ["registrationNumber", "vatNumber"]
185
+ nullable_fields = ["registrationNumber", "vatNumber"]
186
+ null_default_fields = []
187
+
188
+ serialized = handler(self)
189
+
190
+ m = {}
191
+
192
+ for n, f in type(self).model_fields.items():
193
+ k = f.alias or n
194
+ val = serialized.get(k)
195
+ serialized.pop(k, None)
196
+
197
+ optional_nullable = k in optional_fields and k in nullable_fields
198
+ is_set = (
199
+ self.__pydantic_fields_set__.intersection({n})
200
+ or k in null_default_fields
201
+ ) # pylint: disable=no-member
202
+
203
+ if val is not None and val != UNSET_SENTINEL:
204
+ m[k] = val
205
+ elif val != UNSET_SENTINEL and (
206
+ not k in optional_fields or (optional_nullable and is_set)
207
+ ):
208
+ m[k] = val
209
+
210
+ return m
@@ -0,0 +1,56 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .url import URL, URLTypedDict
5
+ from mollie.types import BaseModel
6
+ import pydantic
7
+ from typing import Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class ClientLinkResponseLinksTypedDict(TypedDict):
12
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
13
+
14
+ self_: NotRequired[URLTypedDict]
15
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
16
+ client_link: NotRequired[URLTypedDict]
17
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
18
+ documentation: NotRequired[URLTypedDict]
19
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
20
+
21
+
22
+ class ClientLinkResponseLinks(BaseModel):
23
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
24
+
25
+ self_: Annotated[Optional[URL], pydantic.Field(alias="self")] = None
26
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
27
+
28
+ client_link: Annotated[Optional[URL], pydantic.Field(alias="clientLink")] = None
29
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
30
+
31
+ documentation: Optional[URL] = None
32
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
33
+
34
+
35
+ class ClientLinkResponseTypedDict(TypedDict):
36
+ resource: str
37
+ r"""Indicates the response contains a client link object. Will always contain the string `client-link` for this
38
+ endpoint.
39
+ """
40
+ id: str
41
+ r"""The identifier uniquely referring to this client link. Example: `cl_vZCnNQsV2UtfXxYifWKWH`."""
42
+ links: ClientLinkResponseLinksTypedDict
43
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
44
+
45
+
46
+ class ClientLinkResponse(BaseModel):
47
+ resource: str
48
+ r"""Indicates the response contains a client link object. Will always contain the string `client-link` for this
49
+ endpoint.
50
+ """
51
+
52
+ id: str
53
+ r"""The identifier uniquely referring to this client link. Example: `cl_vZCnNQsV2UtfXxYifWKWH`."""
54
+
55
+ links: Annotated[ClientLinkResponseLinks, pydantic.Field(alias="_links")]
56
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
@@ -0,0 +1,30 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ import httpx
4
+ from typing import Optional
5
+ from dataclasses import dataclass, field
6
+
7
+
8
+ @dataclass(unsafe_hash=True)
9
+ class ClientError(Exception):
10
+ """The base class for all HTTP error responses."""
11
+
12
+ message: str
13
+ status_code: int
14
+ body: str
15
+ headers: httpx.Headers = field(hash=False)
16
+ raw_response: httpx.Response = field(hash=False)
17
+
18
+ def __init__(
19
+ self, message: str, raw_response: httpx.Response, body: Optional[str] = None
20
+ ):
21
+ object.__setattr__(self, "message", message)
22
+ object.__setattr__(self, "status_code", raw_response.status_code)
23
+ object.__setattr__(
24
+ self, "body", body if body is not None else raw_response.text
25
+ )
26
+ object.__setattr__(self, "headers", raw_response.headers)
27
+ object.__setattr__(self, "raw_response", raw_response)
28
+
29
+ def __str__(self):
30
+ return self.message
@@ -0,0 +1,127 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .balance_card_audience import BalanceCardAudience
5
+ from .balance_card_issuer import BalanceCardIssuer
6
+ from .balance_card_region import BalanceCardRegion
7
+ from .balance_fee_type import BalanceFeeType
8
+ from .balance_prepayment_part_type import BalancePrepaymentPartType
9
+ from .balance_transaction_type import BalanceTransactionType
10
+ from .payment_method import PaymentMethod
11
+ from .sub_totals import SubTotals, SubTotalsTypedDict
12
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
13
+ from mollie.utils import validate_open_enum
14
+ import pydantic
15
+ from pydantic import model_serializer
16
+ from pydantic.functional_validators import PlainValidator
17
+ from typing import List, Optional
18
+ from typing_extensions import Annotated, NotRequired, TypedDict
19
+
20
+
21
+ class ComponentsSubTotalsTypedDict(TypedDict):
22
+ sub_totals: NotRequired[Nullable[List[SubTotalsTypedDict]]]
23
+ count: NotRequired[int]
24
+ r"""Number of transactions of this type"""
25
+ method: NotRequired[Nullable[PaymentMethod]]
26
+ r"""The payment method, if applicable"""
27
+ card_issuer: NotRequired[BalanceCardIssuer]
28
+ card_audience: NotRequired[BalanceCardAudience]
29
+ card_region: NotRequired[BalanceCardRegion]
30
+ fee_type: NotRequired[BalanceFeeType]
31
+ prepayment_part_type: NotRequired[BalancePrepaymentPartType]
32
+ transaction_type: NotRequired[BalanceTransactionType]
33
+
34
+
35
+ class ComponentsSubTotals(BaseModel):
36
+ sub_totals: Annotated[
37
+ OptionalNullable[List[SubTotals]], pydantic.Field(alias="sub-totals")
38
+ ] = UNSET
39
+
40
+ count: Optional[int] = None
41
+ r"""Number of transactions of this type"""
42
+
43
+ method: Annotated[
44
+ OptionalNullable[PaymentMethod], PlainValidator(validate_open_enum(False))
45
+ ] = UNSET
46
+ r"""The payment method, if applicable"""
47
+
48
+ card_issuer: Annotated[
49
+ Annotated[
50
+ Optional[BalanceCardIssuer], PlainValidator(validate_open_enum(False))
51
+ ],
52
+ pydantic.Field(alias="cardIssuer"),
53
+ ] = None
54
+
55
+ card_audience: Annotated[
56
+ Annotated[
57
+ Optional[BalanceCardAudience], PlainValidator(validate_open_enum(False))
58
+ ],
59
+ pydantic.Field(alias="cardAudience"),
60
+ ] = None
61
+
62
+ card_region: Annotated[
63
+ Annotated[
64
+ Optional[BalanceCardRegion], PlainValidator(validate_open_enum(False))
65
+ ],
66
+ pydantic.Field(alias="cardRegion"),
67
+ ] = None
68
+
69
+ fee_type: Annotated[
70
+ Annotated[Optional[BalanceFeeType], PlainValidator(validate_open_enum(False))],
71
+ pydantic.Field(alias="feeType"),
72
+ ] = None
73
+
74
+ prepayment_part_type: Annotated[
75
+ Annotated[
76
+ Optional[BalancePrepaymentPartType],
77
+ PlainValidator(validate_open_enum(False)),
78
+ ],
79
+ pydantic.Field(alias="prepaymentPartType"),
80
+ ] = None
81
+
82
+ transaction_type: Annotated[
83
+ Annotated[
84
+ Optional[BalanceTransactionType], PlainValidator(validate_open_enum(False))
85
+ ],
86
+ pydantic.Field(alias="transactionType"),
87
+ ] = None
88
+
89
+ @model_serializer(mode="wrap")
90
+ def serialize_model(self, handler):
91
+ optional_fields = [
92
+ "sub-totals",
93
+ "count",
94
+ "method",
95
+ "cardIssuer",
96
+ "cardAudience",
97
+ "cardRegion",
98
+ "feeType",
99
+ "prepaymentPartType",
100
+ "transactionType",
101
+ ]
102
+ nullable_fields = ["sub-totals", "method"]
103
+ null_default_fields = []
104
+
105
+ serialized = handler(self)
106
+
107
+ m = {}
108
+
109
+ for n, f in type(self).model_fields.items():
110
+ k = f.alias or n
111
+ val = serialized.get(k)
112
+ serialized.pop(k, None)
113
+
114
+ optional_nullable = k in optional_fields and k in nullable_fields
115
+ is_set = (
116
+ self.__pydantic_fields_set__.intersection({n})
117
+ or k in null_default_fields
118
+ ) # pylint: disable=no-member
119
+
120
+ if val is not None and val != UNSET_SENTINEL:
121
+ m[k] = val
122
+ elif val != UNSET_SENTINEL and (
123
+ not k in optional_fields or (optional_nullable and is_set)
124
+ ):
125
+ m[k] = val
126
+
127
+ return m
@@ -0,0 +1,43 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .entity_capture import EntityCapture, EntityCaptureTypedDict
5
+ from mollie.types import BaseModel
6
+ from mollie.utils import (
7
+ FieldMetadata,
8
+ HeaderMetadata,
9
+ PathParamMetadata,
10
+ RequestMetadata,
11
+ )
12
+ import pydantic
13
+ from typing import Optional
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class CreateCaptureRequestTypedDict(TypedDict):
18
+ payment_id: str
19
+ r"""Provide the ID of the related payment."""
20
+ idempotency_key: NotRequired[str]
21
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
22
+ entity_capture: NotRequired[EntityCaptureTypedDict]
23
+
24
+
25
+ class CreateCaptureRequest(BaseModel):
26
+ payment_id: Annotated[
27
+ str,
28
+ pydantic.Field(alias="paymentId"),
29
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
30
+ ]
31
+ r"""Provide the ID of the related payment."""
32
+
33
+ idempotency_key: Annotated[
34
+ Optional[str],
35
+ pydantic.Field(alias="idempotency-key"),
36
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
37
+ ] = None
38
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
39
+
40
+ entity_capture: Annotated[
41
+ Optional[EntityCapture],
42
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
43
+ ] = None
@@ -0,0 +1,29 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .client_link_request import ClientLinkRequest, ClientLinkRequestTypedDict
5
+ from mollie.types import BaseModel
6
+ from mollie.utils import FieldMetadata, HeaderMetadata, RequestMetadata
7
+ import pydantic
8
+ from typing import Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class CreateClientLinkRequestTypedDict(TypedDict):
13
+ idempotency_key: NotRequired[str]
14
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
15
+ client_link_request: NotRequired[ClientLinkRequestTypedDict]
16
+
17
+
18
+ class CreateClientLinkRequest(BaseModel):
19
+ idempotency_key: Annotated[
20
+ Optional[str],
21
+ pydantic.Field(alias="idempotency-key"),
22
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
23
+ ] = None
24
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
25
+
26
+ client_link_request: Annotated[
27
+ Optional[ClientLinkRequest],
28
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
29
+ ] = None
@@ -0,0 +1,32 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .entity_balance_transfer import (
5
+ EntityBalanceTransfer,
6
+ EntityBalanceTransferTypedDict,
7
+ )
8
+ from mollie.types import BaseModel
9
+ from mollie.utils import FieldMetadata, HeaderMetadata, RequestMetadata
10
+ import pydantic
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class CreateConnectBalanceTransferRequestTypedDict(TypedDict):
16
+ idempotency_key: NotRequired[str]
17
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
18
+ entity_balance_transfer: NotRequired[EntityBalanceTransferTypedDict]
19
+
20
+
21
+ class CreateConnectBalanceTransferRequest(BaseModel):
22
+ idempotency_key: Annotated[
23
+ Optional[str],
24
+ pydantic.Field(alias="idempotency-key"),
25
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
26
+ ] = None
27
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
28
+
29
+ entity_balance_transfer: Annotated[
30
+ Optional[EntityBalanceTransfer],
31
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
32
+ ] = None
@@ -0,0 +1,43 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .payment_request import PaymentRequest, PaymentRequestTypedDict
5
+ from mollie.types import BaseModel
6
+ from mollie.utils import (
7
+ FieldMetadata,
8
+ HeaderMetadata,
9
+ PathParamMetadata,
10
+ RequestMetadata,
11
+ )
12
+ import pydantic
13
+ from typing import Optional
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class CreateCustomerPaymentRequestTypedDict(TypedDict):
18
+ customer_id: str
19
+ r"""Provide the ID of the related customer."""
20
+ idempotency_key: NotRequired[str]
21
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
22
+ payment_request: NotRequired[PaymentRequestTypedDict]
23
+
24
+
25
+ class CreateCustomerPaymentRequest(BaseModel):
26
+ customer_id: Annotated[
27
+ str,
28
+ pydantic.Field(alias="customerId"),
29
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
30
+ ]
31
+ r"""Provide the ID of the related customer."""
32
+
33
+ idempotency_key: Annotated[
34
+ Optional[str],
35
+ pydantic.Field(alias="idempotency-key"),
36
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
37
+ ] = None
38
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
39
+
40
+ payment_request: Annotated[
41
+ Optional[PaymentRequest],
42
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
43
+ ] = None
@@ -0,0 +1,29 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .entity_customer import EntityCustomer, EntityCustomerTypedDict
5
+ from mollie.types import BaseModel
6
+ from mollie.utils import FieldMetadata, HeaderMetadata, RequestMetadata
7
+ import pydantic
8
+ from typing import Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class CreateCustomerRequestTypedDict(TypedDict):
13
+ idempotency_key: NotRequired[str]
14
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
15
+ entity_customer: NotRequired[EntityCustomerTypedDict]
16
+
17
+
18
+ class CreateCustomerRequest(BaseModel):
19
+ idempotency_key: Annotated[
20
+ Optional[str],
21
+ pydantic.Field(alias="idempotency-key"),
22
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
23
+ ] = None
24
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
25
+
26
+ entity_customer: Annotated[
27
+ Optional[EntityCustomer],
28
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
29
+ ] = None
@@ -0,0 +1,43 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .mandate_request import MandateRequest, MandateRequestTypedDict
5
+ from mollie.types import BaseModel
6
+ from mollie.utils import (
7
+ FieldMetadata,
8
+ HeaderMetadata,
9
+ PathParamMetadata,
10
+ RequestMetadata,
11
+ )
12
+ import pydantic
13
+ from typing import Optional
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class CreateMandateRequestTypedDict(TypedDict):
18
+ customer_id: str
19
+ r"""Provide the ID of the related customer."""
20
+ idempotency_key: NotRequired[str]
21
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
22
+ mandate_request: NotRequired[MandateRequestTypedDict]
23
+
24
+
25
+ class CreateMandateRequest(BaseModel):
26
+ customer_id: Annotated[
27
+ str,
28
+ pydantic.Field(alias="customerId"),
29
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
30
+ ]
31
+ r"""Provide the ID of the related customer."""
32
+
33
+ idempotency_key: Annotated[
34
+ Optional[str],
35
+ pydantic.Field(alias="idempotency-key"),
36
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
37
+ ] = None
38
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
39
+
40
+ mandate_request: Annotated[
41
+ Optional[MandateRequest],
42
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
43
+ ] = None