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,348 @@
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 .amount_nullable import AmountNullable, AmountNullableTypedDict
6
+ from .mode import Mode
7
+ from .payment_address import PaymentAddress, PaymentAddressTypedDict
8
+ from .payment_line_item_response import (
9
+ PaymentLineItemResponse,
10
+ PaymentLineItemResponseTypedDict,
11
+ )
12
+ from .payment_link_method_response import PaymentLinkMethodResponse
13
+ from .payment_link_sequence_type_response import PaymentLinkSequenceTypeResponse
14
+ from .url import URL, URLTypedDict
15
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
16
+ from mollie.utils import validate_open_enum
17
+ import pydantic
18
+ from pydantic import model_serializer
19
+ from pydantic.functional_validators import PlainValidator
20
+ from typing import List, Optional
21
+ from typing_extensions import Annotated, NotRequired, TypedDict
22
+
23
+
24
+ class PaymentLinkResponseApplicationFeeTypedDict(TypedDict):
25
+ r"""With Mollie Connect you can charge fees on payment links that your app is processing on behalf of other Mollie
26
+ merchants.
27
+
28
+ If you use OAuth to create payment links on a connected merchant's account, you can charge a fee using this
29
+ `applicationFee` parameter. If a payment on the payment link succeeds, the fee will be deducted from the merchant's balance and sent
30
+ to your own account balance.
31
+ """
32
+
33
+ amount: AmountTypedDict
34
+ r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
35
+ description: str
36
+ r"""The description of the application fee. This will appear on settlement reports towards both you and the
37
+ connected merchant.
38
+ """
39
+
40
+
41
+ class PaymentLinkResponseApplicationFee(BaseModel):
42
+ r"""With Mollie Connect you can charge fees on payment links that your app is processing on behalf of other Mollie
43
+ merchants.
44
+
45
+ If you use OAuth to create payment links on a connected merchant's account, you can charge a fee using this
46
+ `applicationFee` parameter. If a payment on the payment link succeeds, the fee will be deducted from the merchant's balance and sent
47
+ to your own account balance.
48
+ """
49
+
50
+ amount: Amount
51
+ r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
52
+
53
+ description: str
54
+ r"""The description of the application fee. This will appear on settlement reports towards both you and the
55
+ connected merchant.
56
+ """
57
+
58
+
59
+ class PaymentLinkResponseLinksTypedDict(TypedDict):
60
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
61
+
62
+ self_: URLTypedDict
63
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
64
+ payment_link: URLTypedDict
65
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
66
+
67
+
68
+ class PaymentLinkResponseLinks(BaseModel):
69
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
70
+
71
+ self_: Annotated[URL, pydantic.Field(alias="self")]
72
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
73
+
74
+ payment_link: Annotated[URL, pydantic.Field(alias="paymentLink")]
75
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
76
+
77
+
78
+ class PaymentLinkResponseTypedDict(TypedDict):
79
+ resource: str
80
+ r"""Indicates the response contains a payment link object. Will always contain the string `payment-link` for this
81
+ endpoint.
82
+ """
83
+ id: str
84
+ r"""The identifier uniquely referring to this payment link. Example: `pl_4Y0eZitmBnQ6IDoMqZQKh`."""
85
+ mode: Mode
86
+ r"""Whether this entity was created in live mode or in test mode."""
87
+ description: str
88
+ r"""A short description of the payment link. The description is visible in the Dashboard and will be shown on the
89
+ customer's bank or card statement when possible.
90
+ """
91
+ amount: Nullable[AmountNullableTypedDict]
92
+ r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
93
+ archived: bool
94
+ r"""Whether the payment link is archived. Customers will not be able to complete payments on archived payment links."""
95
+ redirect_url: Nullable[str]
96
+ r"""The URL your customer will be redirected to after completing the payment process. If no redirect URL is provided,
97
+ the customer will be shown a generic message after completing the payment.
98
+ """
99
+ webhook_url: Nullable[str]
100
+ r"""The webhook URL where we will send payment status updates to.
101
+
102
+ The webhookUrl is optional, but without a webhook you will miss out on important status changes to any payments
103
+ resulting from the payment link.
104
+
105
+ The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use
106
+ webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your
107
+ local machine.
108
+ """
109
+ profile_id: Nullable[str]
110
+ r"""The identifier referring to the [profile](get-profile) this entity belongs to.
111
+
112
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation
113
+ request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is
114
+ required.
115
+ """
116
+ reusable: Nullable[bool]
117
+ r"""Indicates whether the payment link is reusable. If this field is set to `true`, customers can make multiple
118
+ payments using the same link.
119
+
120
+ If no value is specified, the field defaults to `false`, allowing only a single payment per link.
121
+ """
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
+ paid_at: Nullable[str]
125
+ r"""The date and time the payment link became paid, in ISO 8601 format."""
126
+ expires_at: Nullable[str]
127
+ r"""The date and time the payment link is set to expire, in ISO 8601 format. If no expiry date was provided up front,
128
+ the payment link will not expire automatically.
129
+ """
130
+ allowed_methods: Nullable[List[PaymentLinkMethodResponse]]
131
+ r"""An array of payment methods that are allowed to be used for this payment link. When this parameter is
132
+ not provided or is an empty array, all enabled payment methods will be available.
133
+ """
134
+ links: PaymentLinkResponseLinksTypedDict
135
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
136
+ minimum_amount: NotRequired[Nullable[AmountNullableTypedDict]]
137
+ r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
138
+ lines: NotRequired[Nullable[List[PaymentLineItemResponseTypedDict]]]
139
+ r"""Optionally provide the order lines for the payment. Each line contains details such as a description of the item
140
+ ordered and its price.
141
+
142
+ All lines must have the same currency as the payment.
143
+
144
+ Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`.
145
+ """
146
+ billing_address: NotRequired[PaymentAddressTypedDict]
147
+ shipping_address: NotRequired[PaymentAddressTypedDict]
148
+ application_fee: NotRequired[PaymentLinkResponseApplicationFeeTypedDict]
149
+ r"""With Mollie Connect you can charge fees on payment links that your app is processing on behalf of other Mollie
150
+ merchants.
151
+
152
+ If you use OAuth to create payment links on a connected merchant's account, you can charge a fee using this
153
+ `applicationFee` parameter. If a payment on the payment link succeeds, the fee will be deducted from the merchant's balance and sent
154
+ to your own account balance.
155
+ """
156
+ sequence_type: NotRequired[PaymentLinkSequenceTypeResponse]
157
+ customer_id: NotRequired[Nullable[str]]
158
+ r"""**Only relevant when `sequenceType` is set to `first`**
159
+
160
+ The ID of the [customer](get-customer) the payment link is being created for. If a value is not provided,
161
+ the customer will be required to input relevant information which will be used to establish a mandate after
162
+ the payment is made.
163
+ """
164
+
165
+
166
+ class PaymentLinkResponse(BaseModel):
167
+ resource: str
168
+ r"""Indicates the response contains a payment link object. Will always contain the string `payment-link` for this
169
+ endpoint.
170
+ """
171
+
172
+ id: str
173
+ r"""The identifier uniquely referring to this payment link. Example: `pl_4Y0eZitmBnQ6IDoMqZQKh`."""
174
+
175
+ mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
176
+ r"""Whether this entity was created in live mode or in test mode."""
177
+
178
+ description: str
179
+ r"""A short description of the payment link. The description is visible in the Dashboard and will be shown on the
180
+ customer's bank or card statement when possible.
181
+ """
182
+
183
+ amount: Nullable[AmountNullable]
184
+ r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
185
+
186
+ archived: bool
187
+ r"""Whether the payment link is archived. Customers will not be able to complete payments on archived payment links."""
188
+
189
+ redirect_url: Annotated[Nullable[str], pydantic.Field(alias="redirectUrl")]
190
+ r"""The URL your customer will be redirected to after completing the payment process. If no redirect URL is provided,
191
+ the customer will be shown a generic message after completing the payment.
192
+ """
193
+
194
+ webhook_url: Annotated[Nullable[str], pydantic.Field(alias="webhookUrl")]
195
+ r"""The webhook URL where we will send payment status updates to.
196
+
197
+ The webhookUrl is optional, but without a webhook you will miss out on important status changes to any payments
198
+ resulting from the payment link.
199
+
200
+ The webhookUrl must be reachable from Mollie's point of view, so you cannot use `localhost`. If you want to use
201
+ webhook during development on `localhost`, you must use a tool like ngrok to have the webhooks delivered to your
202
+ local machine.
203
+ """
204
+
205
+ profile_id: Annotated[Nullable[str], pydantic.Field(alias="profileId")]
206
+ r"""The identifier referring to the [profile](get-profile) this entity belongs to.
207
+
208
+ Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation
209
+ request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is
210
+ required.
211
+ """
212
+
213
+ reusable: Nullable[bool]
214
+ r"""Indicates whether the payment link is reusable. If this field is set to `true`, customers can make multiple
215
+ payments using the same link.
216
+
217
+ If no value is specified, the field defaults to `false`, allowing only a single payment per link.
218
+ """
219
+
220
+ created_at: Annotated[str, pydantic.Field(alias="createdAt")]
221
+ r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
222
+
223
+ paid_at: Annotated[Nullable[str], pydantic.Field(alias="paidAt")]
224
+ r"""The date and time the payment link became paid, in ISO 8601 format."""
225
+
226
+ expires_at: Annotated[Nullable[str], pydantic.Field(alias="expiresAt")]
227
+ r"""The date and time the payment link is set to expire, in ISO 8601 format. If no expiry date was provided up front,
228
+ the payment link will not expire automatically.
229
+ """
230
+
231
+ allowed_methods: Annotated[
232
+ Nullable[
233
+ List[
234
+ Annotated[
235
+ PaymentLinkMethodResponse, PlainValidator(validate_open_enum(False))
236
+ ]
237
+ ]
238
+ ],
239
+ pydantic.Field(alias="allowedMethods"),
240
+ ]
241
+ r"""An array of payment methods that are allowed to be used for this payment link. When this parameter is
242
+ not provided or is an empty array, all enabled payment methods will be available.
243
+ """
244
+
245
+ links: Annotated[PaymentLinkResponseLinks, pydantic.Field(alias="_links")]
246
+ r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
247
+
248
+ minimum_amount: Annotated[
249
+ OptionalNullable[AmountNullable], pydantic.Field(alias="minimumAmount")
250
+ ] = UNSET
251
+ r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
252
+
253
+ lines: OptionalNullable[List[PaymentLineItemResponse]] = UNSET
254
+ r"""Optionally provide the order lines for the payment. Each line contains details such as a description of the item
255
+ ordered and its price.
256
+
257
+ All lines must have the same currency as the payment.
258
+
259
+ Required for payment methods `billie`, `in3`, `klarna`, `riverty` and `voucher`.
260
+ """
261
+
262
+ billing_address: Annotated[
263
+ Optional[PaymentAddress], pydantic.Field(alias="billingAddress")
264
+ ] = None
265
+
266
+ shipping_address: Annotated[
267
+ Optional[PaymentAddress], pydantic.Field(alias="shippingAddress")
268
+ ] = None
269
+
270
+ application_fee: Annotated[
271
+ Optional[PaymentLinkResponseApplicationFee],
272
+ pydantic.Field(alias="applicationFee"),
273
+ ] = None
274
+ r"""With Mollie Connect you can charge fees on payment links that your app is processing on behalf of other Mollie
275
+ merchants.
276
+
277
+ If you use OAuth to create payment links on a connected merchant's account, you can charge a fee using this
278
+ `applicationFee` parameter. If a payment on the payment link succeeds, the fee will be deducted from the merchant's balance and sent
279
+ to your own account balance.
280
+ """
281
+
282
+ sequence_type: Annotated[
283
+ Annotated[
284
+ Optional[PaymentLinkSequenceTypeResponse],
285
+ PlainValidator(validate_open_enum(False)),
286
+ ],
287
+ pydantic.Field(alias="sequenceType"),
288
+ ] = None
289
+
290
+ customer_id: Annotated[
291
+ OptionalNullable[str], pydantic.Field(alias="customerId")
292
+ ] = UNSET
293
+ r"""**Only relevant when `sequenceType` is set to `first`**
294
+
295
+ The ID of the [customer](get-customer) the payment link is being created for. If a value is not provided,
296
+ the customer will be required to input relevant information which will be used to establish a mandate after
297
+ the payment is made.
298
+ """
299
+
300
+ @model_serializer(mode="wrap")
301
+ def serialize_model(self, handler):
302
+ optional_fields = [
303
+ "minimumAmount",
304
+ "lines",
305
+ "billingAddress",
306
+ "shippingAddress",
307
+ "applicationFee",
308
+ "sequenceType",
309
+ "customerId",
310
+ ]
311
+ nullable_fields = [
312
+ "amount",
313
+ "minimumAmount",
314
+ "redirectUrl",
315
+ "webhookUrl",
316
+ "lines",
317
+ "profileId",
318
+ "reusable",
319
+ "paidAt",
320
+ "expiresAt",
321
+ "allowedMethods",
322
+ "customerId",
323
+ ]
324
+ null_default_fields = []
325
+
326
+ serialized = handler(self)
327
+
328
+ m = {}
329
+
330
+ for n, f in type(self).model_fields.items():
331
+ k = f.alias or n
332
+ val = serialized.get(k)
333
+ serialized.pop(k, None)
334
+
335
+ optional_nullable = k in optional_fields and k in nullable_fields
336
+ is_set = (
337
+ self.__pydantic_fields_set__.intersection({n})
338
+ or k in null_default_fields
339
+ ) # pylint: disable=no-member
340
+
341
+ if val is not None and val != UNSET_SENTINEL:
342
+ m[k] = val
343
+ elif val != UNSET_SENTINEL and (
344
+ not k in optional_fields or (optional_nullable and is_set)
345
+ ):
346
+ m[k] = val
347
+
348
+ return m
@@ -0,0 +1,9 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+
6
+
7
+ class PaymentLinkSequenceType(str, Enum):
8
+ ONEOFF = "oneoff"
9
+ FIRST = "first"
@@ -0,0 +1,10 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+ from mollie import utils
6
+
7
+
8
+ class PaymentLinkSequenceTypeResponse(str, Enum, metaclass=utils.OpenEnumMeta):
9
+ ONEOFF = "oneoff"
10
+ FIRST = "first"
@@ -0,0 +1,140 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .list_route_get_response import ListRouteGetResponse, ListRouteGetResponseTypedDict
5
+ from .url import URL, URLTypedDict
6
+ from mollie.types import BaseModel
7
+ from mollie.utils import (
8
+ FieldMetadata,
9
+ HeaderMetadata,
10
+ PathParamMetadata,
11
+ QueryParamMetadata,
12
+ )
13
+ import pydantic
14
+ from typing import List, Optional
15
+ from typing_extensions import Annotated, NotRequired, TypedDict
16
+
17
+
18
+ class PaymentListRoutesGlobalsTypedDict(TypedDict):
19
+ testmode: NotRequired[bool]
20
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
21
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
22
+ setting the `testmode` query parameter to `true`.
23
+
24
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
25
+ """
26
+
27
+
28
+ class PaymentListRoutesGlobals(BaseModel):
29
+ testmode: Annotated[
30
+ Optional[bool],
31
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
32
+ ] = None
33
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
34
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
35
+ setting the `testmode` query parameter to `true`.
36
+
37
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
38
+ """
39
+
40
+
41
+ class PaymentListRoutesRequestTypedDict(TypedDict):
42
+ payment_id: str
43
+ r"""Provide the ID of the related payment."""
44
+ testmode: NotRequired[bool]
45
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
46
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
47
+ setting the `testmode` query parameter to `true`.
48
+
49
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
50
+ """
51
+ idempotency_key: NotRequired[str]
52
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
53
+
54
+
55
+ class PaymentListRoutesRequest(BaseModel):
56
+ payment_id: Annotated[
57
+ str,
58
+ pydantic.Field(alias="paymentId"),
59
+ FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
60
+ ]
61
+ r"""Provide the ID of the related payment."""
62
+
63
+ testmode: Annotated[
64
+ Optional[bool],
65
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
66
+ ] = None
67
+ r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
68
+ parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
69
+ setting the `testmode` query parameter to `true`.
70
+
71
+ Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
72
+ """
73
+
74
+ idempotency_key: Annotated[
75
+ Optional[str],
76
+ pydantic.Field(alias="idempotency-key"),
77
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
78
+ ] = None
79
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
80
+
81
+
82
+ class PaymentListRoutesEmbeddedTypedDict(TypedDict):
83
+ routes: List[ListRouteGetResponseTypedDict]
84
+ r"""An array of route objects."""
85
+
86
+
87
+ class PaymentListRoutesEmbedded(BaseModel):
88
+ routes: List[ListRouteGetResponse]
89
+ r"""An array of route objects."""
90
+
91
+
92
+ class PaymentListRoutesLinksTypedDict(TypedDict):
93
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
94
+
95
+ self_: NotRequired[URLTypedDict]
96
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
97
+ documentation: NotRequired[URLTypedDict]
98
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
99
+
100
+
101
+ class PaymentListRoutesLinks(BaseModel):
102
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
103
+
104
+ self_: Annotated[Optional[URL], pydantic.Field(alias="self")] = None
105
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
106
+
107
+ documentation: Optional[URL] = None
108
+ r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
109
+
110
+
111
+ class PaymentListRoutesResponseTypedDict(TypedDict):
112
+ r"""A list of route objects."""
113
+
114
+ count: int
115
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
116
+ as well.
117
+
118
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
119
+ limit is 50 items.
120
+ """
121
+ embedded: PaymentListRoutesEmbeddedTypedDict
122
+ links: PaymentListRoutesLinksTypedDict
123
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
124
+
125
+
126
+ class PaymentListRoutesResponse(BaseModel):
127
+ r"""A list of route objects."""
128
+
129
+ count: int
130
+ r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
131
+ as well.
132
+
133
+ The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
134
+ limit is 50 items.
135
+ """
136
+
137
+ embedded: Annotated[PaymentListRoutesEmbedded, pydantic.Field(alias="_embedded")]
138
+
139
+ links: Annotated[PaymentListRoutesLinks, pydantic.Field(alias="_links")]
140
+ r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
@@ -0,0 +1,53 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+ from mollie import utils
6
+
7
+
8
+ class PaymentMethod(str, Enum, metaclass=utils.OpenEnumMeta):
9
+ r"""The payment method, if applicable"""
10
+
11
+ ALMA = "alma"
12
+ BACS = "bacs"
13
+ APPLEPAY = "applepay"
14
+ BANCOMATPAY = "bancomatpay"
15
+ BANCONTACT = "bancontact"
16
+ BANKTRANSFER = "banktransfer"
17
+ BELFIUS = "belfius"
18
+ BILLIE = "billie"
19
+ BIZUM = "bizum"
20
+ BITCOIN = "bitcoin"
21
+ BLIK = "blik"
22
+ CREDITCARD = "creditcard"
23
+ DIRECTDEBIT = "directdebit"
24
+ EPS = "eps"
25
+ GIFTCARD = "giftcard"
26
+ GIROPAY = "giropay"
27
+ GOOGLEPAY = "googlepay"
28
+ IDEAL = "ideal"
29
+ IN3 = "in3"
30
+ INGHOMEPAY = "inghomepay"
31
+ KBC = "kbc"
32
+ KLARNAPAYLATER = "klarnapaylater"
33
+ KLARNAPAYNOW = "klarnapaynow"
34
+ KLARNASLICEIT = "klarnasliceit"
35
+ KLARNA = "klarna"
36
+ MBWAY = "mbway"
37
+ MOBILEPAY = "mobilepay"
38
+ MULTIBANCO = "multibanco"
39
+ MYBANK = "mybank"
40
+ PAYBYBANK = "paybybank"
41
+ PAYPAL = "paypal"
42
+ PAYSAFECARD = "paysafecard"
43
+ PRZELEWY24 = "przelewy24"
44
+ RIVERTY = "riverty"
45
+ SATISPAY = "satispay"
46
+ PODIUMCADEAUKAART = "podiumcadeaukaart"
47
+ POINTOFSALE = "pointofsale"
48
+ SOFORT = "sofort"
49
+ SWISH = "swish"
50
+ TRUSTLY = "trustly"
51
+ TWINT = "twint"
52
+ VIPPS = "vipps"
53
+ VOUCHER = "voucher"