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,505 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .mode import Mode
|
|
5
|
+
from .sales_invoice_discount_response import (
|
|
6
|
+
SalesInvoiceDiscountResponse,
|
|
7
|
+
SalesInvoiceDiscountResponseTypedDict,
|
|
8
|
+
)
|
|
9
|
+
from .sales_invoice_email_details import (
|
|
10
|
+
SalesInvoiceEmailDetails,
|
|
11
|
+
SalesInvoiceEmailDetailsTypedDict,
|
|
12
|
+
)
|
|
13
|
+
from .sales_invoice_line_item_response import (
|
|
14
|
+
SalesInvoiceLineItemResponse,
|
|
15
|
+
SalesInvoiceLineItemResponseTypedDict,
|
|
16
|
+
)
|
|
17
|
+
from .sales_invoice_payment_details_response import (
|
|
18
|
+
SalesInvoicePaymentDetailsResponse,
|
|
19
|
+
SalesInvoicePaymentDetailsResponseTypedDict,
|
|
20
|
+
)
|
|
21
|
+
from .sales_invoice_payment_term_response import SalesInvoicePaymentTermResponse
|
|
22
|
+
from .sales_invoice_recipient_response import (
|
|
23
|
+
SalesInvoiceRecipientResponse,
|
|
24
|
+
SalesInvoiceRecipientResponseTypedDict,
|
|
25
|
+
)
|
|
26
|
+
from .sales_invoice_status_response import SalesInvoiceStatusResponse
|
|
27
|
+
from .sales_invoice_vat_mode_response import SalesInvoiceVatModeResponse
|
|
28
|
+
from .sales_invoice_vat_scheme_response import SalesInvoiceVatSchemeResponse
|
|
29
|
+
from .url import URL, URLTypedDict
|
|
30
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
31
|
+
from mollie.utils import validate_open_enum
|
|
32
|
+
import pydantic
|
|
33
|
+
from pydantic import model_serializer
|
|
34
|
+
from pydantic.functional_validators import PlainValidator
|
|
35
|
+
from typing import List, Optional
|
|
36
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class ListSalesInvoiceResponseMetadataTypedDict(TypedDict):
|
|
40
|
+
r"""Provide any data you like as a JSON object. We will save the data alongside the entity. Whenever
|
|
41
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class ListSalesInvoiceResponseMetadata(BaseModel):
|
|
46
|
+
r"""Provide any data you like as a JSON object. We will save the data alongside the entity. Whenever
|
|
47
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class ListSalesInvoiceResponseAmountDueTypedDict(TypedDict):
|
|
52
|
+
r"""The amount that is left to be paid."""
|
|
53
|
+
|
|
54
|
+
currency: str
|
|
55
|
+
r"""A three-character ISO 4217 currency code."""
|
|
56
|
+
value: str
|
|
57
|
+
r"""A string containing an exact monetary amount in the given currency."""
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class ListSalesInvoiceResponseAmountDue(BaseModel):
|
|
61
|
+
r"""The amount that is left to be paid."""
|
|
62
|
+
|
|
63
|
+
currency: str
|
|
64
|
+
r"""A three-character ISO 4217 currency code."""
|
|
65
|
+
|
|
66
|
+
value: str
|
|
67
|
+
r"""A string containing an exact monetary amount in the given currency."""
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class ListSalesInvoiceResponseSubtotalAmountTypedDict(TypedDict):
|
|
71
|
+
r"""The total amount without VAT before discounts."""
|
|
72
|
+
|
|
73
|
+
currency: str
|
|
74
|
+
r"""A three-character ISO 4217 currency code."""
|
|
75
|
+
value: str
|
|
76
|
+
r"""A string containing an exact monetary amount in the given currency."""
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
class ListSalesInvoiceResponseSubtotalAmount(BaseModel):
|
|
80
|
+
r"""The total amount without VAT before discounts."""
|
|
81
|
+
|
|
82
|
+
currency: str
|
|
83
|
+
r"""A three-character ISO 4217 currency code."""
|
|
84
|
+
|
|
85
|
+
value: str
|
|
86
|
+
r"""A string containing an exact monetary amount in the given currency."""
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
class ListSalesInvoiceResponseTotalAmountTypedDict(TypedDict):
|
|
90
|
+
r"""The total amount with VAT."""
|
|
91
|
+
|
|
92
|
+
currency: str
|
|
93
|
+
r"""A three-character ISO 4217 currency code."""
|
|
94
|
+
value: str
|
|
95
|
+
r"""A string containing an exact monetary amount in the given currency."""
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
class ListSalesInvoiceResponseTotalAmount(BaseModel):
|
|
99
|
+
r"""The total amount with VAT."""
|
|
100
|
+
|
|
101
|
+
currency: str
|
|
102
|
+
r"""A three-character ISO 4217 currency code."""
|
|
103
|
+
|
|
104
|
+
value: str
|
|
105
|
+
r"""A string containing an exact monetary amount in the given currency."""
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
class ListSalesInvoiceResponseTotalVatAmountTypedDict(TypedDict):
|
|
109
|
+
r"""The total VAT amount."""
|
|
110
|
+
|
|
111
|
+
currency: str
|
|
112
|
+
r"""A three-character ISO 4217 currency code."""
|
|
113
|
+
value: str
|
|
114
|
+
r"""A string containing an exact monetary amount in the given currency."""
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
class ListSalesInvoiceResponseTotalVatAmount(BaseModel):
|
|
118
|
+
r"""The total VAT amount."""
|
|
119
|
+
|
|
120
|
+
currency: str
|
|
121
|
+
r"""A three-character ISO 4217 currency code."""
|
|
122
|
+
|
|
123
|
+
value: str
|
|
124
|
+
r"""A string containing an exact monetary amount in the given currency."""
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
class ListSalesInvoiceResponseDiscountedSubtotalAmountTypedDict(TypedDict):
|
|
128
|
+
r"""The total amount without VAT after discounts."""
|
|
129
|
+
|
|
130
|
+
currency: str
|
|
131
|
+
r"""A three-character ISO 4217 currency code."""
|
|
132
|
+
value: str
|
|
133
|
+
r"""A string containing an exact monetary amount in the given currency."""
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
class ListSalesInvoiceResponseDiscountedSubtotalAmount(BaseModel):
|
|
137
|
+
r"""The total amount without VAT after discounts."""
|
|
138
|
+
|
|
139
|
+
currency: str
|
|
140
|
+
r"""A three-character ISO 4217 currency code."""
|
|
141
|
+
|
|
142
|
+
value: str
|
|
143
|
+
r"""A string containing an exact monetary amount in the given currency."""
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
class ListSalesInvoiceResponseLinksTypedDict(TypedDict):
|
|
147
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
148
|
+
|
|
149
|
+
self_: NotRequired[URLTypedDict]
|
|
150
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
151
|
+
invoice_payment: NotRequired[URLTypedDict]
|
|
152
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
153
|
+
pdf_link: NotRequired[URLTypedDict]
|
|
154
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
155
|
+
next: NotRequired[URLTypedDict]
|
|
156
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
157
|
+
previous: NotRequired[URLTypedDict]
|
|
158
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
class ListSalesInvoiceResponseLinks(BaseModel):
|
|
162
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
163
|
+
|
|
164
|
+
self_: Annotated[Optional[URL], pydantic.Field(alias="self")] = None
|
|
165
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
166
|
+
|
|
167
|
+
invoice_payment: Annotated[
|
|
168
|
+
Optional[URL], pydantic.Field(alias="invoicePayment")
|
|
169
|
+
] = None
|
|
170
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
171
|
+
|
|
172
|
+
pdf_link: Annotated[Optional[URL], pydantic.Field(alias="pdfLink")] = None
|
|
173
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
174
|
+
|
|
175
|
+
next: Optional[URL] = None
|
|
176
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
177
|
+
|
|
178
|
+
previous: Optional[URL] = None
|
|
179
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
class ListSalesInvoiceResponseTypedDict(TypedDict):
|
|
183
|
+
resource: str
|
|
184
|
+
r"""Indicates the response contains a sales invoice object. Will always contain the string `sales-invoice` for this
|
|
185
|
+
endpoint.
|
|
186
|
+
"""
|
|
187
|
+
id: str
|
|
188
|
+
r"""The identifier uniquely referring to this invoice. Example: `invoice_4Y0eZitmBnQ6IDoMqZQKh`."""
|
|
189
|
+
mode: Mode
|
|
190
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
191
|
+
invoice_number: NotRequired[Nullable[str]]
|
|
192
|
+
r"""When issued, an invoice number will be set for the sales invoice."""
|
|
193
|
+
status: NotRequired[SalesInvoiceStatusResponse]
|
|
194
|
+
r"""The status for the invoice to end up in.
|
|
195
|
+
|
|
196
|
+
A `draft` invoice is not paid or not sent and can be updated after creation. Setting it to `issued` sends it to
|
|
197
|
+
the recipient so they may then pay through our payment system. To skip our payment process, set this to `paid` to
|
|
198
|
+
mark it as paid. It can then subsequently be sent as well, same as with `issued`.
|
|
199
|
+
|
|
200
|
+
A status value that cannot be set but can be returned is `canceled`, for invoices which were
|
|
201
|
+
issued, but then canceled. Currently this can only be done for invoices created in the dashboard.
|
|
202
|
+
|
|
203
|
+
Dependent parameters:
|
|
204
|
+
- `paymentDetails` is required if invoice should be set directly to `paid`
|
|
205
|
+
- `customerId` and `mandateId` are required if a recurring payment should be used to set the invoice to `paid`
|
|
206
|
+
- `emailDetails` optional for `issued` and `paid` to send the invoice by email
|
|
207
|
+
"""
|
|
208
|
+
vat_scheme: NotRequired[SalesInvoiceVatSchemeResponse]
|
|
209
|
+
r"""The VAT scheme to create the invoice for. You must be enrolled with One Stop Shop enabled to use it."""
|
|
210
|
+
vat_mode: NotRequired[SalesInvoiceVatModeResponse]
|
|
211
|
+
r"""The VAT mode to use for VAT calculation. `exclusive` mode means we will apply the relevant VAT on top of the
|
|
212
|
+
price. `inclusive` means the prices you are providing to us already contain the VAT you want to apply.
|
|
213
|
+
"""
|
|
214
|
+
memo: NotRequired[Nullable[str]]
|
|
215
|
+
r"""A free-form memo you can set on the invoice, and will be shown on the invoice PDF."""
|
|
216
|
+
metadata: NotRequired[Nullable[ListSalesInvoiceResponseMetadataTypedDict]]
|
|
217
|
+
r"""Provide any data you like as a JSON object. We will save the data alongside the entity. Whenever
|
|
218
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
219
|
+
"""
|
|
220
|
+
payment_term: NotRequired[Nullable[SalesInvoicePaymentTermResponse]]
|
|
221
|
+
r"""The payment term to be set on the invoice."""
|
|
222
|
+
payment_details: NotRequired[SalesInvoicePaymentDetailsResponseTypedDict]
|
|
223
|
+
email_details: NotRequired[Nullable[SalesInvoiceEmailDetailsTypedDict]]
|
|
224
|
+
customer_id: NotRequired[str]
|
|
225
|
+
r"""The identifier referring to the [customer](get-customer) you want to attempt an automated payment for. If
|
|
226
|
+
provided, `mandateId` becomes required as well. Only allowed for invoices with status `paid`.
|
|
227
|
+
"""
|
|
228
|
+
mandate_id: NotRequired[str]
|
|
229
|
+
r"""The identifier referring to the [mandate](get-mandate) you want to use for the automated payment. If provided,
|
|
230
|
+
`customerId` becomes required as well. Only allowed for invoices with status `paid`.
|
|
231
|
+
"""
|
|
232
|
+
recipient_identifier: NotRequired[str]
|
|
233
|
+
r"""An identifier tied to the recipient data. This should be a unique value based on data your system contains,
|
|
234
|
+
so that both you and us know who we're referring to. It is a value you provide to us so that recipient management
|
|
235
|
+
is not required to send a first invoice to a recipient.
|
|
236
|
+
"""
|
|
237
|
+
recipient: NotRequired[Nullable[SalesInvoiceRecipientResponseTypedDict]]
|
|
238
|
+
lines: NotRequired[Nullable[List[SalesInvoiceLineItemResponseTypedDict]]]
|
|
239
|
+
r"""Provide the line items for the invoice. Each line contains details such as a description of the item
|
|
240
|
+
ordered and its price.
|
|
241
|
+
|
|
242
|
+
All lines must have the same currency as the invoice.
|
|
243
|
+
"""
|
|
244
|
+
discount: NotRequired[Nullable[SalesInvoiceDiscountResponseTypedDict]]
|
|
245
|
+
amount_due: NotRequired[ListSalesInvoiceResponseAmountDueTypedDict]
|
|
246
|
+
r"""The amount that is left to be paid."""
|
|
247
|
+
subtotal_amount: NotRequired[ListSalesInvoiceResponseSubtotalAmountTypedDict]
|
|
248
|
+
r"""The total amount without VAT before discounts."""
|
|
249
|
+
total_amount: NotRequired[ListSalesInvoiceResponseTotalAmountTypedDict]
|
|
250
|
+
r"""The total amount with VAT."""
|
|
251
|
+
total_vat_amount: NotRequired[ListSalesInvoiceResponseTotalVatAmountTypedDict]
|
|
252
|
+
r"""The total VAT amount."""
|
|
253
|
+
discounted_subtotal_amount: NotRequired[
|
|
254
|
+
ListSalesInvoiceResponseDiscountedSubtotalAmountTypedDict
|
|
255
|
+
]
|
|
256
|
+
r"""The total amount without VAT after discounts."""
|
|
257
|
+
created_at: NotRequired[str]
|
|
258
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
259
|
+
issued_at: NotRequired[Nullable[str]]
|
|
260
|
+
r"""If issued, the date when the sales invoice was issued, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
|
|
261
|
+
format.
|
|
262
|
+
"""
|
|
263
|
+
paid_at: NotRequired[Nullable[str]]
|
|
264
|
+
r"""If paid, the date when the sales invoice was paid, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
|
|
265
|
+
format.
|
|
266
|
+
"""
|
|
267
|
+
due_at: NotRequired[Nullable[str]]
|
|
268
|
+
r"""If issued, the date when the sales invoice payment is due, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
|
|
269
|
+
format.
|
|
270
|
+
"""
|
|
271
|
+
links: NotRequired[ListSalesInvoiceResponseLinksTypedDict]
|
|
272
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
class ListSalesInvoiceResponse(BaseModel):
|
|
276
|
+
resource: str
|
|
277
|
+
r"""Indicates the response contains a sales invoice object. Will always contain the string `sales-invoice` for this
|
|
278
|
+
endpoint.
|
|
279
|
+
"""
|
|
280
|
+
|
|
281
|
+
id: str
|
|
282
|
+
r"""The identifier uniquely referring to this invoice. Example: `invoice_4Y0eZitmBnQ6IDoMqZQKh`."""
|
|
283
|
+
|
|
284
|
+
mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
|
|
285
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
286
|
+
|
|
287
|
+
invoice_number: Annotated[
|
|
288
|
+
OptionalNullable[str], pydantic.Field(alias="invoiceNumber")
|
|
289
|
+
] = UNSET
|
|
290
|
+
r"""When issued, an invoice number will be set for the sales invoice."""
|
|
291
|
+
|
|
292
|
+
status: Annotated[
|
|
293
|
+
Optional[SalesInvoiceStatusResponse], PlainValidator(validate_open_enum(False))
|
|
294
|
+
] = None
|
|
295
|
+
r"""The status for the invoice to end up in.
|
|
296
|
+
|
|
297
|
+
A `draft` invoice is not paid or not sent and can be updated after creation. Setting it to `issued` sends it to
|
|
298
|
+
the recipient so they may then pay through our payment system. To skip our payment process, set this to `paid` to
|
|
299
|
+
mark it as paid. It can then subsequently be sent as well, same as with `issued`.
|
|
300
|
+
|
|
301
|
+
A status value that cannot be set but can be returned is `canceled`, for invoices which were
|
|
302
|
+
issued, but then canceled. Currently this can only be done for invoices created in the dashboard.
|
|
303
|
+
|
|
304
|
+
Dependent parameters:
|
|
305
|
+
- `paymentDetails` is required if invoice should be set directly to `paid`
|
|
306
|
+
- `customerId` and `mandateId` are required if a recurring payment should be used to set the invoice to `paid`
|
|
307
|
+
- `emailDetails` optional for `issued` and `paid` to send the invoice by email
|
|
308
|
+
"""
|
|
309
|
+
|
|
310
|
+
vat_scheme: Annotated[
|
|
311
|
+
Annotated[
|
|
312
|
+
Optional[SalesInvoiceVatSchemeResponse],
|
|
313
|
+
PlainValidator(validate_open_enum(False)),
|
|
314
|
+
],
|
|
315
|
+
pydantic.Field(alias="vatScheme"),
|
|
316
|
+
] = None
|
|
317
|
+
r"""The VAT scheme to create the invoice for. You must be enrolled with One Stop Shop enabled to use it."""
|
|
318
|
+
|
|
319
|
+
vat_mode: Annotated[
|
|
320
|
+
Annotated[
|
|
321
|
+
Optional[SalesInvoiceVatModeResponse],
|
|
322
|
+
PlainValidator(validate_open_enum(False)),
|
|
323
|
+
],
|
|
324
|
+
pydantic.Field(alias="vatMode"),
|
|
325
|
+
] = None
|
|
326
|
+
r"""The VAT mode to use for VAT calculation. `exclusive` mode means we will apply the relevant VAT on top of the
|
|
327
|
+
price. `inclusive` means the prices you are providing to us already contain the VAT you want to apply.
|
|
328
|
+
"""
|
|
329
|
+
|
|
330
|
+
memo: OptionalNullable[str] = UNSET
|
|
331
|
+
r"""A free-form memo you can set on the invoice, and will be shown on the invoice PDF."""
|
|
332
|
+
|
|
333
|
+
metadata: OptionalNullable[ListSalesInvoiceResponseMetadata] = UNSET
|
|
334
|
+
r"""Provide any data you like as a JSON object. We will save the data alongside the entity. Whenever
|
|
335
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
336
|
+
"""
|
|
337
|
+
|
|
338
|
+
payment_term: Annotated[
|
|
339
|
+
Annotated[
|
|
340
|
+
OptionalNullable[SalesInvoicePaymentTermResponse],
|
|
341
|
+
PlainValidator(validate_open_enum(False)),
|
|
342
|
+
],
|
|
343
|
+
pydantic.Field(alias="paymentTerm"),
|
|
344
|
+
] = UNSET
|
|
345
|
+
r"""The payment term to be set on the invoice."""
|
|
346
|
+
|
|
347
|
+
payment_details: Annotated[
|
|
348
|
+
Optional[SalesInvoicePaymentDetailsResponse],
|
|
349
|
+
pydantic.Field(alias="paymentDetails"),
|
|
350
|
+
] = None
|
|
351
|
+
|
|
352
|
+
email_details: Annotated[
|
|
353
|
+
OptionalNullable[SalesInvoiceEmailDetails], pydantic.Field(alias="emailDetails")
|
|
354
|
+
] = UNSET
|
|
355
|
+
|
|
356
|
+
customer_id: Annotated[Optional[str], pydantic.Field(alias="customerId")] = None
|
|
357
|
+
r"""The identifier referring to the [customer](get-customer) you want to attempt an automated payment for. If
|
|
358
|
+
provided, `mandateId` becomes required as well. Only allowed for invoices with status `paid`.
|
|
359
|
+
"""
|
|
360
|
+
|
|
361
|
+
mandate_id: Annotated[Optional[str], pydantic.Field(alias="mandateId")] = None
|
|
362
|
+
r"""The identifier referring to the [mandate](get-mandate) you want to use for the automated payment. If provided,
|
|
363
|
+
`customerId` becomes required as well. Only allowed for invoices with status `paid`.
|
|
364
|
+
"""
|
|
365
|
+
|
|
366
|
+
recipient_identifier: Annotated[
|
|
367
|
+
Optional[str], pydantic.Field(alias="recipientIdentifier")
|
|
368
|
+
] = None
|
|
369
|
+
r"""An identifier tied to the recipient data. This should be a unique value based on data your system contains,
|
|
370
|
+
so that both you and us know who we're referring to. It is a value you provide to us so that recipient management
|
|
371
|
+
is not required to send a first invoice to a recipient.
|
|
372
|
+
"""
|
|
373
|
+
|
|
374
|
+
recipient: OptionalNullable[SalesInvoiceRecipientResponse] = UNSET
|
|
375
|
+
|
|
376
|
+
lines: OptionalNullable[List[SalesInvoiceLineItemResponse]] = UNSET
|
|
377
|
+
r"""Provide the line items for the invoice. Each line contains details such as a description of the item
|
|
378
|
+
ordered and its price.
|
|
379
|
+
|
|
380
|
+
All lines must have the same currency as the invoice.
|
|
381
|
+
"""
|
|
382
|
+
|
|
383
|
+
discount: OptionalNullable[SalesInvoiceDiscountResponse] = UNSET
|
|
384
|
+
|
|
385
|
+
amount_due: Annotated[
|
|
386
|
+
Optional[ListSalesInvoiceResponseAmountDue], pydantic.Field(alias="amountDue")
|
|
387
|
+
] = None
|
|
388
|
+
r"""The amount that is left to be paid."""
|
|
389
|
+
|
|
390
|
+
subtotal_amount: Annotated[
|
|
391
|
+
Optional[ListSalesInvoiceResponseSubtotalAmount],
|
|
392
|
+
pydantic.Field(alias="subtotalAmount"),
|
|
393
|
+
] = None
|
|
394
|
+
r"""The total amount without VAT before discounts."""
|
|
395
|
+
|
|
396
|
+
total_amount: Annotated[
|
|
397
|
+
Optional[ListSalesInvoiceResponseTotalAmount],
|
|
398
|
+
pydantic.Field(alias="totalAmount"),
|
|
399
|
+
] = None
|
|
400
|
+
r"""The total amount with VAT."""
|
|
401
|
+
|
|
402
|
+
total_vat_amount: Annotated[
|
|
403
|
+
Optional[ListSalesInvoiceResponseTotalVatAmount],
|
|
404
|
+
pydantic.Field(alias="totalVatAmount"),
|
|
405
|
+
] = None
|
|
406
|
+
r"""The total VAT amount."""
|
|
407
|
+
|
|
408
|
+
discounted_subtotal_amount: Annotated[
|
|
409
|
+
Optional[ListSalesInvoiceResponseDiscountedSubtotalAmount],
|
|
410
|
+
pydantic.Field(alias="discountedSubtotalAmount"),
|
|
411
|
+
] = None
|
|
412
|
+
r"""The total amount without VAT after discounts."""
|
|
413
|
+
|
|
414
|
+
created_at: Annotated[Optional[str], pydantic.Field(alias="createdAt")] = None
|
|
415
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
416
|
+
|
|
417
|
+
issued_at: Annotated[OptionalNullable[str], pydantic.Field(alias="issuedAt")] = (
|
|
418
|
+
UNSET
|
|
419
|
+
)
|
|
420
|
+
r"""If issued, the date when the sales invoice was issued, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
|
|
421
|
+
format.
|
|
422
|
+
"""
|
|
423
|
+
|
|
424
|
+
paid_at: Annotated[OptionalNullable[str], pydantic.Field(alias="paidAt")] = UNSET
|
|
425
|
+
r"""If paid, the date when the sales invoice was paid, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
|
|
426
|
+
format.
|
|
427
|
+
"""
|
|
428
|
+
|
|
429
|
+
due_at: Annotated[OptionalNullable[str], pydantic.Field(alias="dueAt")] = UNSET
|
|
430
|
+
r"""If issued, the date when the sales invoice payment is due, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
|
|
431
|
+
format.
|
|
432
|
+
"""
|
|
433
|
+
|
|
434
|
+
links: Annotated[
|
|
435
|
+
Optional[ListSalesInvoiceResponseLinks], pydantic.Field(alias="_links")
|
|
436
|
+
] = None
|
|
437
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
438
|
+
|
|
439
|
+
@model_serializer(mode="wrap")
|
|
440
|
+
def serialize_model(self, handler):
|
|
441
|
+
optional_fields = [
|
|
442
|
+
"invoiceNumber",
|
|
443
|
+
"status",
|
|
444
|
+
"vatScheme",
|
|
445
|
+
"vatMode",
|
|
446
|
+
"memo",
|
|
447
|
+
"metadata",
|
|
448
|
+
"paymentTerm",
|
|
449
|
+
"paymentDetails",
|
|
450
|
+
"emailDetails",
|
|
451
|
+
"customerId",
|
|
452
|
+
"mandateId",
|
|
453
|
+
"recipientIdentifier",
|
|
454
|
+
"recipient",
|
|
455
|
+
"lines",
|
|
456
|
+
"discount",
|
|
457
|
+
"amountDue",
|
|
458
|
+
"subtotalAmount",
|
|
459
|
+
"totalAmount",
|
|
460
|
+
"totalVatAmount",
|
|
461
|
+
"discountedSubtotalAmount",
|
|
462
|
+
"createdAt",
|
|
463
|
+
"issuedAt",
|
|
464
|
+
"paidAt",
|
|
465
|
+
"dueAt",
|
|
466
|
+
"_links",
|
|
467
|
+
]
|
|
468
|
+
nullable_fields = [
|
|
469
|
+
"invoiceNumber",
|
|
470
|
+
"memo",
|
|
471
|
+
"metadata",
|
|
472
|
+
"paymentTerm",
|
|
473
|
+
"emailDetails",
|
|
474
|
+
"recipient",
|
|
475
|
+
"lines",
|
|
476
|
+
"discount",
|
|
477
|
+
"issuedAt",
|
|
478
|
+
"paidAt",
|
|
479
|
+
"dueAt",
|
|
480
|
+
]
|
|
481
|
+
null_default_fields = []
|
|
482
|
+
|
|
483
|
+
serialized = handler(self)
|
|
484
|
+
|
|
485
|
+
m = {}
|
|
486
|
+
|
|
487
|
+
for n, f in type(self).model_fields.items():
|
|
488
|
+
k = f.alias or n
|
|
489
|
+
val = serialized.get(k)
|
|
490
|
+
serialized.pop(k, None)
|
|
491
|
+
|
|
492
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
493
|
+
is_set = (
|
|
494
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
495
|
+
or k in null_default_fields
|
|
496
|
+
) # pylint: disable=no-member
|
|
497
|
+
|
|
498
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
499
|
+
m[k] = val
|
|
500
|
+
elif val != UNSET_SENTINEL and (
|
|
501
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
502
|
+
):
|
|
503
|
+
m[k] = val
|
|
504
|
+
|
|
505
|
+
return m
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .list_links import ListLinks, ListLinksTypedDict
|
|
5
|
+
from .list_sales_invoice_response import (
|
|
6
|
+
ListSalesInvoiceResponse,
|
|
7
|
+
ListSalesInvoiceResponseTypedDict,
|
|
8
|
+
)
|
|
9
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
10
|
+
from mollie.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
|
|
11
|
+
import pydantic
|
|
12
|
+
from pydantic import model_serializer
|
|
13
|
+
from typing import List, Optional
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class ListSalesInvoicesGlobalsTypedDict(TypedDict):
|
|
18
|
+
testmode: NotRequired[bool]
|
|
19
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
20
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
21
|
+
setting the `testmode` query parameter to `true`.
|
|
22
|
+
|
|
23
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ListSalesInvoicesGlobals(BaseModel):
|
|
28
|
+
testmode: Annotated[
|
|
29
|
+
Optional[bool],
|
|
30
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
31
|
+
] = None
|
|
32
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
33
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
34
|
+
setting the `testmode` query parameter to `true`.
|
|
35
|
+
|
|
36
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class ListSalesInvoicesRequestTypedDict(TypedDict):
|
|
41
|
+
from_: NotRequired[Nullable[str]]
|
|
42
|
+
r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
|
|
43
|
+
result set.
|
|
44
|
+
"""
|
|
45
|
+
limit: NotRequired[Nullable[int]]
|
|
46
|
+
r"""The maximum number of items to return. Defaults to 50 items."""
|
|
47
|
+
testmode: NotRequired[bool]
|
|
48
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
49
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
50
|
+
setting the `testmode` query parameter to `true`.
|
|
51
|
+
|
|
52
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
53
|
+
"""
|
|
54
|
+
idempotency_key: NotRequired[str]
|
|
55
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class ListSalesInvoicesRequest(BaseModel):
|
|
59
|
+
from_: Annotated[
|
|
60
|
+
OptionalNullable[str],
|
|
61
|
+
pydantic.Field(alias="from"),
|
|
62
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
63
|
+
] = UNSET
|
|
64
|
+
r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
|
|
65
|
+
result set.
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
limit: Annotated[
|
|
69
|
+
OptionalNullable[int],
|
|
70
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
71
|
+
] = UNSET
|
|
72
|
+
r"""The maximum number of items to return. Defaults to 50 items."""
|
|
73
|
+
|
|
74
|
+
testmode: Annotated[
|
|
75
|
+
Optional[bool],
|
|
76
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
77
|
+
] = None
|
|
78
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
79
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
80
|
+
setting the `testmode` query parameter to `true`.
|
|
81
|
+
|
|
82
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
83
|
+
"""
|
|
84
|
+
|
|
85
|
+
idempotency_key: Annotated[
|
|
86
|
+
Optional[str],
|
|
87
|
+
pydantic.Field(alias="idempotency-key"),
|
|
88
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
|
89
|
+
] = None
|
|
90
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
91
|
+
|
|
92
|
+
@model_serializer(mode="wrap")
|
|
93
|
+
def serialize_model(self, handler):
|
|
94
|
+
optional_fields = ["from", "limit", "testmode", "idempotency-key"]
|
|
95
|
+
nullable_fields = ["from", "limit"]
|
|
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
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
class ListSalesInvoicesEmbeddedTypedDict(TypedDict):
|
|
124
|
+
sales_invoices: NotRequired[List[ListSalesInvoiceResponseTypedDict]]
|
|
125
|
+
r"""An array of sales invoice objects. For a complete reference of the sales invoice object, refer to
|
|
126
|
+
the [Get sales invoice endpoint](get-sales-invoice) documentation.
|
|
127
|
+
"""
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
class ListSalesInvoicesEmbedded(BaseModel):
|
|
131
|
+
sales_invoices: Optional[List[ListSalesInvoiceResponse]] = None
|
|
132
|
+
r"""An array of sales invoice objects. For a complete reference of the sales invoice object, refer to
|
|
133
|
+
the [Get sales invoice endpoint](get-sales-invoice) documentation.
|
|
134
|
+
"""
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
class ListSalesInvoicesResponseTypedDict(TypedDict):
|
|
138
|
+
r"""A list of sales invoice objects. For a complete reference of the sales invoice object, refer to the
|
|
139
|
+
[Get sales invoice endpoint](get-sales-invoice) documentation.
|
|
140
|
+
"""
|
|
141
|
+
|
|
142
|
+
count: NotRequired[int]
|
|
143
|
+
r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
|
|
144
|
+
as well.
|
|
145
|
+
|
|
146
|
+
The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
|
|
147
|
+
limit is 50 items.
|
|
148
|
+
"""
|
|
149
|
+
embedded: NotRequired[ListSalesInvoicesEmbeddedTypedDict]
|
|
150
|
+
links: NotRequired[ListLinksTypedDict]
|
|
151
|
+
r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
class ListSalesInvoicesResponse(BaseModel):
|
|
155
|
+
r"""A list of sales invoice objects. For a complete reference of the sales invoice object, refer to the
|
|
156
|
+
[Get sales invoice endpoint](get-sales-invoice) documentation.
|
|
157
|
+
"""
|
|
158
|
+
|
|
159
|
+
count: Optional[int] = None
|
|
160
|
+
r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
|
|
161
|
+
as well.
|
|
162
|
+
|
|
163
|
+
The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
|
|
164
|
+
limit is 50 items.
|
|
165
|
+
"""
|
|
166
|
+
|
|
167
|
+
embedded: Annotated[
|
|
168
|
+
Optional[ListSalesInvoicesEmbedded], pydantic.Field(alias="_embedded")
|
|
169
|
+
] = None
|
|
170
|
+
|
|
171
|
+
links: Annotated[Optional[ListLinks], pydantic.Field(alias="_links")] = None
|
|
172
|
+
r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
|