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,174 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .entity_balance_transaction import (
|
|
5
|
+
EntityBalanceTransaction,
|
|
6
|
+
EntityBalanceTransactionTypedDict,
|
|
7
|
+
)
|
|
8
|
+
from .list_links import ListLinks, ListLinksTypedDict
|
|
9
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
10
|
+
from mollie.utils import (
|
|
11
|
+
FieldMetadata,
|
|
12
|
+
HeaderMetadata,
|
|
13
|
+
PathParamMetadata,
|
|
14
|
+
QueryParamMetadata,
|
|
15
|
+
)
|
|
16
|
+
import pydantic
|
|
17
|
+
from pydantic import model_serializer
|
|
18
|
+
from typing import List, Optional
|
|
19
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class ListBalanceTransactionsGlobalsTypedDict(TypedDict):
|
|
23
|
+
testmode: NotRequired[bool]
|
|
24
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
25
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
26
|
+
setting the `testmode` query parameter to `true`.
|
|
27
|
+
|
|
28
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class ListBalanceTransactionsGlobals(BaseModel):
|
|
33
|
+
testmode: Annotated[
|
|
34
|
+
Optional[bool],
|
|
35
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
36
|
+
] = None
|
|
37
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
38
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
39
|
+
setting the `testmode` query parameter to `true`.
|
|
40
|
+
|
|
41
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class ListBalanceTransactionsRequestTypedDict(TypedDict):
|
|
46
|
+
balance_id: str
|
|
47
|
+
r"""Provide the ID of the related balance."""
|
|
48
|
+
from_: NotRequired[Nullable[str]]
|
|
49
|
+
r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
|
|
50
|
+
result set.
|
|
51
|
+
"""
|
|
52
|
+
limit: NotRequired[Nullable[int]]
|
|
53
|
+
r"""The maximum number of items to return. Defaults to 50 items."""
|
|
54
|
+
testmode: NotRequired[bool]
|
|
55
|
+
r"""You can enable test mode by setting the `testmode` query parameter to `true`.
|
|
56
|
+
|
|
57
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
58
|
+
"""
|
|
59
|
+
idempotency_key: NotRequired[str]
|
|
60
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class ListBalanceTransactionsRequest(BaseModel):
|
|
64
|
+
balance_id: Annotated[
|
|
65
|
+
str,
|
|
66
|
+
pydantic.Field(alias="balanceId"),
|
|
67
|
+
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
68
|
+
]
|
|
69
|
+
r"""Provide the ID of the related balance."""
|
|
70
|
+
|
|
71
|
+
from_: Annotated[
|
|
72
|
+
OptionalNullable[str],
|
|
73
|
+
pydantic.Field(alias="from"),
|
|
74
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
75
|
+
] = UNSET
|
|
76
|
+
r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
|
|
77
|
+
result set.
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
limit: Annotated[
|
|
81
|
+
OptionalNullable[int],
|
|
82
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
83
|
+
] = UNSET
|
|
84
|
+
r"""The maximum number of items to return. Defaults to 50 items."""
|
|
85
|
+
|
|
86
|
+
testmode: Annotated[
|
|
87
|
+
Optional[bool],
|
|
88
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
89
|
+
] = None
|
|
90
|
+
r"""You can enable test mode by setting the `testmode` query parameter to `true`.
|
|
91
|
+
|
|
92
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
93
|
+
"""
|
|
94
|
+
|
|
95
|
+
idempotency_key: Annotated[
|
|
96
|
+
Optional[str],
|
|
97
|
+
pydantic.Field(alias="idempotency-key"),
|
|
98
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
|
99
|
+
] = None
|
|
100
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
101
|
+
|
|
102
|
+
@model_serializer(mode="wrap")
|
|
103
|
+
def serialize_model(self, handler):
|
|
104
|
+
optional_fields = ["from", "limit", "testmode", "idempotency-key"]
|
|
105
|
+
nullable_fields = ["from", "limit"]
|
|
106
|
+
null_default_fields = []
|
|
107
|
+
|
|
108
|
+
serialized = handler(self)
|
|
109
|
+
|
|
110
|
+
m = {}
|
|
111
|
+
|
|
112
|
+
for n, f in type(self).model_fields.items():
|
|
113
|
+
k = f.alias or n
|
|
114
|
+
val = serialized.get(k)
|
|
115
|
+
serialized.pop(k, None)
|
|
116
|
+
|
|
117
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
118
|
+
is_set = (
|
|
119
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
120
|
+
or k in null_default_fields
|
|
121
|
+
) # pylint: disable=no-member
|
|
122
|
+
|
|
123
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
124
|
+
m[k] = val
|
|
125
|
+
elif val != UNSET_SENTINEL and (
|
|
126
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
127
|
+
):
|
|
128
|
+
m[k] = val
|
|
129
|
+
|
|
130
|
+
return m
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
class ListBalanceTransactionsEmbeddedTypedDict(TypedDict):
|
|
134
|
+
balance_transactions: List[EntityBalanceTransactionTypedDict]
|
|
135
|
+
r"""An array of balance transaction objects."""
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
class ListBalanceTransactionsEmbedded(BaseModel):
|
|
139
|
+
balance_transactions: List[EntityBalanceTransaction]
|
|
140
|
+
r"""An array of balance transaction objects."""
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
class ListBalanceTransactionsResponseTypedDict(TypedDict):
|
|
144
|
+
r"""A list of balance transaction objects."""
|
|
145
|
+
|
|
146
|
+
count: int
|
|
147
|
+
r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
|
|
148
|
+
as well.
|
|
149
|
+
|
|
150
|
+
The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
|
|
151
|
+
limit is 50 items.
|
|
152
|
+
"""
|
|
153
|
+
embedded: ListBalanceTransactionsEmbeddedTypedDict
|
|
154
|
+
links: ListLinksTypedDict
|
|
155
|
+
r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
class ListBalanceTransactionsResponse(BaseModel):
|
|
159
|
+
r"""A list of balance transaction objects."""
|
|
160
|
+
|
|
161
|
+
count: int
|
|
162
|
+
r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
|
|
163
|
+
as well.
|
|
164
|
+
|
|
165
|
+
The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
|
|
166
|
+
limit is 50 items.
|
|
167
|
+
"""
|
|
168
|
+
|
|
169
|
+
embedded: Annotated[
|
|
170
|
+
ListBalanceTransactionsEmbedded, pydantic.Field(alias="_embedded")
|
|
171
|
+
]
|
|
172
|
+
|
|
173
|
+
links: Annotated[ListLinks, pydantic.Field(alias="_links")]
|
|
174
|
+
r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .list_entity_balance import ListEntityBalance, ListEntityBalanceTypedDict
|
|
5
|
+
from .list_links import ListLinks, ListLinksTypedDict
|
|
6
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
7
|
+
from mollie.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic import model_serializer
|
|
10
|
+
from typing import List, Optional
|
|
11
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ListBalancesGlobalsTypedDict(TypedDict):
|
|
15
|
+
testmode: NotRequired[bool]
|
|
16
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
17
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
18
|
+
setting the `testmode` query parameter to `true`.
|
|
19
|
+
|
|
20
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class ListBalancesGlobals(BaseModel):
|
|
25
|
+
testmode: Annotated[
|
|
26
|
+
Optional[bool],
|
|
27
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
28
|
+
] = None
|
|
29
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
30
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
31
|
+
setting the `testmode` query parameter to `true`.
|
|
32
|
+
|
|
33
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class ListBalancesRequestTypedDict(TypedDict):
|
|
38
|
+
currency: NotRequired[Nullable[str]]
|
|
39
|
+
r"""Optionally only return balances with the given currency. For example: `EUR`."""
|
|
40
|
+
from_: NotRequired[Nullable[str]]
|
|
41
|
+
r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
|
|
42
|
+
result set.
|
|
43
|
+
"""
|
|
44
|
+
limit: NotRequired[Nullable[int]]
|
|
45
|
+
r"""The maximum number of items to return. Defaults to 50 items."""
|
|
46
|
+
testmode: NotRequired[bool]
|
|
47
|
+
r"""You can enable test mode by setting the `testmode` query parameter to `true`.
|
|
48
|
+
|
|
49
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
50
|
+
"""
|
|
51
|
+
idempotency_key: NotRequired[str]
|
|
52
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class ListBalancesRequest(BaseModel):
|
|
56
|
+
currency: Annotated[
|
|
57
|
+
OptionalNullable[str],
|
|
58
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
59
|
+
] = UNSET
|
|
60
|
+
r"""Optionally only return balances with the given currency. For example: `EUR`."""
|
|
61
|
+
|
|
62
|
+
from_: Annotated[
|
|
63
|
+
OptionalNullable[str],
|
|
64
|
+
pydantic.Field(alias="from"),
|
|
65
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
66
|
+
] = UNSET
|
|
67
|
+
r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
|
|
68
|
+
result set.
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
limit: Annotated[
|
|
72
|
+
OptionalNullable[int],
|
|
73
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
74
|
+
] = UNSET
|
|
75
|
+
r"""The maximum number of items to return. Defaults to 50 items."""
|
|
76
|
+
|
|
77
|
+
testmode: Annotated[
|
|
78
|
+
Optional[bool],
|
|
79
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
80
|
+
] = None
|
|
81
|
+
r"""You can enable test mode by setting the `testmode` query parameter to `true`.
|
|
82
|
+
|
|
83
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
84
|
+
"""
|
|
85
|
+
|
|
86
|
+
idempotency_key: Annotated[
|
|
87
|
+
Optional[str],
|
|
88
|
+
pydantic.Field(alias="idempotency-key"),
|
|
89
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
|
90
|
+
] = None
|
|
91
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
92
|
+
|
|
93
|
+
@model_serializer(mode="wrap")
|
|
94
|
+
def serialize_model(self, handler):
|
|
95
|
+
optional_fields = ["currency", "from", "limit", "testmode", "idempotency-key"]
|
|
96
|
+
nullable_fields = ["currency", "from", "limit"]
|
|
97
|
+
null_default_fields = []
|
|
98
|
+
|
|
99
|
+
serialized = handler(self)
|
|
100
|
+
|
|
101
|
+
m = {}
|
|
102
|
+
|
|
103
|
+
for n, f in type(self).model_fields.items():
|
|
104
|
+
k = f.alias or n
|
|
105
|
+
val = serialized.get(k)
|
|
106
|
+
serialized.pop(k, None)
|
|
107
|
+
|
|
108
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
109
|
+
is_set = (
|
|
110
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
111
|
+
or k in null_default_fields
|
|
112
|
+
) # pylint: disable=no-member
|
|
113
|
+
|
|
114
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
115
|
+
m[k] = val
|
|
116
|
+
elif val != UNSET_SENTINEL and (
|
|
117
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
118
|
+
):
|
|
119
|
+
m[k] = val
|
|
120
|
+
|
|
121
|
+
return m
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
class ListBalancesEmbeddedTypedDict(TypedDict):
|
|
125
|
+
balances: List[ListEntityBalanceTypedDict]
|
|
126
|
+
r"""An array of balance objects. For a complete reference of
|
|
127
|
+
the balance object, refer to the [Get balance endpoint](get-balance) documentation.
|
|
128
|
+
"""
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
class ListBalancesEmbedded(BaseModel):
|
|
132
|
+
balances: List[ListEntityBalance]
|
|
133
|
+
r"""An array of balance objects. For a complete reference of
|
|
134
|
+
the balance object, refer to the [Get balance endpoint](get-balance) documentation.
|
|
135
|
+
"""
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
class ListBalancesResponseTypedDict(TypedDict):
|
|
139
|
+
r"""A list of balance objects. For a complete reference of the balance
|
|
140
|
+
object, refer to the [Get balance endpoint](get-balance) documentation.
|
|
141
|
+
"""
|
|
142
|
+
|
|
143
|
+
count: int
|
|
144
|
+
r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
|
|
145
|
+
as well.
|
|
146
|
+
|
|
147
|
+
The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
|
|
148
|
+
limit is 50 items.
|
|
149
|
+
"""
|
|
150
|
+
embedded: ListBalancesEmbeddedTypedDict
|
|
151
|
+
links: ListLinksTypedDict
|
|
152
|
+
r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
class ListBalancesResponse(BaseModel):
|
|
156
|
+
r"""A list of balance objects. For a complete reference of the balance
|
|
157
|
+
object, refer to the [Get balance endpoint](get-balance) documentation.
|
|
158
|
+
"""
|
|
159
|
+
|
|
160
|
+
count: int
|
|
161
|
+
r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
|
|
162
|
+
as well.
|
|
163
|
+
|
|
164
|
+
The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
|
|
165
|
+
limit is 50 items.
|
|
166
|
+
"""
|
|
167
|
+
|
|
168
|
+
embedded: Annotated[ListBalancesEmbedded, pydantic.Field(alias="_embedded")]
|
|
169
|
+
|
|
170
|
+
links: Annotated[ListLinks, pydantic.Field(alias="_links")]
|
|
171
|
+
r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .entity_capability import EntityCapability, EntityCapabilityTypedDict
|
|
5
|
+
from .url import URL, URLTypedDict
|
|
6
|
+
from mollie.types import BaseModel
|
|
7
|
+
from mollie.utils import FieldMetadata, HeaderMetadata
|
|
8
|
+
import pydantic
|
|
9
|
+
from typing import List, Optional
|
|
10
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ListCapabilitiesRequestTypedDict(TypedDict):
|
|
14
|
+
idempotency_key: NotRequired[str]
|
|
15
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class ListCapabilitiesRequest(BaseModel):
|
|
19
|
+
idempotency_key: Annotated[
|
|
20
|
+
Optional[str],
|
|
21
|
+
pydantic.Field(alias="idempotency-key"),
|
|
22
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
|
23
|
+
] = None
|
|
24
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ListCapabilitiesEmbeddedTypedDict(TypedDict):
|
|
28
|
+
capabilities: List[EntityCapabilityTypedDict]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class ListCapabilitiesEmbedded(BaseModel):
|
|
32
|
+
capabilities: List[EntityCapability]
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class ListCapabilitiesLinksTypedDict(TypedDict):
|
|
36
|
+
documentation: NotRequired[URLTypedDict]
|
|
37
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class ListCapabilitiesLinks(BaseModel):
|
|
41
|
+
documentation: Optional[URL] = None
|
|
42
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class ListCapabilitiesResponseTypedDict(TypedDict):
|
|
46
|
+
r"""A list of capabilities."""
|
|
47
|
+
|
|
48
|
+
count: int
|
|
49
|
+
r"""The number of items in this result set."""
|
|
50
|
+
embedded: ListCapabilitiesEmbeddedTypedDict
|
|
51
|
+
links: ListCapabilitiesLinksTypedDict
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class ListCapabilitiesResponse(BaseModel):
|
|
55
|
+
r"""A list of capabilities."""
|
|
56
|
+
|
|
57
|
+
count: int
|
|
58
|
+
r"""The number of items in this result set."""
|
|
59
|
+
|
|
60
|
+
embedded: Annotated[ListCapabilitiesEmbedded, pydantic.Field(alias="_embedded")]
|
|
61
|
+
|
|
62
|
+
links: Annotated[ListCapabilitiesLinks, pydantic.Field(alias="_links")]
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .amount_nullable import AmountNullable, AmountNullableTypedDict
|
|
5
|
+
from .metadata import Metadata, MetadataTypedDict
|
|
6
|
+
from .mode import Mode
|
|
7
|
+
from .url import URL, URLTypedDict
|
|
8
|
+
from .url_nullable import URLNullable, URLNullableTypedDict
|
|
9
|
+
from enum import Enum
|
|
10
|
+
from mollie import utils
|
|
11
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
12
|
+
from mollie.utils import validate_open_enum
|
|
13
|
+
import pydantic
|
|
14
|
+
from pydantic import model_serializer
|
|
15
|
+
from pydantic.functional_validators import PlainValidator
|
|
16
|
+
from typing import Optional
|
|
17
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class ListCaptureResponseSettlementAmountTypedDict(TypedDict):
|
|
21
|
+
r"""This optional field will contain the approximate amount that will be settled to your account, converted to the
|
|
22
|
+
currency your account is settled in.
|
|
23
|
+
|
|
24
|
+
Since the field contains an estimated amount during capture processing, it may change over time. To retrieve
|
|
25
|
+
accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions)
|
|
26
|
+
instead.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
currency: str
|
|
30
|
+
r"""A three-character ISO 4217 currency code."""
|
|
31
|
+
value: str
|
|
32
|
+
r"""A string containing an exact monetary amount in the given currency."""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class ListCaptureResponseSettlementAmount(BaseModel):
|
|
36
|
+
r"""This optional field will contain the approximate amount that will be settled to your account, converted to the
|
|
37
|
+
currency your account is settled in.
|
|
38
|
+
|
|
39
|
+
Since the field contains an estimated amount during capture processing, it may change over time. To retrieve
|
|
40
|
+
accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions)
|
|
41
|
+
instead.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
currency: str
|
|
45
|
+
r"""A three-character ISO 4217 currency code."""
|
|
46
|
+
|
|
47
|
+
value: str
|
|
48
|
+
r"""A string containing an exact monetary amount in the given currency."""
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class ListCaptureResponseStatus(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
52
|
+
r"""The capture's status."""
|
|
53
|
+
|
|
54
|
+
PENDING = "pending"
|
|
55
|
+
SUCCEEDED = "succeeded"
|
|
56
|
+
FAILED = "failed"
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class ListCaptureResponseLinksTypedDict(TypedDict):
|
|
60
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
61
|
+
|
|
62
|
+
self_: URLTypedDict
|
|
63
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
64
|
+
payment: URLTypedDict
|
|
65
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
66
|
+
settlement: NotRequired[Nullable[URLNullableTypedDict]]
|
|
67
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
68
|
+
shipment: NotRequired[Nullable[URLNullableTypedDict]]
|
|
69
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class ListCaptureResponseLinks(BaseModel):
|
|
73
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
74
|
+
|
|
75
|
+
self_: Annotated[URL, pydantic.Field(alias="self")]
|
|
76
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
77
|
+
|
|
78
|
+
payment: URL
|
|
79
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
80
|
+
|
|
81
|
+
settlement: OptionalNullable[URLNullable] = UNSET
|
|
82
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
83
|
+
|
|
84
|
+
shipment: OptionalNullable[URLNullable] = UNSET
|
|
85
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
86
|
+
|
|
87
|
+
@model_serializer(mode="wrap")
|
|
88
|
+
def serialize_model(self, handler):
|
|
89
|
+
optional_fields = ["settlement", "shipment"]
|
|
90
|
+
nullable_fields = ["settlement", "shipment"]
|
|
91
|
+
null_default_fields = []
|
|
92
|
+
|
|
93
|
+
serialized = handler(self)
|
|
94
|
+
|
|
95
|
+
m = {}
|
|
96
|
+
|
|
97
|
+
for n, f in type(self).model_fields.items():
|
|
98
|
+
k = f.alias or n
|
|
99
|
+
val = serialized.get(k)
|
|
100
|
+
serialized.pop(k, None)
|
|
101
|
+
|
|
102
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
103
|
+
is_set = (
|
|
104
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
105
|
+
or k in null_default_fields
|
|
106
|
+
) # pylint: disable=no-member
|
|
107
|
+
|
|
108
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
109
|
+
m[k] = val
|
|
110
|
+
elif val != UNSET_SENTINEL and (
|
|
111
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
112
|
+
):
|
|
113
|
+
m[k] = val
|
|
114
|
+
|
|
115
|
+
return m
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
class ListCaptureResponseTypedDict(TypedDict):
|
|
119
|
+
resource: str
|
|
120
|
+
r"""Indicates the response contains a capture object. Will always contain the string `capture` for this endpoint."""
|
|
121
|
+
id: str
|
|
122
|
+
r"""The identifier uniquely referring to this capture. Example: `cpt_mNepDkEtco6ah3QNPUGYH`."""
|
|
123
|
+
mode: Mode
|
|
124
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
125
|
+
amount: Nullable[AmountNullableTypedDict]
|
|
126
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
127
|
+
status: ListCaptureResponseStatus
|
|
128
|
+
payment_id: str
|
|
129
|
+
r"""The unique identifier of the payment this capture was created for. For example: `tr_5B8cwPMGnU6qLbRvo7qEZo`.
|
|
130
|
+
The full payment object can be retrieved via the payment URL in the `_links` object.
|
|
131
|
+
"""
|
|
132
|
+
created_at: str
|
|
133
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
134
|
+
links: ListCaptureResponseLinksTypedDict
|
|
135
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
136
|
+
description: NotRequired[str]
|
|
137
|
+
r"""The description of the capture."""
|
|
138
|
+
settlement_amount: NotRequired[
|
|
139
|
+
Nullable[ListCaptureResponseSettlementAmountTypedDict]
|
|
140
|
+
]
|
|
141
|
+
r"""This optional field will contain the approximate amount that will be settled to your account, converted to the
|
|
142
|
+
currency your account is settled in.
|
|
143
|
+
|
|
144
|
+
Since the field contains an estimated amount during capture processing, it may change over time. To retrieve
|
|
145
|
+
accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions)
|
|
146
|
+
instead.
|
|
147
|
+
"""
|
|
148
|
+
metadata: NotRequired[Nullable[MetadataTypedDict]]
|
|
149
|
+
r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
|
|
150
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
151
|
+
"""
|
|
152
|
+
shipment_id: NotRequired[Nullable[str]]
|
|
153
|
+
r"""The unique identifier of the shipment that triggered the creation of this capture, if applicable. For example:
|
|
154
|
+
`shp_gNapNy9qQTUFZYnCrCF7J`.
|
|
155
|
+
"""
|
|
156
|
+
settlement_id: NotRequired[Nullable[str]]
|
|
157
|
+
r"""The identifier referring to the settlement this capture was settled with. For example, `stl_BkEjN2eBb`. This field
|
|
158
|
+
is omitted if the capture is not settled (yet).
|
|
159
|
+
"""
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
class ListCaptureResponse(BaseModel):
|
|
163
|
+
resource: str
|
|
164
|
+
r"""Indicates the response contains a capture object. Will always contain the string `capture` for this endpoint."""
|
|
165
|
+
|
|
166
|
+
id: str
|
|
167
|
+
r"""The identifier uniquely referring to this capture. Example: `cpt_mNepDkEtco6ah3QNPUGYH`."""
|
|
168
|
+
|
|
169
|
+
mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
|
|
170
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
171
|
+
|
|
172
|
+
amount: Nullable[AmountNullable]
|
|
173
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
174
|
+
|
|
175
|
+
status: Annotated[
|
|
176
|
+
ListCaptureResponseStatus, PlainValidator(validate_open_enum(False))
|
|
177
|
+
]
|
|
178
|
+
|
|
179
|
+
payment_id: Annotated[str, pydantic.Field(alias="paymentId")]
|
|
180
|
+
r"""The unique identifier of the payment this capture was created for. For example: `tr_5B8cwPMGnU6qLbRvo7qEZo`.
|
|
181
|
+
The full payment object can be retrieved via the payment URL in the `_links` object.
|
|
182
|
+
"""
|
|
183
|
+
|
|
184
|
+
created_at: Annotated[str, pydantic.Field(alias="createdAt")]
|
|
185
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
186
|
+
|
|
187
|
+
links: Annotated[ListCaptureResponseLinks, pydantic.Field(alias="_links")]
|
|
188
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
189
|
+
|
|
190
|
+
description: Optional[str] = None
|
|
191
|
+
r"""The description of the capture."""
|
|
192
|
+
|
|
193
|
+
settlement_amount: Annotated[
|
|
194
|
+
OptionalNullable[ListCaptureResponseSettlementAmount],
|
|
195
|
+
pydantic.Field(alias="settlementAmount"),
|
|
196
|
+
] = UNSET
|
|
197
|
+
r"""This optional field will contain the approximate amount that will be settled to your account, converted to the
|
|
198
|
+
currency your account is settled in.
|
|
199
|
+
|
|
200
|
+
Since the field contains an estimated amount during capture processing, it may change over time. To retrieve
|
|
201
|
+
accurate settlement amounts we recommend using the [List balance transactions endpoint](list-balance-transactions)
|
|
202
|
+
instead.
|
|
203
|
+
"""
|
|
204
|
+
|
|
205
|
+
metadata: OptionalNullable[Metadata] = UNSET
|
|
206
|
+
r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
|
|
207
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
208
|
+
"""
|
|
209
|
+
|
|
210
|
+
shipment_id: Annotated[
|
|
211
|
+
OptionalNullable[str], pydantic.Field(alias="shipmentId")
|
|
212
|
+
] = UNSET
|
|
213
|
+
r"""The unique identifier of the shipment that triggered the creation of this capture, if applicable. For example:
|
|
214
|
+
`shp_gNapNy9qQTUFZYnCrCF7J`.
|
|
215
|
+
"""
|
|
216
|
+
|
|
217
|
+
settlement_id: Annotated[
|
|
218
|
+
OptionalNullable[str], pydantic.Field(alias="settlementId")
|
|
219
|
+
] = UNSET
|
|
220
|
+
r"""The identifier referring to the settlement this capture was settled with. For example, `stl_BkEjN2eBb`. This field
|
|
221
|
+
is omitted if the capture is not settled (yet).
|
|
222
|
+
"""
|
|
223
|
+
|
|
224
|
+
@model_serializer(mode="wrap")
|
|
225
|
+
def serialize_model(self, handler):
|
|
226
|
+
optional_fields = [
|
|
227
|
+
"description",
|
|
228
|
+
"settlementAmount",
|
|
229
|
+
"metadata",
|
|
230
|
+
"shipmentId",
|
|
231
|
+
"settlementId",
|
|
232
|
+
]
|
|
233
|
+
nullable_fields = [
|
|
234
|
+
"amount",
|
|
235
|
+
"settlementAmount",
|
|
236
|
+
"metadata",
|
|
237
|
+
"shipmentId",
|
|
238
|
+
"settlementId",
|
|
239
|
+
]
|
|
240
|
+
null_default_fields = []
|
|
241
|
+
|
|
242
|
+
serialized = handler(self)
|
|
243
|
+
|
|
244
|
+
m = {}
|
|
245
|
+
|
|
246
|
+
for n, f in type(self).model_fields.items():
|
|
247
|
+
k = f.alias or n
|
|
248
|
+
val = serialized.get(k)
|
|
249
|
+
serialized.pop(k, None)
|
|
250
|
+
|
|
251
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
252
|
+
is_set = (
|
|
253
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
254
|
+
or k in null_default_fields
|
|
255
|
+
) # pylint: disable=no-member
|
|
256
|
+
|
|
257
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
258
|
+
m[k] = val
|
|
259
|
+
elif val != UNSET_SENTINEL and (
|
|
260
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
261
|
+
):
|
|
262
|
+
m[k] = val
|
|
263
|
+
|
|
264
|
+
return m
|