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,217 @@
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 FieldMetadata, HeaderMetadata, QueryParamMetadata
9
+ import pydantic
10
+ from pydantic import model_serializer
11
+ from typing import List, Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class ListPaymentsGlobalsTypedDict(TypedDict):
16
+ profile_id: NotRequired[str]
17
+ r"""The identifier referring to the [profile](get-profile) you wish to
18
+ retrieve the resources for.
19
+
20
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
21
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
22
+ """
23
+ testmode: NotRequired[bool]
24
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
25
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
26
+ setting the `testmode` query parameter to `true`.
27
+
28
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
29
+ """
30
+
31
+
32
+ class ListPaymentsGlobals(BaseModel):
33
+ profile_id: Annotated[
34
+ Optional[str],
35
+ pydantic.Field(alias="profileId"),
36
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
37
+ ] = None
38
+ r"""The identifier referring to the [profile](get-profile) you wish to
39
+ retrieve the resources for.
40
+
41
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
42
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
43
+ """
44
+
45
+ testmode: Annotated[
46
+ Optional[bool],
47
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
48
+ ] = None
49
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
50
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
51
+ setting the `testmode` query parameter to `true`.
52
+
53
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
54
+ """
55
+
56
+
57
+ class ListPaymentsRequestTypedDict(TypedDict):
58
+ from_: NotRequired[str]
59
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate
60
+ the result set.
61
+ """
62
+ limit: NotRequired[Nullable[int]]
63
+ r"""The maximum number of items to return. Defaults to 50 items."""
64
+ sort: NotRequired[Sorting]
65
+ r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
66
+ newest to oldest.
67
+ """
68
+ profile_id: NotRequired[str]
69
+ r"""The identifier referring to the [profile](get-profile) you wish to
70
+ retrieve the resources for.
71
+
72
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
73
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
74
+ """
75
+ testmode: NotRequired[bool]
76
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
77
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
78
+ setting the `testmode` query parameter to `true`.
79
+
80
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
81
+ """
82
+ idempotency_key: NotRequired[str]
83
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
84
+
85
+
86
+ class ListPaymentsRequest(BaseModel):
87
+ from_: Annotated[
88
+ Optional[str],
89
+ pydantic.Field(alias="from"),
90
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
91
+ ] = None
92
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate
93
+ the result set.
94
+ """
95
+
96
+ limit: Annotated[
97
+ OptionalNullable[int],
98
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
99
+ ] = UNSET
100
+ r"""The maximum number of items to return. Defaults to 50 items."""
101
+
102
+ sort: Annotated[
103
+ Optional[Sorting],
104
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
105
+ ] = None
106
+ r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
107
+ newest to oldest.
108
+ """
109
+
110
+ profile_id: Annotated[
111
+ Optional[str],
112
+ pydantic.Field(alias="profileId"),
113
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
114
+ ] = None
115
+ r"""The identifier referring to the [profile](get-profile) you wish to
116
+ retrieve the resources for.
117
+
118
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
119
+ organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
120
+ """
121
+
122
+ testmode: Annotated[
123
+ Optional[bool],
124
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
125
+ ] = None
126
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
127
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
128
+ setting the `testmode` query parameter to `true`.
129
+
130
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
131
+ """
132
+
133
+ idempotency_key: Annotated[
134
+ Optional[str],
135
+ pydantic.Field(alias="idempotency-key"),
136
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
137
+ ] = None
138
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
139
+
140
+ @model_serializer(mode="wrap")
141
+ def serialize_model(self, handler):
142
+ optional_fields = [
143
+ "from",
144
+ "limit",
145
+ "sort",
146
+ "profileId",
147
+ "testmode",
148
+ "idempotency-key",
149
+ ]
150
+ nullable_fields = ["limit"]
151
+ null_default_fields = []
152
+
153
+ serialized = handler(self)
154
+
155
+ m = {}
156
+
157
+ for n, f in type(self).model_fields.items():
158
+ k = f.alias or n
159
+ val = serialized.get(k)
160
+ serialized.pop(k, None)
161
+
162
+ optional_nullable = k in optional_fields and k in nullable_fields
163
+ is_set = (
164
+ self.__pydantic_fields_set__.intersection({n})
165
+ or k in null_default_fields
166
+ ) # pylint: disable=no-member
167
+
168
+ if val is not None and val != UNSET_SENTINEL:
169
+ m[k] = val
170
+ elif val != UNSET_SENTINEL and (
171
+ not k in optional_fields or (optional_nullable and is_set)
172
+ ):
173
+ m[k] = val
174
+
175
+ return m
176
+
177
+
178
+ class ListPaymentsEmbeddedTypedDict(TypedDict):
179
+ payments: NotRequired[List[ListPaymentResponseTypedDict]]
180
+ r"""An array of payment objects."""
181
+
182
+
183
+ class ListPaymentsEmbedded(BaseModel):
184
+ payments: Optional[List[ListPaymentResponse]] = None
185
+ r"""An array of payment objects."""
186
+
187
+
188
+ class ListPaymentsResponseTypedDict(TypedDict):
189
+ r"""A list of payment objects."""
190
+
191
+ count: int
192
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
193
+ as well.
194
+
195
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
196
+ limit is 50 items.
197
+ """
198
+ embedded: ListPaymentsEmbeddedTypedDict
199
+ links: ListLinksTypedDict
200
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
201
+
202
+
203
+ class ListPaymentsResponse(BaseModel):
204
+ r"""A list of payment objects."""
205
+
206
+ count: int
207
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
208
+ as well.
209
+
210
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
211
+ limit is 50 items.
212
+ """
213
+
214
+ embedded: Annotated[ListPaymentsEmbedded, pydantic.Field(alias="_embedded")]
215
+
216
+ links: Annotated[ListLinks, pydantic.Field(alias="_links")]
217
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
@@ -0,0 +1,85 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .list_entity_permission import ListEntityPermission, ListEntityPermissionTypedDict
5
+ from .url import URL, URLTypedDict
6
+ from mollie.types import BaseModel
7
+ from mollie.utils import FieldMetadata, HeaderMetadata
8
+ import pydantic
9
+ from typing import List, Optional
10
+ from typing_extensions import Annotated, NotRequired, TypedDict
11
+
12
+
13
+ class ListPermissionsRequestTypedDict(TypedDict):
14
+ idempotency_key: NotRequired[str]
15
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
16
+
17
+
18
+ class ListPermissionsRequest(BaseModel):
19
+ idempotency_key: Annotated[
20
+ Optional[str],
21
+ pydantic.Field(alias="idempotency-key"),
22
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
23
+ ] = None
24
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
25
+
26
+
27
+ class ListPermissionsEmbeddedTypedDict(TypedDict):
28
+ permissions: List[ListEntityPermissionTypedDict]
29
+ r"""An array of permission objects."""
30
+
31
+
32
+ class ListPermissionsEmbedded(BaseModel):
33
+ permissions: List[ListEntityPermission]
34
+ r"""An array of permission objects."""
35
+
36
+
37
+ class ListPermissionsLinksTypedDict(TypedDict):
38
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
39
+
40
+ self_: NotRequired[URLTypedDict]
41
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
42
+ documentation: NotRequired[URLTypedDict]
43
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
44
+
45
+
46
+ class ListPermissionsLinks(BaseModel):
47
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
48
+
49
+ self_: Annotated[Optional[URL], pydantic.Field(alias="self")] = None
50
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
51
+
52
+ documentation: Optional[URL] = None
53
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
54
+
55
+
56
+ class ListPermissionsResponseTypedDict(TypedDict):
57
+ r"""A list of permission objects."""
58
+
59
+ count: int
60
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
61
+ as well.
62
+
63
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
64
+ limit is 50 items.
65
+ """
66
+ embedded: ListPermissionsEmbeddedTypedDict
67
+ links: ListPermissionsLinksTypedDict
68
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
69
+
70
+
71
+ class ListPermissionsResponse(BaseModel):
72
+ r"""A list of permission objects."""
73
+
74
+ count: int
75
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
76
+ as well.
77
+
78
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
79
+ limit is 50 items.
80
+ """
81
+
82
+ embedded: Annotated[ListPermissionsEmbedded, pydantic.Field(alias="_embedded")]
83
+
84
+ links: Annotated[ListPermissionsLinks, pydantic.Field(alias="_links")]
85
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
@@ -0,0 +1,194 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .mode import Mode
5
+ from .profile_review_status_response import ProfileReviewStatusResponse
6
+ from .url import URL, URLTypedDict
7
+ from enum import Enum
8
+ from mollie import utils
9
+ from mollie.types import BaseModel
10
+ from mollie.utils import validate_open_enum
11
+ import pydantic
12
+ from pydantic.functional_validators import PlainValidator
13
+ from typing import List, Optional
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
15
+
16
+
17
+ class ListProfileResponseStatus(str, Enum, metaclass=utils.OpenEnumMeta):
18
+ r"""The profile status determines whether the profile is able to receive live payments.
19
+
20
+ * `unverified`: The profile has not been verified yet and can only be used to create test payments.
21
+ * `verified`: The profile has been verified and can be used to create live payments and test payments.
22
+ * `blocked`: The profile is blocked and can no longer be used or changed.
23
+ """
24
+
25
+ UNVERIFIED = "unverified"
26
+ VERIFIED = "verified"
27
+ BLOCKED = "blocked"
28
+
29
+
30
+ class ListProfileResponseReviewTypedDict(TypedDict):
31
+ r"""Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved
32
+ automatically, unless a switch to a live profile has been requested. The review object will therefore usually be
33
+ `null` in test mode.
34
+ """
35
+
36
+ status: NotRequired[ProfileReviewStatusResponse]
37
+ r"""The status of the requested changes."""
38
+
39
+
40
+ class ListProfileResponseReview(BaseModel):
41
+ r"""Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved
42
+ automatically, unless a switch to a live profile has been requested. The review object will therefore usually be
43
+ `null` in test mode.
44
+ """
45
+
46
+ status: Annotated[
47
+ Optional[ProfileReviewStatusResponse], PlainValidator(validate_open_enum(False))
48
+ ] = None
49
+ r"""The status of the requested changes."""
50
+
51
+
52
+ class ListProfileResponseLinksTypedDict(TypedDict):
53
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
54
+
55
+ self_: NotRequired[URLTypedDict]
56
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
57
+ dashboard: NotRequired[URLTypedDict]
58
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
59
+ chargebacks: NotRequired[URLTypedDict]
60
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
61
+ methods: NotRequired[URLTypedDict]
62
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
63
+ payments: NotRequired[URLTypedDict]
64
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
65
+ refunds: NotRequired[URLTypedDict]
66
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
67
+ checkout_preview_url: NotRequired[URLTypedDict]
68
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
69
+
70
+
71
+ class ListProfileResponseLinks(BaseModel):
72
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
73
+
74
+ self_: Annotated[Optional[URL], pydantic.Field(alias="self")] = None
75
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
76
+
77
+ dashboard: Optional[URL] = None
78
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
79
+
80
+ chargebacks: Optional[URL] = None
81
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
82
+
83
+ methods: Optional[URL] = None
84
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
85
+
86
+ payments: Optional[URL] = None
87
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
88
+
89
+ refunds: Optional[URL] = None
90
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
91
+
92
+ checkout_preview_url: Annotated[
93
+ Optional[URL], pydantic.Field(alias="checkoutPreviewUrl")
94
+ ] = None
95
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
96
+
97
+
98
+ class ListProfileResponseTypedDict(TypedDict):
99
+ resource: str
100
+ r"""Indicates the response contains a profile object. Will always contain the string `profile` for this endpoint."""
101
+ id: str
102
+ r"""The identifier uniquely referring to this profile. Example: `pfl_v9hTwCvYqw`."""
103
+ mode: Mode
104
+ r"""Whether this entity was created in live mode or in test mode."""
105
+ name: str
106
+ r"""The profile's name, this will usually reflect the trade name or brand name of the profile's website or
107
+ application.
108
+ """
109
+ website: str
110
+ r"""The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are
111
+ allowed.
112
+ """
113
+ email: str
114
+ r"""The email address associated with the profile's trade name or brand."""
115
+ phone: str
116
+ r"""The phone number associated with the profile's trade name or brand."""
117
+ business_category: str
118
+ r"""The industry associated with the profile's trade name or brand. Please refer to the
119
+ [business category list](common-data-types#business-category) for all possible options.
120
+ """
121
+ status: ListProfileResponseStatus
122
+ created_at: str
123
+ r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
124
+ links: ListProfileResponseLinksTypedDict
125
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
126
+ description: NotRequired[str]
127
+ r"""The products or services offered by the profile's website or application."""
128
+ countries_of_activity: NotRequired[List[str]]
129
+ r"""A list of countries where you expect that the majority of the profile's customers reside,
130
+ in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
131
+ """
132
+ review: NotRequired[ListProfileResponseReviewTypedDict]
133
+ r"""Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved
134
+ automatically, unless a switch to a live profile has been requested. The review object will therefore usually be
135
+ `null` in test mode.
136
+ """
137
+
138
+
139
+ class ListProfileResponse(BaseModel):
140
+ resource: str
141
+ r"""Indicates the response contains a profile object. Will always contain the string `profile` for this endpoint."""
142
+
143
+ id: str
144
+ r"""The identifier uniquely referring to this profile. Example: `pfl_v9hTwCvYqw`."""
145
+
146
+ mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
147
+ r"""Whether this entity was created in live mode or in test mode."""
148
+
149
+ name: str
150
+ r"""The profile's name, this will usually reflect the trade name or brand name of the profile's website or
151
+ application.
152
+ """
153
+
154
+ website: str
155
+ r"""The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are
156
+ allowed.
157
+ """
158
+
159
+ email: str
160
+ r"""The email address associated with the profile's trade name or brand."""
161
+
162
+ phone: str
163
+ r"""The phone number associated with the profile's trade name or brand."""
164
+
165
+ business_category: Annotated[str, pydantic.Field(alias="businessCategory")]
166
+ r"""The industry associated with the profile's trade name or brand. Please refer to the
167
+ [business category list](common-data-types#business-category) for all possible options.
168
+ """
169
+
170
+ status: Annotated[
171
+ ListProfileResponseStatus, PlainValidator(validate_open_enum(False))
172
+ ]
173
+
174
+ created_at: Annotated[str, pydantic.Field(alias="createdAt")]
175
+ r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
176
+
177
+ links: Annotated[ListProfileResponseLinks, pydantic.Field(alias="_links")]
178
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
179
+
180
+ description: Optional[str] = None
181
+ r"""The products or services offered by the profile's website or application."""
182
+
183
+ countries_of_activity: Annotated[
184
+ Optional[List[str]], pydantic.Field(alias="countriesOfActivity")
185
+ ] = None
186
+ r"""A list of countries where you expect that the majority of the profile's customers reside,
187
+ in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
188
+ """
189
+
190
+ review: Optional[ListProfileResponseReview] = None
191
+ r"""Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved
192
+ automatically, unless a switch to a live profile has been requested. The review object will therefore usually be
193
+ `null` in test mode.
194
+ """
@@ -0,0 +1,118 @@
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_profile_response import ListProfileResponse, ListProfileResponseTypedDict
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 ListProfilesRequestTypedDict(TypedDict):
15
+ from_: NotRequired[Nullable[str]]
16
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
17
+ result set.
18
+ """
19
+ limit: NotRequired[Nullable[int]]
20
+ r"""The maximum number of items to return. Defaults to 50 items."""
21
+ idempotency_key: NotRequired[str]
22
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
23
+
24
+
25
+ class ListProfilesRequest(BaseModel):
26
+ from_: Annotated[
27
+ OptionalNullable[str],
28
+ pydantic.Field(alias="from"),
29
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
30
+ ] = UNSET
31
+ r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
32
+ result set.
33
+ """
34
+
35
+ limit: Annotated[
36
+ OptionalNullable[int],
37
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
38
+ ] = UNSET
39
+ r"""The maximum number of items to return. Defaults to 50 items."""
40
+
41
+ idempotency_key: Annotated[
42
+ Optional[str],
43
+ pydantic.Field(alias="idempotency-key"),
44
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
45
+ ] = None
46
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
47
+
48
+ @model_serializer(mode="wrap")
49
+ def serialize_model(self, handler):
50
+ optional_fields = ["from", "limit", "idempotency-key"]
51
+ nullable_fields = ["from", "limit"]
52
+ null_default_fields = []
53
+
54
+ serialized = handler(self)
55
+
56
+ m = {}
57
+
58
+ for n, f in type(self).model_fields.items():
59
+ k = f.alias or n
60
+ val = serialized.get(k)
61
+ serialized.pop(k, None)
62
+
63
+ optional_nullable = k in optional_fields and k in nullable_fields
64
+ is_set = (
65
+ self.__pydantic_fields_set__.intersection({n})
66
+ or k in null_default_fields
67
+ ) # pylint: disable=no-member
68
+
69
+ if val is not None and val != UNSET_SENTINEL:
70
+ m[k] = val
71
+ elif val != UNSET_SENTINEL and (
72
+ not k in optional_fields or (optional_nullable and is_set)
73
+ ):
74
+ m[k] = val
75
+
76
+ return m
77
+
78
+
79
+ class ListProfilesEmbeddedTypedDict(TypedDict):
80
+ profiles: List[ListProfileResponseTypedDict]
81
+ r"""An array of profile objects."""
82
+
83
+
84
+ class ListProfilesEmbedded(BaseModel):
85
+ profiles: List[ListProfileResponse]
86
+ r"""An array of profile objects."""
87
+
88
+
89
+ class ListProfilesResponseTypedDict(TypedDict):
90
+ r"""A list of profile objects."""
91
+
92
+ count: int
93
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
94
+ as well.
95
+
96
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
97
+ limit is 50 items.
98
+ """
99
+ embedded: ListProfilesEmbeddedTypedDict
100
+ links: ListLinksTypedDict
101
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
102
+
103
+
104
+ class ListProfilesResponse(BaseModel):
105
+ r"""A list of profile objects."""
106
+
107
+ count: int
108
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
109
+ as well.
110
+
111
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
112
+ limit is 50 items.
113
+ """
114
+
115
+ embedded: Annotated[ListProfilesEmbedded, pydantic.Field(alias="_embedded")]
116
+
117
+ links: Annotated[ListLinks, pydantic.Field(alias="_links")]
118
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""