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,69 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .webhook_event_types import WebhookEventTypes
5
+ from mollie.types import BaseModel
6
+ from mollie.utils import FieldMetadata, HeaderMetadata, RequestMetadata
7
+ import pydantic
8
+ from typing import List, Optional, Union
9
+ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
10
+
11
+
12
+ CreateWebhookEventTypesTypedDict = TypeAliasType(
13
+ "CreateWebhookEventTypesTypedDict",
14
+ Union[List[WebhookEventTypes], WebhookEventTypes],
15
+ )
16
+
17
+
18
+ CreateWebhookEventTypes = TypeAliasType(
19
+ "CreateWebhookEventTypes", Union[List[WebhookEventTypes], WebhookEventTypes]
20
+ )
21
+
22
+
23
+ class CreateWebhookRequestBodyTypedDict(TypedDict):
24
+ name: str
25
+ r"""A name that identifies the webhook."""
26
+ url: str
27
+ r"""The URL Mollie will send the events to. This URL must be publicly accessible."""
28
+ event_types: CreateWebhookEventTypesTypedDict
29
+ testmode: NotRequired[bool]
30
+ r"""Whether to create the entity in test mode or live mode.
31
+
32
+ You can enable test mode by setting `testmode` to `true`.
33
+ """
34
+
35
+
36
+ class CreateWebhookRequestBody(BaseModel):
37
+ name: str
38
+ r"""A name that identifies the webhook."""
39
+
40
+ url: str
41
+ r"""The URL Mollie will send the events to. This URL must be publicly accessible."""
42
+
43
+ event_types: Annotated[CreateWebhookEventTypes, pydantic.Field(alias="eventTypes")]
44
+
45
+ testmode: Optional[bool] = None
46
+ r"""Whether to create the entity in test mode or live mode.
47
+
48
+ You can enable test mode by setting `testmode` to `true`.
49
+ """
50
+
51
+
52
+ class CreateWebhookRequestTypedDict(TypedDict):
53
+ idempotency_key: NotRequired[str]
54
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
55
+ request_body: NotRequired[CreateWebhookRequestBodyTypedDict]
56
+
57
+
58
+ class CreateWebhookRequest(BaseModel):
59
+ idempotency_key: Annotated[
60
+ Optional[str],
61
+ pydantic.Field(alias="idempotency-key"),
62
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
63
+ ] = None
64
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
65
+
66
+ request_body: Annotated[
67
+ Optional[CreateWebhookRequestBody],
68
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
69
+ ] = None
@@ -0,0 +1,20 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+ from mollie import utils
6
+
7
+
8
+ class Currencies(str, Enum, metaclass=utils.OpenEnumMeta):
9
+ EUR = "EUR"
10
+ GBP = "GBP"
11
+ CHF = "CHF"
12
+ DKK = "DKK"
13
+ NOK = "NOK"
14
+ PLN = "PLN"
15
+ SEK = "SEK"
16
+ USD = "USD"
17
+ CZK = "CZK"
18
+ HUF = "HUF"
19
+ AUD = "AUD"
20
+ CAD = "CAD"
@@ -0,0 +1,169 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .locale_response import LocaleResponse
5
+ from .metadata import Metadata, MetadataTypedDict
6
+ from .mode import Mode
7
+ from .url import URL, URLTypedDict
8
+ from .url_nullable import URLNullable, URLNullableTypedDict
9
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
10
+ from mollie.utils import validate_open_enum
11
+ import pydantic
12
+ from pydantic import model_serializer
13
+ from pydantic.functional_validators import PlainValidator
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class CustomerResponseLinksTypedDict(TypedDict):
18
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
19
+
20
+ self_: URLTypedDict
21
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
22
+ dashboard: URLTypedDict
23
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
24
+ documentation: URLTypedDict
25
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
26
+ payments: NotRequired[Nullable[URLNullableTypedDict]]
27
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
28
+ mandates: NotRequired[Nullable[URLNullableTypedDict]]
29
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
30
+ subscriptions: NotRequired[Nullable[URLNullableTypedDict]]
31
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
32
+
33
+
34
+ class CustomerResponseLinks(BaseModel):
35
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
36
+
37
+ self_: Annotated[URL, pydantic.Field(alias="self")]
38
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
39
+
40
+ dashboard: URL
41
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
42
+
43
+ documentation: URL
44
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
45
+
46
+ payments: OptionalNullable[URLNullable] = UNSET
47
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
48
+
49
+ mandates: OptionalNullable[URLNullable] = UNSET
50
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
51
+
52
+ subscriptions: OptionalNullable[URLNullable] = UNSET
53
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
54
+
55
+ @model_serializer(mode="wrap")
56
+ def serialize_model(self, handler):
57
+ optional_fields = ["payments", "mandates", "subscriptions"]
58
+ nullable_fields = ["payments", "mandates", "subscriptions"]
59
+ null_default_fields = []
60
+
61
+ serialized = handler(self)
62
+
63
+ m = {}
64
+
65
+ for n, f in type(self).model_fields.items():
66
+ k = f.alias or n
67
+ val = serialized.get(k)
68
+ serialized.pop(k, None)
69
+
70
+ optional_nullable = k in optional_fields and k in nullable_fields
71
+ is_set = (
72
+ self.__pydantic_fields_set__.intersection({n})
73
+ or k in null_default_fields
74
+ ) # pylint: disable=no-member
75
+
76
+ if val is not None and val != UNSET_SENTINEL:
77
+ m[k] = val
78
+ elif val != UNSET_SENTINEL and (
79
+ not k in optional_fields or (optional_nullable and is_set)
80
+ ):
81
+ m[k] = val
82
+
83
+ return m
84
+
85
+
86
+ class CustomerResponseTypedDict(TypedDict):
87
+ resource: str
88
+ r"""Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint."""
89
+ id: str
90
+ r"""The identifier uniquely referring to this customer. Example: `cst_vsKJpSsabw`."""
91
+ mode: Mode
92
+ r"""Whether this entity was created in live mode or in test mode."""
93
+ name: Nullable[str]
94
+ r"""The full name of the customer."""
95
+ email: Nullable[str]
96
+ r"""The email address of the customer."""
97
+ locale: Nullable[LocaleResponse]
98
+ r"""Allows you to preset the language to be used."""
99
+ metadata: Nullable[MetadataTypedDict]
100
+ r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
101
+ you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
102
+ """
103
+ created_at: str
104
+ r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
105
+ links: CustomerResponseLinksTypedDict
106
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
107
+
108
+
109
+ class CustomerResponse(BaseModel):
110
+ resource: str
111
+ r"""Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint."""
112
+
113
+ id: str
114
+ r"""The identifier uniquely referring to this customer. Example: `cst_vsKJpSsabw`."""
115
+
116
+ mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
117
+ r"""Whether this entity was created in live mode or in test mode."""
118
+
119
+ name: Nullable[str]
120
+ r"""The full name of the customer."""
121
+
122
+ email: Nullable[str]
123
+ r"""The email address of the customer."""
124
+
125
+ locale: Annotated[
126
+ Nullable[LocaleResponse], PlainValidator(validate_open_enum(False))
127
+ ]
128
+ r"""Allows you to preset the language to be used."""
129
+
130
+ metadata: Nullable[Metadata]
131
+ r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
132
+ you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
133
+ """
134
+
135
+ created_at: Annotated[str, pydantic.Field(alias="createdAt")]
136
+ r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
137
+
138
+ links: Annotated[CustomerResponseLinks, pydantic.Field(alias="_links")]
139
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
140
+
141
+ @model_serializer(mode="wrap")
142
+ def serialize_model(self, handler):
143
+ optional_fields = []
144
+ nullable_fields = ["name", "email", "locale", "metadata"]
145
+ null_default_fields = []
146
+
147
+ serialized = handler(self)
148
+
149
+ m = {}
150
+
151
+ for n, f in type(self).model_fields.items():
152
+ k = f.alias or n
153
+ val = serialized.get(k)
154
+ serialized.pop(k, None)
155
+
156
+ optional_nullable = k in optional_fields and k in nullable_fields
157
+ is_set = (
158
+ self.__pydantic_fields_set__.intersection({n})
159
+ or k in null_default_fields
160
+ ) # pylint: disable=no-member
161
+
162
+ if val is not None and val != UNSET_SENTINEL:
163
+ m[k] = val
164
+ elif val != UNSET_SENTINEL and (
165
+ not k in optional_fields or (optional_nullable and is_set)
166
+ ):
167
+ m[k] = val
168
+
169
+ return m
@@ -0,0 +1,91 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
5
+ from mollie.utils import (
6
+ FieldMetadata,
7
+ HeaderMetadata,
8
+ PathParamMetadata,
9
+ RequestMetadata,
10
+ )
11
+ import pydantic
12
+ from pydantic import model_serializer
13
+ from typing import Optional
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class DeleteCustomerRequestBodyTypedDict(TypedDict):
18
+ testmode: NotRequired[Nullable[bool]]
19
+ r"""Most API credentials are specifically created for either live mode or test mode. For organization-level credentials
20
+ such as OAuth access tokens, you can enable test mode by setting `testmode` 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 DeleteCustomerRequestBody(BaseModel):
27
+ testmode: OptionalNullable[bool] = UNSET
28
+ r"""Most API credentials are specifically created for either live mode or test mode. For organization-level credentials
29
+ such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
30
+
31
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
32
+ """
33
+
34
+ @model_serializer(mode="wrap")
35
+ def serialize_model(self, handler):
36
+ optional_fields = ["testmode"]
37
+ nullable_fields = ["testmode"]
38
+ null_default_fields = []
39
+
40
+ serialized = handler(self)
41
+
42
+ m = {}
43
+
44
+ for n, f in type(self).model_fields.items():
45
+ k = f.alias or n
46
+ val = serialized.get(k)
47
+ serialized.pop(k, None)
48
+
49
+ optional_nullable = k in optional_fields and k in nullable_fields
50
+ is_set = (
51
+ self.__pydantic_fields_set__.intersection({n})
52
+ or k in null_default_fields
53
+ ) # pylint: disable=no-member
54
+
55
+ if val is not None and val != UNSET_SENTINEL:
56
+ m[k] = val
57
+ elif val != UNSET_SENTINEL and (
58
+ not k in optional_fields or (optional_nullable and is_set)
59
+ ):
60
+ m[k] = val
61
+
62
+ return m
63
+
64
+
65
+ class DeleteCustomerRequestTypedDict(TypedDict):
66
+ customer_id: str
67
+ r"""Provide the ID of the related customer."""
68
+ idempotency_key: NotRequired[str]
69
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
70
+ request_body: NotRequired[DeleteCustomerRequestBodyTypedDict]
71
+
72
+
73
+ class DeleteCustomerRequest(BaseModel):
74
+ customer_id: Annotated[
75
+ str,
76
+ pydantic.Field(alias="customerId"),
77
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
78
+ ]
79
+ r"""Provide the ID of the related customer."""
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."""
87
+
88
+ request_body: Annotated[
89
+ Optional[DeleteCustomerRequestBody],
90
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
91
+ ] = None
@@ -0,0 +1,91 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
5
+ from mollie.utils import (
6
+ FieldMetadata,
7
+ HeaderMetadata,
8
+ PathParamMetadata,
9
+ RequestMetadata,
10
+ )
11
+ import pydantic
12
+ from pydantic import model_serializer
13
+ from typing import Optional
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class DeletePaymentLinkRequestBodyTypedDict(TypedDict):
18
+ testmode: NotRequired[Nullable[bool]]
19
+ r"""Most API credentials are specifically created for either live mode or test mode. For organization-level credentials
20
+ such as OAuth access tokens, you can enable test mode by setting `testmode` 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 DeletePaymentLinkRequestBody(BaseModel):
27
+ testmode: OptionalNullable[bool] = UNSET
28
+ r"""Most API credentials are specifically created for either live mode or test mode. For organization-level credentials
29
+ such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
30
+
31
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
32
+ """
33
+
34
+ @model_serializer(mode="wrap")
35
+ def serialize_model(self, handler):
36
+ optional_fields = ["testmode"]
37
+ nullable_fields = ["testmode"]
38
+ null_default_fields = []
39
+
40
+ serialized = handler(self)
41
+
42
+ m = {}
43
+
44
+ for n, f in type(self).model_fields.items():
45
+ k = f.alias or n
46
+ val = serialized.get(k)
47
+ serialized.pop(k, None)
48
+
49
+ optional_nullable = k in optional_fields and k in nullable_fields
50
+ is_set = (
51
+ self.__pydantic_fields_set__.intersection({n})
52
+ or k in null_default_fields
53
+ ) # pylint: disable=no-member
54
+
55
+ if val is not None and val != UNSET_SENTINEL:
56
+ m[k] = val
57
+ elif val != UNSET_SENTINEL and (
58
+ not k in optional_fields or (optional_nullable and is_set)
59
+ ):
60
+ m[k] = val
61
+
62
+ return m
63
+
64
+
65
+ class DeletePaymentLinkRequestTypedDict(TypedDict):
66
+ payment_link_id: str
67
+ r"""Provide the ID of the related payment link."""
68
+ idempotency_key: NotRequired[str]
69
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
70
+ request_body: NotRequired[DeletePaymentLinkRequestBodyTypedDict]
71
+
72
+
73
+ class DeletePaymentLinkRequest(BaseModel):
74
+ payment_link_id: Annotated[
75
+ str,
76
+ pydantic.Field(alias="paymentLinkId"),
77
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
78
+ ]
79
+ r"""Provide the ID of the related payment link."""
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."""
87
+
88
+ request_body: Annotated[
89
+ Optional[DeletePaymentLinkRequestBody],
90
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
91
+ ] = None
@@ -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 DeleteProfileRequestTypedDict(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 DeleteProfileRequest(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,44 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .delete_values_sales_invoice import (
5
+ DeleteValuesSalesInvoice,
6
+ DeleteValuesSalesInvoiceTypedDict,
7
+ )
8
+ from mollie.types import BaseModel
9
+ from mollie.utils import (
10
+ FieldMetadata,
11
+ HeaderMetadata,
12
+ PathParamMetadata,
13
+ RequestMetadata,
14
+ )
15
+ import pydantic
16
+ from typing import Optional
17
+ from typing_extensions import Annotated, NotRequired, TypedDict
18
+
19
+
20
+ class DeleteSalesInvoiceRequestTypedDict(TypedDict):
21
+ id: str
22
+ r"""Provide the ID of the item you want to perform this operation on."""
23
+ idempotency_key: NotRequired[str]
24
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
25
+ delete_values_sales_invoice: NotRequired[DeleteValuesSalesInvoiceTypedDict]
26
+
27
+
28
+ class DeleteSalesInvoiceRequest(BaseModel):
29
+ id: Annotated[
30
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
31
+ ]
32
+ r"""Provide the ID of the item you want to perform this operation on."""
33
+
34
+ idempotency_key: Annotated[
35
+ Optional[str],
36
+ pydantic.Field(alias="idempotency-key"),
37
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
38
+ ] = None
39
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
40
+
41
+ delete_values_sales_invoice: Annotated[
42
+ Optional[DeleteValuesSalesInvoice],
43
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
44
+ ] = None
@@ -0,0 +1,54 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
5
+ from pydantic import model_serializer
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ class DeleteValuesSalesInvoiceTypedDict(TypedDict):
10
+ testmode: NotRequired[Nullable[bool]]
11
+ r"""Most API credentials are specifically created for either live mode or test mode. For organization-level credentials
12
+ such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
13
+
14
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
15
+ """
16
+
17
+
18
+ class DeleteValuesSalesInvoice(BaseModel):
19
+ testmode: OptionalNullable[bool] = UNSET
20
+ r"""Most API credentials are specifically created for either live mode or test mode. For organization-level credentials
21
+ such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.
22
+
23
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
24
+ """
25
+
26
+ @model_serializer(mode="wrap")
27
+ def serialize_model(self, handler):
28
+ optional_fields = ["testmode"]
29
+ nullable_fields = ["testmode"]
30
+ null_default_fields = []
31
+
32
+ serialized = handler(self)
33
+
34
+ m = {}
35
+
36
+ for n, f in type(self).model_fields.items():
37
+ k = f.alias or n
38
+ val = serialized.get(k)
39
+ serialized.pop(k, None)
40
+
41
+ optional_nullable = k in optional_fields and k in nullable_fields
42
+ is_set = (
43
+ self.__pydantic_fields_set__.intersection({n})
44
+ or k in null_default_fields
45
+ ) # pylint: disable=no-member
46
+
47
+ if val is not None and val != UNSET_SENTINEL:
48
+ m[k] = val
49
+ elif val != UNSET_SENTINEL and (
50
+ not k in optional_fields or (optional_nullable and is_set)
51
+ ):
52
+ m[k] = val
53
+
54
+ 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 mollie.types import BaseModel
5
+ from mollie.utils import (
6
+ FieldMetadata,
7
+ HeaderMetadata,
8
+ PathParamMetadata,
9
+ RequestMetadata,
10
+ )
11
+ import pydantic
12
+ from typing import Optional
13
+ from typing_extensions import Annotated, NotRequired, TypedDict
14
+
15
+
16
+ class DeleteWebhookRequestBodyTypedDict(TypedDict):
17
+ testmode: NotRequired[bool]
18
+ r"""You can enable test mode by setting `testmode` to `true`.
19
+
20
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
21
+ """
22
+
23
+
24
+ class DeleteWebhookRequestBody(BaseModel):
25
+ testmode: Optional[bool] = None
26
+ r"""You can enable test mode by setting `testmode` to `true`.
27
+
28
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
29
+ """
30
+
31
+
32
+ class DeleteWebhookRequestTypedDict(TypedDict):
33
+ id: str
34
+ r"""Provide the ID of the item you want to perform this operation on."""
35
+ idempotency_key: NotRequired[str]
36
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
37
+ request_body: NotRequired[DeleteWebhookRequestBodyTypedDict]
38
+
39
+
40
+ class DeleteWebhookRequest(BaseModel):
41
+ id: Annotated[
42
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
43
+ ]
44
+ r"""Provide the ID of the item you want to perform this operation on."""
45
+
46
+ idempotency_key: Annotated[
47
+ Optional[str],
48
+ pydantic.Field(alias="idempotency-key"),
49
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
50
+ ] = None
51
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
52
+
53
+ request_body: Annotated[
54
+ Optional[DeleteWebhookRequestBody],
55
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
56
+ ] = None