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.
- mollie/__init__.py +18 -0
- mollie/_hooks/__init__.py +5 -0
- mollie/_hooks/mollie_hooks.py +165 -0
- mollie/_hooks/registration.py +18 -0
- mollie/_hooks/sdkhooks.py +76 -0
- mollie/_hooks/types.py +113 -0
- mollie/_version.py +15 -0
- mollie/balance_transfers.py +651 -0
- mollie/balances.py +1105 -0
- mollie/basesdk.py +360 -0
- mollie/capabilities.py +209 -0
- mollie/captures.py +677 -0
- mollie/chargebacks_sdk.py +675 -0
- mollie/client_links.py +325 -0
- mollie/clients.py +409 -0
- mollie/customers.py +1563 -0
- mollie/delayed_routing.py +421 -0
- mollie/httpclient.py +125 -0
- mollie/invoices.py +429 -0
- mollie/mandates.py +895 -0
- mollie/methods.py +789 -0
- mollie/models/__init__.py +4002 -0
- mollie/models/address.py +29 -0
- mollie/models/amount.py +25 -0
- mollie/models/amount_nullable.py +24 -0
- mollie/models/apierror.py +40 -0
- mollie/models/balance_card_audience.py +10 -0
- mollie/models/balance_card_issuer.py +12 -0
- mollie/models/balance_card_region.py +12 -0
- mollie/models/balance_fee_type.py +43 -0
- mollie/models/balance_prepayment_part_type.py +13 -0
- mollie/models/balance_report_grouping.py +10 -0
- mollie/models/balance_transaction_type.py +47 -0
- mollie/models/balance_transfer_category.py +17 -0
- mollie/models/balance_transfer_category_response.py +18 -0
- mollie/models/balance_transfer_destination_type.py +14 -0
- mollie/models/balance_transfer_party_type.py +10 -0
- mollie/models/balance_transfer_party_type_response.py +11 -0
- mollie/models/balance_transfer_status.py +13 -0
- mollie/models/balance_transfer_status_reason_response.py +19 -0
- mollie/models/billingaddress.py +154 -0
- mollie/models/cancel_paymentop.py +93 -0
- mollie/models/cancel_refundop.py +86 -0
- mollie/models/cancel_subscriptionop.py +100 -0
- mollie/models/capability_requirement_status.py +15 -0
- mollie/models/capability_status.py +12 -0
- mollie/models/capability_status_reason.py +10 -0
- mollie/models/capture_mode.py +15 -0
- mollie/models/capture_mode_response.py +16 -0
- mollie/models/capture_response.py +265 -0
- mollie/models/client_link_request.py +210 -0
- mollie/models/client_link_response.py +56 -0
- mollie/models/clienterror.py +30 -0
- mollie/models/components_sub_totals.py +127 -0
- mollie/models/create_captureop.py +43 -0
- mollie/models/create_client_linkop.py +29 -0
- mollie/models/create_connect_balance_transferop.py +32 -0
- mollie/models/create_customer_paymentop.py +43 -0
- mollie/models/create_customerop.py +29 -0
- mollie/models/create_mandateop.py +43 -0
- mollie/models/create_payment_linkop.py +325 -0
- mollie/models/create_paymentop.py +73 -0
- mollie/models/create_profileop.py +29 -0
- mollie/models/create_refundop.py +43 -0
- mollie/models/create_sales_invoiceop.py +29 -0
- mollie/models/create_subscriptionop.py +43 -0
- mollie/models/create_webhook.py +123 -0
- mollie/models/create_webhookop.py +69 -0
- mollie/models/currencies.py +20 -0
- mollie/models/customer_response.py +169 -0
- mollie/models/delete_customerop.py +91 -0
- mollie/models/delete_payment_linkop.py +91 -0
- mollie/models/delete_profileop.py +29 -0
- mollie/models/delete_sales_invoiceop.py +44 -0
- mollie/models/delete_values_sales_invoice.py +54 -0
- mollie/models/delete_webhookop.py +56 -0
- mollie/models/entity_balance.py +325 -0
- mollie/models/entity_balance_report.py +541 -0
- mollie/models/entity_balance_transaction.py +1068 -0
- mollie/models/entity_balance_transfer.py +62 -0
- mollie/models/entity_balance_transfer_party.py +28 -0
- mollie/models/entity_balance_transfer_party_response.py +32 -0
- mollie/models/entity_balance_transfer_response.py +159 -0
- mollie/models/entity_capability.py +75 -0
- mollie/models/entity_capability_requirement.py +87 -0
- mollie/models/entity_capture.py +63 -0
- mollie/models/entity_chargeback.py +247 -0
- mollie/models/entity_customer.py +86 -0
- mollie/models/entity_event.py +46 -0
- mollie/models/entity_invoice.py +247 -0
- mollie/models/entity_method_get.py +329 -0
- mollie/models/entity_onboarding_status.py +95 -0
- mollie/models/entity_organization.py +178 -0
- mollie/models/entity_payment_route.py +111 -0
- mollie/models/entity_payment_route_response.py +140 -0
- mollie/models/entity_permission.py +61 -0
- mollie/models/entity_refund_response.py +361 -0
- mollie/models/entity_route.py +96 -0
- mollie/models/entity_settlement.py +467 -0
- mollie/models/entity_terminal.py +160 -0
- mollie/models/entity_webhook.py +122 -0
- mollie/models/entity_webhook_event.py +149 -0
- mollie/models/error_response.py +70 -0
- mollie/models/get_balance_reportop.py +126 -0
- mollie/models/get_balanceop.py +71 -0
- mollie/models/get_captureop.py +129 -0
- mollie/models/get_chargebackop.py +129 -0
- mollie/models/get_clientop.py +216 -0
- mollie/models/get_connect_balance_transferop.py +71 -0
- mollie/models/get_current_organizationop.py +22 -0
- mollie/models/get_current_profileop.py +22 -0
- mollie/models/get_customerop.py +286 -0
- mollie/models/get_invoiceop.py +29 -0
- mollie/models/get_mandateop.py +86 -0
- mollie/models/get_methodop.py +199 -0
- mollie/models/get_next_settlementop.py +22 -0
- mollie/models/get_onboarding_statusop.py +22 -0
- mollie/models/get_open_settlementop.py +22 -0
- mollie/models/get_organizationop.py +71 -0
- mollie/models/get_partner_statusop.py +231 -0
- mollie/models/get_payment_link_paymentsop.py +188 -0
- mollie/models/get_payment_linkop.py +77 -0
- mollie/models/get_paymentop.py +128 -0
- mollie/models/get_permissionop.py +73 -0
- mollie/models/get_primary_balanceop.py +22 -0
- mollie/models/get_profileop.py +71 -0
- mollie/models/get_refundop.py +129 -0
- mollie/models/get_sales_invoiceop.py +75 -0
- mollie/models/get_settlementop.py +29 -0
- mollie/models/get_subscriptionop.py +86 -0
- mollie/models/get_terminalop.py +77 -0
- mollie/models/get_webhook_eventop.py +71 -0
- mollie/models/get_webhookop.py +71 -0
- mollie/models/internal/__init__.py +54 -0
- mollie/models/internal/globals.py +59 -0
- mollie/models/line_categories.py +13 -0
- mollie/models/line_categories_response.py +14 -0
- mollie/models/list_all_chargebacksop.py +236 -0
- mollie/models/list_all_methodsop.py +249 -0
- mollie/models/list_all_refundsop.py +230 -0
- mollie/models/list_all_subscriptionsop.py +202 -0
- mollie/models/list_balance_transactionsop.py +174 -0
- mollie/models/list_balancesop.py +171 -0
- mollie/models/list_capabilitiesop.py +62 -0
- mollie/models/list_capture_response.py +264 -0
- mollie/models/list_capturesop.py +185 -0
- mollie/models/list_chargebacksop.py +185 -0
- mollie/models/list_clientsop.py +269 -0
- mollie/models/list_connect_balance_transfersop.py +177 -0
- mollie/models/list_customer_paymentsop.py +231 -0
- mollie/models/list_customer_response.py +164 -0
- mollie/models/list_customersop.py +172 -0
- mollie/models/list_entity_balance.py +322 -0
- mollie/models/list_entity_chargeback.py +244 -0
- mollie/models/list_entity_invoice.py +244 -0
- mollie/models/list_entity_method.py +315 -0
- mollie/models/list_entity_method_all.py +391 -0
- mollie/models/list_entity_permission.py +56 -0
- mollie/models/list_entity_refund.py +352 -0
- mollie/models/list_entity_settlement.py +457 -0
- mollie/models/list_entity_terminal.py +157 -0
- mollie/models/list_entity_webhook.py +117 -0
- mollie/models/list_invoicesop.py +175 -0
- mollie/models/list_links.py +68 -0
- mollie/models/list_mandate_response.py +261 -0
- mollie/models/list_mandatesop.py +186 -0
- mollie/models/list_methodsop.py +332 -0
- mollie/models/list_payment_linksop.py +159 -0
- mollie/models/list_payment_response.py +1953 -0
- mollie/models/list_paymentsop.py +217 -0
- mollie/models/list_permissionsop.py +85 -0
- mollie/models/list_profile_response.py +194 -0
- mollie/models/list_profilesop.py +118 -0
- mollie/models/list_refundsop.py +189 -0
- mollie/models/list_route_get_response.py +97 -0
- mollie/models/list_sales_invoice_response.py +505 -0
- mollie/models/list_sales_invoicesop.py +172 -0
- mollie/models/list_settlement_capturesop.py +187 -0
- mollie/models/list_settlement_chargebacksop.py +187 -0
- mollie/models/list_settlement_paymentsop.py +233 -0
- mollie/models/list_settlement_refundsop.py +191 -0
- mollie/models/list_settlementsop.py +178 -0
- mollie/models/list_subscription_paymentsop.py +242 -0
- mollie/models/list_subscription_response.py +344 -0
- mollie/models/list_subscriptionsop.py +189 -0
- mollie/models/list_terminalsop.py +172 -0
- mollie/models/list_webhooksop.py +189 -0
- mollie/models/locale.py +32 -0
- mollie/models/locale_response.py +33 -0
- mollie/models/mandate_details_card_label_response.py +22 -0
- mollie/models/mandate_method.py +15 -0
- mollie/models/mandate_method_response.py +16 -0
- mollie/models/mandate_request.py +160 -0
- mollie/models/mandate_response.py +264 -0
- mollie/models/metadata.py +19 -0
- mollie/models/method.py +50 -0
- mollie/models/method_include_wallets_parameter.py +8 -0
- mollie/models/method_resource_parameter.py +9 -0
- mollie/models/method_response.py +59 -0
- mollie/models/method_status.py +15 -0
- mollie/models/mode.py +12 -0
- mollie/models/no_response_error.py +17 -0
- mollie/models/onboarding_vat_regulation.py +16 -0
- mollie/models/organization_vat_regulation.py +17 -0
- mollie/models/payment_address.py +130 -0
- mollie/models/payment_create_routeop.py +43 -0
- mollie/models/payment_details_card_audition_response.py +12 -0
- mollie/models/payment_details_card_funding_response.py +14 -0
- mollie/models/payment_details_card_label_response.py +23 -0
- mollie/models/payment_details_card_security_response.py +12 -0
- mollie/models/payment_details_failure_reason_response.py +25 -0
- mollie/models/payment_details_fee_region_response.py +20 -0
- mollie/models/payment_details_receipt_card_read_method_response.py +17 -0
- mollie/models/payment_details_receipt_card_verification_method_response.py +21 -0
- mollie/models/payment_details_seller_protection_response.py +20 -0
- mollie/models/payment_details_wallet_response.py +11 -0
- mollie/models/payment_line_item.py +96 -0
- mollie/models/payment_line_item_response.py +104 -0
- mollie/models/payment_line_type.py +20 -0
- mollie/models/payment_line_type_response.py +21 -0
- mollie/models/payment_link_method.py +36 -0
- mollie/models/payment_link_method_response.py +37 -0
- mollie/models/payment_link_response.py +348 -0
- mollie/models/payment_link_sequence_type.py +9 -0
- mollie/models/payment_link_sequence_type_response.py +10 -0
- mollie/models/payment_list_routesop.py +140 -0
- mollie/models/payment_method.py +53 -0
- mollie/models/payment_request.py +919 -0
- mollie/models/payment_response.py +1953 -0
- mollie/models/profile_request.py +67 -0
- mollie/models/profile_response.py +197 -0
- mollie/models/profile_review_status_response.py +12 -0
- mollie/models/recurring_line_item.py +77 -0
- mollie/models/refund_external_reference_type.py +10 -0
- mollie/models/refund_external_reference_type_response.py +11 -0
- mollie/models/refund_request.py +200 -0
- mollie/models/release_authorizationop.py +108 -0
- mollie/models/request_apple_pay_payment_sessionop.py +76 -0
- mollie/models/responsevalidationerror.py +27 -0
- mollie/models/revoke_mandateop.py +100 -0
- mollie/models/route_create_response.py +97 -0
- mollie/models/route_destination_type.py +10 -0
- mollie/models/route_destination_type_response.py +11 -0
- mollie/models/sales_invoice_discount.py +21 -0
- mollie/models/sales_invoice_discount_response.py +25 -0
- mollie/models/sales_invoice_discount_type.py +11 -0
- mollie/models/sales_invoice_discount_type_response.py +12 -0
- mollie/models/sales_invoice_email_details.py +20 -0
- mollie/models/sales_invoice_line_item.py +67 -0
- mollie/models/sales_invoice_line_item_response.py +70 -0
- mollie/models/sales_invoice_payment_details.py +59 -0
- mollie/models/sales_invoice_payment_details_response.py +66 -0
- mollie/models/sales_invoice_payment_details_source.py +12 -0
- mollie/models/sales_invoice_payment_details_source_response.py +13 -0
- mollie/models/sales_invoice_payment_term.py +16 -0
- mollie/models/sales_invoice_payment_term_response.py +17 -0
- mollie/models/sales_invoice_recipient.py +176 -0
- mollie/models/sales_invoice_recipient_locale.py +18 -0
- mollie/models/sales_invoice_recipient_locale_response.py +19 -0
- mollie/models/sales_invoice_recipient_response.py +182 -0
- mollie/models/sales_invoice_recipient_type.py +13 -0
- mollie/models/sales_invoice_recipient_type_response.py +14 -0
- mollie/models/sales_invoice_request.py +256 -0
- mollie/models/sales_invoice_response.py +509 -0
- mollie/models/sales_invoice_status.py +25 -0
- mollie/models/sales_invoice_status_response.py +26 -0
- mollie/models/sales_invoice_vat_mode.py +13 -0
- mollie/models/sales_invoice_vat_mode_response.py +14 -0
- mollie/models/sales_invoice_vat_scheme.py +11 -0
- mollie/models/sales_invoice_vat_scheme_response.py +12 -0
- mollie/models/security.py +35 -0
- mollie/models/sequence_type.py +10 -0
- mollie/models/sequence_type_response.py +11 -0
- mollie/models/sorting.py +9 -0
- mollie/models/status_reason.py +168 -0
- mollie/models/sub_group.py +52 -0
- mollie/models/sub_totals.py +120 -0
- mollie/models/submit_onboarding_dataop.py +214 -0
- mollie/models/subscription_method.py +12 -0
- mollie/models/subscription_method_response.py +13 -0
- mollie/models/subscription_request.py +213 -0
- mollie/models/subscription_response.py +349 -0
- mollie/models/terminal_brand.py +12 -0
- mollie/models/terminal_model.py +16 -0
- mollie/models/test_webhookop.py +64 -0
- mollie/models/update_customerop.py +43 -0
- mollie/models/update_payment_linkop.py +172 -0
- mollie/models/update_paymentop.py +332 -0
- mollie/models/update_profileop.py +147 -0
- mollie/models/update_sales_invoiceop.py +44 -0
- mollie/models/update_subscriptionop.py +188 -0
- mollie/models/update_values_sales_invoice.py +176 -0
- mollie/models/update_webhookop.py +83 -0
- mollie/models/url.py +24 -0
- mollie/models/url_nullable.py +25 -0
- mollie/models/webhook_event_types.py +18 -0
- mollie/models/webhook_status.py +14 -0
- mollie/onboarding.py +403 -0
- mollie/organizations.py +579 -0
- mollie/payment_links.py +1323 -0
- mollie/payments_sdk.py +1385 -0
- mollie/permissions.py +397 -0
- mollie/profiles.py +1209 -0
- mollie/py.typed +1 -0
- mollie/refunds_sdk.py +1111 -0
- mollie/sales_invoices.py +1121 -0
- mollie/sdk.py +265 -0
- mollie/sdkconfiguration.py +50 -0
- mollie/settlements.py +1735 -0
- mollie/subscriptions.py +1617 -0
- mollie/terminals.py +427 -0
- mollie/types/__init__.py +21 -0
- mollie/types/basemodel.py +39 -0
- mollie/utils/__init__.py +200 -0
- mollie/utils/annotations.py +79 -0
- mollie/utils/datetimes.py +23 -0
- mollie/utils/enums.py +74 -0
- mollie/utils/eventstreaming.py +248 -0
- mollie/utils/forms.py +223 -0
- mollie/utils/headers.py +136 -0
- mollie/utils/logger.py +27 -0
- mollie/utils/metadata.py +118 -0
- mollie/utils/queryparams.py +205 -0
- mollie/utils/requestbodies.py +66 -0
- mollie/utils/retries.py +217 -0
- mollie/utils/security.py +195 -0
- mollie/utils/serializers.py +249 -0
- mollie/utils/unmarshal_json_response.py +24 -0
- mollie/utils/url.py +155 -0
- mollie/utils/values.py +137 -0
- mollie/wallets.py +263 -0
- mollie/webhook_events.py +211 -0
- mollie/webhooks.py +1305 -0
- mollie_api_py-1.0.0.dist-info/METADATA +834 -0
- mollie_api_py-1.0.0.dist-info/RECORD +337 -0
- mollie_api_py-1.0.0.dist-info/WHEEL +4 -0
- mollie_api_py-1.0.0.dist-info/licenses/LICENSE.md +24 -0
|
@@ -0,0 +1,213 @@
|
|
|
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 .metadata import Metadata, MetadataTypedDict
|
|
6
|
+
from .subscription_method import SubscriptionMethod
|
|
7
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
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 SubscriptionRequestApplicationFeeTypedDict(TypedDict):
|
|
15
|
+
r"""With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie
|
|
16
|
+
merchants.
|
|
17
|
+
|
|
18
|
+
Setting an application fee on the subscription will ensure this fee is charged on each individual payment.
|
|
19
|
+
|
|
20
|
+
Refer to the `applicationFee` parameter on the [Get payment endpoint](get-payment) documentation for more
|
|
21
|
+
information.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
amount: AmountTypedDict
|
|
25
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
26
|
+
description: str
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class SubscriptionRequestApplicationFee(BaseModel):
|
|
30
|
+
r"""With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie
|
|
31
|
+
merchants.
|
|
32
|
+
|
|
33
|
+
Setting an application fee on the subscription will ensure this fee is charged on each individual payment.
|
|
34
|
+
|
|
35
|
+
Refer to the `applicationFee` parameter on the [Get payment endpoint](get-payment) documentation for more
|
|
36
|
+
information.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
amount: Amount
|
|
40
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
41
|
+
|
|
42
|
+
description: str
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class SubscriptionRequestTypedDict(TypedDict):
|
|
46
|
+
amount: NotRequired[AmountTypedDict]
|
|
47
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
48
|
+
times: NotRequired[Nullable[int]]
|
|
49
|
+
r"""Total number of payments for the subscription. Once this number of payments is reached, the subscription is
|
|
50
|
+
considered completed.
|
|
51
|
+
|
|
52
|
+
Test mode subscriptions will get canceled automatically after 10 payments.
|
|
53
|
+
"""
|
|
54
|
+
interval: NotRequired[str]
|
|
55
|
+
r"""Interval to wait between payments, for example `1 month` or `14 days`.
|
|
56
|
+
|
|
57
|
+
The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`).
|
|
58
|
+
|
|
59
|
+
Possible values: `... days`, `... weeks`, `... months`.
|
|
60
|
+
"""
|
|
61
|
+
start_date: NotRequired[str]
|
|
62
|
+
r"""The start date of the subscription in `YYYY-MM-DD` format."""
|
|
63
|
+
description: NotRequired[str]
|
|
64
|
+
r"""The subscription's description will be used as the description of the resulting individual payments and so showing
|
|
65
|
+
up on the bank statement of the consumer.
|
|
66
|
+
|
|
67
|
+
**Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions.
|
|
68
|
+
"""
|
|
69
|
+
method: NotRequired[Nullable[SubscriptionMethod]]
|
|
70
|
+
r"""The payment method used for this subscription. If omitted, any of the customer's valid mandates may be used."""
|
|
71
|
+
application_fee: NotRequired[SubscriptionRequestApplicationFeeTypedDict]
|
|
72
|
+
r"""With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie
|
|
73
|
+
merchants.
|
|
74
|
+
|
|
75
|
+
Setting an application fee on the subscription will ensure this fee is charged on each individual payment.
|
|
76
|
+
|
|
77
|
+
Refer to the `applicationFee` parameter on the [Get payment endpoint](get-payment) documentation for more
|
|
78
|
+
information.
|
|
79
|
+
"""
|
|
80
|
+
metadata: NotRequired[Nullable[MetadataTypedDict]]
|
|
81
|
+
r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
|
|
82
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
83
|
+
"""
|
|
84
|
+
webhook_url: NotRequired[Nullable[str]]
|
|
85
|
+
r"""We will call this URL for any payment status changes of payments resulting from this subscription.
|
|
86
|
+
|
|
87
|
+
This webhook will receive **all** events for the subscription's payments. This may include payment failures as
|
|
88
|
+
well. Be sure to verify the payment's subscription ID and its status.
|
|
89
|
+
"""
|
|
90
|
+
mandate_id: NotRequired[str]
|
|
91
|
+
profile_id: NotRequired[str]
|
|
92
|
+
testmode: NotRequired[Nullable[bool]]
|
|
93
|
+
r"""Whether to create the entity in test mode or live mode.
|
|
94
|
+
|
|
95
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
96
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
97
|
+
`testmode` to `true`.
|
|
98
|
+
"""
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class SubscriptionRequest(BaseModel):
|
|
102
|
+
amount: Optional[Amount] = None
|
|
103
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
104
|
+
|
|
105
|
+
times: OptionalNullable[int] = UNSET
|
|
106
|
+
r"""Total number of payments for the subscription. Once this number of payments is reached, the subscription is
|
|
107
|
+
considered completed.
|
|
108
|
+
|
|
109
|
+
Test mode subscriptions will get canceled automatically after 10 payments.
|
|
110
|
+
"""
|
|
111
|
+
|
|
112
|
+
interval: Optional[str] = None
|
|
113
|
+
r"""Interval to wait between payments, for example `1 month` or `14 days`.
|
|
114
|
+
|
|
115
|
+
The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`).
|
|
116
|
+
|
|
117
|
+
Possible values: `... days`, `... weeks`, `... months`.
|
|
118
|
+
"""
|
|
119
|
+
|
|
120
|
+
start_date: Annotated[Optional[str], pydantic.Field(alias="startDate")] = None
|
|
121
|
+
r"""The start date of the subscription in `YYYY-MM-DD` format."""
|
|
122
|
+
|
|
123
|
+
description: Optional[str] = None
|
|
124
|
+
r"""The subscription's description will be used as the description of the resulting individual payments and so showing
|
|
125
|
+
up on the bank statement of the consumer.
|
|
126
|
+
|
|
127
|
+
**Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions.
|
|
128
|
+
"""
|
|
129
|
+
|
|
130
|
+
method: OptionalNullable[SubscriptionMethod] = UNSET
|
|
131
|
+
r"""The payment method used for this subscription. If omitted, any of the customer's valid mandates may be used."""
|
|
132
|
+
|
|
133
|
+
application_fee: Annotated[
|
|
134
|
+
Optional[SubscriptionRequestApplicationFee],
|
|
135
|
+
pydantic.Field(alias="applicationFee"),
|
|
136
|
+
] = None
|
|
137
|
+
r"""With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie
|
|
138
|
+
merchants.
|
|
139
|
+
|
|
140
|
+
Setting an application fee on the subscription will ensure this fee is charged on each individual payment.
|
|
141
|
+
|
|
142
|
+
Refer to the `applicationFee` parameter on the [Get payment endpoint](get-payment) documentation for more
|
|
143
|
+
information.
|
|
144
|
+
"""
|
|
145
|
+
|
|
146
|
+
metadata: OptionalNullable[Metadata] = UNSET
|
|
147
|
+
r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
|
|
148
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
149
|
+
"""
|
|
150
|
+
|
|
151
|
+
webhook_url: Annotated[
|
|
152
|
+
OptionalNullable[str], pydantic.Field(alias="webhookUrl")
|
|
153
|
+
] = UNSET
|
|
154
|
+
r"""We will call this URL for any payment status changes of payments resulting from this subscription.
|
|
155
|
+
|
|
156
|
+
This webhook will receive **all** events for the subscription's payments. This may include payment failures as
|
|
157
|
+
well. Be sure to verify the payment's subscription ID and its status.
|
|
158
|
+
"""
|
|
159
|
+
|
|
160
|
+
mandate_id: Annotated[Optional[str], pydantic.Field(alias="mandateId")] = None
|
|
161
|
+
|
|
162
|
+
profile_id: Annotated[Optional[str], pydantic.Field(alias="profileId")] = None
|
|
163
|
+
|
|
164
|
+
testmode: OptionalNullable[bool] = UNSET
|
|
165
|
+
r"""Whether to create the entity in test mode or live mode.
|
|
166
|
+
|
|
167
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
168
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
169
|
+
`testmode` to `true`.
|
|
170
|
+
"""
|
|
171
|
+
|
|
172
|
+
@model_serializer(mode="wrap")
|
|
173
|
+
def serialize_model(self, handler):
|
|
174
|
+
optional_fields = [
|
|
175
|
+
"amount",
|
|
176
|
+
"times",
|
|
177
|
+
"interval",
|
|
178
|
+
"startDate",
|
|
179
|
+
"description",
|
|
180
|
+
"method",
|
|
181
|
+
"applicationFee",
|
|
182
|
+
"metadata",
|
|
183
|
+
"webhookUrl",
|
|
184
|
+
"mandateId",
|
|
185
|
+
"profileId",
|
|
186
|
+
"testmode",
|
|
187
|
+
]
|
|
188
|
+
nullable_fields = ["times", "method", "metadata", "webhookUrl", "testmode"]
|
|
189
|
+
null_default_fields = []
|
|
190
|
+
|
|
191
|
+
serialized = handler(self)
|
|
192
|
+
|
|
193
|
+
m = {}
|
|
194
|
+
|
|
195
|
+
for n, f in type(self).model_fields.items():
|
|
196
|
+
k = f.alias or n
|
|
197
|
+
val = serialized.get(k)
|
|
198
|
+
serialized.pop(k, None)
|
|
199
|
+
|
|
200
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
201
|
+
is_set = (
|
|
202
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
203
|
+
or k in null_default_fields
|
|
204
|
+
) # pylint: disable=no-member
|
|
205
|
+
|
|
206
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
207
|
+
m[k] = val
|
|
208
|
+
elif val != UNSET_SENTINEL and (
|
|
209
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
210
|
+
):
|
|
211
|
+
m[k] = val
|
|
212
|
+
|
|
213
|
+
return m
|
|
@@ -0,0 +1,349 @@
|
|
|
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 .metadata import Metadata, MetadataTypedDict
|
|
6
|
+
from .mode import Mode
|
|
7
|
+
from .subscription_method_response import SubscriptionMethodResponse
|
|
8
|
+
from .url import URL, URLTypedDict
|
|
9
|
+
from .url_nullable import URLNullable, URLNullableTypedDict
|
|
10
|
+
from enum import Enum
|
|
11
|
+
from mollie import utils
|
|
12
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
13
|
+
from mollie.utils import validate_open_enum
|
|
14
|
+
import pydantic
|
|
15
|
+
from pydantic import model_serializer
|
|
16
|
+
from pydantic.functional_validators import PlainValidator
|
|
17
|
+
from typing import Optional
|
|
18
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class SubscriptionResponseStatus(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
22
|
+
r"""The subscription's current status is directly related to the status of the underlying customer or mandate that is
|
|
23
|
+
enabling the subscription.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
PENDING = "pending"
|
|
27
|
+
ACTIVE = "active"
|
|
28
|
+
CANCELED = "canceled"
|
|
29
|
+
SUSPENDED = "suspended"
|
|
30
|
+
COMPLETED = "completed"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class SubscriptionResponseApplicationFeeTypedDict(TypedDict):
|
|
34
|
+
r"""With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie
|
|
35
|
+
merchants.
|
|
36
|
+
|
|
37
|
+
Setting an application fee on the subscription will ensure this fee is charged on each individual payment.
|
|
38
|
+
|
|
39
|
+
Refer to the `applicationFee` parameter on the [Get payment endpoint](get-payment) documentation for more
|
|
40
|
+
information.
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
amount: AmountTypedDict
|
|
44
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
45
|
+
description: str
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class SubscriptionResponseApplicationFee(BaseModel):
|
|
49
|
+
r"""With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie
|
|
50
|
+
merchants.
|
|
51
|
+
|
|
52
|
+
Setting an application fee on the subscription will ensure this fee is charged on each individual payment.
|
|
53
|
+
|
|
54
|
+
Refer to the `applicationFee` parameter on the [Get payment endpoint](get-payment) documentation for more
|
|
55
|
+
information.
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
amount: Amount
|
|
59
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
60
|
+
|
|
61
|
+
description: str
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
class SubscriptionResponseLinksTypedDict(TypedDict):
|
|
65
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
66
|
+
|
|
67
|
+
self_: URLTypedDict
|
|
68
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
69
|
+
customer: Nullable[URLNullableTypedDict]
|
|
70
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
71
|
+
profile: Nullable[URLNullableTypedDict]
|
|
72
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
73
|
+
documentation: URLTypedDict
|
|
74
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
75
|
+
mandate: NotRequired[Nullable[URLNullableTypedDict]]
|
|
76
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
77
|
+
payments: NotRequired[Nullable[URLNullableTypedDict]]
|
|
78
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class SubscriptionResponseLinks(BaseModel):
|
|
82
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
83
|
+
|
|
84
|
+
self_: Annotated[URL, pydantic.Field(alias="self")]
|
|
85
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
86
|
+
|
|
87
|
+
customer: Nullable[URLNullable]
|
|
88
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
89
|
+
|
|
90
|
+
profile: Nullable[URLNullable]
|
|
91
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
92
|
+
|
|
93
|
+
documentation: URL
|
|
94
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
95
|
+
|
|
96
|
+
mandate: OptionalNullable[URLNullable] = UNSET
|
|
97
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
98
|
+
|
|
99
|
+
payments: OptionalNullable[URLNullable] = UNSET
|
|
100
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
101
|
+
|
|
102
|
+
@model_serializer(mode="wrap")
|
|
103
|
+
def serialize_model(self, handler):
|
|
104
|
+
optional_fields = ["mandate", "payments"]
|
|
105
|
+
nullable_fields = ["customer", "mandate", "profile", "payments"]
|
|
106
|
+
null_default_fields = []
|
|
107
|
+
|
|
108
|
+
serialized = handler(self)
|
|
109
|
+
|
|
110
|
+
m = {}
|
|
111
|
+
|
|
112
|
+
for n, f in type(self).model_fields.items():
|
|
113
|
+
k = f.alias or n
|
|
114
|
+
val = serialized.get(k)
|
|
115
|
+
serialized.pop(k, None)
|
|
116
|
+
|
|
117
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
118
|
+
is_set = (
|
|
119
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
120
|
+
or k in null_default_fields
|
|
121
|
+
) # pylint: disable=no-member
|
|
122
|
+
|
|
123
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
124
|
+
m[k] = val
|
|
125
|
+
elif val != UNSET_SENTINEL and (
|
|
126
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
127
|
+
):
|
|
128
|
+
m[k] = val
|
|
129
|
+
|
|
130
|
+
return m
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
class SubscriptionResponseTypedDict(TypedDict):
|
|
134
|
+
resource: str
|
|
135
|
+
r"""Indicates the response contains a subscription object. Will always contain the string `subscription` for this
|
|
136
|
+
endpoint.
|
|
137
|
+
"""
|
|
138
|
+
id: str
|
|
139
|
+
r"""The identifier uniquely referring to this subscription. Example: `sub_rVKGtNd6s3`."""
|
|
140
|
+
mode: Mode
|
|
141
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
142
|
+
status: SubscriptionResponseStatus
|
|
143
|
+
amount: AmountTypedDict
|
|
144
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
145
|
+
times: Nullable[int]
|
|
146
|
+
r"""Total number of payments for the subscription. Once this number of payments is reached, the subscription is
|
|
147
|
+
considered completed.
|
|
148
|
+
|
|
149
|
+
Test mode subscriptions will get canceled automatically after 10 payments.
|
|
150
|
+
"""
|
|
151
|
+
times_remaining: Nullable[int]
|
|
152
|
+
r"""Number of payments left for the subscription."""
|
|
153
|
+
interval: str
|
|
154
|
+
r"""Interval to wait between payments, for example `1 month` or `14 days`.
|
|
155
|
+
|
|
156
|
+
The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`).
|
|
157
|
+
|
|
158
|
+
Possible values: `... days`, `... weeks`, `... months`.
|
|
159
|
+
"""
|
|
160
|
+
start_date: str
|
|
161
|
+
r"""The start date of the subscription in `YYYY-MM-DD` format."""
|
|
162
|
+
description: str
|
|
163
|
+
r"""The subscription's description will be used as the description of the resulting individual payments and so showing
|
|
164
|
+
up on the bank statement of the consumer.
|
|
165
|
+
|
|
166
|
+
**Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions.
|
|
167
|
+
"""
|
|
168
|
+
method: Nullable[SubscriptionMethodResponse]
|
|
169
|
+
r"""The payment method used for this subscription. If omitted, any of the customer's valid mandates may be used."""
|
|
170
|
+
metadata: Nullable[MetadataTypedDict]
|
|
171
|
+
r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
|
|
172
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
173
|
+
"""
|
|
174
|
+
webhook_url: Nullable[str]
|
|
175
|
+
r"""We will call this URL for any payment status changes of payments resulting from this subscription.
|
|
176
|
+
|
|
177
|
+
This webhook will receive **all** events for the subscription's payments. This may include payment failures as
|
|
178
|
+
well. Be sure to verify the payment's subscription ID and its status.
|
|
179
|
+
"""
|
|
180
|
+
customer_id: str
|
|
181
|
+
r"""The customer this subscription belongs to."""
|
|
182
|
+
created_at: str
|
|
183
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
184
|
+
links: SubscriptionResponseLinksTypedDict
|
|
185
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
186
|
+
next_payment_date: NotRequired[Nullable[str]]
|
|
187
|
+
r"""The date of the next scheduled payment in `YYYY-MM-DD` format. If the subscription has been completed or canceled,
|
|
188
|
+
this parameter will not be returned.
|
|
189
|
+
"""
|
|
190
|
+
application_fee: NotRequired[SubscriptionResponseApplicationFeeTypedDict]
|
|
191
|
+
r"""With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie
|
|
192
|
+
merchants.
|
|
193
|
+
|
|
194
|
+
Setting an application fee on the subscription will ensure this fee is charged on each individual payment.
|
|
195
|
+
|
|
196
|
+
Refer to the `applicationFee` parameter on the [Get payment endpoint](get-payment) documentation for more
|
|
197
|
+
information.
|
|
198
|
+
"""
|
|
199
|
+
mandate_id: NotRequired[str]
|
|
200
|
+
canceled_at: NotRequired[Nullable[str]]
|
|
201
|
+
r"""The subscription's date and time of cancellation, in ISO 8601 format. This parameter is omitted if the
|
|
202
|
+
subscription is not canceled (yet).
|
|
203
|
+
"""
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
class SubscriptionResponse(BaseModel):
|
|
207
|
+
resource: str
|
|
208
|
+
r"""Indicates the response contains a subscription object. Will always contain the string `subscription` for this
|
|
209
|
+
endpoint.
|
|
210
|
+
"""
|
|
211
|
+
|
|
212
|
+
id: str
|
|
213
|
+
r"""The identifier uniquely referring to this subscription. Example: `sub_rVKGtNd6s3`."""
|
|
214
|
+
|
|
215
|
+
mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
|
|
216
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
217
|
+
|
|
218
|
+
status: Annotated[
|
|
219
|
+
SubscriptionResponseStatus, PlainValidator(validate_open_enum(False))
|
|
220
|
+
]
|
|
221
|
+
|
|
222
|
+
amount: Amount
|
|
223
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
224
|
+
|
|
225
|
+
times: Nullable[int]
|
|
226
|
+
r"""Total number of payments for the subscription. Once this number of payments is reached, the subscription is
|
|
227
|
+
considered completed.
|
|
228
|
+
|
|
229
|
+
Test mode subscriptions will get canceled automatically after 10 payments.
|
|
230
|
+
"""
|
|
231
|
+
|
|
232
|
+
times_remaining: Annotated[Nullable[int], pydantic.Field(alias="timesRemaining")]
|
|
233
|
+
r"""Number of payments left for the subscription."""
|
|
234
|
+
|
|
235
|
+
interval: str
|
|
236
|
+
r"""Interval to wait between payments, for example `1 month` or `14 days`.
|
|
237
|
+
|
|
238
|
+
The maximum interval is one year (`12 months`, `52 weeks`, or `365 days`).
|
|
239
|
+
|
|
240
|
+
Possible values: `... days`, `... weeks`, `... months`.
|
|
241
|
+
"""
|
|
242
|
+
|
|
243
|
+
start_date: Annotated[str, pydantic.Field(alias="startDate")]
|
|
244
|
+
r"""The start date of the subscription in `YYYY-MM-DD` format."""
|
|
245
|
+
|
|
246
|
+
description: str
|
|
247
|
+
r"""The subscription's description will be used as the description of the resulting individual payments and so showing
|
|
248
|
+
up on the bank statement of the consumer.
|
|
249
|
+
|
|
250
|
+
**Please note:** the description needs to be unique for the Customer in case it has multiple active subscriptions.
|
|
251
|
+
"""
|
|
252
|
+
|
|
253
|
+
method: Annotated[
|
|
254
|
+
Nullable[SubscriptionMethodResponse], PlainValidator(validate_open_enum(False))
|
|
255
|
+
]
|
|
256
|
+
r"""The payment method used for this subscription. If omitted, any of the customer's valid mandates may be used."""
|
|
257
|
+
|
|
258
|
+
metadata: Nullable[Metadata]
|
|
259
|
+
r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
|
|
260
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
261
|
+
"""
|
|
262
|
+
|
|
263
|
+
webhook_url: Annotated[Nullable[str], pydantic.Field(alias="webhookUrl")]
|
|
264
|
+
r"""We will call this URL for any payment status changes of payments resulting from this subscription.
|
|
265
|
+
|
|
266
|
+
This webhook will receive **all** events for the subscription's payments. This may include payment failures as
|
|
267
|
+
well. Be sure to verify the payment's subscription ID and its status.
|
|
268
|
+
"""
|
|
269
|
+
|
|
270
|
+
customer_id: Annotated[str, pydantic.Field(alias="customerId")]
|
|
271
|
+
r"""The customer this subscription belongs to."""
|
|
272
|
+
|
|
273
|
+
created_at: Annotated[str, pydantic.Field(alias="createdAt")]
|
|
274
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
275
|
+
|
|
276
|
+
links: Annotated[SubscriptionResponseLinks, pydantic.Field(alias="_links")]
|
|
277
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
278
|
+
|
|
279
|
+
next_payment_date: Annotated[
|
|
280
|
+
OptionalNullable[str], pydantic.Field(alias="nextPaymentDate")
|
|
281
|
+
] = UNSET
|
|
282
|
+
r"""The date of the next scheduled payment in `YYYY-MM-DD` format. If the subscription has been completed or canceled,
|
|
283
|
+
this parameter will not be returned.
|
|
284
|
+
"""
|
|
285
|
+
|
|
286
|
+
application_fee: Annotated[
|
|
287
|
+
Optional[SubscriptionResponseApplicationFee],
|
|
288
|
+
pydantic.Field(alias="applicationFee"),
|
|
289
|
+
] = None
|
|
290
|
+
r"""With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie
|
|
291
|
+
merchants.
|
|
292
|
+
|
|
293
|
+
Setting an application fee on the subscription will ensure this fee is charged on each individual payment.
|
|
294
|
+
|
|
295
|
+
Refer to the `applicationFee` parameter on the [Get payment endpoint](get-payment) documentation for more
|
|
296
|
+
information.
|
|
297
|
+
"""
|
|
298
|
+
|
|
299
|
+
mandate_id: Annotated[Optional[str], pydantic.Field(alias="mandateId")] = None
|
|
300
|
+
|
|
301
|
+
canceled_at: Annotated[
|
|
302
|
+
OptionalNullable[str], pydantic.Field(alias="canceledAt")
|
|
303
|
+
] = UNSET
|
|
304
|
+
r"""The subscription's date and time of cancellation, in ISO 8601 format. This parameter is omitted if the
|
|
305
|
+
subscription is not canceled (yet).
|
|
306
|
+
"""
|
|
307
|
+
|
|
308
|
+
@model_serializer(mode="wrap")
|
|
309
|
+
def serialize_model(self, handler):
|
|
310
|
+
optional_fields = [
|
|
311
|
+
"nextPaymentDate",
|
|
312
|
+
"applicationFee",
|
|
313
|
+
"mandateId",
|
|
314
|
+
"canceledAt",
|
|
315
|
+
]
|
|
316
|
+
nullable_fields = [
|
|
317
|
+
"times",
|
|
318
|
+
"timesRemaining",
|
|
319
|
+
"nextPaymentDate",
|
|
320
|
+
"method",
|
|
321
|
+
"metadata",
|
|
322
|
+
"webhookUrl",
|
|
323
|
+
"canceledAt",
|
|
324
|
+
]
|
|
325
|
+
null_default_fields = []
|
|
326
|
+
|
|
327
|
+
serialized = handler(self)
|
|
328
|
+
|
|
329
|
+
m = {}
|
|
330
|
+
|
|
331
|
+
for n, f in type(self).model_fields.items():
|
|
332
|
+
k = f.alias or n
|
|
333
|
+
val = serialized.get(k)
|
|
334
|
+
serialized.pop(k, None)
|
|
335
|
+
|
|
336
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
337
|
+
is_set = (
|
|
338
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
339
|
+
or k in null_default_fields
|
|
340
|
+
) # pylint: disable=no-member
|
|
341
|
+
|
|
342
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
343
|
+
m[k] = val
|
|
344
|
+
elif val != UNSET_SENTINEL and (
|
|
345
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
346
|
+
):
|
|
347
|
+
m[k] = val
|
|
348
|
+
|
|
349
|
+
return m
|
|
@@ -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
|
+
from mollie import utils
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class TerminalBrand(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
9
|
+
r"""The brand of the terminal."""
|
|
10
|
+
|
|
11
|
+
PAX = "PAX"
|
|
12
|
+
TAP = "Tap"
|
|
@@ -0,0 +1,16 @@
|
|
|
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 TerminalModel(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
9
|
+
r"""The model of the terminal. For example for a PAX A920, this field's value will be `A920`."""
|
|
10
|
+
|
|
11
|
+
A35 = "A35"
|
|
12
|
+
A77 = "A77"
|
|
13
|
+
A920 = "A920"
|
|
14
|
+
A920_PRO = "A920Pro"
|
|
15
|
+
IM30 = "IM30"
|
|
16
|
+
TAP = "Tap"
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from mollie.types import BaseModel
|
|
5
|
+
from mollie.utils import (
|
|
6
|
+
FieldMetadata,
|
|
7
|
+
HeaderMetadata,
|
|
8
|
+
PathParamMetadata,
|
|
9
|
+
RequestMetadata,
|
|
10
|
+
)
|
|
11
|
+
import pydantic
|
|
12
|
+
from typing import Optional
|
|
13
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class TestWebhookRequestBodyTypedDict(TypedDict):
|
|
17
|
+
__test__ = False # pyright: ignore[reportGeneralTypeIssues]
|
|
18
|
+
|
|
19
|
+
testmode: NotRequired[bool]
|
|
20
|
+
r"""You can enable test mode by setting `testmode` to `true`.
|
|
21
|
+
|
|
22
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class TestWebhookRequestBody(BaseModel):
|
|
27
|
+
__test__ = False
|
|
28
|
+
|
|
29
|
+
testmode: Optional[bool] = None
|
|
30
|
+
r"""You can enable test mode by setting `testmode` to `true`.
|
|
31
|
+
|
|
32
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class TestWebhookRequestTypedDict(TypedDict):
|
|
37
|
+
__test__ = False # pyright: ignore[reportGeneralTypeIssues]
|
|
38
|
+
|
|
39
|
+
id: str
|
|
40
|
+
r"""Provide the ID of the item you want to perform this operation on."""
|
|
41
|
+
idempotency_key: NotRequired[str]
|
|
42
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
43
|
+
request_body: NotRequired[TestWebhookRequestBodyTypedDict]
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class TestWebhookRequest(BaseModel):
|
|
47
|
+
__test__ = False
|
|
48
|
+
|
|
49
|
+
id: Annotated[
|
|
50
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
51
|
+
]
|
|
52
|
+
r"""Provide the ID of the item you want to perform this operation on."""
|
|
53
|
+
|
|
54
|
+
idempotency_key: Annotated[
|
|
55
|
+
Optional[str],
|
|
56
|
+
pydantic.Field(alias="idempotency-key"),
|
|
57
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
|
58
|
+
] = None
|
|
59
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
60
|
+
|
|
61
|
+
request_body: Annotated[
|
|
62
|
+
Optional[TestWebhookRequestBody],
|
|
63
|
+
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
|
64
|
+
] = None
|