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,315 @@
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 ListEntityMethodID(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
+ PRZELEWY24 = "przelewy24"
48
+ RIVERTY = "riverty"
49
+ SATISPAY = "satispay"
50
+ SWISH = "swish"
51
+ TRUSTLY = "trustly"
52
+ TWINT = "twint"
53
+ VIPPS = "vipps"
54
+ VOUCHER = "voucher"
55
+
56
+
57
+ class ListEntityMethodMinimumAmountTypedDict(TypedDict):
58
+ r"""The minimum payment amount required to use this payment method."""
59
+
60
+ currency: str
61
+ r"""A three-character ISO 4217 currency code."""
62
+ value: str
63
+ r"""A string containing an exact monetary amount in the given currency."""
64
+
65
+
66
+ class ListEntityMethodMinimumAmount(BaseModel):
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
+
72
+ value: str
73
+ r"""A string containing an exact monetary amount in the given currency."""
74
+
75
+
76
+ class ListEntityMethodMaximumAmountTypedDict(TypedDict):
77
+ r"""The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null`
78
+ is returned instead.
79
+ """
80
+
81
+ currency: str
82
+ r"""A three-character ISO 4217 currency code."""
83
+ value: str
84
+ r"""A string containing an exact monetary amount in the given currency."""
85
+
86
+
87
+ class ListEntityMethodMaximumAmount(BaseModel):
88
+ r"""The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null`
89
+ is returned instead.
90
+ """
91
+
92
+ currency: str
93
+ r"""A three-character ISO 4217 currency code."""
94
+
95
+ value: str
96
+ r"""A string containing an exact monetary amount in the given currency."""
97
+
98
+
99
+ class ListEntityMethodImageTypedDict(TypedDict):
100
+ r"""URLs of images representing the payment method."""
101
+
102
+ size1x: str
103
+ r"""The URL pointing to an icon of 32 by 24 pixels."""
104
+ size2x: str
105
+ r"""The URL pointing to an icon of 64 by 48 pixels."""
106
+ svg: str
107
+ r"""The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can
108
+ scale to any desired size without compromising visual quality.
109
+ """
110
+
111
+
112
+ class ListEntityMethodImage(BaseModel):
113
+ r"""URLs of images representing the payment method."""
114
+
115
+ size1x: str
116
+ r"""The URL pointing to an icon of 32 by 24 pixels."""
117
+
118
+ size2x: str
119
+ r"""The URL pointing to an icon of 64 by 48 pixels."""
120
+
121
+ svg: str
122
+ r"""The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can
123
+ scale to any desired size without compromising visual quality.
124
+ """
125
+
126
+
127
+ class ListEntityMethodIssuerImageTypedDict(TypedDict):
128
+ r"""URLs of images representing the issuer.
129
+ required:
130
+ - size1x
131
+ - size2x
132
+ - svg
133
+ """
134
+
135
+ size1x: NotRequired[str]
136
+ r"""The URL pointing to an icon of 32 by 24 pixels."""
137
+ size2x: NotRequired[str]
138
+ r"""The URL pointing to an icon of 64 by 48 pixels."""
139
+ svg: NotRequired[str]
140
+ r"""The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can
141
+ scale to any desired size without compromising visual quality.
142
+ """
143
+
144
+
145
+ class ListEntityMethodIssuerImage(BaseModel):
146
+ r"""URLs of images representing the issuer.
147
+ required:
148
+ - size1x
149
+ - size2x
150
+ - svg
151
+ """
152
+
153
+ size1x: Optional[str] = None
154
+ r"""The URL pointing to an icon of 32 by 24 pixels."""
155
+
156
+ size2x: Optional[str] = None
157
+ r"""The URL pointing to an icon of 64 by 48 pixels."""
158
+
159
+ svg: Optional[str] = None
160
+ r"""The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can
161
+ scale to any desired size without compromising visual quality.
162
+ """
163
+
164
+
165
+ class ListEntityMethodIssuerTypedDict(TypedDict):
166
+ resource: str
167
+ id: str
168
+ name: str
169
+ r"""The full name of the issuer."""
170
+ image: ListEntityMethodIssuerImageTypedDict
171
+ r"""URLs of images representing the issuer.
172
+ required:
173
+ - size1x
174
+ - size2x
175
+ - svg
176
+ """
177
+
178
+
179
+ class ListEntityMethodIssuer(BaseModel):
180
+ resource: str
181
+
182
+ id: str
183
+
184
+ name: str
185
+ r"""The full name of the issuer."""
186
+
187
+ image: ListEntityMethodIssuerImage
188
+ r"""URLs of images representing the issuer.
189
+ required:
190
+ - size1x
191
+ - size2x
192
+ - svg
193
+ """
194
+
195
+
196
+ class ListEntityMethodLinksTypedDict(TypedDict):
197
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
198
+
199
+ self_: URLTypedDict
200
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
201
+
202
+
203
+ class ListEntityMethodLinks(BaseModel):
204
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
205
+
206
+ self_: Annotated[URL, pydantic.Field(alias="self")]
207
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
208
+
209
+
210
+ class ListEntityMethodTypedDict(TypedDict):
211
+ resource: str
212
+ r"""Indicates the response contains a payment method object. Will always contain the string `method` for this
213
+ endpoint.
214
+ """
215
+ id: Nullable[ListEntityMethodID]
216
+ r"""The unique identifier of the payment method. When used during [payment creation](create-payment), the payment
217
+ method selection screen will be skipped.
218
+ """
219
+ description: str
220
+ r"""The full name of the payment method.
221
+
222
+ If a `locale` parameter is provided, the name is translated to the given locale if possible.
223
+ """
224
+ minimum_amount: ListEntityMethodMinimumAmountTypedDict
225
+ r"""The minimum payment amount required to use this payment method."""
226
+ maximum_amount: Nullable[ListEntityMethodMaximumAmountTypedDict]
227
+ r"""The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null`
228
+ is returned instead.
229
+ """
230
+ image: ListEntityMethodImageTypedDict
231
+ r"""URLs of images representing the payment method."""
232
+ status: Nullable[MethodStatus]
233
+ r"""The payment method's activation status for this profile."""
234
+ links: ListEntityMethodLinksTypedDict
235
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
236
+ issuers: NotRequired[List[ListEntityMethodIssuerTypedDict]]
237
+ r"""**Optional include.** Array of objects for each 'issuer' that is available for this payment method. Only relevant
238
+ for iDEAL, KBC/CBC, gift cards, and vouchers.
239
+ """
240
+
241
+
242
+ class ListEntityMethod(BaseModel):
243
+ resource: str
244
+ r"""Indicates the response contains a payment method object. Will always contain the string `method` for this
245
+ endpoint.
246
+ """
247
+
248
+ id: Annotated[
249
+ Nullable[ListEntityMethodID], PlainValidator(validate_open_enum(False))
250
+ ]
251
+ r"""The unique identifier of the payment method. When used during [payment creation](create-payment), the payment
252
+ method selection screen will be skipped.
253
+ """
254
+
255
+ description: str
256
+ r"""The full name of the payment method.
257
+
258
+ If a `locale` parameter is provided, the name is translated to the given locale if possible.
259
+ """
260
+
261
+ minimum_amount: Annotated[
262
+ ListEntityMethodMinimumAmount, pydantic.Field(alias="minimumAmount")
263
+ ]
264
+ r"""The minimum payment amount required to use this payment method."""
265
+
266
+ maximum_amount: Annotated[
267
+ Nullable[ListEntityMethodMaximumAmount], pydantic.Field(alias="maximumAmount")
268
+ ]
269
+ r"""The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null`
270
+ is returned instead.
271
+ """
272
+
273
+ image: ListEntityMethodImage
274
+ r"""URLs of images representing the payment method."""
275
+
276
+ status: Annotated[Nullable[MethodStatus], PlainValidator(validate_open_enum(False))]
277
+ r"""The payment method's activation status for this profile."""
278
+
279
+ links: Annotated[ListEntityMethodLinks, pydantic.Field(alias="_links")]
280
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
281
+
282
+ issuers: Optional[List[ListEntityMethodIssuer]] = None
283
+ r"""**Optional include.** Array of objects for each 'issuer' that is available for this payment method. Only relevant
284
+ for iDEAL, KBC/CBC, gift cards, and vouchers.
285
+ """
286
+
287
+ @model_serializer(mode="wrap")
288
+ def serialize_model(self, handler):
289
+ optional_fields = ["issuers"]
290
+ nullable_fields = ["id", "maximumAmount", "status"]
291
+ null_default_fields = []
292
+
293
+ serialized = handler(self)
294
+
295
+ m = {}
296
+
297
+ for n, f in type(self).model_fields.items():
298
+ k = f.alias or n
299
+ val = serialized.get(k)
300
+ serialized.pop(k, None)
301
+
302
+ optional_nullable = k in optional_fields and k in nullable_fields
303
+ is_set = (
304
+ self.__pydantic_fields_set__.intersection({n})
305
+ or k in null_default_fields
306
+ ) # pylint: disable=no-member
307
+
308
+ if val is not None and val != UNSET_SENTINEL:
309
+ m[k] = val
310
+ elif val != UNSET_SENTINEL and (
311
+ not k in optional_fields or (optional_nullable and is_set)
312
+ ):
313
+ m[k] = val
314
+
315
+ return m
@@ -0,0 +1,391 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .amount import Amount, AmountTypedDict
5
+ from .method_status import MethodStatus
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 List, Optional
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
16
+
17
+
18
+ class ListEntityMethodAllID(str, Enum, metaclass=utils.OpenEnumMeta):
19
+ r"""The unique identifier of the payment method. When used during [payment creation](create-payment), the payment
20
+ method selection screen will be skipped.
21
+ """
22
+
23
+ ALMA = "alma"
24
+ APPLEPAY = "applepay"
25
+ BACS = "bacs"
26
+ BANCOMATPAY = "bancomatpay"
27
+ BANCONTACT = "bancontact"
28
+ BANKTRANSFER = "banktransfer"
29
+ BELFIUS = "belfius"
30
+ BILLIE = "billie"
31
+ BIZUM = "bizum"
32
+ BLIK = "blik"
33
+ CREDITCARD = "creditcard"
34
+ DIRECTDEBIT = "directdebit"
35
+ EPS = "eps"
36
+ GIFTCARD = "giftcard"
37
+ IDEAL = "ideal"
38
+ IN3 = "in3"
39
+ KBC = "kbc"
40
+ KLARNA = "klarna"
41
+ MBWAY = "mbway"
42
+ MOBILEPAY = "mobilepay"
43
+ MULTIBANCO = "multibanco"
44
+ MYBANK = "mybank"
45
+ PAYBYBANK = "paybybank"
46
+ PAYPAL = "paypal"
47
+ PAYSAFECARD = "paysafecard"
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
+
57
+
58
+ class ListEntityMethodAllMinimumAmountTypedDict(TypedDict):
59
+ r"""The minimum payment amount required to use this payment method."""
60
+
61
+ currency: str
62
+ r"""A three-character ISO 4217 currency code."""
63
+ value: str
64
+ r"""A string containing an exact monetary amount in the given currency."""
65
+
66
+
67
+ class ListEntityMethodAllMinimumAmount(BaseModel):
68
+ r"""The minimum payment amount required to use this payment method."""
69
+
70
+ currency: str
71
+ r"""A three-character ISO 4217 currency code."""
72
+
73
+ value: str
74
+ r"""A string containing an exact monetary amount in the given currency."""
75
+
76
+
77
+ class ListEntityMethodAllMaximumAmountTypedDict(TypedDict):
78
+ r"""The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null`
79
+ is returned instead.
80
+ """
81
+
82
+ currency: str
83
+ r"""A three-character ISO 4217 currency code."""
84
+ value: str
85
+ r"""A string containing an exact monetary amount in the given currency."""
86
+
87
+
88
+ class ListEntityMethodAllMaximumAmount(BaseModel):
89
+ r"""The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null`
90
+ is returned instead.
91
+ """
92
+
93
+ currency: str
94
+ r"""A three-character ISO 4217 currency code."""
95
+
96
+ value: str
97
+ r"""A string containing an exact monetary amount in the given currency."""
98
+
99
+
100
+ class ListEntityMethodAllImageTypedDict(TypedDict):
101
+ r"""URLs of images representing the payment method."""
102
+
103
+ size1x: str
104
+ r"""The URL pointing to an icon of 32 by 24 pixels."""
105
+ size2x: str
106
+ r"""The URL pointing to an icon of 64 by 48 pixels."""
107
+ svg: str
108
+ r"""The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can
109
+ scale to any desired size without compromising visual quality.
110
+ """
111
+
112
+
113
+ class ListEntityMethodAllImage(BaseModel):
114
+ r"""URLs of images representing the payment method."""
115
+
116
+ size1x: str
117
+ r"""The URL pointing to an icon of 32 by 24 pixels."""
118
+
119
+ size2x: str
120
+ r"""The URL pointing to an icon of 64 by 48 pixels."""
121
+
122
+ svg: str
123
+ r"""The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can
124
+ scale to any desired size without compromising visual quality.
125
+ """
126
+
127
+
128
+ class ListEntityMethodAllIssuerImageTypedDict(TypedDict):
129
+ r"""URLs of images representing the issuer.
130
+ required:
131
+ - size1x
132
+ - size2x
133
+ - svg
134
+ """
135
+
136
+ size1x: NotRequired[str]
137
+ r"""The URL pointing to an icon of 32 by 24 pixels."""
138
+ size2x: NotRequired[str]
139
+ r"""The URL pointing to an icon of 64 by 48 pixels."""
140
+ svg: NotRequired[str]
141
+ r"""The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can
142
+ scale to any desired size without compromising visual quality.
143
+ """
144
+
145
+
146
+ class ListEntityMethodAllIssuerImage(BaseModel):
147
+ r"""URLs of images representing the issuer.
148
+ required:
149
+ - size1x
150
+ - size2x
151
+ - svg
152
+ """
153
+
154
+ size1x: Optional[str] = None
155
+ r"""The URL pointing to an icon of 32 by 24 pixels."""
156
+
157
+ size2x: Optional[str] = None
158
+ r"""The URL pointing to an icon of 64 by 48 pixels."""
159
+
160
+ svg: Optional[str] = None
161
+ r"""The URL pointing to a vector version of the icon. Usage of this format is preferred, since the icon can
162
+ scale to any desired size without compromising visual quality.
163
+ """
164
+
165
+
166
+ class ListEntityMethodAllIssuerTypedDict(TypedDict):
167
+ resource: str
168
+ id: str
169
+ name: str
170
+ r"""The full name of the issuer."""
171
+ image: ListEntityMethodAllIssuerImageTypedDict
172
+ r"""URLs of images representing the issuer.
173
+ required:
174
+ - size1x
175
+ - size2x
176
+ - svg
177
+ """
178
+
179
+
180
+ class ListEntityMethodAllIssuer(BaseModel):
181
+ resource: str
182
+
183
+ id: str
184
+
185
+ name: str
186
+ r"""The full name of the issuer."""
187
+
188
+ image: ListEntityMethodAllIssuerImage
189
+ r"""URLs of images representing the issuer.
190
+ required:
191
+ - size1x
192
+ - size2x
193
+ - svg
194
+ """
195
+
196
+
197
+ class ListEntityMethodAllLinksTypedDict(TypedDict):
198
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
199
+
200
+ self_: URLTypedDict
201
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
202
+
203
+
204
+ class ListEntityMethodAllLinks(BaseModel):
205
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
206
+
207
+ self_: Annotated[URL, pydantic.Field(alias="self")]
208
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
209
+
210
+
211
+ class PricingTypedDict(TypedDict):
212
+ description: str
213
+ r"""A description of what the pricing applies to. For example, a specific country (`The Netherlands`) or a
214
+ category of cards (`American Express`). If a `locale` is provided, the description may be translated.
215
+ """
216
+ fixed: AmountTypedDict
217
+ r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
218
+ variable: str
219
+ r"""The variable price charged per payment, as a percentage string."""
220
+ fee_region: NotRequired[Nullable[str]]
221
+ r"""Only present for credit card pricing. It will correspond with the `feeRegion` of credit card payments as
222
+ returned in the [Payments API](get-payment).
223
+ """
224
+
225
+
226
+ class Pricing(BaseModel):
227
+ description: str
228
+ r"""A description of what the pricing applies to. For example, a specific country (`The Netherlands`) or a
229
+ category of cards (`American Express`). If a `locale` is provided, the description may be translated.
230
+ """
231
+
232
+ fixed: Amount
233
+ r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
234
+
235
+ variable: str
236
+ r"""The variable price charged per payment, as a percentage string."""
237
+
238
+ fee_region: Annotated[OptionalNullable[str], pydantic.Field(alias="feeRegion")] = (
239
+ UNSET
240
+ )
241
+ r"""Only present for credit card pricing. It will correspond with the `feeRegion` of credit card payments as
242
+ returned in the [Payments API](get-payment).
243
+ """
244
+
245
+ @model_serializer(mode="wrap")
246
+ def serialize_model(self, handler):
247
+ optional_fields = ["feeRegion"]
248
+ nullable_fields = ["feeRegion"]
249
+ null_default_fields = []
250
+
251
+ serialized = handler(self)
252
+
253
+ m = {}
254
+
255
+ for n, f in type(self).model_fields.items():
256
+ k = f.alias or n
257
+ val = serialized.get(k)
258
+ serialized.pop(k, None)
259
+
260
+ optional_nullable = k in optional_fields and k in nullable_fields
261
+ is_set = (
262
+ self.__pydantic_fields_set__.intersection({n})
263
+ or k in null_default_fields
264
+ ) # pylint: disable=no-member
265
+
266
+ if val is not None and val != UNSET_SENTINEL:
267
+ m[k] = val
268
+ elif val != UNSET_SENTINEL and (
269
+ not k in optional_fields or (optional_nullable and is_set)
270
+ ):
271
+ m[k] = val
272
+
273
+ return m
274
+
275
+
276
+ class ListEntityMethodAllTypedDict(TypedDict):
277
+ resource: str
278
+ r"""Indicates the response contains a payment method object. Will always contain the string `method` for this
279
+ endpoint.
280
+ """
281
+ id: Nullable[ListEntityMethodAllID]
282
+ r"""The unique identifier of the payment method. When used during [payment creation](create-payment), the payment
283
+ method selection screen will be skipped.
284
+ """
285
+ description: str
286
+ r"""The full name of the payment method.
287
+
288
+ If a `locale` parameter is provided, the name is translated to the given locale if possible.
289
+ """
290
+ minimum_amount: ListEntityMethodAllMinimumAmountTypedDict
291
+ r"""The minimum payment amount required to use this payment method."""
292
+ maximum_amount: Nullable[ListEntityMethodAllMaximumAmountTypedDict]
293
+ r"""The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null`
294
+ is returned instead.
295
+ """
296
+ image: ListEntityMethodAllImageTypedDict
297
+ r"""URLs of images representing the payment method."""
298
+ status: Nullable[MethodStatus]
299
+ r"""The payment method's activation status for this profile."""
300
+ links: ListEntityMethodAllLinksTypedDict
301
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
302
+ issuers: NotRequired[List[ListEntityMethodAllIssuerTypedDict]]
303
+ r"""**Optional include.** Array of objects for each 'issuer' that is available for this payment method. Only relevant
304
+ for iDEAL, KBC/CBC, gift cards, and vouchers.
305
+ """
306
+ pricing: NotRequired[List[PricingTypedDict]]
307
+ r"""**Optional include.** Array of objects describing the pricing configuration applicable for this payment method on
308
+ your account.
309
+ """
310
+
311
+
312
+ class ListEntityMethodAll(BaseModel):
313
+ resource: str
314
+ r"""Indicates the response contains a payment method object. Will always contain the string `method` for this
315
+ endpoint.
316
+ """
317
+
318
+ id: Annotated[
319
+ Nullable[ListEntityMethodAllID], PlainValidator(validate_open_enum(False))
320
+ ]
321
+ r"""The unique identifier of the payment method. When used during [payment creation](create-payment), the payment
322
+ method selection screen will be skipped.
323
+ """
324
+
325
+ description: str
326
+ r"""The full name of the payment method.
327
+
328
+ If a `locale` parameter is provided, the name is translated to the given locale if possible.
329
+ """
330
+
331
+ minimum_amount: Annotated[
332
+ ListEntityMethodAllMinimumAmount, pydantic.Field(alias="minimumAmount")
333
+ ]
334
+ r"""The minimum payment amount required to use this payment method."""
335
+
336
+ maximum_amount: Annotated[
337
+ Nullable[ListEntityMethodAllMaximumAmount],
338
+ pydantic.Field(alias="maximumAmount"),
339
+ ]
340
+ r"""The maximum payment amount allowed when using this payment method. If there is no method-specific maximum, `null`
341
+ is returned instead.
342
+ """
343
+
344
+ image: ListEntityMethodAllImage
345
+ r"""URLs of images representing the payment method."""
346
+
347
+ status: Annotated[Nullable[MethodStatus], PlainValidator(validate_open_enum(False))]
348
+ r"""The payment method's activation status for this profile."""
349
+
350
+ links: Annotated[ListEntityMethodAllLinks, pydantic.Field(alias="_links")]
351
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
352
+
353
+ issuers: Optional[List[ListEntityMethodAllIssuer]] = None
354
+ r"""**Optional include.** Array of objects for each 'issuer' that is available for this payment method. Only relevant
355
+ for iDEAL, KBC/CBC, gift cards, and vouchers.
356
+ """
357
+
358
+ pricing: Optional[List[Pricing]] = None
359
+ r"""**Optional include.** Array of objects describing the pricing configuration applicable for this payment method on
360
+ your account.
361
+ """
362
+
363
+ @model_serializer(mode="wrap")
364
+ def serialize_model(self, handler):
365
+ optional_fields = ["issuers", "pricing"]
366
+ nullable_fields = ["id", "maximumAmount", "status"]
367
+ null_default_fields = []
368
+
369
+ serialized = handler(self)
370
+
371
+ m = {}
372
+
373
+ for n, f in type(self).model_fields.items():
374
+ k = f.alias or n
375
+ val = serialized.get(k)
376
+ serialized.pop(k, None)
377
+
378
+ optional_nullable = k in optional_fields and k in nullable_fields
379
+ is_set = (
380
+ self.__pydantic_fields_set__.intersection({n})
381
+ or k in null_default_fields
382
+ ) # pylint: disable=no-member
383
+
384
+ if val is not None and val != UNSET_SENTINEL:
385
+ m[k] = val
386
+ elif val != UNSET_SENTINEL and (
387
+ not k in optional_fields or (optional_nullable and is_set)
388
+ ):
389
+ m[k] = val
390
+
391
+ return m