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,329 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .method_status import MethodStatus
5
+ from .url import URL, URLTypedDict
6
+ from enum import Enum
7
+ from mollie import utils
8
+ from mollie.types import BaseModel, Nullable, UNSET_SENTINEL
9
+ from mollie.utils import validate_open_enum
10
+ import pydantic
11
+ from pydantic import model_serializer
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 EntityMethodGetID(str, Enum, metaclass=utils.OpenEnumMeta):
18
+ r"""The unique identifier of the payment method. When used during [payment creation](create-payment), the payment
19
+ method selection screen will be skipped.
20
+ """
21
+
22
+ ALMA = "alma"
23
+ APPLEPAY = "applepay"
24
+ BACS = "bacs"
25
+ BANCOMATPAY = "bancomatpay"
26
+ BANCONTACT = "bancontact"
27
+ BANKTRANSFER = "banktransfer"
28
+ BELFIUS = "belfius"
29
+ BILLIE = "billie"
30
+ BIZUM = "bizum"
31
+ BLIK = "blik"
32
+ CREDITCARD = "creditcard"
33
+ DIRECTDEBIT = "directdebit"
34
+ EPS = "eps"
35
+ GIFTCARD = "giftcard"
36
+ IDEAL = "ideal"
37
+ IN3 = "in3"
38
+ KBC = "kbc"
39
+ KLARNA = "klarna"
40
+ MBWAY = "mbway"
41
+ MOBILEPAY = "mobilepay"
42
+ MULTIBANCO = "multibanco"
43
+ MYBANK = "mybank"
44
+ PAYBYBANK = "paybybank"
45
+ PAYPAL = "paypal"
46
+ PAYSAFECARD = "paysafecard"
47
+ POINTOFSALE = "pointofsale"
48
+ PRZELEWY24 = "przelewy24"
49
+ RIVERTY = "riverty"
50
+ SATISPAY = "satispay"
51
+ SWISH = "swish"
52
+ TRUSTLY = "trustly"
53
+ TWINT = "twint"
54
+ VIPPS = "vipps"
55
+ VOUCHER = "voucher"
56
+ # Deprecated, use 'klarna' instead
57
+ KLARNAPAYLATER = "klarnapaylater"
58
+ # Deprecated, use 'klarna' instead
59
+ KLARNAPAYNOW = "klarnapaynow"
60
+ # Deprecated, use 'klarna' instead
61
+ KLARNASLICEIT = "klarnasliceit"
62
+ # No longer available
63
+ PAYCONIQ = "payconiq"
64
+
65
+
66
+ class EntityMethodGetMinimumAmountTypedDict(TypedDict):
67
+ r"""The minimum payment amount required to use this payment method."""
68
+
69
+ currency: str
70
+ r"""A three-character ISO 4217 currency code."""
71
+ value: str
72
+ r"""A string containing an exact monetary amount in the given currency."""
73
+
74
+
75
+ class EntityMethodGetMinimumAmount(BaseModel):
76
+ r"""The minimum payment amount required to use this payment method."""
77
+
78
+ currency: str
79
+ r"""A three-character ISO 4217 currency code."""
80
+
81
+ value: str
82
+ r"""A string containing an exact monetary amount in the given currency."""
83
+
84
+
85
+ class EntityMethodGetMaximumAmountTypedDict(TypedDict):
86
+ r"""The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null`
87
+ is returned instead.
88
+ """
89
+
90
+ currency: str
91
+ r"""A three-character ISO 4217 currency code."""
92
+ value: str
93
+ r"""A string containing an exact monetary amount in the given currency."""
94
+
95
+
96
+ class EntityMethodGetMaximumAmount(BaseModel):
97
+ r"""The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null`
98
+ is returned instead.
99
+ """
100
+
101
+ currency: str
102
+ r"""A three-character ISO 4217 currency code."""
103
+
104
+ value: str
105
+ r"""A string containing an exact monetary amount in the given currency."""
106
+
107
+
108
+ class EntityMethodGetImageTypedDict(TypedDict):
109
+ r"""URLs of images representing the payment method."""
110
+
111
+ size1x: str
112
+ r"""The URL pointing to an icon of 32 by 24 pixels."""
113
+ size2x: str
114
+ r"""The URL pointing to an icon of 64 by 48 pixels."""
115
+ svg: str
116
+ r"""The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can
117
+ scale to any desired size without compromising visual quality.
118
+ """
119
+
120
+
121
+ class EntityMethodGetImage(BaseModel):
122
+ r"""URLs of images representing the payment method."""
123
+
124
+ size1x: str
125
+ r"""The URL pointing to an icon of 32 by 24 pixels."""
126
+
127
+ size2x: str
128
+ r"""The URL pointing to an icon of 64 by 48 pixels."""
129
+
130
+ svg: str
131
+ r"""The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can
132
+ scale to any desired size without compromising visual quality.
133
+ """
134
+
135
+
136
+ class EntityMethodGetIssuerImageTypedDict(TypedDict):
137
+ r"""URLs of images representing the issuer.
138
+ required:
139
+ - size1x
140
+ - size2x
141
+ - svg
142
+ """
143
+
144
+ size1x: NotRequired[str]
145
+ r"""The URL pointing to an icon of 32 by 24 pixels."""
146
+ size2x: NotRequired[str]
147
+ r"""The URL pointing to an icon of 64 by 48 pixels."""
148
+ svg: NotRequired[str]
149
+ r"""The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can
150
+ scale to any desired size without compromising visual quality.
151
+ """
152
+
153
+
154
+ class EntityMethodGetIssuerImage(BaseModel):
155
+ r"""URLs of images representing the issuer.
156
+ required:
157
+ - size1x
158
+ - size2x
159
+ - svg
160
+ """
161
+
162
+ size1x: Optional[str] = None
163
+ r"""The URL pointing to an icon of 32 by 24 pixels."""
164
+
165
+ size2x: Optional[str] = None
166
+ r"""The URL pointing to an icon of 64 by 48 pixels."""
167
+
168
+ svg: Optional[str] = None
169
+ r"""The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can
170
+ scale to any desired size without compromising visual quality.
171
+ """
172
+
173
+
174
+ class EntityMethodGetIssuerTypedDict(TypedDict):
175
+ resource: str
176
+ id: str
177
+ name: str
178
+ r"""The full name of the issuer."""
179
+ image: EntityMethodGetIssuerImageTypedDict
180
+ r"""URLs of images representing the issuer.
181
+ required:
182
+ - size1x
183
+ - size2x
184
+ - svg
185
+ """
186
+
187
+
188
+ class EntityMethodGetIssuer(BaseModel):
189
+ resource: str
190
+
191
+ id: str
192
+
193
+ name: str
194
+ r"""The full name of the issuer."""
195
+
196
+ image: EntityMethodGetIssuerImage
197
+ r"""URLs of images representing the issuer.
198
+ required:
199
+ - size1x
200
+ - size2x
201
+ - svg
202
+ """
203
+
204
+
205
+ class EntityMethodGetLinksTypedDict(TypedDict):
206
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
207
+
208
+ self_: URLTypedDict
209
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
210
+ documentation: NotRequired[URLTypedDict]
211
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
212
+
213
+
214
+ class EntityMethodGetLinks(BaseModel):
215
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
216
+
217
+ self_: Annotated[URL, pydantic.Field(alias="self")]
218
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
219
+
220
+ documentation: Optional[URL] = None
221
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
222
+
223
+
224
+ class EntityMethodGetTypedDict(TypedDict):
225
+ resource: str
226
+ r"""Indicates the response contains a payment method object. Will always contain the string `method` for this
227
+ endpoint.
228
+ """
229
+ id: Nullable[EntityMethodGetID]
230
+ r"""The unique identifier of the payment method. When used during [payment creation](create-payment), the payment
231
+ method selection screen will be skipped.
232
+ """
233
+ description: str
234
+ r"""The full name of the payment method.
235
+
236
+ If a `locale` parameter is provided, the name is translated to the given locale if possible.
237
+ """
238
+ minimum_amount: EntityMethodGetMinimumAmountTypedDict
239
+ r"""The minimum payment amount required to use this payment method."""
240
+ maximum_amount: Nullable[EntityMethodGetMaximumAmountTypedDict]
241
+ r"""The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null`
242
+ is returned instead.
243
+ """
244
+ image: EntityMethodGetImageTypedDict
245
+ r"""URLs of images representing the payment method."""
246
+ status: Nullable[MethodStatus]
247
+ r"""The payment method's activation status for this profile."""
248
+ links: EntityMethodGetLinksTypedDict
249
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
250
+ issuers: NotRequired[List[EntityMethodGetIssuerTypedDict]]
251
+ r"""**Optional include.** Array of objects for each 'issuer' that is available for this payment method. Only relevant
252
+ for iDEAL, KBC/CBC, gift cards, and vouchers.
253
+ """
254
+
255
+
256
+ class EntityMethodGet(BaseModel):
257
+ resource: str
258
+ r"""Indicates the response contains a payment method object. Will always contain the string `method` for this
259
+ endpoint.
260
+ """
261
+
262
+ id: Annotated[
263
+ Nullable[EntityMethodGetID], PlainValidator(validate_open_enum(False))
264
+ ]
265
+ r"""The unique identifier of the payment method. When used during [payment creation](create-payment), the payment
266
+ method selection screen will be skipped.
267
+ """
268
+
269
+ description: str
270
+ r"""The full name of the payment method.
271
+
272
+ If a `locale` parameter is provided, the name is translated to the given locale if possible.
273
+ """
274
+
275
+ minimum_amount: Annotated[
276
+ EntityMethodGetMinimumAmount, pydantic.Field(alias="minimumAmount")
277
+ ]
278
+ r"""The minimum payment amount required to use this payment method."""
279
+
280
+ maximum_amount: Annotated[
281
+ Nullable[EntityMethodGetMaximumAmount], pydantic.Field(alias="maximumAmount")
282
+ ]
283
+ r"""The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null`
284
+ is returned instead.
285
+ """
286
+
287
+ image: EntityMethodGetImage
288
+ r"""URLs of images representing the payment method."""
289
+
290
+ status: Annotated[Nullable[MethodStatus], PlainValidator(validate_open_enum(False))]
291
+ r"""The payment method's activation status for this profile."""
292
+
293
+ links: Annotated[EntityMethodGetLinks, pydantic.Field(alias="_links")]
294
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
295
+
296
+ issuers: Optional[List[EntityMethodGetIssuer]] = None
297
+ r"""**Optional include.** Array of objects for each 'issuer' that is available for this payment method. Only relevant
298
+ for iDEAL, KBC/CBC, gift cards, and vouchers.
299
+ """
300
+
301
+ @model_serializer(mode="wrap")
302
+ def serialize_model(self, handler):
303
+ optional_fields = ["issuers"]
304
+ nullable_fields = ["id", "maximumAmount", "status"]
305
+ null_default_fields = []
306
+
307
+ serialized = handler(self)
308
+
309
+ m = {}
310
+
311
+ for n, f in type(self).model_fields.items():
312
+ k = f.alias or n
313
+ val = serialized.get(k)
314
+ serialized.pop(k, None)
315
+
316
+ optional_nullable = k in optional_fields and k in nullable_fields
317
+ is_set = (
318
+ self.__pydantic_fields_set__.intersection({n})
319
+ or k in null_default_fields
320
+ ) # pylint: disable=no-member
321
+
322
+ if val is not None and val != UNSET_SENTINEL:
323
+ m[k] = val
324
+ elif val != UNSET_SENTINEL and (
325
+ not k in optional_fields or (optional_nullable and is_set)
326
+ ):
327
+ m[k] = val
328
+
329
+ return m
@@ -0,0 +1,95 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .url import URL, URLTypedDict
5
+ from enum import Enum
6
+ from mollie import utils
7
+ from mollie.types import BaseModel
8
+ from mollie.utils import validate_open_enum
9
+ import pydantic
10
+ from pydantic.functional_validators import PlainValidator
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class EntityOnboardingStatusStatus(str, Enum, metaclass=utils.OpenEnumMeta):
16
+ r"""The current status of the organization's onboarding process."""
17
+
18
+ NEEDS_DATA = "needs-data"
19
+ IN_REVIEW = "in-review"
20
+ COMPLETED = "completed"
21
+
22
+
23
+ class EntityOnboardingStatusLinksTypedDict(TypedDict):
24
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
25
+
26
+ self_: NotRequired[URLTypedDict]
27
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
28
+ dashboard: NotRequired[URLTypedDict]
29
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
30
+ organization: NotRequired[URLTypedDict]
31
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
32
+ documentation: NotRequired[URLTypedDict]
33
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
34
+
35
+
36
+ class EntityOnboardingStatusLinks(BaseModel):
37
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
38
+
39
+ self_: Annotated[Optional[URL], pydantic.Field(alias="self")] = None
40
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
41
+
42
+ dashboard: Optional[URL] = None
43
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
44
+
45
+ organization: Optional[URL] = None
46
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
47
+
48
+ documentation: Optional[URL] = None
49
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
50
+
51
+
52
+ class EntityOnboardingStatusTypedDict(TypedDict):
53
+ resource: str
54
+ r"""Indicates the response contains an onboarding status object. Will always contain the string `onboarding` for this
55
+ resource type.
56
+ """
57
+ name: str
58
+ r"""The name of the organization."""
59
+ status: EntityOnboardingStatusStatus
60
+ can_receive_payments: bool
61
+ r"""Whether the organization can receive payments."""
62
+ can_receive_settlements: bool
63
+ r"""Whether the organization can receive settlements to their external bank account."""
64
+ signed_up_at: str
65
+ r"""The sign up date time of the organization in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
66
+ links: EntityOnboardingStatusLinksTypedDict
67
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
68
+
69
+
70
+ class EntityOnboardingStatus(BaseModel):
71
+ resource: str
72
+ r"""Indicates the response contains an onboarding status object. Will always contain the string `onboarding` for this
73
+ resource type.
74
+ """
75
+
76
+ name: str
77
+ r"""The name of the organization."""
78
+
79
+ status: Annotated[
80
+ EntityOnboardingStatusStatus, PlainValidator(validate_open_enum(False))
81
+ ]
82
+
83
+ can_receive_payments: Annotated[bool, pydantic.Field(alias="canReceivePayments")]
84
+ r"""Whether the organization can receive payments."""
85
+
86
+ can_receive_settlements: Annotated[
87
+ bool, pydantic.Field(alias="canReceiveSettlements")
88
+ ]
89
+ r"""Whether the organization can receive settlements to their external bank account."""
90
+
91
+ signed_up_at: Annotated[str, pydantic.Field(alias="signedUpAt")]
92
+ r"""The sign up date time of the organization in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
93
+
94
+ links: Annotated[EntityOnboardingStatusLinks, pydantic.Field(alias="_links")]
95
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
@@ -0,0 +1,178 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .address import Address, AddressTypedDict
5
+ from .organization_vat_regulation import OrganizationVatRegulation
6
+ from .url import URL, URLTypedDict
7
+ from enum import Enum
8
+ from mollie import utils
9
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
10
+ from mollie.utils import validate_open_enum
11
+ import pydantic
12
+ from pydantic import model_serializer
13
+ from pydantic.functional_validators import PlainValidator
14
+ from typing import Optional
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
16
+
17
+
18
+ class EntityOrganizationLocale(str, Enum, metaclass=utils.OpenEnumMeta):
19
+ r"""The preferred locale of the merchant, as set in their Mollie dashboard."""
20
+
21
+ EN_US = "en_US"
22
+ EN_GB = "en_GB"
23
+ NL_NL = "nl_NL"
24
+ NL_BE = "nl_BE"
25
+ DE_DE = "de_DE"
26
+ DE_AT = "de_AT"
27
+ DE_CH = "de_CH"
28
+ FR_FR = "fr_FR"
29
+ FR_BE = "fr_BE"
30
+ ES_ES = "es_ES"
31
+ CA_ES = "ca_ES"
32
+ PT_PT = "pt_PT"
33
+ IT_IT = "it_IT"
34
+ NB_NO = "nb_NO"
35
+ SV_SE = "sv_SE"
36
+ FI_FI = "fi_FI"
37
+ DA_DK = "da_DK"
38
+ IS_IS = "is_IS"
39
+ HU_HU = "hu_HU"
40
+ PL_PL = "pl_PL"
41
+ LV_LV = "lv_LV"
42
+ LT_LT = "lt_LT"
43
+ NULL = "null"
44
+
45
+
46
+ class EntityOrganizationLinksTypedDict(TypedDict):
47
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
48
+
49
+ self_: NotRequired[URLTypedDict]
50
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
51
+ dashboard: NotRequired[URLTypedDict]
52
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
53
+ documentation: NotRequired[URLTypedDict]
54
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
55
+
56
+
57
+ class EntityOrganizationLinks(BaseModel):
58
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
59
+
60
+ self_: Annotated[Optional[URL], pydantic.Field(alias="self")] = None
61
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
62
+
63
+ dashboard: Optional[URL] = None
64
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
65
+
66
+ documentation: Optional[URL] = None
67
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
68
+
69
+
70
+ class EntityOrganizationTypedDict(TypedDict):
71
+ resource: str
72
+ r"""Indicates the response contains an organization object. Will always contain the string `organization` for this
73
+ resource type.
74
+ """
75
+ id: str
76
+ name: str
77
+ r"""The name of the organization."""
78
+ email: str
79
+ r"""The email address associated with the organization."""
80
+ locale: Nullable[EntityOrganizationLocale]
81
+ r"""The preferred locale of the merchant, as set in their Mollie dashboard."""
82
+ address: AddressTypedDict
83
+ registration_number: str
84
+ r"""The registration number of the organization at their local chamber of commerce."""
85
+ links: EntityOrganizationLinksTypedDict
86
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
87
+ vat_number: NotRequired[Nullable[str]]
88
+ r"""The VAT number of the organization, if based in the European Union or in The United Kingdom. VAT numbers are
89
+ verified against the international registry *VIES*.
90
+
91
+ The field is not present for merchants residing in other countries.
92
+ """
93
+ vat_regulation: NotRequired[Nullable[OrganizationVatRegulation]]
94
+ r"""Mollie applies Dutch VAT for merchants based in The Netherlands, British VAT for merchants based in The United
95
+ Kingdom, and shifted VAT for merchants in the European Union.
96
+
97
+ The field is not present for merchants residing in other countries.
98
+ """
99
+
100
+
101
+ class EntityOrganization(BaseModel):
102
+ resource: str
103
+ r"""Indicates the response contains an organization object. Will always contain the string `organization` for this
104
+ resource type.
105
+ """
106
+
107
+ id: str
108
+
109
+ name: str
110
+ r"""The name of the organization."""
111
+
112
+ email: str
113
+ r"""The email address associated with the organization."""
114
+
115
+ locale: Annotated[
116
+ Nullable[EntityOrganizationLocale], PlainValidator(validate_open_enum(False))
117
+ ]
118
+ r"""The preferred locale of the merchant, as set in their Mollie dashboard."""
119
+
120
+ address: Address
121
+
122
+ registration_number: Annotated[str, pydantic.Field(alias="registrationNumber")]
123
+ r"""The registration number of the organization at their local chamber of commerce."""
124
+
125
+ links: Annotated[EntityOrganizationLinks, pydantic.Field(alias="_links")]
126
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
127
+
128
+ vat_number: Annotated[OptionalNullable[str], pydantic.Field(alias="vatNumber")] = (
129
+ UNSET
130
+ )
131
+ r"""The VAT number of the organization, if based in the European Union or in The United Kingdom. VAT numbers are
132
+ verified against the international registry *VIES*.
133
+
134
+ The field is not present for merchants residing in other countries.
135
+ """
136
+
137
+ vat_regulation: Annotated[
138
+ Annotated[
139
+ OptionalNullable[OrganizationVatRegulation],
140
+ PlainValidator(validate_open_enum(False)),
141
+ ],
142
+ pydantic.Field(alias="vatRegulation"),
143
+ ] = UNSET
144
+ r"""Mollie applies Dutch VAT for merchants based in The Netherlands, British VAT for merchants based in The United
145
+ Kingdom, and shifted VAT for merchants in the European Union.
146
+
147
+ The field is not present for merchants residing in other countries.
148
+ """
149
+
150
+ @model_serializer(mode="wrap")
151
+ def serialize_model(self, handler):
152
+ optional_fields = ["vatNumber", "vatRegulation"]
153
+ nullable_fields = ["locale", "vatNumber", "vatRegulation"]
154
+ null_default_fields = []
155
+
156
+ serialized = handler(self)
157
+
158
+ m = {}
159
+
160
+ for n, f in type(self).model_fields.items():
161
+ k = f.alias or n
162
+ val = serialized.get(k)
163
+ serialized.pop(k, None)
164
+
165
+ optional_nullable = k in optional_fields and k in nullable_fields
166
+ is_set = (
167
+ self.__pydantic_fields_set__.intersection({n})
168
+ or k in null_default_fields
169
+ ) # pylint: disable=no-member
170
+
171
+ if val is not None and val != UNSET_SENTINEL:
172
+ m[k] = val
173
+ elif val != UNSET_SENTINEL and (
174
+ not k in optional_fields or (optional_nullable and is_set)
175
+ ):
176
+ m[k] = val
177
+
178
+ return m