paid-python 1.7.1__tar.gz → 1.8.0__tar.gz
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.
- {paid_python-1.7.1 → paid_python-1.8.0}/PKG-INFO +1 -1
- {paid_python-1.7.1 → paid_python-1.8.0}/pyproject.toml +1 -1
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/__init__.py +78 -2
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/checkouts/client.py +17 -4
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/checkouts/raw_client.py +19 -8
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/client.py +38 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/client_wrapper.py +2 -2
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/customers/client.py +128 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/customers/raw_client.py +266 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/errors/__init__.py +3 -1
- paid_python-1.8.0/src/paid/errors/conflict_error.py +11 -0
- paid_python-1.8.0/src/paid/orders/__init__.py +37 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/orders/client.py +317 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/orders/raw_client.py +742 -92
- paid_python-1.8.0/src/paid/orders/types/__init__.py +38 -0
- paid_python-1.8.0/src/paid/orders/types/batch_seat_assignments_request_assignments_item.py +24 -0
- paid_python-1.8.0/src/paid/orders/types/list_order_seats_request_status.py +5 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/__init__.py +48 -0
- paid_python-1.8.0/src/paid/types/batch_seat_assignments_response.py +20 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/checkout.py +3 -0
- paid_python-1.8.0/src/paid/types/checkout_details.py +65 -0
- paid_python-1.8.0/src/paid/types/customer_user.py +38 -0
- paid_python-1.8.0/src/paid/types/customer_user_status.py +5 -0
- paid_python-1.8.0/src/paid/types/order_seat.py +36 -0
- paid_python-1.8.0/src/paid/types/order_seat_list_response.py +22 -0
- paid_python-1.8.0/src/paid/types/seat_assignee.py +23 -0
- paid_python-1.8.0/src/paid/types/seat_assignment_status.py +5 -0
- paid_python-1.8.0/src/paid/types/value_receipt_detail.py +64 -0
- paid_python-1.8.0/src/paid/types/value_receipt_list_response.py +21 -0
- paid_python-1.8.0/src/paid/types/value_receipt_summary.py +55 -0
- paid_python-1.8.0/src/paid/types/webhook.py +34 -0
- paid_python-1.8.0/src/paid/types/webhook_delivery_status.py +5 -0
- paid_python-1.8.0/src/paid/types/webhook_list_response.py +20 -0
- paid_python-1.8.0/src/paid/types/webhook_name.py +18 -0
- paid_python-1.8.0/src/paid/types/webhook_test_response.py +19 -0
- paid_python-1.8.0/src/paid/value_receipts/client.py +373 -0
- paid_python-1.8.0/src/paid/value_receipts/raw_client.py +560 -0
- paid_python-1.8.0/src/paid/webhooks/__init__.py +37 -0
- paid_python-1.8.0/src/paid/webhooks/client.py +277 -0
- paid_python-1.8.0/src/paid/webhooks/raw_client.py +526 -0
- paid_python-1.8.0/src/paid/webhooks/types/__init__.py +38 -0
- paid_python-1.8.0/src/paid/webhooks/types/test_webhook_request_webhook_name.py +18 -0
- paid_python-1.8.0/src/paid/webhooks/types/update_webhook_request_webhook_name.py +18 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/LICENSE +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/README.md +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/checkouts/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/checkouts/types/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/checkouts/types/list_checkouts_request_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/contacts/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/contacts/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/contacts/raw_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/contacts/types/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/contacts/types/create_contact_request_roles_item.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/api_error.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/datetime_utils.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/file.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/force_multipart.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/http_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/http_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/http_sse/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/http_sse/_api.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/http_sse/_decoders.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/http_sse/_exceptions.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/http_sse/_models.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/jsonable_encoder.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/pydantic_utilities.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/query_encoder.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/remove_none_from_dict.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/request_options.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/core/serialization.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/credits/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/credits/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/credits/raw_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/customer_portals/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/customer_portals/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/customer_portals/raw_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/customers/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/environment.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/errors/bad_request_error.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/errors/forbidden_error.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/errors/internal_server_error.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/errors/not_found_error.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/invoices/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/invoices/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/invoices/raw_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/logger.py +0 -0
- {paid_python-1.7.1/src/paid/orders → paid_python-1.8.0/src/paid/products}/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/products/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/products/raw_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/py.typed +0 -0
- {paid_python-1.7.1/src/paid/products → paid_python-1.8.0/src/paid/signals}/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/signals/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/signals/raw_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/anthropic_patches/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/anthropic_patches/patches.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/autoinstrumentation.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/context_data.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/context_manager.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/distributed_tracing.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/gemini_patches/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/gemini_patches/patches.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/openai_agents_patches/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/openai_agents_patches/patches.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/openai_patches/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/openai_patches/patches.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/signal.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/tracing.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/anthropic/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/anthropic/anthropicWrapper.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/bedrock/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/bedrock/bedrockWrapper.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/gemini/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/gemini/geminiWrapper.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/langchain/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/langchain/paidLangChainCallback.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/mistral/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/mistral/mistralWrapper.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/openai/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/openai/openAiWrapper.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/openai_agents/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/openai_agents/openaiAgentsHook.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/tracing/wrappers/utils.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/attribution.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/bulk_signals_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/checkout_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/checkout_product.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/checkout_product_input.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/checkout_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/contact.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/contact_billing_address.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/contact_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/contact_roles_item.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing_billing_frequency.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing_billing_type.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing_charge_type.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing_credit_benefits_item.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing_credit_benefits_item_allocation_cadence.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing_credit_benefits_item_credit_grant_timing.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing_credit_benefits_item_recipient.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing_credit_benefits_item_rollover_duration_unit.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing_price_points.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing_price_points_tiers_item.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing_price_points_tiers_item_tier_billing_type.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing_pricing_model.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_attribute_request_pricing_signal_type.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/create_order_line_request.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/credit_balance.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/credit_balance_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/credit_balance_recipient.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/credit_currency.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/credit_currency_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/customer.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/customer_attribution.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/customer_billing_address.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/customer_by_external_id.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/customer_by_id.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/customer_creation_state.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/customer_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/customer_portal.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/customer_portal_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/empty_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/error_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/invoice.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/invoice_line.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/invoice_line_payment_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/invoice_lines_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/invoice_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/invoice_payment_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/invoice_source.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/invoice_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/invoice_tax_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/order.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/order_creation_state.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/order_line.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/order_lines_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/order_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/pagination.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/product.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/product_by_external_id.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/product_by_id.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/product_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/signal.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/update_contact_request.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/update_contact_request_roles_item.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/update_customer_request.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/types/update_product_request.py +0 -0
- {paid_python-1.7.1/src/paid/signals → paid_python-1.8.0/src/paid/value_receipts}/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.8.0}/src/paid/version.py +0 -0
|
@@ -8,8 +8,10 @@ from importlib import import_module
|
|
|
8
8
|
if typing.TYPE_CHECKING:
|
|
9
9
|
from .types import (
|
|
10
10
|
Attribution,
|
|
11
|
+
BatchSeatAssignmentsResponse,
|
|
11
12
|
BulkSignalsResponse,
|
|
12
13
|
Checkout,
|
|
14
|
+
CheckoutDetails,
|
|
13
15
|
CheckoutListResponse,
|
|
14
16
|
CheckoutProduct,
|
|
15
17
|
CheckoutProductInput,
|
|
@@ -48,6 +50,8 @@ if typing.TYPE_CHECKING:
|
|
|
48
50
|
CustomerListResponse,
|
|
49
51
|
CustomerPortal,
|
|
50
52
|
CustomerPortalStatus,
|
|
53
|
+
CustomerUser,
|
|
54
|
+
CustomerUserStatus,
|
|
51
55
|
EmptyResponse,
|
|
52
56
|
ErrorResponse,
|
|
53
57
|
Invoice,
|
|
@@ -64,34 +68,64 @@ if typing.TYPE_CHECKING:
|
|
|
64
68
|
OrderLine,
|
|
65
69
|
OrderLinesResponse,
|
|
66
70
|
OrderListResponse,
|
|
71
|
+
OrderSeat,
|
|
72
|
+
OrderSeatListResponse,
|
|
67
73
|
Pagination,
|
|
68
74
|
Product,
|
|
69
75
|
ProductByExternalId,
|
|
70
76
|
ProductById,
|
|
71
77
|
ProductListResponse,
|
|
78
|
+
SeatAssignee,
|
|
79
|
+
SeatAssignmentStatus,
|
|
72
80
|
Signal,
|
|
73
81
|
UpdateContactRequest,
|
|
74
82
|
UpdateContactRequestRolesItem,
|
|
75
83
|
UpdateCustomerRequest,
|
|
76
84
|
UpdateProductRequest,
|
|
85
|
+
ValueReceiptDetail,
|
|
86
|
+
ValueReceiptListResponse,
|
|
87
|
+
ValueReceiptSummary,
|
|
88
|
+
Webhook,
|
|
89
|
+
WebhookDeliveryStatus,
|
|
90
|
+
WebhookListResponse,
|
|
91
|
+
WebhookName,
|
|
92
|
+
WebhookTestResponse,
|
|
93
|
+
)
|
|
94
|
+
from .errors import BadRequestError, ConflictError, ForbiddenError, InternalServerError, NotFoundError
|
|
95
|
+
from . import (
|
|
96
|
+
checkouts,
|
|
97
|
+
contacts,
|
|
98
|
+
credits,
|
|
99
|
+
customer_portals,
|
|
100
|
+
customers,
|
|
101
|
+
invoices,
|
|
102
|
+
orders,
|
|
103
|
+
products,
|
|
104
|
+
signals,
|
|
105
|
+
value_receipts,
|
|
106
|
+
webhooks,
|
|
77
107
|
)
|
|
78
|
-
from .errors import BadRequestError, ForbiddenError, InternalServerError, NotFoundError
|
|
79
|
-
from . import checkouts, contacts, credits, customer_portals, customers, invoices, orders, products, signals
|
|
80
108
|
from .checkouts import ListCheckoutsRequestStatus
|
|
81
109
|
from .client import AsyncPaid, Paid
|
|
82
110
|
from .contacts import CreateContactRequestRolesItem
|
|
83
111
|
from .environment import PaidEnvironment
|
|
112
|
+
from .orders import BatchSeatAssignmentsRequestAssignmentsItem, ListOrderSeatsRequestStatus
|
|
84
113
|
from .version import __version__
|
|
114
|
+
from .webhooks import TestWebhookRequestWebhookName, UpdateWebhookRequestWebhookName
|
|
85
115
|
_dynamic_imports: typing.Dict[str, str] = {
|
|
86
116
|
"AsyncPaid": ".client",
|
|
87
117
|
"Attribution": ".types",
|
|
88
118
|
"BadRequestError": ".errors",
|
|
119
|
+
"BatchSeatAssignmentsRequestAssignmentsItem": ".orders",
|
|
120
|
+
"BatchSeatAssignmentsResponse": ".types",
|
|
89
121
|
"BulkSignalsResponse": ".types",
|
|
90
122
|
"Checkout": ".types",
|
|
123
|
+
"CheckoutDetails": ".types",
|
|
91
124
|
"CheckoutListResponse": ".types",
|
|
92
125
|
"CheckoutProduct": ".types",
|
|
93
126
|
"CheckoutProductInput": ".types",
|
|
94
127
|
"CheckoutStatus": ".types",
|
|
128
|
+
"ConflictError": ".errors",
|
|
95
129
|
"Contact": ".types",
|
|
96
130
|
"ContactBillingAddress": ".types",
|
|
97
131
|
"ContactListResponse": ".types",
|
|
@@ -127,6 +161,8 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
127
161
|
"CustomerListResponse": ".types",
|
|
128
162
|
"CustomerPortal": ".types",
|
|
129
163
|
"CustomerPortalStatus": ".types",
|
|
164
|
+
"CustomerUser": ".types",
|
|
165
|
+
"CustomerUserStatus": ".types",
|
|
130
166
|
"EmptyResponse": ".types",
|
|
131
167
|
"ErrorResponse": ".types",
|
|
132
168
|
"ForbiddenError": ".errors",
|
|
@@ -141,12 +177,15 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
141
177
|
"InvoiceStatus": ".types",
|
|
142
178
|
"InvoiceTaxStatus": ".types",
|
|
143
179
|
"ListCheckoutsRequestStatus": ".checkouts",
|
|
180
|
+
"ListOrderSeatsRequestStatus": ".orders",
|
|
144
181
|
"NotFoundError": ".errors",
|
|
145
182
|
"Order": ".types",
|
|
146
183
|
"OrderCreationState": ".types",
|
|
147
184
|
"OrderLine": ".types",
|
|
148
185
|
"OrderLinesResponse": ".types",
|
|
149
186
|
"OrderListResponse": ".types",
|
|
187
|
+
"OrderSeat": ".types",
|
|
188
|
+
"OrderSeatListResponse": ".types",
|
|
150
189
|
"Pagination": ".types",
|
|
151
190
|
"Paid": ".client",
|
|
152
191
|
"PaidEnvironment": ".environment",
|
|
@@ -154,11 +193,23 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
154
193
|
"ProductByExternalId": ".types",
|
|
155
194
|
"ProductById": ".types",
|
|
156
195
|
"ProductListResponse": ".types",
|
|
196
|
+
"SeatAssignee": ".types",
|
|
197
|
+
"SeatAssignmentStatus": ".types",
|
|
157
198
|
"Signal": ".types",
|
|
199
|
+
"TestWebhookRequestWebhookName": ".webhooks",
|
|
158
200
|
"UpdateContactRequest": ".types",
|
|
159
201
|
"UpdateContactRequestRolesItem": ".types",
|
|
160
202
|
"UpdateCustomerRequest": ".types",
|
|
161
203
|
"UpdateProductRequest": ".types",
|
|
204
|
+
"UpdateWebhookRequestWebhookName": ".webhooks",
|
|
205
|
+
"ValueReceiptDetail": ".types",
|
|
206
|
+
"ValueReceiptListResponse": ".types",
|
|
207
|
+
"ValueReceiptSummary": ".types",
|
|
208
|
+
"Webhook": ".types",
|
|
209
|
+
"WebhookDeliveryStatus": ".types",
|
|
210
|
+
"WebhookListResponse": ".types",
|
|
211
|
+
"WebhookName": ".types",
|
|
212
|
+
"WebhookTestResponse": ".types",
|
|
162
213
|
"__version__": ".version",
|
|
163
214
|
"checkouts": ".checkouts",
|
|
164
215
|
"contacts": ".contacts",
|
|
@@ -169,6 +220,8 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
169
220
|
"orders": ".orders",
|
|
170
221
|
"products": ".products",
|
|
171
222
|
"signals": ".signals",
|
|
223
|
+
"value_receipts": ".value_receipts",
|
|
224
|
+
"webhooks": ".webhooks",
|
|
172
225
|
}
|
|
173
226
|
|
|
174
227
|
|
|
@@ -197,12 +250,16 @@ __all__ = [
|
|
|
197
250
|
"AsyncPaid",
|
|
198
251
|
"Attribution",
|
|
199
252
|
"BadRequestError",
|
|
253
|
+
"BatchSeatAssignmentsRequestAssignmentsItem",
|
|
254
|
+
"BatchSeatAssignmentsResponse",
|
|
200
255
|
"BulkSignalsResponse",
|
|
201
256
|
"Checkout",
|
|
257
|
+
"CheckoutDetails",
|
|
202
258
|
"CheckoutListResponse",
|
|
203
259
|
"CheckoutProduct",
|
|
204
260
|
"CheckoutProductInput",
|
|
205
261
|
"CheckoutStatus",
|
|
262
|
+
"ConflictError",
|
|
206
263
|
"Contact",
|
|
207
264
|
"ContactBillingAddress",
|
|
208
265
|
"ContactListResponse",
|
|
@@ -238,6 +295,8 @@ __all__ = [
|
|
|
238
295
|
"CustomerListResponse",
|
|
239
296
|
"CustomerPortal",
|
|
240
297
|
"CustomerPortalStatus",
|
|
298
|
+
"CustomerUser",
|
|
299
|
+
"CustomerUserStatus",
|
|
241
300
|
"EmptyResponse",
|
|
242
301
|
"ErrorResponse",
|
|
243
302
|
"ForbiddenError",
|
|
@@ -252,12 +311,15 @@ __all__ = [
|
|
|
252
311
|
"InvoiceStatus",
|
|
253
312
|
"InvoiceTaxStatus",
|
|
254
313
|
"ListCheckoutsRequestStatus",
|
|
314
|
+
"ListOrderSeatsRequestStatus",
|
|
255
315
|
"NotFoundError",
|
|
256
316
|
"Order",
|
|
257
317
|
"OrderCreationState",
|
|
258
318
|
"OrderLine",
|
|
259
319
|
"OrderLinesResponse",
|
|
260
320
|
"OrderListResponse",
|
|
321
|
+
"OrderSeat",
|
|
322
|
+
"OrderSeatListResponse",
|
|
261
323
|
"Pagination",
|
|
262
324
|
"Paid",
|
|
263
325
|
"PaidEnvironment",
|
|
@@ -265,11 +327,23 @@ __all__ = [
|
|
|
265
327
|
"ProductByExternalId",
|
|
266
328
|
"ProductById",
|
|
267
329
|
"ProductListResponse",
|
|
330
|
+
"SeatAssignee",
|
|
331
|
+
"SeatAssignmentStatus",
|
|
268
332
|
"Signal",
|
|
333
|
+
"TestWebhookRequestWebhookName",
|
|
269
334
|
"UpdateContactRequest",
|
|
270
335
|
"UpdateContactRequestRolesItem",
|
|
271
336
|
"UpdateCustomerRequest",
|
|
272
337
|
"UpdateProductRequest",
|
|
338
|
+
"UpdateWebhookRequestWebhookName",
|
|
339
|
+
"ValueReceiptDetail",
|
|
340
|
+
"ValueReceiptListResponse",
|
|
341
|
+
"ValueReceiptSummary",
|
|
342
|
+
"Webhook",
|
|
343
|
+
"WebhookDeliveryStatus",
|
|
344
|
+
"WebhookListResponse",
|
|
345
|
+
"WebhookName",
|
|
346
|
+
"WebhookTestResponse",
|
|
273
347
|
"__version__",
|
|
274
348
|
"checkouts",
|
|
275
349
|
"contacts",
|
|
@@ -280,4 +354,6 @@ __all__ = [
|
|
|
280
354
|
"orders",
|
|
281
355
|
"products",
|
|
282
356
|
"signals",
|
|
357
|
+
"value_receipts",
|
|
358
|
+
"webhooks",
|
|
283
359
|
]
|
|
@@ -6,6 +6,7 @@ import typing
|
|
|
6
6
|
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
7
7
|
from ..core.request_options import RequestOptions
|
|
8
8
|
from ..types.checkout import Checkout
|
|
9
|
+
from ..types.checkout_details import CheckoutDetails
|
|
9
10
|
from ..types.checkout_list_response import CheckoutListResponse
|
|
10
11
|
from ..types.checkout_product_input import CheckoutProductInput
|
|
11
12
|
from ..types.empty_response import EmptyResponse
|
|
@@ -85,6 +86,7 @@ class CheckoutsClient:
|
|
|
85
86
|
collect_address: typing.Optional[bool] = OMIT,
|
|
86
87
|
collect_phone: typing.Optional[bool] = OMIT,
|
|
87
88
|
single_use: typing.Optional[bool] = OMIT,
|
|
89
|
+
currency: typing.Optional[str] = OMIT,
|
|
88
90
|
request_options: typing.Optional[RequestOptions] = None,
|
|
89
91
|
) -> Checkout:
|
|
90
92
|
"""
|
|
@@ -113,6 +115,9 @@ class CheckoutsClient:
|
|
|
113
115
|
|
|
114
116
|
single_use : typing.Optional[bool]
|
|
115
117
|
|
|
118
|
+
currency : typing.Optional[str]
|
|
119
|
+
Lock checkout to a specific currency. Omit to allow all currencies supported by the selected plans.
|
|
120
|
+
|
|
116
121
|
request_options : typing.Optional[RequestOptions]
|
|
117
122
|
Request-specific configuration.
|
|
118
123
|
|
|
@@ -148,11 +153,12 @@ class CheckoutsClient:
|
|
|
148
153
|
collect_address=collect_address,
|
|
149
154
|
collect_phone=collect_phone,
|
|
150
155
|
single_use=single_use,
|
|
156
|
+
currency=currency,
|
|
151
157
|
request_options=request_options,
|
|
152
158
|
)
|
|
153
159
|
return _response.data
|
|
154
160
|
|
|
155
|
-
def get_checkout(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) ->
|
|
161
|
+
def get_checkout(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> CheckoutDetails:
|
|
156
162
|
"""
|
|
157
163
|
Get a checkout by ID
|
|
158
164
|
|
|
@@ -165,7 +171,7 @@ class CheckoutsClient:
|
|
|
165
171
|
|
|
166
172
|
Returns
|
|
167
173
|
-------
|
|
168
|
-
|
|
174
|
+
CheckoutDetails
|
|
169
175
|
200
|
|
170
176
|
|
|
171
177
|
Examples
|
|
@@ -290,6 +296,7 @@ class AsyncCheckoutsClient:
|
|
|
290
296
|
collect_address: typing.Optional[bool] = OMIT,
|
|
291
297
|
collect_phone: typing.Optional[bool] = OMIT,
|
|
292
298
|
single_use: typing.Optional[bool] = OMIT,
|
|
299
|
+
currency: typing.Optional[str] = OMIT,
|
|
293
300
|
request_options: typing.Optional[RequestOptions] = None,
|
|
294
301
|
) -> Checkout:
|
|
295
302
|
"""
|
|
@@ -318,6 +325,9 @@ class AsyncCheckoutsClient:
|
|
|
318
325
|
|
|
319
326
|
single_use : typing.Optional[bool]
|
|
320
327
|
|
|
328
|
+
currency : typing.Optional[str]
|
|
329
|
+
Lock checkout to a specific currency. Omit to allow all currencies supported by the selected plans.
|
|
330
|
+
|
|
321
331
|
request_options : typing.Optional[RequestOptions]
|
|
322
332
|
Request-specific configuration.
|
|
323
333
|
|
|
@@ -361,11 +371,14 @@ class AsyncCheckoutsClient:
|
|
|
361
371
|
collect_address=collect_address,
|
|
362
372
|
collect_phone=collect_phone,
|
|
363
373
|
single_use=single_use,
|
|
374
|
+
currency=currency,
|
|
364
375
|
request_options=request_options,
|
|
365
376
|
)
|
|
366
377
|
return _response.data
|
|
367
378
|
|
|
368
|
-
async def get_checkout(
|
|
379
|
+
async def get_checkout(
|
|
380
|
+
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
381
|
+
) -> CheckoutDetails:
|
|
369
382
|
"""
|
|
370
383
|
Get a checkout by ID
|
|
371
384
|
|
|
@@ -378,7 +391,7 @@ class AsyncCheckoutsClient:
|
|
|
378
391
|
|
|
379
392
|
Returns
|
|
380
393
|
-------
|
|
381
|
-
|
|
394
|
+
CheckoutDetails
|
|
382
395
|
200
|
|
383
396
|
|
|
384
397
|
Examples
|
|
@@ -16,6 +16,7 @@ from ..errors.forbidden_error import ForbiddenError
|
|
|
16
16
|
from ..errors.internal_server_error import InternalServerError
|
|
17
17
|
from ..errors.not_found_error import NotFoundError
|
|
18
18
|
from ..types.checkout import Checkout
|
|
19
|
+
from ..types.checkout_details import CheckoutDetails
|
|
19
20
|
from ..types.checkout_list_response import CheckoutListResponse
|
|
20
21
|
from ..types.checkout_product_input import CheckoutProductInput
|
|
21
22
|
from ..types.empty_response import EmptyResponse
|
|
@@ -128,6 +129,7 @@ class RawCheckoutsClient:
|
|
|
128
129
|
collect_address: typing.Optional[bool] = OMIT,
|
|
129
130
|
collect_phone: typing.Optional[bool] = OMIT,
|
|
130
131
|
single_use: typing.Optional[bool] = OMIT,
|
|
132
|
+
currency: typing.Optional[str] = OMIT,
|
|
131
133
|
request_options: typing.Optional[RequestOptions] = None,
|
|
132
134
|
) -> HttpResponse[Checkout]:
|
|
133
135
|
"""
|
|
@@ -156,6 +158,9 @@ class RawCheckoutsClient:
|
|
|
156
158
|
|
|
157
159
|
single_use : typing.Optional[bool]
|
|
158
160
|
|
|
161
|
+
currency : typing.Optional[str]
|
|
162
|
+
Lock checkout to a specific currency. Omit to allow all currencies supported by the selected plans.
|
|
163
|
+
|
|
159
164
|
request_options : typing.Optional[RequestOptions]
|
|
160
165
|
Request-specific configuration.
|
|
161
166
|
|
|
@@ -180,6 +185,7 @@ class RawCheckoutsClient:
|
|
|
180
185
|
"collectAddress": collect_address,
|
|
181
186
|
"collectPhone": collect_phone,
|
|
182
187
|
"singleUse": single_use,
|
|
188
|
+
"currency": currency,
|
|
183
189
|
},
|
|
184
190
|
headers={
|
|
185
191
|
"content-type": "application/json",
|
|
@@ -248,7 +254,7 @@ class RawCheckoutsClient:
|
|
|
248
254
|
|
|
249
255
|
def get_checkout(
|
|
250
256
|
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
251
|
-
) -> HttpResponse[
|
|
257
|
+
) -> HttpResponse[CheckoutDetails]:
|
|
252
258
|
"""
|
|
253
259
|
Get a checkout by ID
|
|
254
260
|
|
|
@@ -261,7 +267,7 @@ class RawCheckoutsClient:
|
|
|
261
267
|
|
|
262
268
|
Returns
|
|
263
269
|
-------
|
|
264
|
-
HttpResponse[
|
|
270
|
+
HttpResponse[CheckoutDetails]
|
|
265
271
|
200
|
|
266
272
|
"""
|
|
267
273
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -272,9 +278,9 @@ class RawCheckoutsClient:
|
|
|
272
278
|
try:
|
|
273
279
|
if 200 <= _response.status_code < 300:
|
|
274
280
|
_data = typing.cast(
|
|
275
|
-
|
|
281
|
+
CheckoutDetails,
|
|
276
282
|
parse_obj_as(
|
|
277
|
-
type_=
|
|
283
|
+
type_=CheckoutDetails, # type: ignore
|
|
278
284
|
object_=_response.json(),
|
|
279
285
|
),
|
|
280
286
|
)
|
|
@@ -491,6 +497,7 @@ class AsyncRawCheckoutsClient:
|
|
|
491
497
|
collect_address: typing.Optional[bool] = OMIT,
|
|
492
498
|
collect_phone: typing.Optional[bool] = OMIT,
|
|
493
499
|
single_use: typing.Optional[bool] = OMIT,
|
|
500
|
+
currency: typing.Optional[str] = OMIT,
|
|
494
501
|
request_options: typing.Optional[RequestOptions] = None,
|
|
495
502
|
) -> AsyncHttpResponse[Checkout]:
|
|
496
503
|
"""
|
|
@@ -519,6 +526,9 @@ class AsyncRawCheckoutsClient:
|
|
|
519
526
|
|
|
520
527
|
single_use : typing.Optional[bool]
|
|
521
528
|
|
|
529
|
+
currency : typing.Optional[str]
|
|
530
|
+
Lock checkout to a specific currency. Omit to allow all currencies supported by the selected plans.
|
|
531
|
+
|
|
522
532
|
request_options : typing.Optional[RequestOptions]
|
|
523
533
|
Request-specific configuration.
|
|
524
534
|
|
|
@@ -543,6 +553,7 @@ class AsyncRawCheckoutsClient:
|
|
|
543
553
|
"collectAddress": collect_address,
|
|
544
554
|
"collectPhone": collect_phone,
|
|
545
555
|
"singleUse": single_use,
|
|
556
|
+
"currency": currency,
|
|
546
557
|
},
|
|
547
558
|
headers={
|
|
548
559
|
"content-type": "application/json",
|
|
@@ -611,7 +622,7 @@ class AsyncRawCheckoutsClient:
|
|
|
611
622
|
|
|
612
623
|
async def get_checkout(
|
|
613
624
|
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
614
|
-
) -> AsyncHttpResponse[
|
|
625
|
+
) -> AsyncHttpResponse[CheckoutDetails]:
|
|
615
626
|
"""
|
|
616
627
|
Get a checkout by ID
|
|
617
628
|
|
|
@@ -624,7 +635,7 @@ class AsyncRawCheckoutsClient:
|
|
|
624
635
|
|
|
625
636
|
Returns
|
|
626
637
|
-------
|
|
627
|
-
AsyncHttpResponse[
|
|
638
|
+
AsyncHttpResponse[CheckoutDetails]
|
|
628
639
|
200
|
|
629
640
|
"""
|
|
630
641
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -635,9 +646,9 @@ class AsyncRawCheckoutsClient:
|
|
|
635
646
|
try:
|
|
636
647
|
if 200 <= _response.status_code < 300:
|
|
637
648
|
_data = typing.cast(
|
|
638
|
-
|
|
649
|
+
CheckoutDetails,
|
|
639
650
|
parse_obj_as(
|
|
640
|
-
type_=
|
|
651
|
+
type_=CheckoutDetails, # type: ignore
|
|
641
652
|
object_=_response.json(),
|
|
642
653
|
),
|
|
643
654
|
)
|
|
@@ -18,6 +18,8 @@ if typing.TYPE_CHECKING:
|
|
|
18
18
|
from .orders.client import AsyncOrdersClient, OrdersClient
|
|
19
19
|
from .products.client import AsyncProductsClient, ProductsClient
|
|
20
20
|
from .signals.client import AsyncSignalsClient, SignalsClient
|
|
21
|
+
from .value_receipts.client import AsyncValueReceiptsClient, ValueReceiptsClient
|
|
22
|
+
from .webhooks.client import AsyncWebhooksClient, WebhooksClient
|
|
21
23
|
|
|
22
24
|
|
|
23
25
|
class Paid:
|
|
@@ -94,6 +96,8 @@ class Paid:
|
|
|
94
96
|
self._credits: typing.Optional[CreditsClient] = None
|
|
95
97
|
self._checkouts: typing.Optional[CheckoutsClient] = None
|
|
96
98
|
self._customer_portals: typing.Optional[CustomerPortalsClient] = None
|
|
99
|
+
self._value_receipts: typing.Optional[ValueReceiptsClient] = None
|
|
100
|
+
self._webhooks: typing.Optional[WebhooksClient] = None
|
|
97
101
|
|
|
98
102
|
@property
|
|
99
103
|
def products(self):
|
|
@@ -167,6 +171,22 @@ class Paid:
|
|
|
167
171
|
self._customer_portals = CustomerPortalsClient(client_wrapper=self._client_wrapper)
|
|
168
172
|
return self._customer_portals
|
|
169
173
|
|
|
174
|
+
@property
|
|
175
|
+
def value_receipts(self):
|
|
176
|
+
if self._value_receipts is None:
|
|
177
|
+
from .value_receipts.client import ValueReceiptsClient # noqa: E402
|
|
178
|
+
|
|
179
|
+
self._value_receipts = ValueReceiptsClient(client_wrapper=self._client_wrapper)
|
|
180
|
+
return self._value_receipts
|
|
181
|
+
|
|
182
|
+
@property
|
|
183
|
+
def webhooks(self):
|
|
184
|
+
if self._webhooks is None:
|
|
185
|
+
from .webhooks.client import WebhooksClient # noqa: E402
|
|
186
|
+
|
|
187
|
+
self._webhooks = WebhooksClient(client_wrapper=self._client_wrapper)
|
|
188
|
+
return self._webhooks
|
|
189
|
+
|
|
170
190
|
|
|
171
191
|
class AsyncPaid:
|
|
172
192
|
"""
|
|
@@ -242,6 +262,8 @@ class AsyncPaid:
|
|
|
242
262
|
self._credits: typing.Optional[AsyncCreditsClient] = None
|
|
243
263
|
self._checkouts: typing.Optional[AsyncCheckoutsClient] = None
|
|
244
264
|
self._customer_portals: typing.Optional[AsyncCustomerPortalsClient] = None
|
|
265
|
+
self._value_receipts: typing.Optional[AsyncValueReceiptsClient] = None
|
|
266
|
+
self._webhooks: typing.Optional[AsyncWebhooksClient] = None
|
|
245
267
|
|
|
246
268
|
@property
|
|
247
269
|
def products(self):
|
|
@@ -315,6 +337,22 @@ class AsyncPaid:
|
|
|
315
337
|
self._customer_portals = AsyncCustomerPortalsClient(client_wrapper=self._client_wrapper)
|
|
316
338
|
return self._customer_portals
|
|
317
339
|
|
|
340
|
+
@property
|
|
341
|
+
def value_receipts(self):
|
|
342
|
+
if self._value_receipts is None:
|
|
343
|
+
from .value_receipts.client import AsyncValueReceiptsClient # noqa: E402
|
|
344
|
+
|
|
345
|
+
self._value_receipts = AsyncValueReceiptsClient(client_wrapper=self._client_wrapper)
|
|
346
|
+
return self._value_receipts
|
|
347
|
+
|
|
348
|
+
@property
|
|
349
|
+
def webhooks(self):
|
|
350
|
+
if self._webhooks is None:
|
|
351
|
+
from .webhooks.client import AsyncWebhooksClient # noqa: E402
|
|
352
|
+
|
|
353
|
+
self._webhooks = AsyncWebhooksClient(client_wrapper=self._client_wrapper)
|
|
354
|
+
return self._webhooks
|
|
355
|
+
|
|
318
356
|
|
|
319
357
|
def _get_base_url(*, base_url: typing.Optional[str] = None, environment: PaidEnvironment) -> str:
|
|
320
358
|
if base_url is not None:
|
|
@@ -24,12 +24,12 @@ class BaseClientWrapper:
|
|
|
24
24
|
import platform
|
|
25
25
|
|
|
26
26
|
headers: typing.Dict[str, str] = {
|
|
27
|
-
"User-Agent": "paid-python/1.
|
|
27
|
+
"User-Agent": "paid-python/1.8.0",
|
|
28
28
|
"X-Fern-Language": "Python",
|
|
29
29
|
"X-Fern-Runtime": f"python/{platform.python_version()}",
|
|
30
30
|
"X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}",
|
|
31
31
|
"X-Fern-SDK-Name": "paid-python",
|
|
32
|
-
"X-Fern-SDK-Version": "1.
|
|
32
|
+
"X-Fern-SDK-Version": "1.8.0",
|
|
33
33
|
**(self.get_custom_headers() or {}),
|
|
34
34
|
}
|
|
35
35
|
headers["Authorization"] = f"Bearer {self._get_token()}"
|
|
@@ -10,6 +10,8 @@ from ..types.customer import Customer
|
|
|
10
10
|
from ..types.customer_billing_address import CustomerBillingAddress
|
|
11
11
|
from ..types.customer_creation_state import CustomerCreationState
|
|
12
12
|
from ..types.customer_list_response import CustomerListResponse
|
|
13
|
+
from ..types.customer_user import CustomerUser
|
|
14
|
+
from ..types.customer_user_status import CustomerUserStatus
|
|
13
15
|
from ..types.empty_response import EmptyResponse
|
|
14
16
|
from .raw_client import AsyncRawCustomersClient, RawCustomersClient
|
|
15
17
|
|
|
@@ -502,6 +504,65 @@ class CustomersClient:
|
|
|
502
504
|
)
|
|
503
505
|
return _response.data
|
|
504
506
|
|
|
507
|
+
def upsert_customer_user_by_external_id(
|
|
508
|
+
self,
|
|
509
|
+
customer_external_id: str,
|
|
510
|
+
user_external_id: str,
|
|
511
|
+
*,
|
|
512
|
+
name: typing.Optional[str] = OMIT,
|
|
513
|
+
email: typing.Optional[str] = OMIT,
|
|
514
|
+
metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
|
|
515
|
+
status: typing.Optional[CustomerUserStatus] = OMIT,
|
|
516
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
517
|
+
) -> CustomerUser:
|
|
518
|
+
"""
|
|
519
|
+
Create or update a customer user using customer and user external IDs
|
|
520
|
+
|
|
521
|
+
Parameters
|
|
522
|
+
----------
|
|
523
|
+
customer_external_id : str
|
|
524
|
+
|
|
525
|
+
user_external_id : str
|
|
526
|
+
|
|
527
|
+
name : typing.Optional[str]
|
|
528
|
+
|
|
529
|
+
email : typing.Optional[str]
|
|
530
|
+
|
|
531
|
+
metadata : typing.Optional[typing.Dict[str, typing.Any]]
|
|
532
|
+
|
|
533
|
+
status : typing.Optional[CustomerUserStatus]
|
|
534
|
+
|
|
535
|
+
request_options : typing.Optional[RequestOptions]
|
|
536
|
+
Request-specific configuration.
|
|
537
|
+
|
|
538
|
+
Returns
|
|
539
|
+
-------
|
|
540
|
+
CustomerUser
|
|
541
|
+
200
|
|
542
|
+
|
|
543
|
+
Examples
|
|
544
|
+
--------
|
|
545
|
+
from paid import Paid
|
|
546
|
+
|
|
547
|
+
client = Paid(
|
|
548
|
+
token="YOUR_TOKEN",
|
|
549
|
+
)
|
|
550
|
+
client.customers.upsert_customer_user_by_external_id(
|
|
551
|
+
customer_external_id="customerExternalId",
|
|
552
|
+
user_external_id="userExternalId",
|
|
553
|
+
)
|
|
554
|
+
"""
|
|
555
|
+
_response = self._raw_client.upsert_customer_user_by_external_id(
|
|
556
|
+
customer_external_id,
|
|
557
|
+
user_external_id,
|
|
558
|
+
name=name,
|
|
559
|
+
email=email,
|
|
560
|
+
metadata=metadata,
|
|
561
|
+
status=status,
|
|
562
|
+
request_options=request_options,
|
|
563
|
+
)
|
|
564
|
+
return _response.data
|
|
565
|
+
|
|
505
566
|
|
|
506
567
|
class AsyncCustomersClient:
|
|
507
568
|
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
@@ -1067,3 +1128,70 @@ class AsyncCustomersClient:
|
|
|
1067
1128
|
external_id, request_options=request_options
|
|
1068
1129
|
)
|
|
1069
1130
|
return _response.data
|
|
1131
|
+
|
|
1132
|
+
async def upsert_customer_user_by_external_id(
|
|
1133
|
+
self,
|
|
1134
|
+
customer_external_id: str,
|
|
1135
|
+
user_external_id: str,
|
|
1136
|
+
*,
|
|
1137
|
+
name: typing.Optional[str] = OMIT,
|
|
1138
|
+
email: typing.Optional[str] = OMIT,
|
|
1139
|
+
metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
|
|
1140
|
+
status: typing.Optional[CustomerUserStatus] = OMIT,
|
|
1141
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
1142
|
+
) -> CustomerUser:
|
|
1143
|
+
"""
|
|
1144
|
+
Create or update a customer user using customer and user external IDs
|
|
1145
|
+
|
|
1146
|
+
Parameters
|
|
1147
|
+
----------
|
|
1148
|
+
customer_external_id : str
|
|
1149
|
+
|
|
1150
|
+
user_external_id : str
|
|
1151
|
+
|
|
1152
|
+
name : typing.Optional[str]
|
|
1153
|
+
|
|
1154
|
+
email : typing.Optional[str]
|
|
1155
|
+
|
|
1156
|
+
metadata : typing.Optional[typing.Dict[str, typing.Any]]
|
|
1157
|
+
|
|
1158
|
+
status : typing.Optional[CustomerUserStatus]
|
|
1159
|
+
|
|
1160
|
+
request_options : typing.Optional[RequestOptions]
|
|
1161
|
+
Request-specific configuration.
|
|
1162
|
+
|
|
1163
|
+
Returns
|
|
1164
|
+
-------
|
|
1165
|
+
CustomerUser
|
|
1166
|
+
200
|
|
1167
|
+
|
|
1168
|
+
Examples
|
|
1169
|
+
--------
|
|
1170
|
+
import asyncio
|
|
1171
|
+
|
|
1172
|
+
from paid import AsyncPaid
|
|
1173
|
+
|
|
1174
|
+
client = AsyncPaid(
|
|
1175
|
+
token="YOUR_TOKEN",
|
|
1176
|
+
)
|
|
1177
|
+
|
|
1178
|
+
|
|
1179
|
+
async def main() -> None:
|
|
1180
|
+
await client.customers.upsert_customer_user_by_external_id(
|
|
1181
|
+
customer_external_id="customerExternalId",
|
|
1182
|
+
user_external_id="userExternalId",
|
|
1183
|
+
)
|
|
1184
|
+
|
|
1185
|
+
|
|
1186
|
+
asyncio.run(main())
|
|
1187
|
+
"""
|
|
1188
|
+
_response = await self._raw_client.upsert_customer_user_by_external_id(
|
|
1189
|
+
customer_external_id,
|
|
1190
|
+
user_external_id,
|
|
1191
|
+
name=name,
|
|
1192
|
+
email=email,
|
|
1193
|
+
metadata=metadata,
|
|
1194
|
+
status=status,
|
|
1195
|
+
request_options=request_options,
|
|
1196
|
+
)
|
|
1197
|
+
return _response.data
|