paid-python 1.7.1__tar.gz → 1.7.2__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.7.2}/PKG-INFO +1 -1
- {paid_python-1.7.1 → paid_python-1.7.2}/pyproject.toml +1 -1
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/__init__.py +23 -1
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/checkouts/client.py +10 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/checkouts/raw_client.py +10 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/client.py +19 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/client_wrapper.py +2 -2
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/customers/raw_client.py +44 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/__init__.py +9 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/checkout.py +3 -0
- paid_python-1.7.2/src/paid/types/value_receipt_detail.py +64 -0
- paid_python-1.7.2/src/paid/types/value_receipt_list_response.py +21 -0
- paid_python-1.7.2/src/paid/types/value_receipt_summary.py +55 -0
- paid_python-1.7.2/src/paid/value_receipts/__init__.py +4 -0
- paid_python-1.7.2/src/paid/value_receipts/client.py +373 -0
- paid_python-1.7.2/src/paid/value_receipts/raw_client.py +560 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/LICENSE +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/README.md +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/checkouts/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/checkouts/types/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/checkouts/types/list_checkouts_request_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/contacts/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/contacts/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/contacts/raw_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/contacts/types/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/contacts/types/create_contact_request_roles_item.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/api_error.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/datetime_utils.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/file.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/force_multipart.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/http_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/http_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/http_sse/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/http_sse/_api.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/http_sse/_decoders.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/http_sse/_exceptions.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/http_sse/_models.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/jsonable_encoder.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/pydantic_utilities.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/query_encoder.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/remove_none_from_dict.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/request_options.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/core/serialization.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/credits/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/credits/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/credits/raw_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/customer_portals/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/customer_portals/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/customer_portals/raw_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/customers/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/customers/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/environment.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/errors/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/errors/bad_request_error.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/errors/forbidden_error.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/errors/internal_server_error.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/errors/not_found_error.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/invoices/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/invoices/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/invoices/raw_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/logger.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/orders/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/orders/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/orders/raw_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/products/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/products/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/products/raw_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/py.typed +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/signals/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/signals/client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/signals/raw_client.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/anthropic_patches/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/anthropic_patches/patches.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/autoinstrumentation.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/context_data.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/context_manager.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/distributed_tracing.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/gemini_patches/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/gemini_patches/patches.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/openai_agents_patches/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/openai_agents_patches/patches.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/openai_patches/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/openai_patches/patches.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/signal.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/tracing.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/anthropic/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/anthropic/anthropicWrapper.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/bedrock/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/bedrock/bedrockWrapper.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/gemini/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/gemini/geminiWrapper.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/langchain/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/langchain/paidLangChainCallback.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/mistral/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/mistral/mistralWrapper.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/openai/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/openai/openAiWrapper.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/openai_agents/__init__.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/openai_agents/openaiAgentsHook.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/tracing/wrappers/utils.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/attribution.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/bulk_signals_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/checkout_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/checkout_product.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/checkout_product_input.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/checkout_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/contact.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/contact_billing_address.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/contact_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/contact_roles_item.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_billing_frequency.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_billing_type.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_charge_type.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_credit_benefits_item.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/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.7.2}/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.7.2}/src/paid/types/create_order_line_attribute_request_pricing_credit_benefits_item_recipient.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/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.7.2}/src/paid/types/create_order_line_attribute_request_pricing_price_points.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_price_points_tiers_item.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/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.7.2}/src/paid/types/create_order_line_attribute_request_pricing_pricing_model.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_signal_type.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/create_order_line_request.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/credit_balance.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/credit_balance_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/credit_balance_recipient.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/credit_currency.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/credit_currency_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/customer.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/customer_attribution.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/customer_billing_address.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/customer_by_external_id.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/customer_by_id.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/customer_creation_state.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/customer_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/customer_portal.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/customer_portal_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/empty_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/error_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/invoice.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/invoice_line.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/invoice_line_payment_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/invoice_lines_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/invoice_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/invoice_payment_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/invoice_source.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/invoice_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/invoice_tax_status.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/order.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/order_creation_state.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/order_line.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/order_lines_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/order_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/pagination.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/product.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/product_by_external_id.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/product_by_id.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/product_list_response.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/signal.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/update_contact_request.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/update_contact_request_roles_item.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/update_customer_request.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/types/update_product_request.py +0 -0
- {paid_python-1.7.1 → paid_python-1.7.2}/src/paid/version.py +0 -0
|
@@ -74,9 +74,23 @@ if typing.TYPE_CHECKING:
|
|
|
74
74
|
UpdateContactRequestRolesItem,
|
|
75
75
|
UpdateCustomerRequest,
|
|
76
76
|
UpdateProductRequest,
|
|
77
|
+
ValueReceiptDetail,
|
|
78
|
+
ValueReceiptListResponse,
|
|
79
|
+
ValueReceiptSummary,
|
|
77
80
|
)
|
|
78
81
|
from .errors import BadRequestError, ForbiddenError, InternalServerError, NotFoundError
|
|
79
|
-
from . import
|
|
82
|
+
from . import (
|
|
83
|
+
checkouts,
|
|
84
|
+
contacts,
|
|
85
|
+
credits,
|
|
86
|
+
customer_portals,
|
|
87
|
+
customers,
|
|
88
|
+
invoices,
|
|
89
|
+
orders,
|
|
90
|
+
products,
|
|
91
|
+
signals,
|
|
92
|
+
value_receipts,
|
|
93
|
+
)
|
|
80
94
|
from .checkouts import ListCheckoutsRequestStatus
|
|
81
95
|
from .client import AsyncPaid, Paid
|
|
82
96
|
from .contacts import CreateContactRequestRolesItem
|
|
@@ -159,6 +173,9 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
159
173
|
"UpdateContactRequestRolesItem": ".types",
|
|
160
174
|
"UpdateCustomerRequest": ".types",
|
|
161
175
|
"UpdateProductRequest": ".types",
|
|
176
|
+
"ValueReceiptDetail": ".types",
|
|
177
|
+
"ValueReceiptListResponse": ".types",
|
|
178
|
+
"ValueReceiptSummary": ".types",
|
|
162
179
|
"__version__": ".version",
|
|
163
180
|
"checkouts": ".checkouts",
|
|
164
181
|
"contacts": ".contacts",
|
|
@@ -169,6 +186,7 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
169
186
|
"orders": ".orders",
|
|
170
187
|
"products": ".products",
|
|
171
188
|
"signals": ".signals",
|
|
189
|
+
"value_receipts": ".value_receipts",
|
|
172
190
|
}
|
|
173
191
|
|
|
174
192
|
|
|
@@ -270,6 +288,9 @@ __all__ = [
|
|
|
270
288
|
"UpdateContactRequestRolesItem",
|
|
271
289
|
"UpdateCustomerRequest",
|
|
272
290
|
"UpdateProductRequest",
|
|
291
|
+
"ValueReceiptDetail",
|
|
292
|
+
"ValueReceiptListResponse",
|
|
293
|
+
"ValueReceiptSummary",
|
|
273
294
|
"__version__",
|
|
274
295
|
"checkouts",
|
|
275
296
|
"contacts",
|
|
@@ -280,4 +301,5 @@ __all__ = [
|
|
|
280
301
|
"orders",
|
|
281
302
|
"products",
|
|
282
303
|
"signals",
|
|
304
|
+
"value_receipts",
|
|
283
305
|
]
|
|
@@ -85,6 +85,7 @@ class CheckoutsClient:
|
|
|
85
85
|
collect_address: typing.Optional[bool] = OMIT,
|
|
86
86
|
collect_phone: typing.Optional[bool] = OMIT,
|
|
87
87
|
single_use: typing.Optional[bool] = OMIT,
|
|
88
|
+
currency: typing.Optional[str] = OMIT,
|
|
88
89
|
request_options: typing.Optional[RequestOptions] = None,
|
|
89
90
|
) -> Checkout:
|
|
90
91
|
"""
|
|
@@ -113,6 +114,9 @@ class CheckoutsClient:
|
|
|
113
114
|
|
|
114
115
|
single_use : typing.Optional[bool]
|
|
115
116
|
|
|
117
|
+
currency : typing.Optional[str]
|
|
118
|
+
Lock checkout to a specific currency. Omit to allow all currencies supported by the selected plans.
|
|
119
|
+
|
|
116
120
|
request_options : typing.Optional[RequestOptions]
|
|
117
121
|
Request-specific configuration.
|
|
118
122
|
|
|
@@ -148,6 +152,7 @@ class CheckoutsClient:
|
|
|
148
152
|
collect_address=collect_address,
|
|
149
153
|
collect_phone=collect_phone,
|
|
150
154
|
single_use=single_use,
|
|
155
|
+
currency=currency,
|
|
151
156
|
request_options=request_options,
|
|
152
157
|
)
|
|
153
158
|
return _response.data
|
|
@@ -290,6 +295,7 @@ class AsyncCheckoutsClient:
|
|
|
290
295
|
collect_address: typing.Optional[bool] = OMIT,
|
|
291
296
|
collect_phone: typing.Optional[bool] = OMIT,
|
|
292
297
|
single_use: typing.Optional[bool] = OMIT,
|
|
298
|
+
currency: typing.Optional[str] = OMIT,
|
|
293
299
|
request_options: typing.Optional[RequestOptions] = None,
|
|
294
300
|
) -> Checkout:
|
|
295
301
|
"""
|
|
@@ -318,6 +324,9 @@ class AsyncCheckoutsClient:
|
|
|
318
324
|
|
|
319
325
|
single_use : typing.Optional[bool]
|
|
320
326
|
|
|
327
|
+
currency : typing.Optional[str]
|
|
328
|
+
Lock checkout to a specific currency. Omit to allow all currencies supported by the selected plans.
|
|
329
|
+
|
|
321
330
|
request_options : typing.Optional[RequestOptions]
|
|
322
331
|
Request-specific configuration.
|
|
323
332
|
|
|
@@ -361,6 +370,7 @@ class AsyncCheckoutsClient:
|
|
|
361
370
|
collect_address=collect_address,
|
|
362
371
|
collect_phone=collect_phone,
|
|
363
372
|
single_use=single_use,
|
|
373
|
+
currency=currency,
|
|
364
374
|
request_options=request_options,
|
|
365
375
|
)
|
|
366
376
|
return _response.data
|
|
@@ -128,6 +128,7 @@ class RawCheckoutsClient:
|
|
|
128
128
|
collect_address: typing.Optional[bool] = OMIT,
|
|
129
129
|
collect_phone: typing.Optional[bool] = OMIT,
|
|
130
130
|
single_use: typing.Optional[bool] = OMIT,
|
|
131
|
+
currency: typing.Optional[str] = OMIT,
|
|
131
132
|
request_options: typing.Optional[RequestOptions] = None,
|
|
132
133
|
) -> HttpResponse[Checkout]:
|
|
133
134
|
"""
|
|
@@ -156,6 +157,9 @@ class RawCheckoutsClient:
|
|
|
156
157
|
|
|
157
158
|
single_use : typing.Optional[bool]
|
|
158
159
|
|
|
160
|
+
currency : typing.Optional[str]
|
|
161
|
+
Lock checkout to a specific currency. Omit to allow all currencies supported by the selected plans.
|
|
162
|
+
|
|
159
163
|
request_options : typing.Optional[RequestOptions]
|
|
160
164
|
Request-specific configuration.
|
|
161
165
|
|
|
@@ -180,6 +184,7 @@ class RawCheckoutsClient:
|
|
|
180
184
|
"collectAddress": collect_address,
|
|
181
185
|
"collectPhone": collect_phone,
|
|
182
186
|
"singleUse": single_use,
|
|
187
|
+
"currency": currency,
|
|
183
188
|
},
|
|
184
189
|
headers={
|
|
185
190
|
"content-type": "application/json",
|
|
@@ -491,6 +496,7 @@ class AsyncRawCheckoutsClient:
|
|
|
491
496
|
collect_address: typing.Optional[bool] = OMIT,
|
|
492
497
|
collect_phone: typing.Optional[bool] = OMIT,
|
|
493
498
|
single_use: typing.Optional[bool] = OMIT,
|
|
499
|
+
currency: typing.Optional[str] = OMIT,
|
|
494
500
|
request_options: typing.Optional[RequestOptions] = None,
|
|
495
501
|
) -> AsyncHttpResponse[Checkout]:
|
|
496
502
|
"""
|
|
@@ -519,6 +525,9 @@ class AsyncRawCheckoutsClient:
|
|
|
519
525
|
|
|
520
526
|
single_use : typing.Optional[bool]
|
|
521
527
|
|
|
528
|
+
currency : typing.Optional[str]
|
|
529
|
+
Lock checkout to a specific currency. Omit to allow all currencies supported by the selected plans.
|
|
530
|
+
|
|
522
531
|
request_options : typing.Optional[RequestOptions]
|
|
523
532
|
Request-specific configuration.
|
|
524
533
|
|
|
@@ -543,6 +552,7 @@ class AsyncRawCheckoutsClient:
|
|
|
543
552
|
"collectAddress": collect_address,
|
|
544
553
|
"collectPhone": collect_phone,
|
|
545
554
|
"singleUse": single_use,
|
|
555
|
+
"currency": currency,
|
|
546
556
|
},
|
|
547
557
|
headers={
|
|
548
558
|
"content-type": "application/json",
|
|
@@ -18,6 +18,7 @@ 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
|
|
21
22
|
|
|
22
23
|
|
|
23
24
|
class Paid:
|
|
@@ -94,6 +95,7 @@ class Paid:
|
|
|
94
95
|
self._credits: typing.Optional[CreditsClient] = None
|
|
95
96
|
self._checkouts: typing.Optional[CheckoutsClient] = None
|
|
96
97
|
self._customer_portals: typing.Optional[CustomerPortalsClient] = None
|
|
98
|
+
self._value_receipts: typing.Optional[ValueReceiptsClient] = None
|
|
97
99
|
|
|
98
100
|
@property
|
|
99
101
|
def products(self):
|
|
@@ -167,6 +169,14 @@ class Paid:
|
|
|
167
169
|
self._customer_portals = CustomerPortalsClient(client_wrapper=self._client_wrapper)
|
|
168
170
|
return self._customer_portals
|
|
169
171
|
|
|
172
|
+
@property
|
|
173
|
+
def value_receipts(self):
|
|
174
|
+
if self._value_receipts is None:
|
|
175
|
+
from .value_receipts.client import ValueReceiptsClient # noqa: E402
|
|
176
|
+
|
|
177
|
+
self._value_receipts = ValueReceiptsClient(client_wrapper=self._client_wrapper)
|
|
178
|
+
return self._value_receipts
|
|
179
|
+
|
|
170
180
|
|
|
171
181
|
class AsyncPaid:
|
|
172
182
|
"""
|
|
@@ -242,6 +252,7 @@ class AsyncPaid:
|
|
|
242
252
|
self._credits: typing.Optional[AsyncCreditsClient] = None
|
|
243
253
|
self._checkouts: typing.Optional[AsyncCheckoutsClient] = None
|
|
244
254
|
self._customer_portals: typing.Optional[AsyncCustomerPortalsClient] = None
|
|
255
|
+
self._value_receipts: typing.Optional[AsyncValueReceiptsClient] = None
|
|
245
256
|
|
|
246
257
|
@property
|
|
247
258
|
def products(self):
|
|
@@ -315,6 +326,14 @@ class AsyncPaid:
|
|
|
315
326
|
self._customer_portals = AsyncCustomerPortalsClient(client_wrapper=self._client_wrapper)
|
|
316
327
|
return self._customer_portals
|
|
317
328
|
|
|
329
|
+
@property
|
|
330
|
+
def value_receipts(self):
|
|
331
|
+
if self._value_receipts is None:
|
|
332
|
+
from .value_receipts.client import AsyncValueReceiptsClient # noqa: E402
|
|
333
|
+
|
|
334
|
+
self._value_receipts = AsyncValueReceiptsClient(client_wrapper=self._client_wrapper)
|
|
335
|
+
return self._value_receipts
|
|
336
|
+
|
|
318
337
|
|
|
319
338
|
def _get_base_url(*, base_url: typing.Optional[str] = None, environment: PaidEnvironment) -> str:
|
|
320
339
|
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.7.
|
|
27
|
+
"User-Agent": "paid-python/1.7.2",
|
|
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.7.
|
|
32
|
+
"X-Fern-SDK-Version": "1.7.2",
|
|
33
33
|
**(self.get_custom_headers() or {}),
|
|
34
34
|
}
|
|
35
35
|
headers["Authorization"] = f"Bearer {self._get_token()}"
|
|
@@ -476,6 +476,17 @@ class RawCustomersClient:
|
|
|
476
476
|
),
|
|
477
477
|
)
|
|
478
478
|
return HttpResponse(response=_response, data=_data)
|
|
479
|
+
if _response.status_code == 400:
|
|
480
|
+
raise BadRequestError(
|
|
481
|
+
headers=dict(_response.headers),
|
|
482
|
+
body=typing.cast(
|
|
483
|
+
ErrorResponse,
|
|
484
|
+
parse_obj_as(
|
|
485
|
+
type_=ErrorResponse, # type: ignore
|
|
486
|
+
object_=_response.json(),
|
|
487
|
+
),
|
|
488
|
+
),
|
|
489
|
+
)
|
|
479
490
|
if _response.status_code == 403:
|
|
480
491
|
raise ForbiddenError(
|
|
481
492
|
headers=dict(_response.headers),
|
|
@@ -755,6 +766,17 @@ class RawCustomersClient:
|
|
|
755
766
|
),
|
|
756
767
|
)
|
|
757
768
|
return HttpResponse(response=_response, data=_data)
|
|
769
|
+
if _response.status_code == 400:
|
|
770
|
+
raise BadRequestError(
|
|
771
|
+
headers=dict(_response.headers),
|
|
772
|
+
body=typing.cast(
|
|
773
|
+
ErrorResponse,
|
|
774
|
+
parse_obj_as(
|
|
775
|
+
type_=ErrorResponse, # type: ignore
|
|
776
|
+
object_=_response.json(),
|
|
777
|
+
),
|
|
778
|
+
),
|
|
779
|
+
)
|
|
758
780
|
if _response.status_code == 403:
|
|
759
781
|
raise ForbiddenError(
|
|
760
782
|
headers=dict(_response.headers),
|
|
@@ -1385,6 +1407,17 @@ class AsyncRawCustomersClient:
|
|
|
1385
1407
|
),
|
|
1386
1408
|
)
|
|
1387
1409
|
return AsyncHttpResponse(response=_response, data=_data)
|
|
1410
|
+
if _response.status_code == 400:
|
|
1411
|
+
raise BadRequestError(
|
|
1412
|
+
headers=dict(_response.headers),
|
|
1413
|
+
body=typing.cast(
|
|
1414
|
+
ErrorResponse,
|
|
1415
|
+
parse_obj_as(
|
|
1416
|
+
type_=ErrorResponse, # type: ignore
|
|
1417
|
+
object_=_response.json(),
|
|
1418
|
+
),
|
|
1419
|
+
),
|
|
1420
|
+
)
|
|
1388
1421
|
if _response.status_code == 403:
|
|
1389
1422
|
raise ForbiddenError(
|
|
1390
1423
|
headers=dict(_response.headers),
|
|
@@ -1664,6 +1697,17 @@ class AsyncRawCustomersClient:
|
|
|
1664
1697
|
),
|
|
1665
1698
|
)
|
|
1666
1699
|
return AsyncHttpResponse(response=_response, data=_data)
|
|
1700
|
+
if _response.status_code == 400:
|
|
1701
|
+
raise BadRequestError(
|
|
1702
|
+
headers=dict(_response.headers),
|
|
1703
|
+
body=typing.cast(
|
|
1704
|
+
ErrorResponse,
|
|
1705
|
+
parse_obj_as(
|
|
1706
|
+
type_=ErrorResponse, # type: ignore
|
|
1707
|
+
object_=_response.json(),
|
|
1708
|
+
),
|
|
1709
|
+
),
|
|
1710
|
+
)
|
|
1667
1711
|
if _response.status_code == 403:
|
|
1668
1712
|
raise ForbiddenError(
|
|
1669
1713
|
headers=dict(_response.headers),
|
|
@@ -99,6 +99,9 @@ if typing.TYPE_CHECKING:
|
|
|
99
99
|
from .update_contact_request_roles_item import UpdateContactRequestRolesItem
|
|
100
100
|
from .update_customer_request import UpdateCustomerRequest
|
|
101
101
|
from .update_product_request import UpdateProductRequest
|
|
102
|
+
from .value_receipt_detail import ValueReceiptDetail
|
|
103
|
+
from .value_receipt_list_response import ValueReceiptListResponse
|
|
104
|
+
from .value_receipt_summary import ValueReceiptSummary
|
|
102
105
|
_dynamic_imports: typing.Dict[str, str] = {
|
|
103
106
|
"Attribution": ".attribution",
|
|
104
107
|
"BulkSignalsResponse": ".bulk_signals_response",
|
|
@@ -167,6 +170,9 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
167
170
|
"UpdateContactRequestRolesItem": ".update_contact_request_roles_item",
|
|
168
171
|
"UpdateCustomerRequest": ".update_customer_request",
|
|
169
172
|
"UpdateProductRequest": ".update_product_request",
|
|
173
|
+
"ValueReceiptDetail": ".value_receipt_detail",
|
|
174
|
+
"ValueReceiptListResponse": ".value_receipt_list_response",
|
|
175
|
+
"ValueReceiptSummary": ".value_receipt_summary",
|
|
170
176
|
}
|
|
171
177
|
|
|
172
178
|
|
|
@@ -259,4 +265,7 @@ __all__ = [
|
|
|
259
265
|
"UpdateContactRequestRolesItem",
|
|
260
266
|
"UpdateCustomerRequest",
|
|
261
267
|
"UpdateProductRequest",
|
|
268
|
+
"ValueReceiptDetail",
|
|
269
|
+
"ValueReceiptListResponse",
|
|
270
|
+
"ValueReceiptSummary",
|
|
262
271
|
]
|
|
@@ -37,6 +37,9 @@ class Checkout(UniversalBaseModel):
|
|
|
37
37
|
bool, FieldMetadata(alias="collectPhone"), pydantic.Field(alias="collectPhone")
|
|
38
38
|
]
|
|
39
39
|
single_use: typing_extensions.Annotated[bool, FieldMetadata(alias="singleUse"), pydantic.Field(alias="singleUse")]
|
|
40
|
+
allowed_currencies: typing_extensions.Annotated[
|
|
41
|
+
typing.List[str], FieldMetadata(alias="allowedCurrencies"), pydantic.Field(alias="allowedCurrencies")
|
|
42
|
+
]
|
|
40
43
|
created_at: typing_extensions.Annotated[
|
|
41
44
|
dt.datetime, FieldMetadata(alias="createdAt"), pydantic.Field(alias="createdAt")
|
|
42
45
|
]
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
import pydantic
|
|
7
|
+
import typing_extensions
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
9
|
+
from ..core.serialization import FieldMetadata
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ValueReceiptDetail(UniversalBaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
status: str
|
|
15
|
+
public_url_token: typing_extensions.Annotated[
|
|
16
|
+
str, FieldMetadata(alias="publicUrlToken"), pydantic.Field(alias="publicUrlToken")
|
|
17
|
+
]
|
|
18
|
+
public_url: typing_extensions.Annotated[str, FieldMetadata(alias="publicUrl"), pydantic.Field(alias="publicUrl")]
|
|
19
|
+
is_published: typing_extensions.Annotated[
|
|
20
|
+
bool, FieldMetadata(alias="isPublished"), pydantic.Field(alias="isPublished")
|
|
21
|
+
]
|
|
22
|
+
customer_id: typing_extensions.Annotated[
|
|
23
|
+
typing.Optional[str], FieldMetadata(alias="customerId"), pydantic.Field(alias="customerId")
|
|
24
|
+
] = None
|
|
25
|
+
customer_name: typing_extensions.Annotated[
|
|
26
|
+
typing.Optional[str], FieldMetadata(alias="customerName"), pydantic.Field(alias="customerName")
|
|
27
|
+
] = None
|
|
28
|
+
customer_external_id: typing_extensions.Annotated[
|
|
29
|
+
typing.Optional[str], FieldMetadata(alias="customerExternalId"), pydantic.Field(alias="customerExternalId")
|
|
30
|
+
] = None
|
|
31
|
+
order_id: typing_extensions.Annotated[
|
|
32
|
+
typing.Optional[str], FieldMetadata(alias="orderId"), pydantic.Field(alias="orderId")
|
|
33
|
+
] = None
|
|
34
|
+
currency: str
|
|
35
|
+
start_date: typing_extensions.Annotated[
|
|
36
|
+
typing.Optional[dt.datetime], FieldMetadata(alias="startDate"), pydantic.Field(alias="startDate")
|
|
37
|
+
] = None
|
|
38
|
+
end_date: typing_extensions.Annotated[
|
|
39
|
+
typing.Optional[dt.datetime], FieldMetadata(alias="endDate"), pydantic.Field(alias="endDate")
|
|
40
|
+
] = None
|
|
41
|
+
total_delivered_value: typing_extensions.Annotated[
|
|
42
|
+
typing.Optional[float], FieldMetadata(alias="totalDeliveredValue"), pydantic.Field(alias="totalDeliveredValue")
|
|
43
|
+
] = None
|
|
44
|
+
created_at: typing_extensions.Annotated[
|
|
45
|
+
dt.datetime, FieldMetadata(alias="createdAt"), pydantic.Field(alias="createdAt")
|
|
46
|
+
]
|
|
47
|
+
published_at: typing_extensions.Annotated[
|
|
48
|
+
typing.Optional[dt.datetime], FieldMetadata(alias="publishedAt"), pydantic.Field(alias="publishedAt")
|
|
49
|
+
] = None
|
|
50
|
+
publish_expires_at: typing_extensions.Annotated[
|
|
51
|
+
typing.Optional[dt.datetime], FieldMetadata(alias="publishExpiresAt"), pydantic.Field(alias="publishExpiresAt")
|
|
52
|
+
] = None
|
|
53
|
+
allow_embed: typing_extensions.Annotated[
|
|
54
|
+
bool, FieldMetadata(alias="allowEmbed"), pydantic.Field(alias="allowEmbed")
|
|
55
|
+
]
|
|
56
|
+
|
|
57
|
+
if IS_PYDANTIC_V2:
|
|
58
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
59
|
+
else:
|
|
60
|
+
|
|
61
|
+
class Config:
|
|
62
|
+
frozen = True
|
|
63
|
+
smart_union = True
|
|
64
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
7
|
+
from .value_receipt_summary import ValueReceiptSummary
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ValueReceiptListResponse(UniversalBaseModel):
|
|
11
|
+
data: typing.List[ValueReceiptSummary]
|
|
12
|
+
total: int
|
|
13
|
+
|
|
14
|
+
if IS_PYDANTIC_V2:
|
|
15
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
16
|
+
else:
|
|
17
|
+
|
|
18
|
+
class Config:
|
|
19
|
+
frozen = True
|
|
20
|
+
smart_union = True
|
|
21
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
import pydantic
|
|
7
|
+
import typing_extensions
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
|
|
9
|
+
from ..core.serialization import FieldMetadata
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ValueReceiptSummary(UniversalBaseModel):
|
|
13
|
+
id: str
|
|
14
|
+
status: str
|
|
15
|
+
public_url_token: typing_extensions.Annotated[
|
|
16
|
+
str, FieldMetadata(alias="publicUrlToken"), pydantic.Field(alias="publicUrlToken")
|
|
17
|
+
]
|
|
18
|
+
public_url: typing_extensions.Annotated[str, FieldMetadata(alias="publicUrl"), pydantic.Field(alias="publicUrl")]
|
|
19
|
+
is_published: typing_extensions.Annotated[
|
|
20
|
+
bool, FieldMetadata(alias="isPublished"), pydantic.Field(alias="isPublished")
|
|
21
|
+
]
|
|
22
|
+
customer_id: typing_extensions.Annotated[
|
|
23
|
+
typing.Optional[str], FieldMetadata(alias="customerId"), pydantic.Field(alias="customerId")
|
|
24
|
+
] = None
|
|
25
|
+
customer_name: typing_extensions.Annotated[
|
|
26
|
+
typing.Optional[str], FieldMetadata(alias="customerName"), pydantic.Field(alias="customerName")
|
|
27
|
+
] = None
|
|
28
|
+
customer_external_id: typing_extensions.Annotated[
|
|
29
|
+
typing.Optional[str], FieldMetadata(alias="customerExternalId"), pydantic.Field(alias="customerExternalId")
|
|
30
|
+
] = None
|
|
31
|
+
order_id: typing_extensions.Annotated[
|
|
32
|
+
typing.Optional[str], FieldMetadata(alias="orderId"), pydantic.Field(alias="orderId")
|
|
33
|
+
] = None
|
|
34
|
+
currency: str
|
|
35
|
+
start_date: typing_extensions.Annotated[
|
|
36
|
+
typing.Optional[dt.datetime], FieldMetadata(alias="startDate"), pydantic.Field(alias="startDate")
|
|
37
|
+
] = None
|
|
38
|
+
end_date: typing_extensions.Annotated[
|
|
39
|
+
typing.Optional[dt.datetime], FieldMetadata(alias="endDate"), pydantic.Field(alias="endDate")
|
|
40
|
+
] = None
|
|
41
|
+
total_delivered_value: typing_extensions.Annotated[
|
|
42
|
+
typing.Optional[float], FieldMetadata(alias="totalDeliveredValue"), pydantic.Field(alias="totalDeliveredValue")
|
|
43
|
+
] = None
|
|
44
|
+
created_at: typing_extensions.Annotated[
|
|
45
|
+
dt.datetime, FieldMetadata(alias="createdAt"), pydantic.Field(alias="createdAt")
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
if IS_PYDANTIC_V2:
|
|
49
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
50
|
+
else:
|
|
51
|
+
|
|
52
|
+
class Config:
|
|
53
|
+
frozen = True
|
|
54
|
+
smart_union = True
|
|
55
|
+
extra = pydantic.Extra.allow
|