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,86 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mollie.types import BaseModel
5
+ from mollie.utils import (
6
+ FieldMetadata,
7
+ HeaderMetadata,
8
+ PathParamMetadata,
9
+ QueryParamMetadata,
10
+ )
11
+ import pydantic
12
+ from typing import Optional
13
+ from typing_extensions import Annotated, NotRequired, TypedDict
14
+
15
+
16
+ class CancelRefundGlobalsTypedDict(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 CancelRefundGlobals(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 CancelRefundRequestTypedDict(TypedDict):
40
+ payment_id: str
41
+ r"""Provide the ID of the related payment."""
42
+ refund_id: str
43
+ r"""Provide the ID of the related refund."""
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 CancelRefundRequest(BaseModel):
56
+ payment_id: Annotated[
57
+ str,
58
+ pydantic.Field(alias="paymentId"),
59
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
60
+ ]
61
+ r"""Provide the ID of the related payment."""
62
+
63
+ refund_id: Annotated[
64
+ str,
65
+ pydantic.Field(alias="refundId"),
66
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
67
+ ]
68
+ r"""Provide the ID of the related refund."""
69
+
70
+ testmode: Annotated[
71
+ Optional[bool],
72
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
73
+ ] = None
74
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
75
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
76
+ setting the `testmode` query parameter to `true`.
77
+
78
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
79
+ """
80
+
81
+ idempotency_key: Annotated[
82
+ Optional[str],
83
+ pydantic.Field(alias="idempotency-key"),
84
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
85
+ ] = None
86
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
@@ -0,0 +1,100 @@
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 CancelSubscriptionRequestBodyTypedDict(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 CancelSubscriptionRequestBody(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 CancelSubscriptionRequestTypedDict(TypedDict):
66
+ customer_id: str
67
+ r"""Provide the ID of the related customer."""
68
+ subscription_id: str
69
+ r"""Provide the ID of the related subscription."""
70
+ idempotency_key: NotRequired[str]
71
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
72
+ request_body: NotRequired[CancelSubscriptionRequestBodyTypedDict]
73
+
74
+
75
+ class CancelSubscriptionRequest(BaseModel):
76
+ customer_id: Annotated[
77
+ str,
78
+ pydantic.Field(alias="customerId"),
79
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
80
+ ]
81
+ r"""Provide the ID of the related customer."""
82
+
83
+ subscription_id: Annotated[
84
+ str,
85
+ pydantic.Field(alias="subscriptionId"),
86
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
87
+ ]
88
+ r"""Provide the ID of the related subscription."""
89
+
90
+ idempotency_key: Annotated[
91
+ Optional[str],
92
+ pydantic.Field(alias="idempotency-key"),
93
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
94
+ ] = None
95
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
96
+
97
+ request_body: Annotated[
98
+ Optional[CancelSubscriptionRequestBody],
99
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
100
+ ] = None
@@ -0,0 +1,15 @@
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 CapabilityRequirementStatus(str, Enum, metaclass=utils.OpenEnumMeta):
9
+ r"""The status of the requirement depends on its due date.
10
+ If no due date is given, the status will be `requested`.
11
+ """
12
+
13
+ CURRENTLY_DUE = "currently-due"
14
+ PAST_DUE = "past-due"
15
+ REQUESTED = "requested"
@@ -0,0 +1,12 @@
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 CapabilityStatus(str, Enum, metaclass=utils.OpenEnumMeta):
9
+ UNREQUESTED = "unrequested"
10
+ ENABLED = "enabled"
11
+ DISABLED = "disabled"
12
+ PENDING = "pending"
@@ -0,0 +1,10 @@
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 CapabilityStatusReason(str, Enum, metaclass=utils.OpenEnumMeta):
9
+ REQUIREMENT_PAST_DUE = "requirement-past-due"
10
+ ONBOARDING_INFORMATION_NEEDED = "onboarding-information-needed"
@@ -0,0 +1,15 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+
6
+
7
+ class CaptureMode(str, Enum):
8
+ r"""Indicate if the funds should be captured immediately or if you want to [place a hold](https://docs.mollie.com/docs/place-a-hold-for-a-payment#/)
9
+ and capture at a later time.
10
+
11
+ This field needs to be set to `manual` for method `riverty`.
12
+ """
13
+
14
+ AUTOMATIC = "automatic"
15
+ MANUAL = "manual"
@@ -0,0 +1,16 @@
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 CaptureModeResponse(str, Enum, metaclass=utils.OpenEnumMeta):
9
+ r"""Indicate if the funds should be captured immediately or if you want to [place a hold](https://docs.mollie.com/docs/place-a-hold-for-a-payment#/)
10
+ and capture at a later time.
11
+
12
+ This field needs to be set to `manual` for method `riverty`.
13
+ """
14
+
15
+ AUTOMATIC = "automatic"
16
+ MANUAL = "manual"
@@ -0,0 +1,265 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .amount_nullable import AmountNullable, AmountNullableTypedDict
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 enum import Enum
10
+ from mollie import utils
11
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
12
+ from mollie.utils import validate_open_enum
13
+ import pydantic
14
+ from pydantic import model_serializer
15
+ from pydantic.functional_validators import PlainValidator
16
+ from typing import Optional
17
+ from typing_extensions import Annotated, NotRequired, TypedDict
18
+
19
+
20
+ class CaptureResponseSettlementAmountTypedDict(TypedDict):
21
+ r"""This optional field will contain the approximate amount that will be settled to your account, converted to the
22
+ currency your account is settled in.
23
+
24
+ Since the field contains an estimated amount during capture processing, it may change over time. To retrieve
25
+ accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions)
26
+ instead.
27
+ """
28
+
29
+ currency: str
30
+ r"""A three-character ISO 4217 currency code."""
31
+ value: str
32
+ r"""A string containing an exact monetary amount in the given currency."""
33
+
34
+
35
+ class CaptureResponseSettlementAmount(BaseModel):
36
+ r"""This optional field will contain the approximate amount that will be settled to your account, converted to the
37
+ currency your account is settled in.
38
+
39
+ Since the field contains an estimated amount during capture processing, it may change over time. To retrieve
40
+ accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions)
41
+ instead.
42
+ """
43
+
44
+ currency: str
45
+ r"""A three-character ISO 4217 currency code."""
46
+
47
+ value: str
48
+ r"""A string containing an exact monetary amount in the given currency."""
49
+
50
+
51
+ class CaptureResponseStatus(str, Enum, metaclass=utils.OpenEnumMeta):
52
+ r"""The capture's status."""
53
+
54
+ PENDING = "pending"
55
+ SUCCEEDED = "succeeded"
56
+ FAILED = "failed"
57
+
58
+
59
+ class CaptureResponseLinksTypedDict(TypedDict):
60
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
61
+
62
+ self_: URLTypedDict
63
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
64
+ payment: URLTypedDict
65
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
66
+ documentation: URLTypedDict
67
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
68
+ settlement: NotRequired[Nullable[URLNullableTypedDict]]
69
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
70
+ shipment: NotRequired[Nullable[URLNullableTypedDict]]
71
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
72
+
73
+
74
+ class CaptureResponseLinks(BaseModel):
75
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
76
+
77
+ self_: Annotated[URL, pydantic.Field(alias="self")]
78
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
79
+
80
+ payment: URL
81
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
82
+
83
+ documentation: URL
84
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
85
+
86
+ settlement: OptionalNullable[URLNullable] = UNSET
87
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
88
+
89
+ shipment: OptionalNullable[URLNullable] = UNSET
90
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
91
+
92
+ @model_serializer(mode="wrap")
93
+ def serialize_model(self, handler):
94
+ optional_fields = ["settlement", "shipment"]
95
+ nullable_fields = ["settlement", "shipment"]
96
+ null_default_fields = []
97
+
98
+ serialized = handler(self)
99
+
100
+ m = {}
101
+
102
+ for n, f in type(self).model_fields.items():
103
+ k = f.alias or n
104
+ val = serialized.get(k)
105
+ serialized.pop(k, None)
106
+
107
+ optional_nullable = k in optional_fields and k in nullable_fields
108
+ is_set = (
109
+ self.__pydantic_fields_set__.intersection({n})
110
+ or k in null_default_fields
111
+ ) # pylint: disable=no-member
112
+
113
+ if val is not None and val != UNSET_SENTINEL:
114
+ m[k] = val
115
+ elif val != UNSET_SENTINEL and (
116
+ not k in optional_fields or (optional_nullable and is_set)
117
+ ):
118
+ m[k] = val
119
+
120
+ return m
121
+
122
+
123
+ class CaptureResponseTypedDict(TypedDict):
124
+ resource: str
125
+ r"""Indicates the response contains a capture object. Will always contain the string `capture` for this endpoint."""
126
+ id: str
127
+ r"""The identifier uniquely referring to this capture. Example: `cpt_mNepDkEtco6ah3QNPUGYH`."""
128
+ mode: Mode
129
+ r"""Whether this entity was created in live mode or in test mode."""
130
+ amount: Nullable[AmountNullableTypedDict]
131
+ r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
132
+ status: CaptureResponseStatus
133
+ payment_id: str
134
+ r"""The unique identifier of the payment this capture was created for. For example: `tr_5B8cwPMGnU6qLbRvo7qEZo`.
135
+ The full payment object can be retrieved via the payment URL in the `_links` object.
136
+ """
137
+ created_at: str
138
+ r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
139
+ links: CaptureResponseLinksTypedDict
140
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
141
+ description: NotRequired[str]
142
+ r"""The description of the capture."""
143
+ settlement_amount: NotRequired[Nullable[CaptureResponseSettlementAmountTypedDict]]
144
+ r"""This optional field will contain the approximate amount that will be settled to your account, converted to the
145
+ currency your account is settled in.
146
+
147
+ Since the field contains an estimated amount during capture processing, it may change over time. To retrieve
148
+ accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions)
149
+ instead.
150
+ """
151
+ metadata: NotRequired[Nullable[MetadataTypedDict]]
152
+ r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
153
+ you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
154
+ """
155
+ shipment_id: NotRequired[Nullable[str]]
156
+ r"""The unique identifier of the shipment that triggered the creation of this capture, if applicable. For example:
157
+ `shp_gNapNy9qQTUFZYnCrCF7J`.
158
+ """
159
+ settlement_id: NotRequired[Nullable[str]]
160
+ r"""The identifier referring to the settlement this capture was settled with. For example, `stl_BkEjN2eBb`. This field
161
+ is omitted if the capture is not settled (yet).
162
+ """
163
+
164
+
165
+ class CaptureResponse(BaseModel):
166
+ resource: str
167
+ r"""Indicates the response contains a capture object. Will always contain the string `capture` for this endpoint."""
168
+
169
+ id: str
170
+ r"""The identifier uniquely referring to this capture. Example: `cpt_mNepDkEtco6ah3QNPUGYH`."""
171
+
172
+ mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
173
+ r"""Whether this entity was created in live mode or in test mode."""
174
+
175
+ amount: Nullable[AmountNullable]
176
+ r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
177
+
178
+ status: Annotated[CaptureResponseStatus, PlainValidator(validate_open_enum(False))]
179
+
180
+ payment_id: Annotated[str, pydantic.Field(alias="paymentId")]
181
+ r"""The unique identifier of the payment this capture was created for. For example: `tr_5B8cwPMGnU6qLbRvo7qEZo`.
182
+ The full payment object can be retrieved via the payment URL in the `_links` object.
183
+ """
184
+
185
+ created_at: Annotated[str, pydantic.Field(alias="createdAt")]
186
+ r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
187
+
188
+ links: Annotated[CaptureResponseLinks, pydantic.Field(alias="_links")]
189
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
190
+
191
+ description: Optional[str] = None
192
+ r"""The description of the capture."""
193
+
194
+ settlement_amount: Annotated[
195
+ OptionalNullable[CaptureResponseSettlementAmount],
196
+ pydantic.Field(alias="settlementAmount"),
197
+ ] = UNSET
198
+ r"""This optional field will contain the approximate amount that will be settled to your account, converted to the
199
+ currency your account is settled in.
200
+
201
+ Since the field contains an estimated amount during capture processing, it may change over time. To retrieve
202
+ accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions)
203
+ instead.
204
+ """
205
+
206
+ metadata: OptionalNullable[Metadata] = UNSET
207
+ r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
208
+ you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
209
+ """
210
+
211
+ shipment_id: Annotated[
212
+ OptionalNullable[str], pydantic.Field(alias="shipmentId")
213
+ ] = UNSET
214
+ r"""The unique identifier of the shipment that triggered the creation of this capture, if applicable. For example:
215
+ `shp_gNapNy9qQTUFZYnCrCF7J`.
216
+ """
217
+
218
+ settlement_id: Annotated[
219
+ OptionalNullable[str], pydantic.Field(alias="settlementId")
220
+ ] = UNSET
221
+ r"""The identifier referring to the settlement this capture was settled with. For example, `stl_BkEjN2eBb`. This field
222
+ is omitted if the capture is not settled (yet).
223
+ """
224
+
225
+ @model_serializer(mode="wrap")
226
+ def serialize_model(self, handler):
227
+ optional_fields = [
228
+ "description",
229
+ "settlementAmount",
230
+ "metadata",
231
+ "shipmentId",
232
+ "settlementId",
233
+ ]
234
+ nullable_fields = [
235
+ "amount",
236
+ "settlementAmount",
237
+ "metadata",
238
+ "shipmentId",
239
+ "settlementId",
240
+ ]
241
+ null_default_fields = []
242
+
243
+ serialized = handler(self)
244
+
245
+ m = {}
246
+
247
+ for n, f in type(self).model_fields.items():
248
+ k = f.alias or n
249
+ val = serialized.get(k)
250
+ serialized.pop(k, None)
251
+
252
+ optional_nullable = k in optional_fields and k in nullable_fields
253
+ is_set = (
254
+ self.__pydantic_fields_set__.intersection({n})
255
+ or k in null_default_fields
256
+ ) # pylint: disable=no-member
257
+
258
+ if val is not None and val != UNSET_SENTINEL:
259
+ m[k] = val
260
+ elif val != UNSET_SENTINEL and (
261
+ not k in optional_fields or (optional_nullable and is_set)
262
+ ):
263
+ m[k] = val
264
+
265
+ return m