paid-python 1.7.0__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.
Files changed (170) hide show
  1. {paid_python-1.7.0 → paid_python-1.7.2}/PKG-INFO +1 -1
  2. {paid_python-1.7.0 → paid_python-1.7.2}/pyproject.toml +1 -1
  3. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/__init__.py +23 -1
  4. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/checkouts/client.py +44 -0
  5. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/checkouts/raw_client.py +44 -0
  6. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/client.py +19 -0
  7. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/client_wrapper.py +2 -2
  8. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/customers/raw_client.py +44 -0
  9. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/orders/client.py +48 -0
  10. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/orders/raw_client.py +48 -0
  11. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/__init__.py +9 -0
  12. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/checkout.py +13 -0
  13. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/order.py +13 -0
  14. paid_python-1.7.2/src/paid/types/value_receipt_detail.py +64 -0
  15. paid_python-1.7.2/src/paid/types/value_receipt_list_response.py +21 -0
  16. paid_python-1.7.2/src/paid/types/value_receipt_summary.py +55 -0
  17. paid_python-1.7.2/src/paid/value_receipts/__init__.py +4 -0
  18. paid_python-1.7.2/src/paid/value_receipts/client.py +373 -0
  19. paid_python-1.7.2/src/paid/value_receipts/raw_client.py +560 -0
  20. {paid_python-1.7.0 → paid_python-1.7.2}/LICENSE +0 -0
  21. {paid_python-1.7.0 → paid_python-1.7.2}/README.md +0 -0
  22. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/checkouts/__init__.py +0 -0
  23. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/checkouts/types/__init__.py +0 -0
  24. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/checkouts/types/list_checkouts_request_status.py +0 -0
  25. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/contacts/__init__.py +0 -0
  26. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/contacts/client.py +0 -0
  27. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/contacts/raw_client.py +0 -0
  28. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/contacts/types/__init__.py +0 -0
  29. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/contacts/types/create_contact_request_roles_item.py +0 -0
  30. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/__init__.py +0 -0
  31. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/api_error.py +0 -0
  32. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/datetime_utils.py +0 -0
  33. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/file.py +0 -0
  34. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/force_multipart.py +0 -0
  35. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/http_client.py +0 -0
  36. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/http_response.py +0 -0
  37. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/http_sse/__init__.py +0 -0
  38. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/http_sse/_api.py +0 -0
  39. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/http_sse/_decoders.py +0 -0
  40. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/http_sse/_exceptions.py +0 -0
  41. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/http_sse/_models.py +0 -0
  42. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/jsonable_encoder.py +0 -0
  43. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/pydantic_utilities.py +0 -0
  44. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/query_encoder.py +0 -0
  45. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/remove_none_from_dict.py +0 -0
  46. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/request_options.py +0 -0
  47. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/core/serialization.py +0 -0
  48. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/credits/__init__.py +0 -0
  49. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/credits/client.py +0 -0
  50. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/credits/raw_client.py +0 -0
  51. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/customer_portals/__init__.py +0 -0
  52. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/customer_portals/client.py +0 -0
  53. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/customer_portals/raw_client.py +0 -0
  54. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/customers/__init__.py +0 -0
  55. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/customers/client.py +0 -0
  56. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/environment.py +0 -0
  57. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/errors/__init__.py +0 -0
  58. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/errors/bad_request_error.py +0 -0
  59. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/errors/forbidden_error.py +0 -0
  60. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/errors/internal_server_error.py +0 -0
  61. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/errors/not_found_error.py +0 -0
  62. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/invoices/__init__.py +0 -0
  63. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/invoices/client.py +0 -0
  64. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/invoices/raw_client.py +0 -0
  65. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/logger.py +0 -0
  66. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/orders/__init__.py +0 -0
  67. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/products/__init__.py +0 -0
  68. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/products/client.py +0 -0
  69. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/products/raw_client.py +0 -0
  70. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/py.typed +0 -0
  71. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/signals/__init__.py +0 -0
  72. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/signals/client.py +0 -0
  73. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/signals/raw_client.py +0 -0
  74. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/__init__.py +0 -0
  75. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/anthropic_patches/__init__.py +0 -0
  76. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/anthropic_patches/patches.py +0 -0
  77. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/autoinstrumentation.py +0 -0
  78. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/context_data.py +0 -0
  79. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/context_manager.py +0 -0
  80. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/distributed_tracing.py +0 -0
  81. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/gemini_patches/__init__.py +0 -0
  82. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/gemini_patches/patches.py +0 -0
  83. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/openai_agents_patches/__init__.py +0 -0
  84. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/openai_agents_patches/patches.py +0 -0
  85. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/openai_patches/__init__.py +0 -0
  86. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/openai_patches/patches.py +0 -0
  87. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/signal.py +0 -0
  88. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/tracing.py +0 -0
  89. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/__init__.py +0 -0
  90. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/anthropic/__init__.py +0 -0
  91. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/anthropic/anthropicWrapper.py +0 -0
  92. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/bedrock/__init__.py +0 -0
  93. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/bedrock/bedrockWrapper.py +0 -0
  94. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/gemini/__init__.py +0 -0
  95. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/gemini/geminiWrapper.py +0 -0
  96. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/langchain/__init__.py +0 -0
  97. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/langchain/paidLangChainCallback.py +0 -0
  98. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/mistral/__init__.py +0 -0
  99. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/mistral/mistralWrapper.py +0 -0
  100. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/openai/__init__.py +0 -0
  101. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/openai/openAiWrapper.py +0 -0
  102. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/openai_agents/__init__.py +0 -0
  103. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/openai_agents/openaiAgentsHook.py +0 -0
  104. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/tracing/wrappers/utils.py +0 -0
  105. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/attribution.py +0 -0
  106. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/bulk_signals_response.py +0 -0
  107. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/checkout_list_response.py +0 -0
  108. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/checkout_product.py +0 -0
  109. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/checkout_product_input.py +0 -0
  110. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/checkout_status.py +0 -0
  111. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/contact.py +0 -0
  112. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/contact_billing_address.py +0 -0
  113. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/contact_list_response.py +0 -0
  114. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/contact_roles_item.py +0 -0
  115. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request.py +0 -0
  116. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing.py +0 -0
  117. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_billing_frequency.py +0 -0
  118. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_billing_type.py +0 -0
  119. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_charge_type.py +0 -0
  120. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_credit_benefits_item.py +0 -0
  121. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_credit_benefits_item_allocation_cadence.py +0 -0
  122. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_credit_benefits_item_credit_grant_timing.py +0 -0
  123. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_credit_benefits_item_recipient.py +0 -0
  124. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_credit_benefits_item_rollover_duration_unit.py +0 -0
  125. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_price_points.py +0 -0
  126. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_price_points_tiers_item.py +0 -0
  127. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_price_points_tiers_item_tier_billing_type.py +0 -0
  128. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_pricing_model.py +0 -0
  129. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_attribute_request_pricing_signal_type.py +0 -0
  130. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/create_order_line_request.py +0 -0
  131. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/credit_balance.py +0 -0
  132. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/credit_balance_list_response.py +0 -0
  133. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/credit_balance_recipient.py +0 -0
  134. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/credit_currency.py +0 -0
  135. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/credit_currency_list_response.py +0 -0
  136. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/customer.py +0 -0
  137. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/customer_attribution.py +0 -0
  138. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/customer_billing_address.py +0 -0
  139. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/customer_by_external_id.py +0 -0
  140. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/customer_by_id.py +0 -0
  141. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/customer_creation_state.py +0 -0
  142. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/customer_list_response.py +0 -0
  143. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/customer_portal.py +0 -0
  144. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/customer_portal_status.py +0 -0
  145. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/empty_response.py +0 -0
  146. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/error_response.py +0 -0
  147. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/invoice.py +0 -0
  148. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/invoice_line.py +0 -0
  149. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/invoice_line_payment_status.py +0 -0
  150. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/invoice_lines_response.py +0 -0
  151. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/invoice_list_response.py +0 -0
  152. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/invoice_payment_status.py +0 -0
  153. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/invoice_source.py +0 -0
  154. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/invoice_status.py +0 -0
  155. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/invoice_tax_status.py +0 -0
  156. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/order_creation_state.py +0 -0
  157. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/order_line.py +0 -0
  158. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/order_lines_response.py +0 -0
  159. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/order_list_response.py +0 -0
  160. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/pagination.py +0 -0
  161. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/product.py +0 -0
  162. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/product_by_external_id.py +0 -0
  163. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/product_by_id.py +0 -0
  164. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/product_list_response.py +0 -0
  165. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/signal.py +0 -0
  166. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/update_contact_request.py +0 -0
  167. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/update_contact_request_roles_item.py +0 -0
  168. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/update_customer_request.py +0 -0
  169. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/types/update_product_request.py +0 -0
  170. {paid_python-1.7.0 → paid_python-1.7.2}/src/paid/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: paid-python
3
- Version: 1.7.0
3
+ Version: 1.7.2
4
4
  Summary:
5
5
  Requires-Python: >=3.10,<3.14
6
6
  Classifier: Intended Audience :: Developers
@@ -4,7 +4,7 @@ dynamic = ["version"]
4
4
 
5
5
  [tool.poetry]
6
6
  name = "paid-python"
7
- version = "1.7.0"
7
+ version = "1.7.2"
8
8
  description = ""
9
9
  readme = "README.md"
10
10
  authors = []
@@ -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 checkouts, contacts, credits, customer_portals, customers, invoices, orders, products, signals
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
  ]
@@ -78,9 +78,14 @@ class CheckoutsClient:
78
78
  products: typing.Sequence[CheckoutProductInput],
79
79
  success_url: str,
80
80
  customer_id: typing.Optional[str] = OMIT,
81
+ external_customer_id: typing.Optional[str] = OMIT,
81
82
  cancel_url: typing.Optional[str] = OMIT,
82
83
  expires_at: typing.Optional[dt.datetime] = OMIT,
83
84
  metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
85
+ collect_address: typing.Optional[bool] = OMIT,
86
+ collect_phone: typing.Optional[bool] = OMIT,
87
+ single_use: typing.Optional[bool] = OMIT,
88
+ currency: typing.Optional[str] = OMIT,
84
89
  request_options: typing.Optional[RequestOptions] = None,
85
90
  ) -> Checkout:
86
91
  """
@@ -94,12 +99,24 @@ class CheckoutsClient:
94
99
 
95
100
  customer_id : typing.Optional[str]
96
101
 
102
+ external_customer_id : typing.Optional[str]
103
+ External customer identifier. Creates the customer on first use, resolves to the existing customer on subsequent uses.
104
+
97
105
  cancel_url : typing.Optional[str]
98
106
 
99
107
  expires_at : typing.Optional[dt.datetime]
100
108
 
101
109
  metadata : typing.Optional[typing.Dict[str, typing.Any]]
102
110
 
111
+ collect_address : typing.Optional[bool]
112
+
113
+ collect_phone : typing.Optional[bool]
114
+
115
+ single_use : typing.Optional[bool]
116
+
117
+ currency : typing.Optional[str]
118
+ Lock checkout to a specific currency. Omit to allow all currencies supported by the selected plans.
119
+
103
120
  request_options : typing.Optional[RequestOptions]
104
121
  Request-specific configuration.
105
122
 
@@ -128,9 +145,14 @@ class CheckoutsClient:
128
145
  products=products,
129
146
  success_url=success_url,
130
147
  customer_id=customer_id,
148
+ external_customer_id=external_customer_id,
131
149
  cancel_url=cancel_url,
132
150
  expires_at=expires_at,
133
151
  metadata=metadata,
152
+ collect_address=collect_address,
153
+ collect_phone=collect_phone,
154
+ single_use=single_use,
155
+ currency=currency,
134
156
  request_options=request_options,
135
157
  )
136
158
  return _response.data
@@ -266,9 +288,14 @@ class AsyncCheckoutsClient:
266
288
  products: typing.Sequence[CheckoutProductInput],
267
289
  success_url: str,
268
290
  customer_id: typing.Optional[str] = OMIT,
291
+ external_customer_id: typing.Optional[str] = OMIT,
269
292
  cancel_url: typing.Optional[str] = OMIT,
270
293
  expires_at: typing.Optional[dt.datetime] = OMIT,
271
294
  metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
295
+ collect_address: typing.Optional[bool] = OMIT,
296
+ collect_phone: typing.Optional[bool] = OMIT,
297
+ single_use: typing.Optional[bool] = OMIT,
298
+ currency: typing.Optional[str] = OMIT,
272
299
  request_options: typing.Optional[RequestOptions] = None,
273
300
  ) -> Checkout:
274
301
  """
@@ -282,12 +309,24 @@ class AsyncCheckoutsClient:
282
309
 
283
310
  customer_id : typing.Optional[str]
284
311
 
312
+ external_customer_id : typing.Optional[str]
313
+ External customer identifier. Creates the customer on first use, resolves to the existing customer on subsequent uses.
314
+
285
315
  cancel_url : typing.Optional[str]
286
316
 
287
317
  expires_at : typing.Optional[dt.datetime]
288
318
 
289
319
  metadata : typing.Optional[typing.Dict[str, typing.Any]]
290
320
 
321
+ collect_address : typing.Optional[bool]
322
+
323
+ collect_phone : typing.Optional[bool]
324
+
325
+ single_use : typing.Optional[bool]
326
+
327
+ currency : typing.Optional[str]
328
+ Lock checkout to a specific currency. Omit to allow all currencies supported by the selected plans.
329
+
291
330
  request_options : typing.Optional[RequestOptions]
292
331
  Request-specific configuration.
293
332
 
@@ -324,9 +363,14 @@ class AsyncCheckoutsClient:
324
363
  products=products,
325
364
  success_url=success_url,
326
365
  customer_id=customer_id,
366
+ external_customer_id=external_customer_id,
327
367
  cancel_url=cancel_url,
328
368
  expires_at=expires_at,
329
369
  metadata=metadata,
370
+ collect_address=collect_address,
371
+ collect_phone=collect_phone,
372
+ single_use=single_use,
373
+ currency=currency,
330
374
  request_options=request_options,
331
375
  )
332
376
  return _response.data
@@ -121,9 +121,14 @@ class RawCheckoutsClient:
121
121
  products: typing.Sequence[CheckoutProductInput],
122
122
  success_url: str,
123
123
  customer_id: typing.Optional[str] = OMIT,
124
+ external_customer_id: typing.Optional[str] = OMIT,
124
125
  cancel_url: typing.Optional[str] = OMIT,
125
126
  expires_at: typing.Optional[dt.datetime] = OMIT,
126
127
  metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
128
+ collect_address: typing.Optional[bool] = OMIT,
129
+ collect_phone: typing.Optional[bool] = OMIT,
130
+ single_use: typing.Optional[bool] = OMIT,
131
+ currency: typing.Optional[str] = OMIT,
127
132
  request_options: typing.Optional[RequestOptions] = None,
128
133
  ) -> HttpResponse[Checkout]:
129
134
  """
@@ -137,12 +142,24 @@ class RawCheckoutsClient:
137
142
 
138
143
  customer_id : typing.Optional[str]
139
144
 
145
+ external_customer_id : typing.Optional[str]
146
+ External customer identifier. Creates the customer on first use, resolves to the existing customer on subsequent uses.
147
+
140
148
  cancel_url : typing.Optional[str]
141
149
 
142
150
  expires_at : typing.Optional[dt.datetime]
143
151
 
144
152
  metadata : typing.Optional[typing.Dict[str, typing.Any]]
145
153
 
154
+ collect_address : typing.Optional[bool]
155
+
156
+ collect_phone : typing.Optional[bool]
157
+
158
+ single_use : typing.Optional[bool]
159
+
160
+ currency : typing.Optional[str]
161
+ Lock checkout to a specific currency. Omit to allow all currencies supported by the selected plans.
162
+
146
163
  request_options : typing.Optional[RequestOptions]
147
164
  Request-specific configuration.
148
165
 
@@ -159,10 +176,15 @@ class RawCheckoutsClient:
159
176
  object_=products, annotation=typing.Sequence[CheckoutProductInput], direction="write"
160
177
  ),
161
178
  "customerId": customer_id,
179
+ "externalCustomerId": external_customer_id,
162
180
  "successUrl": success_url,
163
181
  "cancelUrl": cancel_url,
164
182
  "expiresAt": expires_at,
165
183
  "metadata": metadata,
184
+ "collectAddress": collect_address,
185
+ "collectPhone": collect_phone,
186
+ "singleUse": single_use,
187
+ "currency": currency,
166
188
  },
167
189
  headers={
168
190
  "content-type": "application/json",
@@ -467,9 +489,14 @@ class AsyncRawCheckoutsClient:
467
489
  products: typing.Sequence[CheckoutProductInput],
468
490
  success_url: str,
469
491
  customer_id: typing.Optional[str] = OMIT,
492
+ external_customer_id: typing.Optional[str] = OMIT,
470
493
  cancel_url: typing.Optional[str] = OMIT,
471
494
  expires_at: typing.Optional[dt.datetime] = OMIT,
472
495
  metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
496
+ collect_address: typing.Optional[bool] = OMIT,
497
+ collect_phone: typing.Optional[bool] = OMIT,
498
+ single_use: typing.Optional[bool] = OMIT,
499
+ currency: typing.Optional[str] = OMIT,
473
500
  request_options: typing.Optional[RequestOptions] = None,
474
501
  ) -> AsyncHttpResponse[Checkout]:
475
502
  """
@@ -483,12 +510,24 @@ class AsyncRawCheckoutsClient:
483
510
 
484
511
  customer_id : typing.Optional[str]
485
512
 
513
+ external_customer_id : typing.Optional[str]
514
+ External customer identifier. Creates the customer on first use, resolves to the existing customer on subsequent uses.
515
+
486
516
  cancel_url : typing.Optional[str]
487
517
 
488
518
  expires_at : typing.Optional[dt.datetime]
489
519
 
490
520
  metadata : typing.Optional[typing.Dict[str, typing.Any]]
491
521
 
522
+ collect_address : typing.Optional[bool]
523
+
524
+ collect_phone : typing.Optional[bool]
525
+
526
+ single_use : typing.Optional[bool]
527
+
528
+ currency : typing.Optional[str]
529
+ Lock checkout to a specific currency. Omit to allow all currencies supported by the selected plans.
530
+
492
531
  request_options : typing.Optional[RequestOptions]
493
532
  Request-specific configuration.
494
533
 
@@ -505,10 +544,15 @@ class AsyncRawCheckoutsClient:
505
544
  object_=products, annotation=typing.Sequence[CheckoutProductInput], direction="write"
506
545
  ),
507
546
  "customerId": customer_id,
547
+ "externalCustomerId": external_customer_id,
508
548
  "successUrl": success_url,
509
549
  "cancelUrl": cancel_url,
510
550
  "expiresAt": expires_at,
511
551
  "metadata": metadata,
552
+ "collectAddress": collect_address,
553
+ "collectPhone": collect_phone,
554
+ "singleUse": single_use,
555
+ "currency": currency,
512
556
  },
513
557
  headers={
514
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.0",
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.0",
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),
@@ -84,6 +84,9 @@ class OrdersClient:
84
84
  external_id: typing.Optional[str] = OMIT,
85
85
  metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
86
86
  currency: typing.Optional[str] = OMIT,
87
+ auto_post_invoices: typing.Optional[bool] = OMIT,
88
+ auto_send_billing_emails: typing.Optional[bool] = OMIT,
89
+ auto_send_payment_emails: typing.Optional[bool] = OMIT,
87
90
  lines: typing.Optional[typing.Sequence[CreateOrderLineRequest]] = OMIT,
88
91
  request_options: typing.Optional[RequestOptions] = None,
89
92
  ) -> Order:
@@ -119,6 +122,12 @@ class OrdersClient:
119
122
 
120
123
  currency : typing.Optional[str]
121
124
 
125
+ auto_post_invoices : typing.Optional[bool]
126
+
127
+ auto_send_billing_emails : typing.Optional[bool]
128
+
129
+ auto_send_payment_emails : typing.Optional[bool]
130
+
122
131
  lines : typing.Optional[typing.Sequence[CreateOrderLineRequest]]
123
132
 
124
133
  request_options : typing.Optional[RequestOptions]
@@ -154,6 +163,9 @@ class OrdersClient:
154
163
  external_id=external_id,
155
164
  metadata=metadata,
156
165
  currency=currency,
166
+ auto_post_invoices=auto_post_invoices,
167
+ auto_send_billing_emails=auto_send_billing_emails,
168
+ auto_send_payment_emails=auto_send_payment_emails,
157
169
  lines=lines,
158
170
  request_options=request_options,
159
171
  )
@@ -204,6 +216,9 @@ class OrdersClient:
204
216
  metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
205
217
  billing_customer_id: typing.Optional[str] = OMIT,
206
218
  billing_contact_ids: typing.Optional[typing.Sequence[str]] = OMIT,
219
+ auto_post_invoices: typing.Optional[bool] = OMIT,
220
+ auto_send_billing_emails: typing.Optional[bool] = OMIT,
221
+ auto_send_payment_emails: typing.Optional[bool] = OMIT,
207
222
  request_options: typing.Optional[RequestOptions] = None,
208
223
  ) -> Order:
209
224
  """
@@ -236,6 +251,12 @@ class OrdersClient:
236
251
 
237
252
  billing_contact_ids : typing.Optional[typing.Sequence[str]]
238
253
 
254
+ auto_post_invoices : typing.Optional[bool]
255
+
256
+ auto_send_billing_emails : typing.Optional[bool]
257
+
258
+ auto_send_payment_emails : typing.Optional[bool]
259
+
239
260
  request_options : typing.Optional[RequestOptions]
240
261
  Request-specific configuration.
241
262
 
@@ -268,6 +289,9 @@ class OrdersClient:
268
289
  metadata=metadata,
269
290
  billing_customer_id=billing_customer_id,
270
291
  billing_contact_ids=billing_contact_ids,
292
+ auto_post_invoices=auto_post_invoices,
293
+ auto_send_billing_emails=auto_send_billing_emails,
294
+ auto_send_payment_emails=auto_send_payment_emails,
271
295
  request_options=request_options,
272
296
  )
273
297
  return _response.data
@@ -419,6 +443,9 @@ class AsyncOrdersClient:
419
443
  external_id: typing.Optional[str] = OMIT,
420
444
  metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
421
445
  currency: typing.Optional[str] = OMIT,
446
+ auto_post_invoices: typing.Optional[bool] = OMIT,
447
+ auto_send_billing_emails: typing.Optional[bool] = OMIT,
448
+ auto_send_payment_emails: typing.Optional[bool] = OMIT,
422
449
  lines: typing.Optional[typing.Sequence[CreateOrderLineRequest]] = OMIT,
423
450
  request_options: typing.Optional[RequestOptions] = None,
424
451
  ) -> Order:
@@ -454,6 +481,12 @@ class AsyncOrdersClient:
454
481
 
455
482
  currency : typing.Optional[str]
456
483
 
484
+ auto_post_invoices : typing.Optional[bool]
485
+
486
+ auto_send_billing_emails : typing.Optional[bool]
487
+
488
+ auto_send_payment_emails : typing.Optional[bool]
489
+
457
490
  lines : typing.Optional[typing.Sequence[CreateOrderLineRequest]]
458
491
 
459
492
  request_options : typing.Optional[RequestOptions]
@@ -497,6 +530,9 @@ class AsyncOrdersClient:
497
530
  external_id=external_id,
498
531
  metadata=metadata,
499
532
  currency=currency,
533
+ auto_post_invoices=auto_post_invoices,
534
+ auto_send_billing_emails=auto_send_billing_emails,
535
+ auto_send_payment_emails=auto_send_payment_emails,
500
536
  lines=lines,
501
537
  request_options=request_options,
502
538
  )
@@ -555,6 +591,9 @@ class AsyncOrdersClient:
555
591
  metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
556
592
  billing_customer_id: typing.Optional[str] = OMIT,
557
593
  billing_contact_ids: typing.Optional[typing.Sequence[str]] = OMIT,
594
+ auto_post_invoices: typing.Optional[bool] = OMIT,
595
+ auto_send_billing_emails: typing.Optional[bool] = OMIT,
596
+ auto_send_payment_emails: typing.Optional[bool] = OMIT,
558
597
  request_options: typing.Optional[RequestOptions] = None,
559
598
  ) -> Order:
560
599
  """
@@ -587,6 +626,12 @@ class AsyncOrdersClient:
587
626
 
588
627
  billing_contact_ids : typing.Optional[typing.Sequence[str]]
589
628
 
629
+ auto_post_invoices : typing.Optional[bool]
630
+
631
+ auto_send_billing_emails : typing.Optional[bool]
632
+
633
+ auto_send_payment_emails : typing.Optional[bool]
634
+
590
635
  request_options : typing.Optional[RequestOptions]
591
636
  Request-specific configuration.
592
637
 
@@ -627,6 +672,9 @@ class AsyncOrdersClient:
627
672
  metadata=metadata,
628
673
  billing_customer_id=billing_customer_id,
629
674
  billing_contact_ids=billing_contact_ids,
675
+ auto_post_invoices=auto_post_invoices,
676
+ auto_send_billing_emails=auto_send_billing_emails,
677
+ auto_send_payment_emails=auto_send_payment_emails,
630
678
  request_options=request_options,
631
679
  )
632
680
  return _response.data