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,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 Sorting(str, Enum):
8
+ ASC = "asc"
9
+ DESC = "desc"
@@ -0,0 +1,168 @@
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.types import BaseModel
6
+ from typing_extensions import TypedDict
7
+
8
+
9
+ class Code(str, Enum):
10
+ r"""A machine-readable code that indicates the reason for the payment's status."""
11
+
12
+ APPROVED_OR_COMPLETED_SUCCESSFULLY = "approved_or_completed_successfully"
13
+ REFER_TO_CARD_ISSUER = "refer_to_card_issuer"
14
+ INVALID_MERCHANT = "invalid_merchant"
15
+ CAPTURE_CARD = "capture_card"
16
+ DO_NOT_HONOR = "do_not_honor"
17
+ ERROR = "error"
18
+ PARTIAL_APPROVAL = "partial_approval"
19
+ INVALID_TRANSACTION = "invalid_transaction"
20
+ INVALID_AMOUNT = "invalid_amount"
21
+ INVALID_ISSUER = "invalid_issuer"
22
+ LOST_CARD = "lost_card"
23
+ STOLEN_CARD = "stolen_card"
24
+ INSUFFICIENT_FUNDS = "insufficient_funds"
25
+ EXPIRED_CARD = "expired_card"
26
+ INVALID_PIN = "invalid_pin"
27
+ TRANSACTION_NOT_PERMITTED_TO_CARDHOLDER = "transaction_not_permitted_to_cardholder"
28
+ TRANSACTION_NOT_ALLOWED_AT_TERMINAL = "transaction_not_allowed_at_terminal"
29
+ EXCEEDS_WITHDRAWAL_AMOUNT_LIMIT = "exceeds_withdrawal_amount_limit"
30
+ RESTRICTED_CARD = "restricted_card"
31
+ SECURITY_VIOLATION = "security_violation"
32
+ EXCEEDS_WITHDRAWAL_COUNT_LIMIT = "exceeds_withdrawal_count_limit"
33
+ ALLOWABLE_NUMBER_OF_PIN_TRIES_EXCEEDED = "allowable_number_of_pin_tries_exceeded"
34
+ NO_REASON_TO_DECLINE = "no_reason_to_decline"
35
+ CANNOT_VERIFY_PIN = "cannot_verify_pin"
36
+ ISSUER_UNAVAILABLE = "issuer_unavailable"
37
+ UNABLE_TO_ROUTE_TRANSACTION = "unable_to_route_transaction"
38
+ DUPLICATE_TRANSACTION = "duplicate_transaction"
39
+ SYSTEM_MALFUNCTION = "system_malfunction"
40
+ HONOR_WITH_ID = "honor_with_id"
41
+ INVALID_CARD_NUMBER = "invalid_card_number"
42
+ FORMAT_ERROR = "format_error"
43
+ CONTACT_CARD_ISSUER = "contact_card_issuer"
44
+ PIN_NOT_CHANGED = "pin_not_changed"
45
+ INVALID_NONEXISTENT_TO_ACCOUNT_SPECIFIED = (
46
+ "invalid_nonexistent_to_account_specified"
47
+ )
48
+ INVALID_NONEXISTENT_FROM_ACCOUNT_SPECIFIED = (
49
+ "invalid_nonexistent_from_account_specified"
50
+ )
51
+ INVALID_NONEXISTENT_ACCOUNT_SPECIFIED = "invalid_nonexistent_account_specified"
52
+ LIFECYCLE_RELATED = "lifecycle_related"
53
+ DOMESTIC_DEBIT_TRANSACTION_NOT_ALLOWED = "domestic_debit_transaction_not_allowed"
54
+ POLICY_RELATED = "policy_related"
55
+ FRAUD_SECURITY_RELATED = "fraud_security_related"
56
+ INVALID_AUTHORIZATION_LIFE_CYCLE = "invalid_authorization_life_cycle"
57
+ PURCHASE_AMOUNT_ONLY_NO_CASH_BACK_ALLOWED = (
58
+ "purchase_amount_only_no_cash_back_allowed"
59
+ )
60
+ CRYPTOGRAPHIC_FAILURE = "cryptographic_failure"
61
+ UNACCEPTABLE_PIN = "unacceptable_pin"
62
+ REFER_TO_CARD_ISSUER_SPECIAL_CONDITION = "refer_to_card_issuer_special_condition"
63
+ PICK_UP_CARD_SPECIAL_CONDITION = "pick_up_card_special_condition"
64
+ VIP_APPROVAL = "vip_approval"
65
+ INVALID_ACCOUNT_NUMBER = "invalid_account_number"
66
+ RE_ENTER_TRANSACTION = "re_enter_transaction"
67
+ NO_ACTION_TAKEN = "no_action_taken"
68
+ UNABLE_TO_LOCATE_RECORD = "unable_to_locate_record"
69
+ FILE_TEMPORARILY_UNAVAILABLE = "file_temporarily_unavailable"
70
+ NO_CREDIT_ACCOUNT = "no_credit_account"
71
+ CLOSED_ACCOUNT = "closed_account"
72
+ NO_CHECKING_ACCOUNT = "no_checking_account"
73
+ NO_SAVINGS_ACCOUNT = "no_savings_account"
74
+ SUSPECTED_FRAUD = "suspected_fraud"
75
+ TRANSACTION_DOES_NOT_FULFILL_AML_REQUIREMENT = (
76
+ "transaction_does_not_fulfill_aml_requirement"
77
+ )
78
+ PIN_DATA_REQUIRED = "pin_data_required"
79
+ UNABLE_TO_LOCATE_PREVIOUS_MESSAGE = "unable_to_locate_previous_message"
80
+ PREVIOUS_MESSAGE_LOCATED_INCONSISTENT_DATA = (
81
+ "previous_message_located_inconsistent_data"
82
+ )
83
+ BLOCKED_FIRST_USED = "blocked_first_used"
84
+ TRANSACTION_REVERSED = "transaction_reversed"
85
+ CREDIT_ISSUER_UNAVAILABLE = "credit_issuer_unavailable"
86
+ PIN_CRYPTOGRAPHIC_ERROR_FOUND = "pin_cryptographic_error_found"
87
+ NEGATIVE_ONLINE_CAM_RESULT = "negative_online_cam_result"
88
+ VIOLATION_OF_LAW = "violation_of_law"
89
+ FORCE_STIP = "force_stip"
90
+ CASH_SERVICE_NOT_AVAILABLE = "cash_service_not_available"
91
+ CASHBACK_REQUEST_EXCEEDS_ISSUER_LIMIT = "cashback_request_exceeds_issuer_limit"
92
+ DECLINE_FOR_CVV2_FAILURE = "decline_for_cvv2_failure"
93
+ TRANSACTION_AMOUNT_EXCEEDS_PRE_AUTHORIZED_AMOUNT = (
94
+ "transaction_amount_exceeds_pre_authorized_amount"
95
+ )
96
+ INVALID_BILLER_INFORMATION = "invalid_biller_information"
97
+ PIN_CHANGE_UNBLOCK_REQUEST_DECLINED = "pin_change_unblock_request_declined"
98
+ UNSAFE_PIN = "unsafe_pin"
99
+ CARD_AUTHENTICATION_FAILED = "card_authentication_failed"
100
+ STOP_PAYMENT_ORDER = "stop_payment_order"
101
+ REVOCATION_OF_AUTHORIZATION = "revocation_of_authorization"
102
+ REVOCATION_OF_ALL_AUTHORIZATIONS = "revocation_of_all_authorizations"
103
+ FORWARD_TO_ISSUER_XA = "forward_to_issuer_xa"
104
+ FORWARD_TO_ISSUER_XD = "forward_to_issuer_xd"
105
+ UNABLE_TO_GO_ONLINE = "unable_to_go_online"
106
+ ADDITIONAL_CUSTOMER_AUTHENTICATION_REQUIRED = (
107
+ "additional_customer_authentication_required"
108
+ )
109
+ MERCHANT_ID_NOT_FOUND = "merchant_id_not_found"
110
+ MERCHANT_ACCOUNT_CLOSED = "merchant_account_closed"
111
+ TERMINAL_ID_NOT_FOUND = "terminal_id_not_found"
112
+ TERMINAL_CLOSED = "terminal_closed"
113
+ INVALID_CATEGORY_CODE = "invalid_category_code"
114
+ INVALID_CURRENCY = "invalid_currency"
115
+ MISSING_CVV2_CVC2 = "missing_cvv2_cvc2"
116
+ CVV2_NOT_ALLOWED = "cvv2_not_allowed"
117
+ MERCHANT_NOT_REGISTERED_VBV = "merchant_not_registered_vbv"
118
+ MERCHANT_NOT_REGISTERED_FOR_AMEX = "merchant_not_registered_for_amex"
119
+ TRANSACTION_NOT_PERMITTED_AT_TERMINAL = "transaction_not_permitted_at_terminal"
120
+ AGREEMENT_TERMINAL_NOT_RELATED = "agreement_terminal_not_related"
121
+ INVALID_PROCESSOR_ID = "invalid_processor_id"
122
+ INVALID_MERCHANT_DATA = "invalid_merchant_data"
123
+ SUB_MERCHANT_ACCOUNT_CLOSED = "sub_merchant_account_closed"
124
+ TERMINAL_BUSY = "terminal_busy"
125
+ TERMINAL_UNREACHABLE = "terminal_unreachable"
126
+ SERVICE_FAILED = "service_failed"
127
+ INVALID_OPERATION = "invalid_operation"
128
+ AUTHORIZATION_ERROR = "authorization_error"
129
+ LOGIN_FAILED_WITHOUT_REASON = "login_failed_without_reason"
130
+ INVALID_RETAILER = "invalid_retailer"
131
+ CARD_DOES_NOT_EXIST = "card_does_not_exist"
132
+ CARD_IS_BLOCKED = "card_is_blocked"
133
+ INVALID_CARD_ID = "invalid_card_id"
134
+ CARD_IS_TRANSFERRED = "card_is_transferred"
135
+ CARD_IS_NOT_ACTIVE = "card_is_not_active"
136
+ INCORRECT_PURCHASE_VALUE = "incorrect_purchase_value"
137
+ CARD_NOT_AVAILABLE = "card_not_available"
138
+ WRONG_CURRENCY = "wrong_currency"
139
+ LOGIN_FAILED_UNKNOWN_USER = "login_failed_unknown_user"
140
+ LOGIN_FAILED_INVALID_PASSWORD = "login_failed_invalid_password"
141
+ INVALID_EAN_CODE = "invalid_ean_code"
142
+
143
+
144
+ class StatusReasonTypedDict(TypedDict):
145
+ r"""This object offers details about the status of a payment. Currently it is only available for point-of-sale
146
+ payments.
147
+
148
+ You can find more information about the possible values of this object on
149
+ [this page](status-reasons).**
150
+ """
151
+
152
+ code: Code
153
+ message: str
154
+ r"""A description of the status reason, localized according to the payment `locale`."""
155
+
156
+
157
+ class StatusReason(BaseModel):
158
+ r"""This object offers details about the status of a payment. Currently it is only available for point-of-sale
159
+ payments.
160
+
161
+ You can find more information about the possible values of this object on
162
+ [this page](status-reasons).**
163
+ """
164
+
165
+ code: Code
166
+
167
+ message: str
168
+ r"""A description of the status reason, localized according to the payment `locale`."""
@@ -0,0 +1,52 @@
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 .components_sub_totals import ComponentsSubTotals, ComponentsSubTotalsTypedDict
6
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
+ from pydantic import model_serializer
8
+ from typing import List, Optional
9
+ from typing_extensions import NotRequired, TypedDict
10
+
11
+
12
+ class SubGroupTypedDict(TypedDict):
13
+ amount: NotRequired[AmountTypedDict]
14
+ r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
15
+ subtotals: NotRequired[Nullable[List[ComponentsSubTotalsTypedDict]]]
16
+
17
+
18
+ class SubGroup(BaseModel):
19
+ amount: Optional[Amount] = None
20
+ r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
21
+
22
+ subtotals: OptionalNullable[List[ComponentsSubTotals]] = UNSET
23
+
24
+ @model_serializer(mode="wrap")
25
+ def serialize_model(self, handler):
26
+ optional_fields = ["amount", "subtotals"]
27
+ nullable_fields = ["subtotals"]
28
+ null_default_fields = []
29
+
30
+ serialized = handler(self)
31
+
32
+ m = {}
33
+
34
+ for n, f in type(self).model_fields.items():
35
+ k = f.alias or n
36
+ val = serialized.get(k)
37
+ serialized.pop(k, None)
38
+
39
+ optional_nullable = k in optional_fields and k in nullable_fields
40
+ is_set = (
41
+ self.__pydantic_fields_set__.intersection({n})
42
+ or k in null_default_fields
43
+ ) # pylint: disable=no-member
44
+
45
+ if val is not None and val != UNSET_SENTINEL:
46
+ m[k] = val
47
+ elif val != UNSET_SENTINEL and (
48
+ not k in optional_fields or (optional_nullable and is_set)
49
+ ):
50
+ m[k] = val
51
+
52
+ return m
@@ -0,0 +1,120 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .balance_card_audience import BalanceCardAudience
5
+ from .balance_card_issuer import BalanceCardIssuer
6
+ from .balance_card_region import BalanceCardRegion
7
+ from .balance_fee_type import BalanceFeeType
8
+ from .balance_prepayment_part_type import BalancePrepaymentPartType
9
+ from .balance_transaction_type import BalanceTransactionType
10
+ from .payment_method import PaymentMethod
11
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
12
+ from mollie.utils import validate_open_enum
13
+ import pydantic
14
+ from pydantic import model_serializer
15
+ from pydantic.functional_validators import PlainValidator
16
+ from typing import Optional
17
+ from typing_extensions import Annotated, NotRequired, TypedDict
18
+
19
+
20
+ class SubTotalsTypedDict(TypedDict):
21
+ count: NotRequired[int]
22
+ r"""Number of transactions of this type"""
23
+ method: NotRequired[Nullable[PaymentMethod]]
24
+ r"""The payment method, if applicable"""
25
+ card_issuer: NotRequired[BalanceCardIssuer]
26
+ card_audience: NotRequired[BalanceCardAudience]
27
+ card_region: NotRequired[BalanceCardRegion]
28
+ fee_type: NotRequired[BalanceFeeType]
29
+ prepayment_part_type: NotRequired[BalancePrepaymentPartType]
30
+ transaction_type: NotRequired[BalanceTransactionType]
31
+
32
+
33
+ class SubTotals(BaseModel):
34
+ count: Optional[int] = None
35
+ r"""Number of transactions of this type"""
36
+
37
+ method: Annotated[
38
+ OptionalNullable[PaymentMethod], PlainValidator(validate_open_enum(False))
39
+ ] = UNSET
40
+ r"""The payment method, if applicable"""
41
+
42
+ card_issuer: Annotated[
43
+ Annotated[
44
+ Optional[BalanceCardIssuer], PlainValidator(validate_open_enum(False))
45
+ ],
46
+ pydantic.Field(alias="cardIssuer"),
47
+ ] = None
48
+
49
+ card_audience: Annotated[
50
+ Annotated[
51
+ Optional[BalanceCardAudience], PlainValidator(validate_open_enum(False))
52
+ ],
53
+ pydantic.Field(alias="cardAudience"),
54
+ ] = None
55
+
56
+ card_region: Annotated[
57
+ Annotated[
58
+ Optional[BalanceCardRegion], PlainValidator(validate_open_enum(False))
59
+ ],
60
+ pydantic.Field(alias="cardRegion"),
61
+ ] = None
62
+
63
+ fee_type: Annotated[
64
+ Annotated[Optional[BalanceFeeType], PlainValidator(validate_open_enum(False))],
65
+ pydantic.Field(alias="feeType"),
66
+ ] = None
67
+
68
+ prepayment_part_type: Annotated[
69
+ Annotated[
70
+ Optional[BalancePrepaymentPartType],
71
+ PlainValidator(validate_open_enum(False)),
72
+ ],
73
+ pydantic.Field(alias="prepaymentPartType"),
74
+ ] = None
75
+
76
+ transaction_type: Annotated[
77
+ Annotated[
78
+ Optional[BalanceTransactionType], PlainValidator(validate_open_enum(False))
79
+ ],
80
+ pydantic.Field(alias="transactionType"),
81
+ ] = None
82
+
83
+ @model_serializer(mode="wrap")
84
+ def serialize_model(self, handler):
85
+ optional_fields = [
86
+ "count",
87
+ "method",
88
+ "cardIssuer",
89
+ "cardAudience",
90
+ "cardRegion",
91
+ "feeType",
92
+ "prepaymentPartType",
93
+ "transactionType",
94
+ ]
95
+ nullable_fields = ["method"]
96
+ null_default_fields = []
97
+
98
+ serialized = handler(self)
99
+
100
+ m = {}
101
+
102
+ for n, f in type(self).model_fields.items():
103
+ k = f.alias or n
104
+ val = serialized.get(k)
105
+ serialized.pop(k, None)
106
+
107
+ optional_nullable = k in optional_fields and k in nullable_fields
108
+ is_set = (
109
+ self.__pydantic_fields_set__.intersection({n})
110
+ or k in null_default_fields
111
+ ) # pylint: disable=no-member
112
+
113
+ if val is not None and val != UNSET_SENTINEL:
114
+ m[k] = val
115
+ elif val != UNSET_SENTINEL and (
116
+ not k in optional_fields or (optional_nullable and is_set)
117
+ ):
118
+ m[k] = val
119
+
120
+ return m
@@ -0,0 +1,214 @@
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 .onboarding_vat_regulation import OnboardingVatRegulation
6
+ from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
+ from mollie.utils import FieldMetadata, HeaderMetadata, RequestMetadata
8
+ import pydantic
9
+ from pydantic import model_serializer
10
+ from typing import Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class OrganizationTypedDict(TypedDict):
15
+ name: NotRequired[str]
16
+ r"""The name of the organization."""
17
+ address: NotRequired[AddressTypedDict]
18
+ registration_number: NotRequired[str]
19
+ r"""The registration number of the organization at their local chamber of commerce."""
20
+ vat_number: NotRequired[Nullable[str]]
21
+ r"""The VAT number of the organization, if based in the European Union or in The United Kingdom. VAT
22
+ numbers are verified against the international registry *VIES*.
23
+
24
+ The field can be omitted for merchants residing in other countries.
25
+ """
26
+ vat_regulation: NotRequired[Nullable[OnboardingVatRegulation]]
27
+ r"""Mollie applies Dutch VAT for merchants based in The Netherlands, British VAT for merchants based in
28
+ The United Kingdom, and shifted VAT for merchants in the European Union.
29
+
30
+ The field can be omitted for merchants residing in other countries.
31
+ """
32
+
33
+
34
+ class Organization(BaseModel):
35
+ name: Optional[str] = None
36
+ r"""The name of the organization."""
37
+
38
+ address: Optional[Address] = None
39
+
40
+ registration_number: Annotated[
41
+ Optional[str], pydantic.Field(alias="registrationNumber")
42
+ ] = None
43
+ r"""The registration number of the organization at their local chamber of commerce."""
44
+
45
+ vat_number: Annotated[OptionalNullable[str], pydantic.Field(alias="vatNumber")] = (
46
+ UNSET
47
+ )
48
+ r"""The VAT number of the organization, if based in the European Union or in The United Kingdom. VAT
49
+ numbers are verified against the international registry *VIES*.
50
+
51
+ The field can be omitted for merchants residing in other countries.
52
+ """
53
+
54
+ vat_regulation: Annotated[
55
+ OptionalNullable[OnboardingVatRegulation], pydantic.Field(alias="vatRegulation")
56
+ ] = UNSET
57
+ r"""Mollie applies Dutch VAT for merchants based in The Netherlands, British VAT for merchants based in
58
+ The United Kingdom, and shifted VAT for merchants in the European Union.
59
+
60
+ The field can be omitted for merchants residing in other countries.
61
+ """
62
+
63
+ @model_serializer(mode="wrap")
64
+ def serialize_model(self, handler):
65
+ optional_fields = [
66
+ "name",
67
+ "address",
68
+ "registrationNumber",
69
+ "vatNumber",
70
+ "vatRegulation",
71
+ ]
72
+ nullable_fields = ["vatNumber", "vatRegulation"]
73
+ null_default_fields = []
74
+
75
+ serialized = handler(self)
76
+
77
+ m = {}
78
+
79
+ for n, f in type(self).model_fields.items():
80
+ k = f.alias or n
81
+ val = serialized.get(k)
82
+ serialized.pop(k, None)
83
+
84
+ optional_nullable = k in optional_fields and k in nullable_fields
85
+ is_set = (
86
+ self.__pydantic_fields_set__.intersection({n})
87
+ or k in null_default_fields
88
+ ) # pylint: disable=no-member
89
+
90
+ if val is not None and val != UNSET_SENTINEL:
91
+ m[k] = val
92
+ elif val != UNSET_SENTINEL and (
93
+ not k in optional_fields or (optional_nullable and is_set)
94
+ ):
95
+ m[k] = val
96
+
97
+ return m
98
+
99
+
100
+ class ProfileTypedDict(TypedDict):
101
+ name: NotRequired[str]
102
+ r"""The profile's name, this will usually reflect the trade name or brand name of the profile's website
103
+ or application.
104
+ """
105
+ url: NotRequired[str]
106
+ r"""The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@`
107
+ signs are allowed.
108
+ """
109
+ email: NotRequired[str]
110
+ r"""The email address associated with the profile's trade name or brand."""
111
+ phone: NotRequired[str]
112
+ r"""The phone number associated with the profile's trade name or brand."""
113
+ description: NotRequired[Nullable[str]]
114
+ r"""The products or services offered by the profile's website or application."""
115
+ business_category: NotRequired[str]
116
+ r"""The industry associated with the profile's trade name or brand. Please refer to the
117
+ [business category list](common-data-types) for all possible options.
118
+ """
119
+
120
+
121
+ class Profile(BaseModel):
122
+ name: Optional[str] = None
123
+ r"""The profile's name, this will usually reflect the trade name or brand name of the profile's website
124
+ or application.
125
+ """
126
+
127
+ url: Optional[str] = None
128
+ r"""The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@`
129
+ signs are allowed.
130
+ """
131
+
132
+ email: Optional[str] = None
133
+ r"""The email address associated with the profile's trade name or brand."""
134
+
135
+ phone: Optional[str] = None
136
+ r"""The phone number associated with the profile's trade name or brand."""
137
+
138
+ description: OptionalNullable[str] = UNSET
139
+ r"""The products or services offered by the profile's website or application."""
140
+
141
+ business_category: Annotated[
142
+ Optional[str], pydantic.Field(alias="businessCategory")
143
+ ] = None
144
+ r"""The industry associated with the profile's trade name or brand. Please refer to the
145
+ [business category list](common-data-types) for all possible options.
146
+ """
147
+
148
+ @model_serializer(mode="wrap")
149
+ def serialize_model(self, handler):
150
+ optional_fields = [
151
+ "name",
152
+ "url",
153
+ "email",
154
+ "phone",
155
+ "description",
156
+ "businessCategory",
157
+ ]
158
+ nullable_fields = ["description"]
159
+ null_default_fields = []
160
+
161
+ serialized = handler(self)
162
+
163
+ m = {}
164
+
165
+ for n, f in type(self).model_fields.items():
166
+ k = f.alias or n
167
+ val = serialized.get(k)
168
+ serialized.pop(k, None)
169
+
170
+ optional_nullable = k in optional_fields and k in nullable_fields
171
+ is_set = (
172
+ self.__pydantic_fields_set__.intersection({n})
173
+ or k in null_default_fields
174
+ ) # pylint: disable=no-member
175
+
176
+ if val is not None and val != UNSET_SENTINEL:
177
+ m[k] = val
178
+ elif val != UNSET_SENTINEL and (
179
+ not k in optional_fields or (optional_nullable and is_set)
180
+ ):
181
+ m[k] = val
182
+
183
+ return m
184
+
185
+
186
+ class SubmitOnboardingDataRequestBodyTypedDict(TypedDict):
187
+ organization: NotRequired[OrganizationTypedDict]
188
+ profile: NotRequired[ProfileTypedDict]
189
+
190
+
191
+ class SubmitOnboardingDataRequestBody(BaseModel):
192
+ organization: Optional[Organization] = None
193
+
194
+ profile: Optional[Profile] = None
195
+
196
+
197
+ class SubmitOnboardingDataRequestTypedDict(TypedDict):
198
+ idempotency_key: NotRequired[str]
199
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
200
+ request_body: NotRequired[SubmitOnboardingDataRequestBodyTypedDict]
201
+
202
+
203
+ class SubmitOnboardingDataRequest(BaseModel):
204
+ idempotency_key: Annotated[
205
+ Optional[str],
206
+ pydantic.Field(alias="idempotency-key"),
207
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
208
+ ] = None
209
+ r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
210
+
211
+ request_body: Annotated[
212
+ Optional[SubmitOnboardingDataRequestBody],
213
+ FieldMetadata(request=RequestMetadata(media_type="application/json")),
214
+ ] = None
@@ -0,0 +1,12 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+
6
+
7
+ class SubscriptionMethod(str, Enum):
8
+ r"""The payment method used for this subscription. If omitted, any of the customer's valid mandates may be used."""
9
+
10
+ CREDITCARD = "creditcard"
11
+ DIRECTDEBIT = "directdebit"
12
+ PAYPAL = "paypal"
@@ -0,0 +1,13 @@
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 SubscriptionMethodResponse(str, Enum, metaclass=utils.OpenEnumMeta):
9
+ r"""The payment method used for this subscription. If omitted, any of the customer's valid mandates may be used."""
10
+
11
+ CREDITCARD = "creditcard"
12
+ DIRECTDEBIT = "directdebit"
13
+ PAYPAL = "paypal"