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,67 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from mollie.types import BaseModel
|
|
5
|
+
import pydantic
|
|
6
|
+
from typing import List, Optional
|
|
7
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ProfileRequestTypedDict(TypedDict):
|
|
11
|
+
name: str
|
|
12
|
+
r"""The profile's name, this will usually reflect the trade name or brand name of the profile's website or
|
|
13
|
+
application.
|
|
14
|
+
"""
|
|
15
|
+
website: str
|
|
16
|
+
r"""The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are
|
|
17
|
+
allowed.
|
|
18
|
+
"""
|
|
19
|
+
email: str
|
|
20
|
+
r"""The email address associated with the profile's trade name or brand."""
|
|
21
|
+
phone: str
|
|
22
|
+
r"""The phone number associated with the profile's trade name or brand."""
|
|
23
|
+
description: NotRequired[str]
|
|
24
|
+
r"""The products or services offered by the profile's website or application."""
|
|
25
|
+
countries_of_activity: NotRequired[List[str]]
|
|
26
|
+
r"""A list of countries where you expect that the majority of the profile's customers reside,
|
|
27
|
+
in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
|
|
28
|
+
"""
|
|
29
|
+
business_category: NotRequired[str]
|
|
30
|
+
r"""The industry associated with the profile's trade name or brand. Please refer to the
|
|
31
|
+
[business category list](common-data-types#business-category) for all possible options.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class ProfileRequest(BaseModel):
|
|
36
|
+
name: str
|
|
37
|
+
r"""The profile's name, this will usually reflect the trade name or brand name of the profile's website or
|
|
38
|
+
application.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
website: str
|
|
42
|
+
r"""The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are
|
|
43
|
+
allowed.
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
email: str
|
|
47
|
+
r"""The email address associated with the profile's trade name or brand."""
|
|
48
|
+
|
|
49
|
+
phone: str
|
|
50
|
+
r"""The phone number associated with the profile's trade name or brand."""
|
|
51
|
+
|
|
52
|
+
description: Optional[str] = None
|
|
53
|
+
r"""The products or services offered by the profile's website or application."""
|
|
54
|
+
|
|
55
|
+
countries_of_activity: Annotated[
|
|
56
|
+
Optional[List[str]], pydantic.Field(alias="countriesOfActivity")
|
|
57
|
+
] = None
|
|
58
|
+
r"""A list of countries where you expect that the majority of the profile's customers reside,
|
|
59
|
+
in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
business_category: Annotated[
|
|
63
|
+
Optional[str], pydantic.Field(alias="businessCategory")
|
|
64
|
+
] = None
|
|
65
|
+
r"""The industry associated with the profile's trade name or brand. Please refer to the
|
|
66
|
+
[business category list](common-data-types#business-category) for all possible options.
|
|
67
|
+
"""
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .mode import Mode
|
|
5
|
+
from .profile_review_status_response import ProfileReviewStatusResponse
|
|
6
|
+
from .url import URL, URLTypedDict
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from mollie import utils
|
|
9
|
+
from mollie.types import BaseModel
|
|
10
|
+
from mollie.utils import validate_open_enum
|
|
11
|
+
import pydantic
|
|
12
|
+
from pydantic.functional_validators import PlainValidator
|
|
13
|
+
from typing import List, Optional
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class ProfileResponseStatus(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
18
|
+
r"""The profile status determines whether the profile is able to receive live payments.
|
|
19
|
+
|
|
20
|
+
* `unverified`: The profile has not been verified yet and can only be used to create test payments.
|
|
21
|
+
* `verified`: The profile has been verified and can be used to create live payments and test payments.
|
|
22
|
+
* `blocked`: The profile is blocked and can no longer be used or changed.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
UNVERIFIED = "unverified"
|
|
26
|
+
VERIFIED = "verified"
|
|
27
|
+
BLOCKED = "blocked"
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class ProfileResponseReviewTypedDict(TypedDict):
|
|
31
|
+
r"""Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved
|
|
32
|
+
automatically, unless a switch to a live profile has been requested. The review object will therefore usually be
|
|
33
|
+
`null` in test mode.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
status: NotRequired[ProfileReviewStatusResponse]
|
|
37
|
+
r"""The status of the requested changes."""
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class ProfileResponseReview(BaseModel):
|
|
41
|
+
r"""Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved
|
|
42
|
+
automatically, unless a switch to a live profile has been requested. The review object will therefore usually be
|
|
43
|
+
`null` in test mode.
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
status: Annotated[
|
|
47
|
+
Optional[ProfileReviewStatusResponse], PlainValidator(validate_open_enum(False))
|
|
48
|
+
] = None
|
|
49
|
+
r"""The status of the requested changes."""
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class ProfileResponseLinksTypedDict(TypedDict):
|
|
53
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
54
|
+
|
|
55
|
+
self_: NotRequired[URLTypedDict]
|
|
56
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
57
|
+
dashboard: NotRequired[URLTypedDict]
|
|
58
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
59
|
+
chargebacks: NotRequired[URLTypedDict]
|
|
60
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
61
|
+
methods: NotRequired[URLTypedDict]
|
|
62
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
63
|
+
payments: NotRequired[URLTypedDict]
|
|
64
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
65
|
+
refunds: NotRequired[URLTypedDict]
|
|
66
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
67
|
+
checkout_preview_url: NotRequired[URLTypedDict]
|
|
68
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
69
|
+
documentation: NotRequired[URLTypedDict]
|
|
70
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class ProfileResponseLinks(BaseModel):
|
|
74
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
75
|
+
|
|
76
|
+
self_: Annotated[Optional[URL], pydantic.Field(alias="self")] = None
|
|
77
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
78
|
+
|
|
79
|
+
dashboard: Optional[URL] = None
|
|
80
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
81
|
+
|
|
82
|
+
chargebacks: Optional[URL] = None
|
|
83
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
84
|
+
|
|
85
|
+
methods: Optional[URL] = None
|
|
86
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
87
|
+
|
|
88
|
+
payments: Optional[URL] = None
|
|
89
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
90
|
+
|
|
91
|
+
refunds: Optional[URL] = None
|
|
92
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
93
|
+
|
|
94
|
+
checkout_preview_url: Annotated[
|
|
95
|
+
Optional[URL], pydantic.Field(alias="checkoutPreviewUrl")
|
|
96
|
+
] = None
|
|
97
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
98
|
+
|
|
99
|
+
documentation: Optional[URL] = None
|
|
100
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class ProfileResponseTypedDict(TypedDict):
|
|
104
|
+
resource: str
|
|
105
|
+
r"""Indicates the response contains a profile object. Will always contain the string `profile` for this endpoint."""
|
|
106
|
+
id: str
|
|
107
|
+
r"""The identifier uniquely referring to this profile. Example: `pfl_v9hTwCvYqw`."""
|
|
108
|
+
mode: Mode
|
|
109
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
110
|
+
name: str
|
|
111
|
+
r"""The profile's name, this will usually reflect the trade name or brand name of the profile's website or
|
|
112
|
+
application.
|
|
113
|
+
"""
|
|
114
|
+
website: str
|
|
115
|
+
r"""The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are
|
|
116
|
+
allowed.
|
|
117
|
+
"""
|
|
118
|
+
email: str
|
|
119
|
+
r"""The email address associated with the profile's trade name or brand."""
|
|
120
|
+
phone: str
|
|
121
|
+
r"""The phone number associated with the profile's trade name or brand."""
|
|
122
|
+
business_category: str
|
|
123
|
+
r"""The industry associated with the profile's trade name or brand. Please refer to the
|
|
124
|
+
[business category list](common-data-types#business-category) for all possible options.
|
|
125
|
+
"""
|
|
126
|
+
status: ProfileResponseStatus
|
|
127
|
+
created_at: str
|
|
128
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
129
|
+
links: ProfileResponseLinksTypedDict
|
|
130
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
131
|
+
description: NotRequired[str]
|
|
132
|
+
r"""The products or services offered by the profile's website or application."""
|
|
133
|
+
countries_of_activity: NotRequired[List[str]]
|
|
134
|
+
r"""A list of countries where you expect that the majority of the profile's customers reside,
|
|
135
|
+
in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
|
|
136
|
+
"""
|
|
137
|
+
review: NotRequired[ProfileResponseReviewTypedDict]
|
|
138
|
+
r"""Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved
|
|
139
|
+
automatically, unless a switch to a live profile has been requested. The review object will therefore usually be
|
|
140
|
+
`null` in test mode.
|
|
141
|
+
"""
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
class ProfileResponse(BaseModel):
|
|
145
|
+
resource: str
|
|
146
|
+
r"""Indicates the response contains a profile object. Will always contain the string `profile` for this endpoint."""
|
|
147
|
+
|
|
148
|
+
id: str
|
|
149
|
+
r"""The identifier uniquely referring to this profile. Example: `pfl_v9hTwCvYqw`."""
|
|
150
|
+
|
|
151
|
+
mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
|
|
152
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
153
|
+
|
|
154
|
+
name: str
|
|
155
|
+
r"""The profile's name, this will usually reflect the trade name or brand name of the profile's website or
|
|
156
|
+
application.
|
|
157
|
+
"""
|
|
158
|
+
|
|
159
|
+
website: str
|
|
160
|
+
r"""The URL to the profile's website or application. Only `https` or `http` URLs are allowed. No `@` signs are
|
|
161
|
+
allowed.
|
|
162
|
+
"""
|
|
163
|
+
|
|
164
|
+
email: str
|
|
165
|
+
r"""The email address associated with the profile's trade name or brand."""
|
|
166
|
+
|
|
167
|
+
phone: str
|
|
168
|
+
r"""The phone number associated with the profile's trade name or brand."""
|
|
169
|
+
|
|
170
|
+
business_category: Annotated[str, pydantic.Field(alias="businessCategory")]
|
|
171
|
+
r"""The industry associated with the profile's trade name or brand. Please refer to the
|
|
172
|
+
[business category list](common-data-types#business-category) for all possible options.
|
|
173
|
+
"""
|
|
174
|
+
|
|
175
|
+
status: Annotated[ProfileResponseStatus, PlainValidator(validate_open_enum(False))]
|
|
176
|
+
|
|
177
|
+
created_at: Annotated[str, pydantic.Field(alias="createdAt")]
|
|
178
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
179
|
+
|
|
180
|
+
links: Annotated[ProfileResponseLinks, pydantic.Field(alias="_links")]
|
|
181
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
182
|
+
|
|
183
|
+
description: Optional[str] = None
|
|
184
|
+
r"""The products or services offered by the profile's website or application."""
|
|
185
|
+
|
|
186
|
+
countries_of_activity: Annotated[
|
|
187
|
+
Optional[List[str]], pydantic.Field(alias="countriesOfActivity")
|
|
188
|
+
] = None
|
|
189
|
+
r"""A list of countries where you expect that the majority of the profile's customers reside,
|
|
190
|
+
in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.
|
|
191
|
+
"""
|
|
192
|
+
|
|
193
|
+
review: Optional[ProfileResponseReview] = None
|
|
194
|
+
r"""Present if changes have been made that have not yet been approved by Mollie. Changes to test profiles are approved
|
|
195
|
+
automatically, unless a switch to a live profile has been requested. The review object will therefore usually be
|
|
196
|
+
`null` in test mode.
|
|
197
|
+
"""
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from enum import Enum
|
|
5
|
+
from mollie import utils
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ProfileReviewStatusResponse(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
9
|
+
r"""The status of the requested changes."""
|
|
10
|
+
|
|
11
|
+
PENDING = "pending"
|
|
12
|
+
REJECTED = "rejected"
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .amount import Amount, AmountTypedDict
|
|
5
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
6
|
+
import pydantic
|
|
7
|
+
from pydantic import model_serializer
|
|
8
|
+
from typing import Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class RecurringLineItemTypedDict(TypedDict):
|
|
13
|
+
interval: str
|
|
14
|
+
r"""Cadence unit of the recurring item. For example: `12 months`, `52 weeks` or `365 days`.
|
|
15
|
+
|
|
16
|
+
Possible values: `... days`, `... weeks`, `... months`.
|
|
17
|
+
"""
|
|
18
|
+
description: NotRequired[str]
|
|
19
|
+
r"""A description of the recurring item. If not present, the main description of the item will be used."""
|
|
20
|
+
amount: NotRequired[AmountTypedDict]
|
|
21
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
22
|
+
times: NotRequired[int]
|
|
23
|
+
r"""Total number of charges for the subscription to complete. Leave empty for ongoing subscription."""
|
|
24
|
+
start_date: NotRequired[Nullable[str]]
|
|
25
|
+
r"""The start date of the subscription if it does not start right away (format `YYYY-MM-DD`)"""
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class RecurringLineItem(BaseModel):
|
|
29
|
+
interval: str
|
|
30
|
+
r"""Cadence unit of the recurring item. For example: `12 months`, `52 weeks` or `365 days`.
|
|
31
|
+
|
|
32
|
+
Possible values: `... days`, `... weeks`, `... months`.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
description: Optional[str] = None
|
|
36
|
+
r"""A description of the recurring item. If not present, the main description of the item will be used."""
|
|
37
|
+
|
|
38
|
+
amount: Optional[Amount] = None
|
|
39
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
40
|
+
|
|
41
|
+
times: Optional[int] = None
|
|
42
|
+
r"""Total number of charges for the subscription to complete. Leave empty for ongoing subscription."""
|
|
43
|
+
|
|
44
|
+
start_date: Annotated[OptionalNullable[str], pydantic.Field(alias="startDate")] = (
|
|
45
|
+
UNSET
|
|
46
|
+
)
|
|
47
|
+
r"""The start date of the subscription if it does not start right away (format `YYYY-MM-DD`)"""
|
|
48
|
+
|
|
49
|
+
@model_serializer(mode="wrap")
|
|
50
|
+
def serialize_model(self, handler):
|
|
51
|
+
optional_fields = ["description", "amount", "times", "startDate"]
|
|
52
|
+
nullable_fields = ["startDate"]
|
|
53
|
+
null_default_fields = []
|
|
54
|
+
|
|
55
|
+
serialized = handler(self)
|
|
56
|
+
|
|
57
|
+
m = {}
|
|
58
|
+
|
|
59
|
+
for n, f in type(self).model_fields.items():
|
|
60
|
+
k = f.alias or n
|
|
61
|
+
val = serialized.get(k)
|
|
62
|
+
serialized.pop(k, None)
|
|
63
|
+
|
|
64
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
65
|
+
is_set = (
|
|
66
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
67
|
+
or k in null_default_fields
|
|
68
|
+
) # pylint: disable=no-member
|
|
69
|
+
|
|
70
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
71
|
+
m[k] = val
|
|
72
|
+
elif val != UNSET_SENTINEL and (
|
|
73
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
74
|
+
):
|
|
75
|
+
m[k] = val
|
|
76
|
+
|
|
77
|
+
return m
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from enum import Enum
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class RefundExternalReferenceType(str, Enum):
|
|
8
|
+
r"""Specifies the reference type"""
|
|
9
|
+
|
|
10
|
+
ACQUIRER_REFERENCE = "acquirer-reference"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from enum import Enum
|
|
5
|
+
from mollie import utils
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class RefundExternalReferenceTypeResponse(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
9
|
+
r"""Specifies the reference type"""
|
|
10
|
+
|
|
11
|
+
ACQUIRER_REFERENCE = "acquirer-reference"
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .amount import Amount, AmountTypedDict
|
|
5
|
+
from .metadata import Metadata, MetadataTypedDict
|
|
6
|
+
from .refund_external_reference_type import RefundExternalReferenceType
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
9
|
+
import pydantic
|
|
10
|
+
from pydantic import model_serializer
|
|
11
|
+
from typing import List, Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class RefundRequestExternalReferenceTypedDict(TypedDict):
|
|
16
|
+
type: NotRequired[RefundExternalReferenceType]
|
|
17
|
+
r"""Specifies the reference type"""
|
|
18
|
+
id: NotRequired[str]
|
|
19
|
+
r"""Unique reference from the payment provider"""
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class RefundRequestExternalReference(BaseModel):
|
|
23
|
+
type: Optional[RefundExternalReferenceType] = None
|
|
24
|
+
r"""Specifies the reference type"""
|
|
25
|
+
|
|
26
|
+
id: Optional[str] = None
|
|
27
|
+
r"""Unique reference from the payment provider"""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class Type(str, Enum):
|
|
31
|
+
r"""The type of source. Currently only the source type `organization` is supported."""
|
|
32
|
+
|
|
33
|
+
ORGANIZATION = "organization"
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class RefundRequestSourceTypedDict(TypedDict):
|
|
37
|
+
r"""Where the funds will be pulled back from."""
|
|
38
|
+
|
|
39
|
+
type: NotRequired[Type]
|
|
40
|
+
organization_id: NotRequired[str]
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class RefundRequestSource(BaseModel):
|
|
44
|
+
r"""Where the funds will be pulled back from."""
|
|
45
|
+
|
|
46
|
+
type: Optional[Type] = None
|
|
47
|
+
|
|
48
|
+
organization_id: Annotated[
|
|
49
|
+
Optional[str], pydantic.Field(alias="organizationId")
|
|
50
|
+
] = None
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class RefundRequestRoutingReversalTypedDict(TypedDict):
|
|
54
|
+
amount: NotRequired[AmountTypedDict]
|
|
55
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
56
|
+
source: NotRequired[RefundRequestSourceTypedDict]
|
|
57
|
+
r"""Where the funds will be pulled back from."""
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class RefundRequestRoutingReversal(BaseModel):
|
|
61
|
+
amount: Optional[Amount] = None
|
|
62
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
63
|
+
|
|
64
|
+
source: Optional[RefundRequestSource] = None
|
|
65
|
+
r"""Where the funds will be pulled back from."""
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class RefundRequestTypedDict(TypedDict):
|
|
69
|
+
description: str
|
|
70
|
+
r"""The description of the refund that may be shown to your customer, depending on the payment method used."""
|
|
71
|
+
amount: AmountTypedDict
|
|
72
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
73
|
+
metadata: Nullable[MetadataTypedDict]
|
|
74
|
+
r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
|
|
75
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
76
|
+
"""
|
|
77
|
+
external_reference: NotRequired[RefundRequestExternalReferenceTypedDict]
|
|
78
|
+
reverse_routing: NotRequired[Nullable[bool]]
|
|
79
|
+
r"""*This feature is only available to marketplace operators.*
|
|
80
|
+
|
|
81
|
+
With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie
|
|
82
|
+
merchants, by providing the `routing` object during [payment creation](create-payment).
|
|
83
|
+
|
|
84
|
+
When creating refunds for these *routed* payments, by default the full amount is deducted from your balance.
|
|
85
|
+
|
|
86
|
+
If you want to pull back the funds that were routed to the connected merchant(s), you can set this parameter to
|
|
87
|
+
`true` when issuing a full refund.
|
|
88
|
+
|
|
89
|
+
For more fine-grained control and for partial refunds, use the `routingReversals` parameter instead.
|
|
90
|
+
"""
|
|
91
|
+
routing_reversals: NotRequired[
|
|
92
|
+
Nullable[List[RefundRequestRoutingReversalTypedDict]]
|
|
93
|
+
]
|
|
94
|
+
r"""*This feature is only available to marketplace operators.*
|
|
95
|
+
|
|
96
|
+
When creating refunds for *routed* payments, by default the full amount is deducted from your balance.
|
|
97
|
+
|
|
98
|
+
If you want to pull back funds from the connected merchant(s), you can use this parameter to specify what amount
|
|
99
|
+
needs to be reversed from which merchant(s).
|
|
100
|
+
|
|
101
|
+
If you simply want to fully reverse the routed funds, you can also use the `reverseRouting` parameter instead.
|
|
102
|
+
"""
|
|
103
|
+
testmode: NotRequired[Nullable[bool]]
|
|
104
|
+
r"""Whether to create the entity in test mode or live mode.
|
|
105
|
+
|
|
106
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
107
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
108
|
+
`testmode` to `true`.
|
|
109
|
+
"""
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
class RefundRequest(BaseModel):
|
|
113
|
+
description: str
|
|
114
|
+
r"""The description of the refund that may be shown to your customer, depending on the payment method used."""
|
|
115
|
+
|
|
116
|
+
amount: Amount
|
|
117
|
+
r"""In v2 endpoints, monetary amounts are represented as objects with a `currency` and `value` field."""
|
|
118
|
+
|
|
119
|
+
metadata: Nullable[Metadata]
|
|
120
|
+
r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
|
|
121
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
122
|
+
"""
|
|
123
|
+
|
|
124
|
+
external_reference: Annotated[
|
|
125
|
+
Optional[RefundRequestExternalReference],
|
|
126
|
+
pydantic.Field(alias="externalReference"),
|
|
127
|
+
] = None
|
|
128
|
+
|
|
129
|
+
reverse_routing: Annotated[
|
|
130
|
+
OptionalNullable[bool], pydantic.Field(alias="reverseRouting")
|
|
131
|
+
] = UNSET
|
|
132
|
+
r"""*This feature is only available to marketplace operators.*
|
|
133
|
+
|
|
134
|
+
With Mollie Connect you can charge fees on payments that your app is processing on behalf of other Mollie
|
|
135
|
+
merchants, by providing the `routing` object during [payment creation](create-payment).
|
|
136
|
+
|
|
137
|
+
When creating refunds for these *routed* payments, by default the full amount is deducted from your balance.
|
|
138
|
+
|
|
139
|
+
If you want to pull back the funds that were routed to the connected merchant(s), you can set this parameter to
|
|
140
|
+
`true` when issuing a full refund.
|
|
141
|
+
|
|
142
|
+
For more fine-grained control and for partial refunds, use the `routingReversals` parameter instead.
|
|
143
|
+
"""
|
|
144
|
+
|
|
145
|
+
routing_reversals: Annotated[
|
|
146
|
+
OptionalNullable[List[RefundRequestRoutingReversal]],
|
|
147
|
+
pydantic.Field(alias="routingReversals"),
|
|
148
|
+
] = UNSET
|
|
149
|
+
r"""*This feature is only available to marketplace operators.*
|
|
150
|
+
|
|
151
|
+
When creating refunds for *routed* payments, by default the full amount is deducted from your balance.
|
|
152
|
+
|
|
153
|
+
If you want to pull back funds from the connected merchant(s), you can use this parameter to specify what amount
|
|
154
|
+
needs to be reversed from which merchant(s).
|
|
155
|
+
|
|
156
|
+
If you simply want to fully reverse the routed funds, you can also use the `reverseRouting` parameter instead.
|
|
157
|
+
"""
|
|
158
|
+
|
|
159
|
+
testmode: OptionalNullable[bool] = UNSET
|
|
160
|
+
r"""Whether to create the entity in test mode or live mode.
|
|
161
|
+
|
|
162
|
+
Most API credentials are specifically created for either live mode or test mode, in which case this parameter can be
|
|
163
|
+
omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting
|
|
164
|
+
`testmode` to `true`.
|
|
165
|
+
"""
|
|
166
|
+
|
|
167
|
+
@model_serializer(mode="wrap")
|
|
168
|
+
def serialize_model(self, handler):
|
|
169
|
+
optional_fields = [
|
|
170
|
+
"externalReference",
|
|
171
|
+
"reverseRouting",
|
|
172
|
+
"routingReversals",
|
|
173
|
+
"testmode",
|
|
174
|
+
]
|
|
175
|
+
nullable_fields = ["metadata", "reverseRouting", "routingReversals", "testmode"]
|
|
176
|
+
null_default_fields = []
|
|
177
|
+
|
|
178
|
+
serialized = handler(self)
|
|
179
|
+
|
|
180
|
+
m = {}
|
|
181
|
+
|
|
182
|
+
for n, f in type(self).model_fields.items():
|
|
183
|
+
k = f.alias or n
|
|
184
|
+
val = serialized.get(k)
|
|
185
|
+
serialized.pop(k, None)
|
|
186
|
+
|
|
187
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
188
|
+
is_set = (
|
|
189
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
190
|
+
or k in null_default_fields
|
|
191
|
+
) # pylint: disable=no-member
|
|
192
|
+
|
|
193
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
194
|
+
m[k] = val
|
|
195
|
+
elif val != UNSET_SENTINEL and (
|
|
196
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
197
|
+
):
|
|
198
|
+
m[k] = val
|
|
199
|
+
|
|
200
|
+
return m
|