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,186 @@
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_mandate_response import ListMandateResponse, ListMandateResponseTypedDict
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 ListMandatesGlobalsTypedDict(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 ListMandatesGlobals(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 ListMandatesRequestTypedDict(TypedDict):
44
+ customer_id: str
45
+ r"""Provide the ID of the related customer."""
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 ListMandatesRequest(BaseModel):
68
+ customer_id: Annotated[
69
+ str,
70
+ pydantic.Field(alias="customerId"),
71
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
72
+ ]
73
+ r"""Provide the ID of the related customer."""
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 ListMandatesEmbeddedTypedDict(TypedDict):
148
+ mandates: List[ListMandateResponseTypedDict]
149
+ r"""An array of mandate objects."""
150
+
151
+
152
+ class ListMandatesEmbedded(BaseModel):
153
+ mandates: List[ListMandateResponse]
154
+ r"""An array of mandate objects."""
155
+
156
+
157
+ class ListMandatesResponseTypedDict(TypedDict):
158
+ r"""A list of mandate 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: ListMandatesEmbeddedTypedDict
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 ListMandatesResponse(BaseModel):
173
+ r"""A list of mandate 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[ListMandatesEmbedded, pydantic.Field(alias="_embedded")]
184
+
185
+ links: Annotated[ListLinks, pydantic.Field(alias="_links")]
186
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
@@ -0,0 +1,332 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .amount import Amount, AmountTypedDict
5
+ from .line_categories import LineCategories
6
+ from .list_entity_method import ListEntityMethod, ListEntityMethodTypedDict
7
+ from .locale import Locale
8
+ from .method_include_wallets_parameter import MethodIncludeWalletsParameter
9
+ from .method_resource_parameter import MethodResourceParameter
10
+ from .sequence_type import SequenceType
11
+ from .url import URL, URLTypedDict
12
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
13
+ from mollie.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
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 ListMethodsGlobalsTypedDict(TypedDict):
21
+ profile_id: NotRequired[str]
22
+ r"""The identifier referring to the [profile](get-profile) you wish to
23
+ retrieve the resources for.
24
+
25
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
26
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
27
+ """
28
+ testmode: NotRequired[bool]
29
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
30
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
31
+ setting the `testmode` query parameter to `true`.
32
+
33
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
34
+ """
35
+
36
+
37
+ class ListMethodsGlobals(BaseModel):
38
+ profile_id: Annotated[
39
+ Optional[str],
40
+ pydantic.Field(alias="profileId"),
41
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
42
+ ] = None
43
+ r"""The identifier referring to the [profile](get-profile) you wish to
44
+ retrieve the resources for.
45
+
46
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
47
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
48
+ """
49
+
50
+ testmode: Annotated[
51
+ Optional[bool],
52
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
53
+ ] = None
54
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
55
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
56
+ setting the `testmode` query parameter to `true`.
57
+
58
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
59
+ """
60
+
61
+
62
+ class ListMethodsRequestTypedDict(TypedDict):
63
+ sequence_type: NotRequired[SequenceType]
64
+ r"""Set this parameter to `first` to only return the enabled methods that
65
+ can be used for the first payment of a recurring sequence.
66
+
67
+ Set it to `recurring` to only return enabled methods that can be used for recurring payments or subscriptions.
68
+ """
69
+ locale: NotRequired[Nullable[Locale]]
70
+ r"""Response language"""
71
+ amount: NotRequired[AmountTypedDict]
72
+ r"""If supplied, only payment methods that support the amount and currency
73
+ are returned.
74
+
75
+ Example: `/v2/methods?amount[value]=100.00&amount[currency]=USD`
76
+ """
77
+ resource: NotRequired[MethodResourceParameter]
78
+ r"""**⚠️ We no longer recommend using the Orders API. Please refer to the [Payments API](payments-api) instead.**
79
+
80
+ Indicate if you will use the result for the [Create order](create-order)
81
+ or the [Create payment](create-payment) endpoint.
82
+
83
+ When passing the value `orders`, the result will include payment methods
84
+ that are only available for payments created via the Orders API.
85
+ """
86
+ billing_country: NotRequired[str]
87
+ r"""The country taken from your customer's billing address in ISO 3166-1 alpha-2 format. This parameter can be used
88
+ to check whether your customer is eligible for certain payment methods, for example for Klarna.
89
+
90
+ Example: `/v2/methods?resource=orders&billingCountry=DE`
91
+ """
92
+ include_wallets: NotRequired[MethodIncludeWalletsParameter]
93
+ r"""A comma-separated list of the wallets you support in your checkout. Wallets often require wallet specific code
94
+ to check if they are available on the shoppers device, hence the need to indicate your support.
95
+ """
96
+ order_line_categories: NotRequired[LineCategories]
97
+ r"""A comma-separated list of the line categories you support in your checkout.
98
+
99
+ Example: `/v2/methods?orderLineCategories=eco,meal`
100
+ """
101
+ profile_id: NotRequired[str]
102
+ r"""The identifier referring to the [profile](get-profile) you wish to
103
+ retrieve the resources for.
104
+
105
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
106
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
107
+ """
108
+ include: NotRequired[Nullable[str]]
109
+ r"""This endpoint allows you to include additional information via the `include` query string parameter."""
110
+ testmode: NotRequired[bool]
111
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
112
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
113
+ setting the `testmode` query parameter to `true`.
114
+
115
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
116
+ """
117
+ idempotency_key: NotRequired[str]
118
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
119
+
120
+
121
+ class ListMethodsRequest(BaseModel):
122
+ sequence_type: Annotated[
123
+ Optional[SequenceType],
124
+ pydantic.Field(alias="sequenceType"),
125
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
126
+ ] = None
127
+ r"""Set this parameter to `first` to only return the enabled methods that
128
+ can be used for the first payment of a recurring sequence.
129
+
130
+ Set it to `recurring` to only return enabled methods that can be used for recurring payments or subscriptions.
131
+ """
132
+
133
+ locale: Annotated[
134
+ OptionalNullable[Locale],
135
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
136
+ ] = UNSET
137
+ r"""Response language"""
138
+
139
+ amount: Annotated[
140
+ Optional[Amount],
141
+ FieldMetadata(query=QueryParamMetadata(style="deepObject", explode=True)),
142
+ ] = None
143
+ r"""If supplied, only payment methods that support the amount and currency
144
+ are returned.
145
+
146
+ Example: `/v2/methods?amount[value]=100.00&amount[currency]=USD`
147
+ """
148
+
149
+ resource: Annotated[
150
+ Optional[MethodResourceParameter],
151
+ pydantic.Field(
152
+ deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
153
+ ),
154
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
155
+ ] = None
156
+ r"""**⚠️ We no longer recommend using the Orders API. Please refer to the [Payments API](payments-api) instead.**
157
+
158
+ Indicate if you will use the result for the [Create order](create-order)
159
+ or the [Create payment](create-payment) endpoint.
160
+
161
+ When passing the value `orders`, the result will include payment methods
162
+ that are only available for payments created via the Orders API.
163
+ """
164
+
165
+ billing_country: Annotated[
166
+ Optional[str],
167
+ pydantic.Field(alias="billingCountry"),
168
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
169
+ ] = None
170
+ r"""The country taken from your customer's billing address in ISO 3166-1 alpha-2 format. This parameter can be used
171
+ to check whether your customer is eligible for certain payment methods, for example for Klarna.
172
+
173
+ Example: `/v2/methods?resource=orders&billingCountry=DE`
174
+ """
175
+
176
+ include_wallets: Annotated[
177
+ Optional[MethodIncludeWalletsParameter],
178
+ pydantic.Field(alias="includeWallets"),
179
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
180
+ ] = None
181
+ r"""A comma-separated list of the wallets you support in your checkout. Wallets often require wallet specific code
182
+ to check if they are available on the shoppers device, hence the need to indicate your support.
183
+ """
184
+
185
+ order_line_categories: Annotated[
186
+ Optional[LineCategories],
187
+ pydantic.Field(alias="orderLineCategories"),
188
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
189
+ ] = None
190
+ r"""A comma-separated list of the line categories you support in your checkout.
191
+
192
+ Example: `/v2/methods?orderLineCategories=eco,meal`
193
+ """
194
+
195
+ profile_id: Annotated[
196
+ Optional[str],
197
+ pydantic.Field(alias="profileId"),
198
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
199
+ ] = None
200
+ r"""The identifier referring to the [profile](get-profile) you wish to
201
+ retrieve the resources for.
202
+
203
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
204
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
205
+ """
206
+
207
+ include: Annotated[
208
+ OptionalNullable[str],
209
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
210
+ ] = UNSET
211
+ r"""This endpoint allows you to include additional information via the `include` query string parameter."""
212
+
213
+ testmode: Annotated[
214
+ Optional[bool],
215
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
216
+ ] = None
217
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
218
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
219
+ setting the `testmode` query parameter to `true`.
220
+
221
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
222
+ """
223
+
224
+ idempotency_key: Annotated[
225
+ Optional[str],
226
+ pydantic.Field(alias="idempotency-key"),
227
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
228
+ ] = None
229
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
230
+
231
+ @model_serializer(mode="wrap")
232
+ def serialize_model(self, handler):
233
+ optional_fields = [
234
+ "sequenceType",
235
+ "locale",
236
+ "amount",
237
+ "resource",
238
+ "billingCountry",
239
+ "includeWallets",
240
+ "orderLineCategories",
241
+ "profileId",
242
+ "include",
243
+ "testmode",
244
+ "idempotency-key",
245
+ ]
246
+ nullable_fields = ["locale", "include"]
247
+ null_default_fields = []
248
+
249
+ serialized = handler(self)
250
+
251
+ m = {}
252
+
253
+ for n, f in type(self).model_fields.items():
254
+ k = f.alias or n
255
+ val = serialized.get(k)
256
+ serialized.pop(k, None)
257
+
258
+ optional_nullable = k in optional_fields and k in nullable_fields
259
+ is_set = (
260
+ self.__pydantic_fields_set__.intersection({n})
261
+ or k in null_default_fields
262
+ ) # pylint: disable=no-member
263
+
264
+ if val is not None and val != UNSET_SENTINEL:
265
+ m[k] = val
266
+ elif val != UNSET_SENTINEL and (
267
+ not k in optional_fields or (optional_nullable and is_set)
268
+ ):
269
+ m[k] = val
270
+
271
+ return m
272
+
273
+
274
+ class ListMethodsEmbeddedTypedDict(TypedDict):
275
+ methods: List[ListEntityMethodTypedDict]
276
+ r"""An array of payment method objects. For a complete
277
+ reference of the payment method object, refer
278
+ to the [Get payment method endpoint](get-method)
279
+ documentation.
280
+ """
281
+
282
+
283
+ class ListMethodsEmbedded(BaseModel):
284
+ methods: List[ListEntityMethod]
285
+ r"""An array of payment method objects. For a complete
286
+ reference of the payment method object, refer
287
+ to the [Get payment method endpoint](get-method)
288
+ documentation.
289
+ """
290
+
291
+
292
+ class ListMethodsLinksTypedDict(TypedDict):
293
+ self_: URLTypedDict
294
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
295
+ documentation: URLTypedDict
296
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
297
+
298
+
299
+ class ListMethodsLinks(BaseModel):
300
+ self_: Annotated[URL, pydantic.Field(alias="self")]
301
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
302
+
303
+ documentation: URL
304
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
305
+
306
+
307
+ class ListMethodsResponseTypedDict(TypedDict):
308
+ r"""A list of payment method objects. For a complete reference of the
309
+ payment method object, refer to the [Get payment method endpoint](get-method) documentation.
310
+ """
311
+
312
+ count: int
313
+ r"""The number of payment method objects in this result set.
314
+ Results are **not** paginated.
315
+ """
316
+ embedded: ListMethodsEmbeddedTypedDict
317
+ links: ListMethodsLinksTypedDict
318
+
319
+
320
+ class ListMethodsResponse(BaseModel):
321
+ r"""A list of payment method objects. For a complete reference of the
322
+ payment method object, refer to the [Get payment method endpoint](get-method) documentation.
323
+ """
324
+
325
+ count: int
326
+ r"""The number of payment method objects in this result set.
327
+ Results are **not** paginated.
328
+ """
329
+
330
+ embedded: Annotated[ListMethodsEmbedded, pydantic.Field(alias="_embedded")]
331
+
332
+ links: Annotated[ListMethodsLinks, pydantic.Field(alias="_links")]
@@ -0,0 +1,159 @@
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 .payment_link_response import PaymentLinkResponse, PaymentLinkResponseTypedDict
6
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
+ from mollie.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
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 ListPaymentLinksGlobalsTypedDict(TypedDict):
15
+ testmode: NotRequired[bool]
16
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
17
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
18
+ setting the `testmode` query parameter 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 ListPaymentLinksGlobals(BaseModel):
25
+ testmode: Annotated[
26
+ Optional[bool],
27
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
28
+ ] = None
29
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
30
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
31
+ setting the `testmode` query parameter to `true`.
32
+
33
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
34
+ """
35
+
36
+
37
+ class ListPaymentLinksRequestTypedDict(TypedDict):
38
+ from_: NotRequired[str]
39
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
40
+ result set.
41
+ """
42
+ limit: NotRequired[Nullable[int]]
43
+ r"""The maximum number of items to return. Defaults to 50 items."""
44
+ testmode: NotRequired[bool]
45
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
46
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
47
+ setting the `testmode` query parameter to `true`.
48
+
49
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
50
+ """
51
+ idempotency_key: NotRequired[str]
52
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
53
+
54
+
55
+ class ListPaymentLinksRequest(BaseModel):
56
+ from_: Annotated[
57
+ Optional[str],
58
+ pydantic.Field(alias="from"),
59
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
60
+ ] = None
61
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
62
+ result set.
63
+ """
64
+
65
+ limit: Annotated[
66
+ OptionalNullable[int],
67
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
68
+ ] = UNSET
69
+ r"""The maximum number of items to return. Defaults to 50 items."""
70
+
71
+ testmode: Annotated[
72
+ Optional[bool],
73
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
74
+ ] = None
75
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
76
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
77
+ setting the `testmode` query parameter to `true`.
78
+
79
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
80
+ """
81
+
82
+ idempotency_key: Annotated[
83
+ Optional[str],
84
+ pydantic.Field(alias="idempotency-key"),
85
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
86
+ ] = None
87
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
88
+
89
+ @model_serializer(mode="wrap")
90
+ def serialize_model(self, handler):
91
+ optional_fields = ["from", "limit", "testmode", "idempotency-key"]
92
+ nullable_fields = ["limit"]
93
+ null_default_fields = []
94
+
95
+ serialized = handler(self)
96
+
97
+ m = {}
98
+
99
+ for n, f in type(self).model_fields.items():
100
+ k = f.alias or n
101
+ val = serialized.get(k)
102
+ serialized.pop(k, None)
103
+
104
+ optional_nullable = k in optional_fields and k in nullable_fields
105
+ is_set = (
106
+ self.__pydantic_fields_set__.intersection({n})
107
+ or k in null_default_fields
108
+ ) # pylint: disable=no-member
109
+
110
+ if val is not None and val != UNSET_SENTINEL:
111
+ m[k] = val
112
+ elif val != UNSET_SENTINEL and (
113
+ not k in optional_fields or (optional_nullable and is_set)
114
+ ):
115
+ m[k] = val
116
+
117
+ return m
118
+
119
+
120
+ class ListPaymentLinksEmbeddedTypedDict(TypedDict):
121
+ payment_links: NotRequired[List[PaymentLinkResponseTypedDict]]
122
+ r"""An array of payment link objects."""
123
+
124
+
125
+ class ListPaymentLinksEmbedded(BaseModel):
126
+ payment_links: Optional[List[PaymentLinkResponse]] = None
127
+ r"""An array of payment link objects."""
128
+
129
+
130
+ class ListPaymentLinksResponseTypedDict(TypedDict):
131
+ r"""A list of payment link objects."""
132
+
133
+ count: int
134
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
135
+ as well.
136
+
137
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
138
+ limit is 50 items.
139
+ """
140
+ embedded: ListPaymentLinksEmbeddedTypedDict
141
+ links: ListLinksTypedDict
142
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
143
+
144
+
145
+ class ListPaymentLinksResponse(BaseModel):
146
+ r"""A list of payment link objects."""
147
+
148
+ count: int
149
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
150
+ as well.
151
+
152
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
153
+ limit is 50 items.
154
+ """
155
+
156
+ embedded: Annotated[ListPaymentLinksEmbedded, pydantic.Field(alias="_embedded")]
157
+
158
+ links: Annotated[ListLinks, pydantic.Field(alias="_links")]
159
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""