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,71 @@
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 GetOrganizationGlobalsTypedDict(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 GetOrganizationGlobals(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 GetOrganizationRequestTypedDict(TypedDict):
40
+ id: str
41
+ r"""Provide the ID of the item you want to perform this operation on."""
42
+ testmode: NotRequired[bool]
43
+ r"""You can enable test mode by setting the `testmode` query parameter to `true`.
44
+
45
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
46
+ """
47
+ idempotency_key: NotRequired[str]
48
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
49
+
50
+
51
+ class GetOrganizationRequest(BaseModel):
52
+ id: Annotated[
53
+ str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
54
+ ]
55
+ r"""Provide the ID of the item you want to perform this operation on."""
56
+
57
+ testmode: Annotated[
58
+ Optional[bool],
59
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
60
+ ] = None
61
+ r"""You can enable test mode by setting the `testmode` query parameter to `true`.
62
+
63
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
64
+ """
65
+
66
+ idempotency_key: Annotated[
67
+ Optional[str],
68
+ pydantic.Field(alias="idempotency-key"),
69
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
70
+ ] = None
71
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
@@ -0,0 +1,231 @@
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 enum import Enum
6
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
+ from mollie.utils import FieldMetadata, HeaderMetadata
8
+ import pydantic
9
+ from pydantic import model_serializer
10
+ from typing import List, Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class GetPartnerStatusRequestTypedDict(TypedDict):
15
+ idempotency_key: NotRequired[str]
16
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
17
+
18
+
19
+ class GetPartnerStatusRequest(BaseModel):
20
+ idempotency_key: Annotated[
21
+ Optional[str],
22
+ pydantic.Field(alias="idempotency-key"),
23
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
24
+ ] = None
25
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
26
+
27
+
28
+ class PartnerType(str, Enum):
29
+ r"""Indicates the type of partner. Will be `null` if the currently authenticated organization is not
30
+ enrolled as a partner.
31
+ """
32
+
33
+ OAUTH = "oauth"
34
+ SIGNUPLINK = "signuplink"
35
+ USERAGENT = "useragent"
36
+
37
+
38
+ class UserAgentTokenTypedDict(TypedDict):
39
+ token: NotRequired[str]
40
+ r"""The unique User-Agent token."""
41
+ starts_at: NotRequired[str]
42
+ r"""The date from which the token is active, in ISO 8601 format."""
43
+ ends_at: NotRequired[Nullable[str]]
44
+ r"""The date until when the token will be active, in ISO 8601 format. Will be `null` if the token
45
+ does not have an end date (yet).
46
+ """
47
+
48
+
49
+ class UserAgentToken(BaseModel):
50
+ token: Optional[str] = None
51
+ r"""The unique User-Agent token."""
52
+
53
+ starts_at: Annotated[Optional[str], pydantic.Field(alias="startsAt")] = None
54
+ r"""The date from which the token is active, in ISO 8601 format."""
55
+
56
+ ends_at: Annotated[OptionalNullable[str], pydantic.Field(alias="endsAt")] = UNSET
57
+ r"""The date until when the token will be active, in ISO 8601 format. Will be `null` if the token
58
+ does not have an end date (yet).
59
+ """
60
+
61
+ @model_serializer(mode="wrap")
62
+ def serialize_model(self, handler):
63
+ optional_fields = ["token", "startsAt", "endsAt"]
64
+ nullable_fields = ["endsAt"]
65
+ null_default_fields = []
66
+
67
+ serialized = handler(self)
68
+
69
+ m = {}
70
+
71
+ for n, f in type(self).model_fields.items():
72
+ k = f.alias or n
73
+ val = serialized.get(k)
74
+ serialized.pop(k, None)
75
+
76
+ optional_nullable = k in optional_fields and k in nullable_fields
77
+ is_set = (
78
+ self.__pydantic_fields_set__.intersection({n})
79
+ or k in null_default_fields
80
+ ) # pylint: disable=no-member
81
+
82
+ if val is not None and val != UNSET_SENTINEL:
83
+ m[k] = val
84
+ elif val != UNSET_SENTINEL and (
85
+ not k in optional_fields or (optional_nullable and is_set)
86
+ ):
87
+ m[k] = val
88
+
89
+ return m
90
+
91
+
92
+ class GetPartnerStatusLinksTypedDict(TypedDict):
93
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
94
+
95
+ self_: NotRequired[URLTypedDict]
96
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
97
+ signuplink: NotRequired[URLTypedDict]
98
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
99
+ documentation: NotRequired[URLTypedDict]
100
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
101
+
102
+
103
+ class GetPartnerStatusLinks(BaseModel):
104
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
105
+
106
+ self_: Annotated[Optional[URL], pydantic.Field(alias="self")] = None
107
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
108
+
109
+ signuplink: Optional[URL] = None
110
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
111
+
112
+ documentation: Optional[URL] = None
113
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
114
+
115
+
116
+ class GetPartnerStatusResponseTypedDict(TypedDict):
117
+ r"""The partner status object."""
118
+
119
+ resource: str
120
+ r"""Indicates the response contains a partner status object. Will always contain the string `partner` for
121
+ this endpoint.
122
+ """
123
+ partner_type: Nullable[PartnerType]
124
+ r"""Indicates the type of partner. Will be `null` if the currently authenticated organization is not
125
+ enrolled as a partner.
126
+ """
127
+ is_commission_partner: NotRequired[bool]
128
+ r"""Whether the current organization is receiving commissions."""
129
+ user_agent_tokens: NotRequired[List[UserAgentTokenTypedDict]]
130
+ r"""Array of User-Agent token objects. Present if the organization is a partner of type `useragent`, or if
131
+ they were in the past.
132
+ """
133
+ partner_contract_signed_at: NotRequired[Nullable[str]]
134
+ r"""The date the partner contract was signed, in ISO 8601 format. Omitted if no contract has been signed
135
+ (yet).
136
+ """
137
+ partner_contract_update_available: NotRequired[bool]
138
+ r"""Whether an update to the partner contract is available and requiring the organization's agreement."""
139
+ partner_contract_expires_at: NotRequired[str]
140
+ r"""The expiration date of the signed partner contract, in ISO 8601 format. Omitted if contract has no
141
+ expiration date (yet).
142
+ """
143
+ links: NotRequired[GetPartnerStatusLinksTypedDict]
144
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
145
+
146
+
147
+ class GetPartnerStatusResponse(BaseModel):
148
+ r"""The partner status object."""
149
+
150
+ resource: str
151
+ r"""Indicates the response contains a partner status object. Will always contain the string `partner` for
152
+ this endpoint.
153
+ """
154
+
155
+ partner_type: Annotated[Nullable[PartnerType], pydantic.Field(alias="partnerType")]
156
+ r"""Indicates the type of partner. Will be `null` if the currently authenticated organization is not
157
+ enrolled as a partner.
158
+ """
159
+
160
+ is_commission_partner: Annotated[
161
+ Optional[bool], pydantic.Field(alias="isCommissionPartner")
162
+ ] = None
163
+ r"""Whether the current organization is receiving commissions."""
164
+
165
+ user_agent_tokens: Annotated[
166
+ Optional[List[UserAgentToken]], pydantic.Field(alias="userAgentTokens")
167
+ ] = None
168
+ r"""Array of User-Agent token objects. Present if the organization is a partner of type `useragent`, or if
169
+ they were in the past.
170
+ """
171
+
172
+ partner_contract_signed_at: Annotated[
173
+ OptionalNullable[str], pydantic.Field(alias="partnerContractSignedAt")
174
+ ] = UNSET
175
+ r"""The date the partner contract was signed, in ISO 8601 format. Omitted if no contract has been signed
176
+ (yet).
177
+ """
178
+
179
+ partner_contract_update_available: Annotated[
180
+ Optional[bool], pydantic.Field(alias="partnerContractUpdateAvailable")
181
+ ] = None
182
+ r"""Whether an update to the partner contract is available and requiring the organization's agreement."""
183
+
184
+ partner_contract_expires_at: Annotated[
185
+ Optional[str], pydantic.Field(alias="partnerContractExpiresAt")
186
+ ] = None
187
+ r"""The expiration date of the signed partner contract, in ISO 8601 format. Omitted if contract has no
188
+ expiration date (yet).
189
+ """
190
+
191
+ links: Annotated[
192
+ Optional[GetPartnerStatusLinks], pydantic.Field(alias="_links")
193
+ ] = None
194
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
195
+
196
+ @model_serializer(mode="wrap")
197
+ def serialize_model(self, handler):
198
+ optional_fields = [
199
+ "isCommissionPartner",
200
+ "userAgentTokens",
201
+ "partnerContractSignedAt",
202
+ "partnerContractUpdateAvailable",
203
+ "partnerContractExpiresAt",
204
+ "_links",
205
+ ]
206
+ nullable_fields = ["partnerType", "partnerContractSignedAt"]
207
+ null_default_fields = []
208
+
209
+ serialized = handler(self)
210
+
211
+ m = {}
212
+
213
+ for n, f in type(self).model_fields.items():
214
+ k = f.alias or n
215
+ val = serialized.get(k)
216
+ serialized.pop(k, None)
217
+
218
+ optional_nullable = k in optional_fields and k in nullable_fields
219
+ is_set = (
220
+ self.__pydantic_fields_set__.intersection({n})
221
+ or k in null_default_fields
222
+ ) # pylint: disable=no-member
223
+
224
+ if val is not None and val != UNSET_SENTINEL:
225
+ m[k] = val
226
+ elif val != UNSET_SENTINEL and (
227
+ not k in optional_fields or (optional_nullable and is_set)
228
+ ):
229
+ m[k] = val
230
+
231
+ return m
@@ -0,0 +1,188 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .list_links import ListLinks, ListLinksTypedDict
5
+ from .list_payment_response import ListPaymentResponse, ListPaymentResponseTypedDict
6
+ from .sorting import Sorting
7
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
8
+ from mollie.utils import (
9
+ FieldMetadata,
10
+ HeaderMetadata,
11
+ PathParamMetadata,
12
+ QueryParamMetadata,
13
+ )
14
+ import pydantic
15
+ from pydantic import model_serializer
16
+ from typing import List, Optional
17
+ from typing_extensions import Annotated, NotRequired, TypedDict
18
+
19
+
20
+ class GetPaymentLinkPaymentsGlobalsTypedDict(TypedDict):
21
+ testmode: NotRequired[bool]
22
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
23
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
24
+ setting the `testmode` query parameter to `true`.
25
+
26
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
27
+ """
28
+
29
+
30
+ class GetPaymentLinkPaymentsGlobals(BaseModel):
31
+ testmode: Annotated[
32
+ Optional[bool],
33
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
34
+ ] = None
35
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
36
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
37
+ setting the `testmode` query parameter to `true`.
38
+
39
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
40
+ """
41
+
42
+
43
+ class GetPaymentLinkPaymentsRequestTypedDict(TypedDict):
44
+ payment_link_id: str
45
+ r"""Provide the ID of the related payment link."""
46
+ from_: NotRequired[str]
47
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
48
+ result set.
49
+ """
50
+ limit: NotRequired[Nullable[int]]
51
+ r"""The maximum number of items to return. Defaults to 50 items."""
52
+ sort: NotRequired[Sorting]
53
+ r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
54
+ newest to oldest.
55
+ """
56
+ testmode: NotRequired[bool]
57
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
58
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
59
+ setting the `testmode` query parameter to `true`.
60
+
61
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
62
+ """
63
+ idempotency_key: NotRequired[str]
64
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
65
+
66
+
67
+ class GetPaymentLinkPaymentsRequest(BaseModel):
68
+ payment_link_id: Annotated[
69
+ str,
70
+ pydantic.Field(alias="paymentLinkId"),
71
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
72
+ ]
73
+ r"""Provide the ID of the related payment link."""
74
+
75
+ from_: Annotated[
76
+ Optional[str],
77
+ pydantic.Field(alias="from"),
78
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
79
+ ] = None
80
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
81
+ result set.
82
+ """
83
+
84
+ limit: Annotated[
85
+ OptionalNullable[int],
86
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
87
+ ] = UNSET
88
+ r"""The maximum number of items to return. Defaults to 50 items."""
89
+
90
+ sort: Annotated[
91
+ Optional[Sorting],
92
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
93
+ ] = None
94
+ r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
95
+ newest to oldest.
96
+ """
97
+
98
+ testmode: Annotated[
99
+ Optional[bool],
100
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
101
+ ] = None
102
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
103
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
104
+ setting the `testmode` query parameter to `true`.
105
+
106
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
107
+ """
108
+
109
+ idempotency_key: Annotated[
110
+ Optional[str],
111
+ pydantic.Field(alias="idempotency-key"),
112
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
113
+ ] = None
114
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
115
+
116
+ @model_serializer(mode="wrap")
117
+ def serialize_model(self, handler):
118
+ optional_fields = ["from", "limit", "sort", "testmode", "idempotency-key"]
119
+ nullable_fields = ["limit"]
120
+ null_default_fields = []
121
+
122
+ serialized = handler(self)
123
+
124
+ m = {}
125
+
126
+ for n, f in type(self).model_fields.items():
127
+ k = f.alias or n
128
+ val = serialized.get(k)
129
+ serialized.pop(k, None)
130
+
131
+ optional_nullable = k in optional_fields and k in nullable_fields
132
+ is_set = (
133
+ self.__pydantic_fields_set__.intersection({n})
134
+ or k in null_default_fields
135
+ ) # pylint: disable=no-member
136
+
137
+ if val is not None and val != UNSET_SENTINEL:
138
+ m[k] = val
139
+ elif val != UNSET_SENTINEL and (
140
+ not k in optional_fields or (optional_nullable and is_set)
141
+ ):
142
+ m[k] = val
143
+
144
+ return m
145
+
146
+
147
+ class GetPaymentLinkPaymentsEmbeddedTypedDict(TypedDict):
148
+ payments: NotRequired[List[ListPaymentResponseTypedDict]]
149
+ r"""An array of payment objects."""
150
+
151
+
152
+ class GetPaymentLinkPaymentsEmbedded(BaseModel):
153
+ payments: Optional[List[ListPaymentResponse]] = None
154
+ r"""An array of payment objects."""
155
+
156
+
157
+ class GetPaymentLinkPaymentsResponseTypedDict(TypedDict):
158
+ r"""A list of payment objects."""
159
+
160
+ count: int
161
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
162
+ as well.
163
+
164
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
165
+ limit is 50 items.
166
+ """
167
+ embedded: GetPaymentLinkPaymentsEmbeddedTypedDict
168
+ links: ListLinksTypedDict
169
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
170
+
171
+
172
+ class GetPaymentLinkPaymentsResponse(BaseModel):
173
+ r"""A list of payment objects."""
174
+
175
+ count: int
176
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
177
+ as well.
178
+
179
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
180
+ limit is 50 items.
181
+ """
182
+
183
+ embedded: Annotated[
184
+ GetPaymentLinkPaymentsEmbedded, pydantic.Field(alias="_embedded")
185
+ ]
186
+
187
+ links: Annotated[ListLinks, pydantic.Field(alias="_links")]
188
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
@@ -0,0 +1,77 @@
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 GetPaymentLinkGlobalsTypedDict(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 GetPaymentLinkGlobals(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 GetPaymentLinkRequestTypedDict(TypedDict):
40
+ payment_link_id: str
41
+ r"""Provide the ID of the related payment link."""
42
+ testmode: NotRequired[bool]
43
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
44
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
45
+ setting the `testmode` query parameter to `true`.
46
+
47
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
48
+ """
49
+ idempotency_key: NotRequired[str]
50
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
51
+
52
+
53
+ class GetPaymentLinkRequest(BaseModel):
54
+ payment_link_id: Annotated[
55
+ str,
56
+ pydantic.Field(alias="paymentLinkId"),
57
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
58
+ ]
59
+ r"""Provide the ID of the related payment link."""
60
+
61
+ testmode: Annotated[
62
+ Optional[bool],
63
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
64
+ ] = None
65
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
66
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
67
+ setting the `testmode` query parameter to `true`.
68
+
69
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
70
+ """
71
+
72
+ idempotency_key: Annotated[
73
+ Optional[str],
74
+ pydantic.Field(alias="idempotency-key"),
75
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
76
+ ] = None
77
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""