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,160 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .mode import Mode
|
|
5
|
+
from .terminal_brand import TerminalBrand
|
|
6
|
+
from .terminal_model import TerminalModel
|
|
7
|
+
from .url import URL, URLTypedDict
|
|
8
|
+
from enum import Enum
|
|
9
|
+
from mollie import utils
|
|
10
|
+
from mollie.types import BaseModel, Nullable, UNSET_SENTINEL
|
|
11
|
+
from mollie.utils import validate_open_enum
|
|
12
|
+
import pydantic
|
|
13
|
+
from pydantic import model_serializer
|
|
14
|
+
from pydantic.functional_validators import PlainValidator
|
|
15
|
+
from typing_extensions import Annotated, TypedDict
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class EntityTerminalStatus(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
19
|
+
r"""The status of the terminal."""
|
|
20
|
+
|
|
21
|
+
PENDING = "pending"
|
|
22
|
+
ACTIVE = "active"
|
|
23
|
+
INACTIVE = "inactive"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class EntityTerminalLinksTypedDict(TypedDict):
|
|
27
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
28
|
+
|
|
29
|
+
self_: URLTypedDict
|
|
30
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
31
|
+
documentation: URLTypedDict
|
|
32
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class EntityTerminalLinks(BaseModel):
|
|
36
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
37
|
+
|
|
38
|
+
self_: Annotated[URL, pydantic.Field(alias="self")]
|
|
39
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
40
|
+
|
|
41
|
+
documentation: URL
|
|
42
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class EntityTerminalTypedDict(TypedDict):
|
|
46
|
+
resource: str
|
|
47
|
+
r"""Indicates the response contains a terminal object. Will always contain the string `terminal` for this endpoint."""
|
|
48
|
+
id: str
|
|
49
|
+
r"""The identifier uniquely referring to this terminal. Example: `term_7MgL4wea46qkRcoTZjWEH`."""
|
|
50
|
+
mode: Mode
|
|
51
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
52
|
+
description: str
|
|
53
|
+
r"""A short description of the terminal. The description can be used as an identifier for the terminal. Currently, the
|
|
54
|
+
description is set when the terminal is initially configured. It will be visible in the Mollie Dashboard, and it
|
|
55
|
+
may be visible on the device itself depending on the device.
|
|
56
|
+
"""
|
|
57
|
+
status: EntityTerminalStatus
|
|
58
|
+
brand: Nullable[TerminalBrand]
|
|
59
|
+
r"""The brand of the terminal."""
|
|
60
|
+
model: Nullable[TerminalModel]
|
|
61
|
+
r"""The model of the terminal. For example for a PAX A920, this field's value will be `A920`."""
|
|
62
|
+
serial_number: Nullable[str]
|
|
63
|
+
r"""The serial number of the terminal. The serial number is provided at terminal creation time."""
|
|
64
|
+
currency: str
|
|
65
|
+
r"""The currency configured on the terminal, in ISO 4217 format. Currently most of our terminals are bound to a
|
|
66
|
+
specific currency, chosen during setup.
|
|
67
|
+
"""
|
|
68
|
+
profile_id: str
|
|
69
|
+
r"""The identifier referring to the [profile](get-profile) this entity belongs to.
|
|
70
|
+
|
|
71
|
+
Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation
|
|
72
|
+
request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is
|
|
73
|
+
required.
|
|
74
|
+
"""
|
|
75
|
+
created_at: str
|
|
76
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
77
|
+
updated_at: str
|
|
78
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
79
|
+
links: EntityTerminalLinksTypedDict
|
|
80
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class EntityTerminal(BaseModel):
|
|
84
|
+
resource: str
|
|
85
|
+
r"""Indicates the response contains a terminal object. Will always contain the string `terminal` for this endpoint."""
|
|
86
|
+
|
|
87
|
+
id: str
|
|
88
|
+
r"""The identifier uniquely referring to this terminal. Example: `term_7MgL4wea46qkRcoTZjWEH`."""
|
|
89
|
+
|
|
90
|
+
mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
|
|
91
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
92
|
+
|
|
93
|
+
description: str
|
|
94
|
+
r"""A short description of the terminal. The description can be used as an identifier for the terminal. Currently, the
|
|
95
|
+
description is set when the terminal is initially configured. It will be visible in the Mollie Dashboard, and it
|
|
96
|
+
may be visible on the device itself depending on the device.
|
|
97
|
+
"""
|
|
98
|
+
|
|
99
|
+
status: Annotated[EntityTerminalStatus, PlainValidator(validate_open_enum(False))]
|
|
100
|
+
|
|
101
|
+
brand: Annotated[Nullable[TerminalBrand], PlainValidator(validate_open_enum(False))]
|
|
102
|
+
r"""The brand of the terminal."""
|
|
103
|
+
|
|
104
|
+
model: Annotated[Nullable[TerminalModel], PlainValidator(validate_open_enum(False))]
|
|
105
|
+
r"""The model of the terminal. For example for a PAX A920, this field's value will be `A920`."""
|
|
106
|
+
|
|
107
|
+
serial_number: Annotated[Nullable[str], pydantic.Field(alias="serialNumber")]
|
|
108
|
+
r"""The serial number of the terminal. The serial number is provided at terminal creation time."""
|
|
109
|
+
|
|
110
|
+
currency: str
|
|
111
|
+
r"""The currency configured on the terminal, in ISO 4217 format. Currently most of our terminals are bound to a
|
|
112
|
+
specific currency, chosen during setup.
|
|
113
|
+
"""
|
|
114
|
+
|
|
115
|
+
profile_id: Annotated[str, pydantic.Field(alias="profileId")]
|
|
116
|
+
r"""The identifier referring to the [profile](get-profile) this entity belongs to.
|
|
117
|
+
|
|
118
|
+
Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted in the creation
|
|
119
|
+
request. For organization-level credentials such as OAuth access tokens however, the `profileId` parameter is
|
|
120
|
+
required.
|
|
121
|
+
"""
|
|
122
|
+
|
|
123
|
+
created_at: Annotated[str, pydantic.Field(alias="createdAt")]
|
|
124
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
125
|
+
|
|
126
|
+
updated_at: Annotated[str, pydantic.Field(alias="updatedAt")]
|
|
127
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
128
|
+
|
|
129
|
+
links: Annotated[EntityTerminalLinks, pydantic.Field(alias="_links")]
|
|
130
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
131
|
+
|
|
132
|
+
@model_serializer(mode="wrap")
|
|
133
|
+
def serialize_model(self, handler):
|
|
134
|
+
optional_fields = []
|
|
135
|
+
nullable_fields = ["brand", "model", "serialNumber"]
|
|
136
|
+
null_default_fields = []
|
|
137
|
+
|
|
138
|
+
serialized = handler(self)
|
|
139
|
+
|
|
140
|
+
m = {}
|
|
141
|
+
|
|
142
|
+
for n, f in type(self).model_fields.items():
|
|
143
|
+
k = f.alias or n
|
|
144
|
+
val = serialized.get(k)
|
|
145
|
+
serialized.pop(k, None)
|
|
146
|
+
|
|
147
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
148
|
+
is_set = (
|
|
149
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
150
|
+
or k in null_default_fields
|
|
151
|
+
) # pylint: disable=no-member
|
|
152
|
+
|
|
153
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
154
|
+
m[k] = val
|
|
155
|
+
elif val != UNSET_SENTINEL and (
|
|
156
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
157
|
+
):
|
|
158
|
+
m[k] = val
|
|
159
|
+
|
|
160
|
+
return m
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .mode import Mode
|
|
5
|
+
from .url import URL, URLTypedDict
|
|
6
|
+
from .webhook_event_types import WebhookEventTypes
|
|
7
|
+
from .webhook_status import WebhookStatus
|
|
8
|
+
from mollie.types import BaseModel, Nullable, UNSET_SENTINEL
|
|
9
|
+
from mollie.utils import validate_open_enum
|
|
10
|
+
import pydantic
|
|
11
|
+
from pydantic import model_serializer
|
|
12
|
+
from pydantic.functional_validators import PlainValidator
|
|
13
|
+
from typing import List
|
|
14
|
+
from typing_extensions import Annotated, TypedDict
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class EntityWebhookLinksTypedDict(TypedDict):
|
|
18
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
19
|
+
|
|
20
|
+
self_: URLTypedDict
|
|
21
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
22
|
+
documentation: URLTypedDict
|
|
23
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class EntityWebhookLinks(BaseModel):
|
|
27
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
28
|
+
|
|
29
|
+
self_: Annotated[URL, pydantic.Field(alias="self")]
|
|
30
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
31
|
+
|
|
32
|
+
documentation: URL
|
|
33
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class EntityWebhookTypedDict(TypedDict):
|
|
37
|
+
resource: str
|
|
38
|
+
r"""Indicates the response contains a webhook subscription object.
|
|
39
|
+
Will always contain the string `webhook` for this endpoint.
|
|
40
|
+
"""
|
|
41
|
+
id: str
|
|
42
|
+
r"""The identifier uniquely referring to this subscription."""
|
|
43
|
+
url: str
|
|
44
|
+
r"""The subscription's events destination."""
|
|
45
|
+
profile_id: Nullable[str]
|
|
46
|
+
r"""The identifier uniquely referring to the profile that created the subscription."""
|
|
47
|
+
created_at: str
|
|
48
|
+
r"""The subscription's date time of creation."""
|
|
49
|
+
name: str
|
|
50
|
+
r"""The subscription's name."""
|
|
51
|
+
event_types: List[WebhookEventTypes]
|
|
52
|
+
r"""The events types that are subscribed."""
|
|
53
|
+
status: WebhookStatus
|
|
54
|
+
r"""The subscription's current status."""
|
|
55
|
+
mode: Mode
|
|
56
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
57
|
+
links: EntityWebhookLinksTypedDict
|
|
58
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class EntityWebhook(BaseModel):
|
|
62
|
+
resource: str
|
|
63
|
+
r"""Indicates the response contains a webhook subscription object.
|
|
64
|
+
Will always contain the string `webhook` for this endpoint.
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
id: str
|
|
68
|
+
r"""The identifier uniquely referring to this subscription."""
|
|
69
|
+
|
|
70
|
+
url: str
|
|
71
|
+
r"""The subscription's events destination."""
|
|
72
|
+
|
|
73
|
+
profile_id: Annotated[Nullable[str], pydantic.Field(alias="profileId")]
|
|
74
|
+
r"""The identifier uniquely referring to the profile that created the subscription."""
|
|
75
|
+
|
|
76
|
+
created_at: Annotated[str, pydantic.Field(alias="createdAt")]
|
|
77
|
+
r"""The subscription's date time of creation."""
|
|
78
|
+
|
|
79
|
+
name: str
|
|
80
|
+
r"""The subscription's name."""
|
|
81
|
+
|
|
82
|
+
event_types: Annotated[List[WebhookEventTypes], pydantic.Field(alias="eventTypes")]
|
|
83
|
+
r"""The events types that are subscribed."""
|
|
84
|
+
|
|
85
|
+
status: Annotated[WebhookStatus, PlainValidator(validate_open_enum(False))]
|
|
86
|
+
r"""The subscription's current status."""
|
|
87
|
+
|
|
88
|
+
mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
|
|
89
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
90
|
+
|
|
91
|
+
links: Annotated[EntityWebhookLinks, pydantic.Field(alias="_links")]
|
|
92
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
93
|
+
|
|
94
|
+
@model_serializer(mode="wrap")
|
|
95
|
+
def serialize_model(self, handler):
|
|
96
|
+
optional_fields = []
|
|
97
|
+
nullable_fields = ["profileId"]
|
|
98
|
+
null_default_fields = []
|
|
99
|
+
|
|
100
|
+
serialized = handler(self)
|
|
101
|
+
|
|
102
|
+
m = {}
|
|
103
|
+
|
|
104
|
+
for n, f in type(self).model_fields.items():
|
|
105
|
+
k = f.alias or n
|
|
106
|
+
val = serialized.get(k)
|
|
107
|
+
serialized.pop(k, None)
|
|
108
|
+
|
|
109
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
110
|
+
is_set = (
|
|
111
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
112
|
+
or k in null_default_fields
|
|
113
|
+
) # pylint: disable=no-member
|
|
114
|
+
|
|
115
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
116
|
+
m[k] = val
|
|
117
|
+
elif val != UNSET_SENTINEL and (
|
|
118
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
119
|
+
):
|
|
120
|
+
m[k] = val
|
|
121
|
+
|
|
122
|
+
return m
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .payment_link_response import PaymentLinkResponse, PaymentLinkResponseTypedDict
|
|
5
|
+
from .profile_response import ProfileResponse, ProfileResponseTypedDict
|
|
6
|
+
from .url import URL, URLTypedDict
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from mollie import utils
|
|
9
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
10
|
+
from mollie.utils import validate_open_enum
|
|
11
|
+
import pydantic
|
|
12
|
+
from pydantic import model_serializer
|
|
13
|
+
from pydantic.functional_validators import PlainValidator
|
|
14
|
+
from typing import Optional, Union
|
|
15
|
+
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class EntityWebhookEventWebhookEventTypes(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
19
|
+
r"""The list of events to enable for this webhook. You may specify `'*'` to add all events, except those
|
|
20
|
+
that require explicit selection.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
PAYMENT_LINK_PAID = "payment-link.paid"
|
|
24
|
+
BALANCE_TRANSACTION_CREATED = "balance-transaction.created"
|
|
25
|
+
SALES_INVOICE_CREATED = "sales-invoice.created"
|
|
26
|
+
SALES_INVOICE_ISSUED = "sales-invoice.issued"
|
|
27
|
+
SALES_INVOICE_CANCELED = "sales-invoice.canceled"
|
|
28
|
+
SALES_INVOICE_PAID = "sales-invoice.paid"
|
|
29
|
+
WILDCARD_ = "*"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
EntityTypedDict = TypeAliasType(
|
|
33
|
+
"EntityTypedDict", Union[ProfileResponseTypedDict, PaymentLinkResponseTypedDict]
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
Entity = TypeAliasType("Entity", Union[ProfileResponse, PaymentLinkResponse])
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class EmbeddedTypedDict(TypedDict):
|
|
41
|
+
r"""Full payload of the event."""
|
|
42
|
+
|
|
43
|
+
entity: NotRequired[EntityTypedDict]
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class Embedded(BaseModel):
|
|
47
|
+
r"""Full payload of the event."""
|
|
48
|
+
|
|
49
|
+
entity: Optional[Entity] = None
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class EntityWebhookEventLinksTypedDict(TypedDict):
|
|
53
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
54
|
+
|
|
55
|
+
self_: URLTypedDict
|
|
56
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
57
|
+
documentation: URLTypedDict
|
|
58
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
59
|
+
entity: NotRequired[URLTypedDict]
|
|
60
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class EntityWebhookEventLinks(BaseModel):
|
|
64
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
65
|
+
|
|
66
|
+
self_: Annotated[URL, pydantic.Field(alias="self")]
|
|
67
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
68
|
+
|
|
69
|
+
documentation: URL
|
|
70
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
71
|
+
|
|
72
|
+
entity: Optional[URL] = None
|
|
73
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class EntityWebhookEventTypedDict(TypedDict):
|
|
77
|
+
resource: str
|
|
78
|
+
r"""Indicates the response contains a webhook event object. Will always contain the string `event` for this endpoint."""
|
|
79
|
+
id: str
|
|
80
|
+
r"""The identifier uniquely referring to this event."""
|
|
81
|
+
webhook_event_types: EntityWebhookEventWebhookEventTypes
|
|
82
|
+
entity_id: str
|
|
83
|
+
r"""The entity token that triggered the event"""
|
|
84
|
+
created_at: str
|
|
85
|
+
r"""The event's date time of creation."""
|
|
86
|
+
links: EntityWebhookEventLinksTypedDict
|
|
87
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
88
|
+
embedded: NotRequired[Nullable[EmbeddedTypedDict]]
|
|
89
|
+
r"""Full payload of the event."""
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
class EntityWebhookEvent(BaseModel):
|
|
93
|
+
resource: str
|
|
94
|
+
r"""Indicates the response contains a webhook event object. Will always contain the string `event` for this endpoint."""
|
|
95
|
+
|
|
96
|
+
id: str
|
|
97
|
+
r"""The identifier uniquely referring to this event."""
|
|
98
|
+
|
|
99
|
+
webhook_event_types: Annotated[
|
|
100
|
+
Annotated[
|
|
101
|
+
EntityWebhookEventWebhookEventTypes,
|
|
102
|
+
PlainValidator(validate_open_enum(False)),
|
|
103
|
+
],
|
|
104
|
+
pydantic.Field(alias="type"),
|
|
105
|
+
]
|
|
106
|
+
|
|
107
|
+
entity_id: Annotated[str, pydantic.Field(alias="entityId")]
|
|
108
|
+
r"""The entity token that triggered the event"""
|
|
109
|
+
|
|
110
|
+
created_at: Annotated[str, pydantic.Field(alias="createdAt")]
|
|
111
|
+
r"""The event's date time of creation."""
|
|
112
|
+
|
|
113
|
+
links: Annotated[EntityWebhookEventLinks, pydantic.Field(alias="_links")]
|
|
114
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
115
|
+
|
|
116
|
+
embedded: Annotated[
|
|
117
|
+
OptionalNullable[Embedded], pydantic.Field(alias="_embedded")
|
|
118
|
+
] = UNSET
|
|
119
|
+
r"""Full payload of the event."""
|
|
120
|
+
|
|
121
|
+
@model_serializer(mode="wrap")
|
|
122
|
+
def serialize_model(self, handler):
|
|
123
|
+
optional_fields = ["_embedded"]
|
|
124
|
+
nullable_fields = ["_embedded"]
|
|
125
|
+
null_default_fields = []
|
|
126
|
+
|
|
127
|
+
serialized = handler(self)
|
|
128
|
+
|
|
129
|
+
m = {}
|
|
130
|
+
|
|
131
|
+
for n, f in type(self).model_fields.items():
|
|
132
|
+
k = f.alias or n
|
|
133
|
+
val = serialized.get(k)
|
|
134
|
+
serialized.pop(k, None)
|
|
135
|
+
|
|
136
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
137
|
+
is_set = (
|
|
138
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
139
|
+
or k in null_default_fields
|
|
140
|
+
) # pylint: disable=no-member
|
|
141
|
+
|
|
142
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
143
|
+
m[k] = val
|
|
144
|
+
elif val != UNSET_SENTINEL and (
|
|
145
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
146
|
+
):
|
|
147
|
+
m[k] = val
|
|
148
|
+
|
|
149
|
+
return m
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from dataclasses import dataclass, field
|
|
5
|
+
import httpx
|
|
6
|
+
from mollie.models import ClientError
|
|
7
|
+
from mollie.types import BaseModel
|
|
8
|
+
import pydantic
|
|
9
|
+
from typing import Optional
|
|
10
|
+
from typing_extensions import Annotated, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class DocumentationTypedDict(TypedDict):
|
|
14
|
+
r"""The URL to the generic Mollie API error handling guide."""
|
|
15
|
+
|
|
16
|
+
href: str
|
|
17
|
+
type: str
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class Documentation(BaseModel):
|
|
21
|
+
r"""The URL to the generic Mollie API error handling guide."""
|
|
22
|
+
|
|
23
|
+
href: str
|
|
24
|
+
|
|
25
|
+
type: str
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class ErrorsLinksTypedDict(TypedDict):
|
|
29
|
+
documentation: DocumentationTypedDict
|
|
30
|
+
r"""The URL to the generic Mollie API error handling guide."""
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class ErrorsLinks(BaseModel):
|
|
34
|
+
documentation: Documentation
|
|
35
|
+
r"""The URL to the generic Mollie API error handling guide."""
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class ErrorResponseData(BaseModel):
|
|
39
|
+
status: int
|
|
40
|
+
r"""The status code of the error message. This is always the same code as the status code of the HTTP message itself."""
|
|
41
|
+
|
|
42
|
+
title: str
|
|
43
|
+
r"""The HTTP reason phrase of the error. For example, for a `404` error, the `title` will be `Not Found`."""
|
|
44
|
+
|
|
45
|
+
detail: str
|
|
46
|
+
r"""A detailed human-readable description of the error that occurred."""
|
|
47
|
+
|
|
48
|
+
links: Annotated[ErrorsLinks, pydantic.Field(alias="_links")]
|
|
49
|
+
|
|
50
|
+
field: Optional[str] = None
|
|
51
|
+
r"""If the error was caused by a value provided by you in a specific field, the `field` property will contain the name
|
|
52
|
+
of the field that caused the issue.
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
@dataclass(unsafe_hash=True)
|
|
57
|
+
class ErrorResponse(ClientError):
|
|
58
|
+
r"""An error response object."""
|
|
59
|
+
|
|
60
|
+
data: ErrorResponseData = field(hash=False)
|
|
61
|
+
|
|
62
|
+
def __init__(
|
|
63
|
+
self,
|
|
64
|
+
data: ErrorResponseData,
|
|
65
|
+
raw_response: httpx.Response,
|
|
66
|
+
body: Optional[str] = None,
|
|
67
|
+
):
|
|
68
|
+
message = body or raw_response.text
|
|
69
|
+
super().__init__(message, raw_response, body)
|
|
70
|
+
object.__setattr__(self, "data", data)
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .balance_report_grouping import BalanceReportGrouping
|
|
5
|
+
from mollie.types import BaseModel
|
|
6
|
+
from mollie.utils import (
|
|
7
|
+
FieldMetadata,
|
|
8
|
+
HeaderMetadata,
|
|
9
|
+
PathParamMetadata,
|
|
10
|
+
QueryParamMetadata,
|
|
11
|
+
validate_open_enum,
|
|
12
|
+
)
|
|
13
|
+
import pydantic
|
|
14
|
+
from pydantic.functional_validators import PlainValidator
|
|
15
|
+
from typing import Optional
|
|
16
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class GetBalanceReportGlobalsTypedDict(TypedDict):
|
|
20
|
+
testmode: NotRequired[bool]
|
|
21
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
22
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
23
|
+
setting the `testmode` query parameter to `true`.
|
|
24
|
+
|
|
25
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class GetBalanceReportGlobals(BaseModel):
|
|
30
|
+
testmode: Annotated[
|
|
31
|
+
Optional[bool],
|
|
32
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
33
|
+
] = None
|
|
34
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
35
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
36
|
+
setting the `testmode` query parameter to `true`.
|
|
37
|
+
|
|
38
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class GetBalanceReportRequestTypedDict(TypedDict):
|
|
43
|
+
balance_id: str
|
|
44
|
+
r"""Provide the ID of the related balance."""
|
|
45
|
+
from_: str
|
|
46
|
+
r"""The start date of the report, in `YYYY-MM-DD` format. The from date is
|
|
47
|
+
'inclusive', and in Central European Time. This means a report with for example `from=2024-01-01` will
|
|
48
|
+
include transactions from 2024-01-01 0:00:00 CET and onwards.
|
|
49
|
+
"""
|
|
50
|
+
until: str
|
|
51
|
+
r"""The end date of the report, in `YYYY-MM-DD` format. The until date is 'exclusive', and in Central European Time.
|
|
52
|
+
This means a report with for example `until=2024-02-01` will include transactions up until
|
|
53
|
+
2024-01-31 23:59:59 CET.
|
|
54
|
+
"""
|
|
55
|
+
grouping: NotRequired[BalanceReportGrouping]
|
|
56
|
+
r"""You can retrieve reports in two different formats. With the `status-balances` format, transactions are grouped
|
|
57
|
+
by status (e.g. `pending`, `available`), then by transaction type, and then by other sub-groupings where
|
|
58
|
+
available (e.g. payment method).
|
|
59
|
+
|
|
60
|
+
With the `transaction-categories` format, transactions are grouped by
|
|
61
|
+
transaction type, then by status, and then again by other sub-groupings where available.
|
|
62
|
+
"""
|
|
63
|
+
testmode: NotRequired[bool]
|
|
64
|
+
r"""You can enable test mode by setting the `testmode` query parameter to `true`.
|
|
65
|
+
|
|
66
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
67
|
+
"""
|
|
68
|
+
idempotency_key: NotRequired[str]
|
|
69
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class GetBalanceReportRequest(BaseModel):
|
|
73
|
+
balance_id: Annotated[
|
|
74
|
+
str,
|
|
75
|
+
pydantic.Field(alias="balanceId"),
|
|
76
|
+
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
77
|
+
]
|
|
78
|
+
r"""Provide the ID of the related balance."""
|
|
79
|
+
|
|
80
|
+
from_: Annotated[
|
|
81
|
+
str,
|
|
82
|
+
pydantic.Field(alias="from"),
|
|
83
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
84
|
+
]
|
|
85
|
+
r"""The start date of the report, in `YYYY-MM-DD` format. The from date is
|
|
86
|
+
'inclusive', and in Central European Time. This means a report with for example `from=2024-01-01` will
|
|
87
|
+
include transactions from 2024-01-01 0:00:00 CET and onwards.
|
|
88
|
+
"""
|
|
89
|
+
|
|
90
|
+
until: Annotated[
|
|
91
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
|
92
|
+
]
|
|
93
|
+
r"""The end date of the report, in `YYYY-MM-DD` format. The until date is 'exclusive', and in Central European Time.
|
|
94
|
+
This means a report with for example `until=2024-02-01` will include transactions up until
|
|
95
|
+
2024-01-31 23:59:59 CET.
|
|
96
|
+
"""
|
|
97
|
+
|
|
98
|
+
grouping: Annotated[
|
|
99
|
+
Annotated[
|
|
100
|
+
Optional[BalanceReportGrouping], PlainValidator(validate_open_enum(False))
|
|
101
|
+
],
|
|
102
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
103
|
+
] = None
|
|
104
|
+
r"""You can retrieve reports in two different formats. With the `status-balances` format, transactions are grouped
|
|
105
|
+
by status (e.g. `pending`, `available`), then by transaction type, and then by other sub-groupings where
|
|
106
|
+
available (e.g. payment method).
|
|
107
|
+
|
|
108
|
+
With the `transaction-categories` format, transactions are grouped by
|
|
109
|
+
transaction type, then by status, and then again by other sub-groupings where available.
|
|
110
|
+
"""
|
|
111
|
+
|
|
112
|
+
testmode: Annotated[
|
|
113
|
+
Optional[bool],
|
|
114
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
115
|
+
] = None
|
|
116
|
+
r"""You can enable test mode by setting the `testmode` query parameter to `true`.
|
|
117
|
+
|
|
118
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
119
|
+
"""
|
|
120
|
+
|
|
121
|
+
idempotency_key: Annotated[
|
|
122
|
+
Optional[str],
|
|
123
|
+
pydantic.Field(alias="idempotency-key"),
|
|
124
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
|
125
|
+
] = None
|
|
126
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|