dodopayments 1.51.1__tar.gz → 1.52.4__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.

Potentially problematic release.


This version of dodopayments might be problematic. Click here for more details.

Files changed (240) hide show
  1. dodopayments-1.52.4/.release-please-manifest.json +3 -0
  2. {dodopayments-1.51.1 → dodopayments-1.52.4}/CHANGELOG.md +12 -0
  3. {dodopayments-1.51.1 → dodopayments-1.52.4}/PKG-INFO +1 -1
  4. {dodopayments-1.51.1 → dodopayments-1.52.4}/api.md +35 -1
  5. {dodopayments-1.51.1 → dodopayments-1.52.4}/pyproject.toml +1 -1
  6. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_client.py +18 -0
  7. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_utils/_transform.py +6 -0
  8. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_version.py +1 -1
  9. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/__init__.py +28 -0
  10. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/discounts.py +6 -6
  11. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/invoices/payments.py +80 -0
  12. dodopayments-1.52.4/src/dodopayments/resources/meters.py +554 -0
  13. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/products/products.py +16 -16
  14. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/subscriptions.py +223 -0
  15. dodopayments-1.52.4/src/dodopayments/resources/usage_events.py +597 -0
  16. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/__init__.py +20 -0
  17. dodopayments-1.52.4/src/dodopayments/types/add_meter_to_price.py +29 -0
  18. dodopayments-1.52.4/src/dodopayments/types/add_meter_to_price_param.py +30 -0
  19. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/discount_create_params.py +3 -2
  20. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/discount_update_params.py +3 -2
  21. dodopayments-1.52.4/src/dodopayments/types/event.py +26 -0
  22. dodopayments-1.52.4/src/dodopayments/types/event_input_param.py +38 -0
  23. dodopayments-1.52.4/src/dodopayments/types/meter.py +40 -0
  24. dodopayments-1.52.4/src/dodopayments/types/meter_aggregation.py +16 -0
  25. dodopayments-1.52.4/src/dodopayments/types/meter_aggregation_param.py +16 -0
  26. dodopayments-1.52.4/src/dodopayments/types/meter_create_params.py +31 -0
  27. dodopayments-1.52.4/src/dodopayments/types/meter_filter.py +131 -0
  28. dodopayments-1.52.4/src/dodopayments/types/meter_filter_param.py +143 -0
  29. dodopayments-1.52.4/src/dodopayments/types/meter_list_params.py +18 -0
  30. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/payment.py +6 -0
  31. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/price.py +52 -5
  32. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/price_param.py +52 -5
  33. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/product_create_params.py +3 -2
  34. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/product_update_params.py +4 -3
  35. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/subscription.py +20 -1
  36. dodopayments-1.52.4/src/dodopayments/types/subscription_retrieve_usage_history_params.py +28 -0
  37. dodopayments-1.52.4/src/dodopayments/types/subscription_retrieve_usage_history_response.py +46 -0
  38. dodopayments-1.52.4/src/dodopayments/types/usage_event_ingest_params.py +15 -0
  39. dodopayments-1.52.4/src/dodopayments/types/usage_event_ingest_response.py +9 -0
  40. dodopayments-1.52.4/src/dodopayments/types/usage_event_list_params.py +42 -0
  41. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/invoices/test_payments.py +102 -0
  42. dodopayments-1.52.4/tests/api_resources/test_meters.py +459 -0
  43. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_products.py +16 -16
  44. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_subscriptions.py +121 -0
  45. dodopayments-1.52.4/tests/api_resources/test_usage_events.py +276 -0
  46. dodopayments-1.51.1/.release-please-manifest.json +0 -3
  47. {dodopayments-1.51.1 → dodopayments-1.52.4}/.gitignore +0 -0
  48. {dodopayments-1.51.1 → dodopayments-1.52.4}/CONTRIBUTING.md +0 -0
  49. {dodopayments-1.51.1 → dodopayments-1.52.4}/LICENSE +0 -0
  50. {dodopayments-1.51.1 → dodopayments-1.52.4}/README.md +0 -0
  51. {dodopayments-1.51.1 → dodopayments-1.52.4}/SECURITY.md +0 -0
  52. {dodopayments-1.51.1 → dodopayments-1.52.4}/bin/check-release-environment +0 -0
  53. {dodopayments-1.51.1 → dodopayments-1.52.4}/bin/publish-pypi +0 -0
  54. {dodopayments-1.51.1 → dodopayments-1.52.4}/examples/.keep +0 -0
  55. {dodopayments-1.51.1 → dodopayments-1.52.4}/mypy.ini +0 -0
  56. {dodopayments-1.51.1 → dodopayments-1.52.4}/noxfile.py +0 -0
  57. {dodopayments-1.51.1 → dodopayments-1.52.4}/release-please-config.json +0 -0
  58. {dodopayments-1.51.1 → dodopayments-1.52.4}/requirements-dev.lock +0 -0
  59. {dodopayments-1.51.1 → dodopayments-1.52.4}/requirements.lock +0 -0
  60. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodo_payments/lib/.keep +0 -0
  61. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/__init__.py +0 -0
  62. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_base_client.py +0 -0
  63. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_compat.py +0 -0
  64. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_constants.py +0 -0
  65. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_exceptions.py +0 -0
  66. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_files.py +0 -0
  67. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_models.py +0 -0
  68. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_qs.py +0 -0
  69. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_resource.py +0 -0
  70. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_response.py +0 -0
  71. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_streaming.py +0 -0
  72. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_types.py +0 -0
  73. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_utils/__init__.py +0 -0
  74. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_utils/_logs.py +0 -0
  75. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_utils/_proxy.py +0 -0
  76. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_utils/_reflection.py +0 -0
  77. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_utils/_resources_proxy.py +0 -0
  78. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_utils/_streams.py +0 -0
  79. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_utils/_sync.py +0 -0
  80. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_utils/_typing.py +0 -0
  81. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/_utils/_utils.py +0 -0
  82. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/lib/.keep +0 -0
  83. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/pagination.py +0 -0
  84. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/py.typed +0 -0
  85. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/addons.py +0 -0
  86. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/brands.py +0 -0
  87. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/checkout_sessions.py +0 -0
  88. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/customers/__init__.py +0 -0
  89. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/customers/customer_portal.py +0 -0
  90. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/customers/customers.py +0 -0
  91. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/disputes.py +0 -0
  92. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/invoices/__init__.py +0 -0
  93. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/invoices/invoices.py +0 -0
  94. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/license_key_instances.py +0 -0
  95. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/license_keys.py +0 -0
  96. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/licenses.py +0 -0
  97. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/misc.py +0 -0
  98. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/payments.py +0 -0
  99. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/payouts.py +0 -0
  100. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/products/__init__.py +0 -0
  101. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/products/images.py +0 -0
  102. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/refunds.py +0 -0
  103. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/webhooks/__init__.py +0 -0
  104. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/webhooks/headers.py +0 -0
  105. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/resources/webhooks/webhooks.py +0 -0
  106. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/addon_cart_response_item.py +0 -0
  107. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/addon_create_params.py +0 -0
  108. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/addon_list_params.py +0 -0
  109. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/addon_response.py +0 -0
  110. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/addon_update_images_response.py +0 -0
  111. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/addon_update_params.py +0 -0
  112. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/attach_addon_param.py +0 -0
  113. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/attach_existing_customer_param.py +0 -0
  114. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/billing_address.py +0 -0
  115. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/billing_address_param.py +0 -0
  116. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/brand.py +0 -0
  117. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/brand_create_params.py +0 -0
  118. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/brand_list_response.py +0 -0
  119. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/brand_update_images_response.py +0 -0
  120. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/brand_update_params.py +0 -0
  121. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/checkout_session_create_params.py +0 -0
  122. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/checkout_session_response.py +0 -0
  123. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/country_code.py +0 -0
  124. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/currency.py +0 -0
  125. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/customer.py +0 -0
  126. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/customer_create_params.py +0 -0
  127. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/customer_limited_details.py +0 -0
  128. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/customer_list_params.py +0 -0
  129. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/customer_portal_session.py +0 -0
  130. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/customer_request_param.py +0 -0
  131. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/customer_update_params.py +0 -0
  132. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/customers/__init__.py +0 -0
  133. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/customers/customer_portal_create_params.py +0 -0
  134. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/discount.py +0 -0
  135. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/discount_list_params.py +0 -0
  136. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/discount_type.py +0 -0
  137. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/dispute.py +0 -0
  138. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/dispute_list_params.py +0 -0
  139. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/dispute_list_response.py +0 -0
  140. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/dispute_stage.py +0 -0
  141. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/dispute_status.py +0 -0
  142. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/get_dispute.py +0 -0
  143. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/intent_status.py +0 -0
  144. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/invoices/__init__.py +0 -0
  145. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/license_activate_params.py +0 -0
  146. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/license_deactivate_params.py +0 -0
  147. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/license_key.py +0 -0
  148. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/license_key_duration.py +0 -0
  149. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/license_key_duration_param.py +0 -0
  150. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/license_key_instance.py +0 -0
  151. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/license_key_instance_list_params.py +0 -0
  152. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/license_key_instance_update_params.py +0 -0
  153. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/license_key_list_params.py +0 -0
  154. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/license_key_status.py +0 -0
  155. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/license_key_update_params.py +0 -0
  156. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/license_validate_params.py +0 -0
  157. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/license_validate_response.py +0 -0
  158. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/misc_list_supported_countries_response.py +0 -0
  159. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/new_customer_param.py +0 -0
  160. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/on_demand_subscription_param.py +0 -0
  161. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/one_time_product_cart_item.py +0 -0
  162. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/one_time_product_cart_item_param.py +0 -0
  163. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/payment_create_params.py +0 -0
  164. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/payment_create_response.py +0 -0
  165. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/payment_list_params.py +0 -0
  166. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/payment_list_response.py +0 -0
  167. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/payment_method_types.py +0 -0
  168. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/payment_retrieve_line_items_response.py +0 -0
  169. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/payout_list_params.py +0 -0
  170. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/payout_list_response.py +0 -0
  171. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/product.py +0 -0
  172. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/product_list_params.py +0 -0
  173. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/product_list_response.py +0 -0
  174. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/product_update_files_params.py +0 -0
  175. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/product_update_files_response.py +0 -0
  176. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/products/__init__.py +0 -0
  177. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/products/image_update_params.py +0 -0
  178. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/products/image_update_response.py +0 -0
  179. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/refund.py +0 -0
  180. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/refund_create_params.py +0 -0
  181. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/refund_list_params.py +0 -0
  182. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/refund_status.py +0 -0
  183. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/subscription_change_plan_params.py +0 -0
  184. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/subscription_charge_params.py +0 -0
  185. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/subscription_charge_response.py +0 -0
  186. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/subscription_create_params.py +0 -0
  187. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/subscription_create_response.py +0 -0
  188. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/subscription_list_params.py +0 -0
  189. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/subscription_list_response.py +0 -0
  190. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/subscription_status.py +0 -0
  191. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/subscription_update_params.py +0 -0
  192. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/tax_category.py +0 -0
  193. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/time_interval.py +0 -0
  194. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/webhook_create_params.py +0 -0
  195. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/webhook_details.py +0 -0
  196. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/webhook_event_type.py +0 -0
  197. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/webhook_list_params.py +0 -0
  198. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/webhook_retrieve_secret_response.py +0 -0
  199. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/webhook_update_params.py +0 -0
  200. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/webhooks/__init__.py +0 -0
  201. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/webhooks/header_retrieve_response.py +0 -0
  202. {dodopayments-1.51.1 → dodopayments-1.52.4}/src/dodopayments/types/webhooks/header_update_params.py +0 -0
  203. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/__init__.py +0 -0
  204. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/__init__.py +0 -0
  205. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/customers/__init__.py +0 -0
  206. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/customers/test_customer_portal.py +0 -0
  207. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/invoices/__init__.py +0 -0
  208. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/products/__init__.py +0 -0
  209. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/products/test_images.py +0 -0
  210. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_addons.py +0 -0
  211. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_brands.py +0 -0
  212. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_checkout_sessions.py +0 -0
  213. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_customers.py +0 -0
  214. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_discounts.py +0 -0
  215. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_disputes.py +0 -0
  216. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_license_key_instances.py +0 -0
  217. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_license_keys.py +0 -0
  218. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_licenses.py +0 -0
  219. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_misc.py +0 -0
  220. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_payments.py +0 -0
  221. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_payouts.py +0 -0
  222. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_refunds.py +0 -0
  223. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/test_webhooks.py +0 -0
  224. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/webhooks/__init__.py +0 -0
  225. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/api_resources/webhooks/test_headers.py +0 -0
  226. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/conftest.py +0 -0
  227. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/sample_file.txt +0 -0
  228. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/test_client.py +0 -0
  229. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/test_deepcopy.py +0 -0
  230. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/test_extract_files.py +0 -0
  231. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/test_files.py +0 -0
  232. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/test_models.py +0 -0
  233. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/test_qs.py +0 -0
  234. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/test_required_args.py +0 -0
  235. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/test_response.py +0 -0
  236. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/test_streaming.py +0 -0
  237. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/test_transform.py +0 -0
  238. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/test_utils/test_proxy.py +0 -0
  239. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/test_utils/test_typing.py +0 -0
  240. {dodopayments-1.51.1 → dodopayments-1.52.4}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.52.4"
3
+ }
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.52.4 (2025-09-03)
4
+
5
+ Full Changelog: [v1.51.1...v1.52.4](https://github.com/dodopayments/dodopayments-python/compare/v1.51.1...v1.52.4)
6
+
7
+ ### Features
8
+
9
+ * **api:** manual updates ([c7a7380](https://github.com/dodopayments/dodopayments-python/commit/c7a7380d715423f969d5cff24862ec38258d42f2))
10
+ * **api:** updated openapi spec ([dfc4ad4](https://github.com/dodopayments/dodopayments-python/commit/dfc4ad4c1920f57f9fe4e7629caaa1eab72913bf))
11
+ * **api:** updated openapi spec to v1.52.4 ([e0ca092](https://github.com/dodopayments/dodopayments-python/commit/e0ca0926d8093b5e65b24ed7a0306872d372ea0a))
12
+ * **types:** replace List[str] with SequenceNotStr in params ([42cf186](https://github.com/dodopayments/dodopayments-python/commit/42cf186779ff891c84db5bd1b8e888870d358697))
13
+ * updated openapi spec and added model and API functions for Usage Based Billing ([3c62736](https://github.com/dodopayments/dodopayments-python/commit/3c6273618b0c453aaa82df3aa97dbb3e2ae06ca4))
14
+
3
15
  ## 1.51.1 (2025-08-30)
4
16
 
5
17
  Full Changelog: [v1.51.0...v1.51.1](https://github.com/dodopayments/dodopayments-python/compare/v1.51.0...v1.51.1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dodopayments
3
- Version: 1.51.1
3
+ Version: 1.52.4
4
4
  Summary: The official Python library for the Dodo Payments API
5
5
  Project-URL: Homepage, https://github.com/dodopayments/dodopayments-python
6
6
  Project-URL: Repository, https://github.com/dodopayments/dodopayments-python
@@ -54,6 +54,7 @@ from dodopayments.types import (
54
54
  SubscriptionCreateResponse,
55
55
  SubscriptionListResponse,
56
56
  SubscriptionChargeResponse,
57
+ SubscriptionRetrieveUsageHistoryResponse,
57
58
  )
58
59
  ```
59
60
 
@@ -65,6 +66,7 @@ Methods:
65
66
  - <code title="get /subscriptions">client.subscriptions.<a href="./src/dodopayments/resources/subscriptions.py">list</a>(\*\*<a href="src/dodopayments/types/subscription_list_params.py">params</a>) -> <a href="./src/dodopayments/types/subscription_list_response.py">SyncDefaultPageNumberPagination[SubscriptionListResponse]</a></code>
66
67
  - <code title="post /subscriptions/{subscription_id}/change-plan">client.subscriptions.<a href="./src/dodopayments/resources/subscriptions.py">change_plan</a>(subscription_id, \*\*<a href="src/dodopayments/types/subscription_change_plan_params.py">params</a>) -> None</code>
67
68
  - <code title="post /subscriptions/{subscription_id}/charge">client.subscriptions.<a href="./src/dodopayments/resources/subscriptions.py">charge</a>(subscription_id, \*\*<a href="src/dodopayments/types/subscription_charge_params.py">params</a>) -> <a href="./src/dodopayments/types/subscription_charge_response.py">SubscriptionChargeResponse</a></code>
69
+ - <code title="get /subscriptions/{subscription_id}/usage-history">client.subscriptions.<a href="./src/dodopayments/resources/subscriptions.py">retrieve_usage_history</a>(subscription_id, \*\*<a href="src/dodopayments/types/subscription_retrieve_usage_history_params.py">params</a>) -> <a href="./src/dodopayments/types/subscription_retrieve_usage_history_response.py">SyncDefaultPageNumberPagination[SubscriptionRetrieveUsageHistoryResponse]</a></code>
68
70
 
69
71
  # Invoices
70
72
 
@@ -73,6 +75,7 @@ Methods:
73
75
  Methods:
74
76
 
75
77
  - <code title="get /invoices/payments/{payment_id}">client.invoices.payments.<a href="./src/dodopayments/resources/invoices/payments.py">retrieve</a>(payment_id) -> BinaryAPIResponse</code>
78
+ - <code title="get /invoices/refunds/{refund_id}">client.invoices.payments.<a href="./src/dodopayments/resources/invoices/payments.py">retrieve_refund</a>(refund_id) -> BinaryAPIResponse</code>
76
79
 
77
80
  # Licenses
78
81
 
@@ -190,6 +193,7 @@ Types:
190
193
 
191
194
  ```python
192
195
  from dodopayments.types import (
196
+ AddMeterToPrice,
193
197
  LicenseKeyDuration,
194
198
  Price,
195
199
  Product,
@@ -204,7 +208,7 @@ Methods:
204
208
  - <code title="get /products/{id}">client.products.<a href="./src/dodopayments/resources/products/products.py">retrieve</a>(id) -> <a href="./src/dodopayments/types/product.py">Product</a></code>
205
209
  - <code title="patch /products/{id}">client.products.<a href="./src/dodopayments/resources/products/products.py">update</a>(id, \*\*<a href="src/dodopayments/types/product_update_params.py">params</a>) -> None</code>
206
210
  - <code title="get /products">client.products.<a href="./src/dodopayments/resources/products/products.py">list</a>(\*\*<a href="src/dodopayments/types/product_list_params.py">params</a>) -> <a href="./src/dodopayments/types/product_list_response.py">SyncDefaultPageNumberPagination[ProductListResponse]</a></code>
207
- - <code title="delete /products/{id}">client.products.<a href="./src/dodopayments/resources/products/products.py">delete</a>(id) -> None</code>
211
+ - <code title="delete /products/{id}">client.products.<a href="./src/dodopayments/resources/products/products.py">archive</a>(id) -> None</code>
208
212
  - <code title="post /products/{id}/unarchive">client.products.<a href="./src/dodopayments/resources/products/products.py">unarchive</a>(id) -> None</code>
209
213
  - <code title="put /products/{id}/files">client.products.<a href="./src/dodopayments/resources/products/products.py">update_files</a>(id, \*\*<a href="src/dodopayments/types/product_update_files_params.py">params</a>) -> <a href="./src/dodopayments/types/product_update_files_response.py">ProductUpdateFilesResponse</a></code>
210
214
 
@@ -314,3 +318,33 @@ Methods:
314
318
 
315
319
  - <code title="get /webhooks/{webhook_id}/headers">client.webhooks.headers.<a href="./src/dodopayments/resources/webhooks/headers.py">retrieve</a>(webhook_id) -> <a href="./src/dodopayments/types/webhooks/header_retrieve_response.py">HeaderRetrieveResponse</a></code>
316
320
  - <code title="patch /webhooks/{webhook_id}/headers">client.webhooks.headers.<a href="./src/dodopayments/resources/webhooks/headers.py">update</a>(webhook_id, \*\*<a href="src/dodopayments/types/webhooks/header_update_params.py">params</a>) -> None</code>
321
+
322
+ # UsageEvents
323
+
324
+ Types:
325
+
326
+ ```python
327
+ from dodopayments.types import Event, EventInput, UsageEventIngestResponse
328
+ ```
329
+
330
+ Methods:
331
+
332
+ - <code title="get /events/{event_id}">client.usage_events.<a href="./src/dodopayments/resources/usage_events.py">retrieve</a>(event_id) -> <a href="./src/dodopayments/types/event.py">Event</a></code>
333
+ - <code title="get /events">client.usage_events.<a href="./src/dodopayments/resources/usage_events.py">list</a>(\*\*<a href="src/dodopayments/types/usage_event_list_params.py">params</a>) -> <a href="./src/dodopayments/types/event.py">SyncDefaultPageNumberPagination[Event]</a></code>
334
+ - <code title="post /events/ingest">client.usage_events.<a href="./src/dodopayments/resources/usage_events.py">ingest</a>(\*\*<a href="src/dodopayments/types/usage_event_ingest_params.py">params</a>) -> <a href="./src/dodopayments/types/usage_event_ingest_response.py">UsageEventIngestResponse</a></code>
335
+
336
+ # Meters
337
+
338
+ Types:
339
+
340
+ ```python
341
+ from dodopayments.types import Meter, MeterAggregation, MeterFilter
342
+ ```
343
+
344
+ Methods:
345
+
346
+ - <code title="post /meters">client.meters.<a href="./src/dodopayments/resources/meters.py">create</a>(\*\*<a href="src/dodopayments/types/meter_create_params.py">params</a>) -> <a href="./src/dodopayments/types/meter.py">Meter</a></code>
347
+ - <code title="get /meters/{id}">client.meters.<a href="./src/dodopayments/resources/meters.py">retrieve</a>(id) -> <a href="./src/dodopayments/types/meter.py">Meter</a></code>
348
+ - <code title="get /meters">client.meters.<a href="./src/dodopayments/resources/meters.py">list</a>(\*\*<a href="src/dodopayments/types/meter_list_params.py">params</a>) -> <a href="./src/dodopayments/types/meter.py">SyncDefaultPageNumberPagination[Meter]</a></code>
349
+ - <code title="delete /meters/{id}">client.meters.<a href="./src/dodopayments/resources/meters.py">archive</a>(id) -> None</code>
350
+ - <code title="post /meters/{id}/unarchive">client.meters.<a href="./src/dodopayments/resources/meters.py">unarchive</a>(id) -> None</code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dodopayments"
3
- version = "1.51.1"
3
+ version = "1.52.4"
4
4
  description = "The official Python library for the Dodo Payments API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -25,6 +25,7 @@ from .resources import (
25
25
  misc,
26
26
  addons,
27
27
  brands,
28
+ meters,
28
29
  payouts,
29
30
  refunds,
30
31
  disputes,
@@ -32,6 +33,7 @@ from .resources import (
32
33
  payments,
33
34
  discounts,
34
35
  license_keys,
36
+ usage_events,
35
37
  subscriptions,
36
38
  checkout_sessions,
37
39
  license_key_instances,
@@ -84,6 +86,8 @@ class DodoPayments(SyncAPIClient):
84
86
  addons: addons.AddonsResource
85
87
  brands: brands.BrandsResource
86
88
  webhooks: webhooks.WebhooksResource
89
+ usage_events: usage_events.UsageEventsResource
90
+ meters: meters.MetersResource
87
91
  with_raw_response: DodoPaymentsWithRawResponse
88
92
  with_streaming_response: DodoPaymentsWithStreamedResponse
89
93
 
@@ -182,6 +186,8 @@ class DodoPayments(SyncAPIClient):
182
186
  self.addons = addons.AddonsResource(self)
183
187
  self.brands = brands.BrandsResource(self)
184
188
  self.webhooks = webhooks.WebhooksResource(self)
189
+ self.usage_events = usage_events.UsageEventsResource(self)
190
+ self.meters = meters.MetersResource(self)
185
191
  self.with_raw_response = DodoPaymentsWithRawResponse(self)
186
192
  self.with_streaming_response = DodoPaymentsWithStreamedResponse(self)
187
193
 
@@ -310,6 +316,8 @@ class AsyncDodoPayments(AsyncAPIClient):
310
316
  addons: addons.AsyncAddonsResource
311
317
  brands: brands.AsyncBrandsResource
312
318
  webhooks: webhooks.AsyncWebhooksResource
319
+ usage_events: usage_events.AsyncUsageEventsResource
320
+ meters: meters.AsyncMetersResource
313
321
  with_raw_response: AsyncDodoPaymentsWithRawResponse
314
322
  with_streaming_response: AsyncDodoPaymentsWithStreamedResponse
315
323
 
@@ -408,6 +416,8 @@ class AsyncDodoPayments(AsyncAPIClient):
408
416
  self.addons = addons.AsyncAddonsResource(self)
409
417
  self.brands = brands.AsyncBrandsResource(self)
410
418
  self.webhooks = webhooks.AsyncWebhooksResource(self)
419
+ self.usage_events = usage_events.AsyncUsageEventsResource(self)
420
+ self.meters = meters.AsyncMetersResource(self)
411
421
  self.with_raw_response = AsyncDodoPaymentsWithRawResponse(self)
412
422
  self.with_streaming_response = AsyncDodoPaymentsWithStreamedResponse(self)
413
423
 
@@ -539,6 +549,8 @@ class DodoPaymentsWithRawResponse:
539
549
  self.addons = addons.AddonsResourceWithRawResponse(client.addons)
540
550
  self.brands = brands.BrandsResourceWithRawResponse(client.brands)
541
551
  self.webhooks = webhooks.WebhooksResourceWithRawResponse(client.webhooks)
552
+ self.usage_events = usage_events.UsageEventsResourceWithRawResponse(client.usage_events)
553
+ self.meters = meters.MetersResourceWithRawResponse(client.meters)
542
554
 
543
555
 
544
556
  class AsyncDodoPaymentsWithRawResponse:
@@ -564,6 +576,8 @@ class AsyncDodoPaymentsWithRawResponse:
564
576
  self.addons = addons.AsyncAddonsResourceWithRawResponse(client.addons)
565
577
  self.brands = brands.AsyncBrandsResourceWithRawResponse(client.brands)
566
578
  self.webhooks = webhooks.AsyncWebhooksResourceWithRawResponse(client.webhooks)
579
+ self.usage_events = usage_events.AsyncUsageEventsResourceWithRawResponse(client.usage_events)
580
+ self.meters = meters.AsyncMetersResourceWithRawResponse(client.meters)
567
581
 
568
582
 
569
583
  class DodoPaymentsWithStreamedResponse:
@@ -589,6 +603,8 @@ class DodoPaymentsWithStreamedResponse:
589
603
  self.addons = addons.AddonsResourceWithStreamingResponse(client.addons)
590
604
  self.brands = brands.BrandsResourceWithStreamingResponse(client.brands)
591
605
  self.webhooks = webhooks.WebhooksResourceWithStreamingResponse(client.webhooks)
606
+ self.usage_events = usage_events.UsageEventsResourceWithStreamingResponse(client.usage_events)
607
+ self.meters = meters.MetersResourceWithStreamingResponse(client.meters)
592
608
 
593
609
 
594
610
  class AsyncDodoPaymentsWithStreamedResponse:
@@ -614,6 +630,8 @@ class AsyncDodoPaymentsWithStreamedResponse:
614
630
  self.addons = addons.AsyncAddonsResourceWithStreamingResponse(client.addons)
615
631
  self.brands = brands.AsyncBrandsResourceWithStreamingResponse(client.brands)
616
632
  self.webhooks = webhooks.AsyncWebhooksResourceWithStreamingResponse(client.webhooks)
633
+ self.usage_events = usage_events.AsyncUsageEventsResourceWithStreamingResponse(client.usage_events)
634
+ self.meters = meters.AsyncMetersResourceWithStreamingResponse(client.meters)
617
635
 
618
636
 
619
637
  Client = DodoPayments
@@ -16,6 +16,7 @@ from ._utils import (
16
16
  lru_cache,
17
17
  is_mapping,
18
18
  is_iterable,
19
+ is_sequence,
19
20
  )
20
21
  from .._files import is_base64_file_input
21
22
  from ._typing import (
@@ -24,6 +25,7 @@ from ._typing import (
24
25
  extract_type_arg,
25
26
  is_iterable_type,
26
27
  is_required_type,
28
+ is_sequence_type,
27
29
  is_annotated_type,
28
30
  strip_annotated_type,
29
31
  )
@@ -184,6 +186,8 @@ def _transform_recursive(
184
186
  (is_list_type(stripped_type) and is_list(data))
185
187
  # Iterable[T]
186
188
  or (is_iterable_type(stripped_type) and is_iterable(data) and not isinstance(data, str))
189
+ # Sequence[T]
190
+ or (is_sequence_type(stripped_type) and is_sequence(data) and not isinstance(data, str))
187
191
  ):
188
192
  # dicts are technically iterable, but it is an iterable on the keys of the dict and is not usually
189
193
  # intended as an iterable, so we don't transform it.
@@ -346,6 +350,8 @@ async def _async_transform_recursive(
346
350
  (is_list_type(stripped_type) and is_list(data))
347
351
  # Iterable[T]
348
352
  or (is_iterable_type(stripped_type) and is_iterable(data) and not isinstance(data, str))
353
+ # Sequence[T]
354
+ or (is_sequence_type(stripped_type) and is_sequence(data) and not isinstance(data, str))
349
355
  ):
350
356
  # dicts are technically iterable, but it is an iterable on the keys of the dict and is not usually
351
357
  # intended as an iterable, so we don't transform it.
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "dodopayments"
4
- __version__ = "1.51.1" # x-release-please-version
4
+ __version__ = "1.52.4" # x-release-please-version
@@ -24,6 +24,14 @@ from .brands import (
24
24
  BrandsResourceWithStreamingResponse,
25
25
  AsyncBrandsResourceWithStreamingResponse,
26
26
  )
27
+ from .meters import (
28
+ MetersResource,
29
+ AsyncMetersResource,
30
+ MetersResourceWithRawResponse,
31
+ AsyncMetersResourceWithRawResponse,
32
+ MetersResourceWithStreamingResponse,
33
+ AsyncMetersResourceWithStreamingResponse,
34
+ )
27
35
  from .payouts import (
28
36
  PayoutsResource,
29
37
  AsyncPayoutsResource,
@@ -112,6 +120,14 @@ from .license_keys import (
112
120
  LicenseKeysResourceWithStreamingResponse,
113
121
  AsyncLicenseKeysResourceWithStreamingResponse,
114
122
  )
123
+ from .usage_events import (
124
+ UsageEventsResource,
125
+ AsyncUsageEventsResource,
126
+ UsageEventsResourceWithRawResponse,
127
+ AsyncUsageEventsResourceWithRawResponse,
128
+ UsageEventsResourceWithStreamingResponse,
129
+ AsyncUsageEventsResourceWithStreamingResponse,
130
+ )
115
131
  from .subscriptions import (
116
132
  SubscriptionsResource,
117
133
  AsyncSubscriptionsResource,
@@ -240,4 +256,16 @@ __all__ = [
240
256
  "AsyncWebhooksResourceWithRawResponse",
241
257
  "WebhooksResourceWithStreamingResponse",
242
258
  "AsyncWebhooksResourceWithStreamingResponse",
259
+ "UsageEventsResource",
260
+ "AsyncUsageEventsResource",
261
+ "UsageEventsResourceWithRawResponse",
262
+ "AsyncUsageEventsResourceWithRawResponse",
263
+ "UsageEventsResourceWithStreamingResponse",
264
+ "AsyncUsageEventsResourceWithStreamingResponse",
265
+ "MetersResource",
266
+ "AsyncMetersResource",
267
+ "MetersResourceWithRawResponse",
268
+ "AsyncMetersResourceWithRawResponse",
269
+ "MetersResourceWithStreamingResponse",
270
+ "AsyncMetersResourceWithStreamingResponse",
243
271
  ]
@@ -2,13 +2,13 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Union, Optional
5
+ from typing import Union, Optional
6
6
  from datetime import datetime
7
7
 
8
8
  import httpx
9
9
 
10
10
  from ..types import DiscountType, discount_list_params, discount_create_params, discount_update_params
11
- from .._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
11
+ from .._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven, SequenceNotStr
12
12
  from .._utils import maybe_transform, async_maybe_transform
13
13
  from .._compat import cached_property
14
14
  from .._resource import SyncAPIResource, AsyncAPIResource
@@ -54,7 +54,7 @@ class DiscountsResource(SyncAPIResource):
54
54
  code: Optional[str] | NotGiven = NOT_GIVEN,
55
55
  expires_at: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
56
56
  name: Optional[str] | NotGiven = NOT_GIVEN,
57
- restricted_to: Optional[List[str]] | NotGiven = NOT_GIVEN,
57
+ restricted_to: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
58
58
  subscription_cycles: Optional[int] | NotGiven = NOT_GIVEN,
59
59
  usage_limit: Optional[int] | NotGiven = NOT_GIVEN,
60
60
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -165,7 +165,7 @@ class DiscountsResource(SyncAPIResource):
165
165
  code: Optional[str] | NotGiven = NOT_GIVEN,
166
166
  expires_at: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
167
167
  name: Optional[str] | NotGiven = NOT_GIVEN,
168
- restricted_to: Optional[List[str]] | NotGiven = NOT_GIVEN,
168
+ restricted_to: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
169
169
  subscription_cycles: Optional[int] | NotGiven = NOT_GIVEN,
170
170
  type: Optional[DiscountType] | NotGiven = NOT_GIVEN,
171
171
  usage_limit: Optional[int] | NotGiven = NOT_GIVEN,
@@ -341,7 +341,7 @@ class AsyncDiscountsResource(AsyncAPIResource):
341
341
  code: Optional[str] | NotGiven = NOT_GIVEN,
342
342
  expires_at: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
343
343
  name: Optional[str] | NotGiven = NOT_GIVEN,
344
- restricted_to: Optional[List[str]] | NotGiven = NOT_GIVEN,
344
+ restricted_to: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
345
345
  subscription_cycles: Optional[int] | NotGiven = NOT_GIVEN,
346
346
  usage_limit: Optional[int] | NotGiven = NOT_GIVEN,
347
347
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -452,7 +452,7 @@ class AsyncDiscountsResource(AsyncAPIResource):
452
452
  code: Optional[str] | NotGiven = NOT_GIVEN,
453
453
  expires_at: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
454
454
  name: Optional[str] | NotGiven = NOT_GIVEN,
455
- restricted_to: Optional[List[str]] | NotGiven = NOT_GIVEN,
455
+ restricted_to: Optional[SequenceNotStr[str]] | NotGiven = NOT_GIVEN,
456
456
  subscription_cycles: Optional[int] | NotGiven = NOT_GIVEN,
457
457
  type: Optional[DiscountType] | NotGiven = NOT_GIVEN,
458
458
  usage_limit: Optional[int] | NotGiven = NOT_GIVEN,
@@ -74,6 +74,38 @@ class PaymentsResource(SyncAPIResource):
74
74
  cast_to=BinaryAPIResponse,
75
75
  )
76
76
 
77
+ def retrieve_refund(
78
+ self,
79
+ refund_id: str,
80
+ *,
81
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
82
+ # The extra values given here take precedence over values defined on the client or passed to this method.
83
+ extra_headers: Headers | None = None,
84
+ extra_query: Query | None = None,
85
+ extra_body: Body | None = None,
86
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
87
+ ) -> BinaryAPIResponse:
88
+ """
89
+ Args:
90
+ extra_headers: Send extra headers
91
+
92
+ extra_query: Add additional query parameters to the request
93
+
94
+ extra_body: Add additional JSON properties to the request
95
+
96
+ timeout: Override the client-level default timeout for this request, in seconds
97
+ """
98
+ if not refund_id:
99
+ raise ValueError(f"Expected a non-empty value for `refund_id` but received {refund_id!r}")
100
+ extra_headers = {"Accept": "application/pdf", **(extra_headers or {})}
101
+ return self._get(
102
+ f"/invoices/refunds/{refund_id}",
103
+ options=make_request_options(
104
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
105
+ ),
106
+ cast_to=BinaryAPIResponse,
107
+ )
108
+
77
109
 
78
110
  class AsyncPaymentsResource(AsyncAPIResource):
79
111
  @cached_property
@@ -127,6 +159,38 @@ class AsyncPaymentsResource(AsyncAPIResource):
127
159
  cast_to=AsyncBinaryAPIResponse,
128
160
  )
129
161
 
162
+ async def retrieve_refund(
163
+ self,
164
+ refund_id: str,
165
+ *,
166
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
167
+ # The extra values given here take precedence over values defined on the client or passed to this method.
168
+ extra_headers: Headers | None = None,
169
+ extra_query: Query | None = None,
170
+ extra_body: Body | None = None,
171
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
172
+ ) -> AsyncBinaryAPIResponse:
173
+ """
174
+ Args:
175
+ extra_headers: Send extra headers
176
+
177
+ extra_query: Add additional query parameters to the request
178
+
179
+ extra_body: Add additional JSON properties to the request
180
+
181
+ timeout: Override the client-level default timeout for this request, in seconds
182
+ """
183
+ if not refund_id:
184
+ raise ValueError(f"Expected a non-empty value for `refund_id` but received {refund_id!r}")
185
+ extra_headers = {"Accept": "application/pdf", **(extra_headers or {})}
186
+ return await self._get(
187
+ f"/invoices/refunds/{refund_id}",
188
+ options=make_request_options(
189
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
190
+ ),
191
+ cast_to=AsyncBinaryAPIResponse,
192
+ )
193
+
130
194
 
131
195
  class PaymentsResourceWithRawResponse:
132
196
  def __init__(self, payments: PaymentsResource) -> None:
@@ -136,6 +200,10 @@ class PaymentsResourceWithRawResponse:
136
200
  payments.retrieve,
137
201
  BinaryAPIResponse,
138
202
  )
203
+ self.retrieve_refund = to_custom_raw_response_wrapper(
204
+ payments.retrieve_refund,
205
+ BinaryAPIResponse,
206
+ )
139
207
 
140
208
 
141
209
  class AsyncPaymentsResourceWithRawResponse:
@@ -146,6 +214,10 @@ class AsyncPaymentsResourceWithRawResponse:
146
214
  payments.retrieve,
147
215
  AsyncBinaryAPIResponse,
148
216
  )
217
+ self.retrieve_refund = async_to_custom_raw_response_wrapper(
218
+ payments.retrieve_refund,
219
+ AsyncBinaryAPIResponse,
220
+ )
149
221
 
150
222
 
151
223
  class PaymentsResourceWithStreamingResponse:
@@ -156,6 +228,10 @@ class PaymentsResourceWithStreamingResponse:
156
228
  payments.retrieve,
157
229
  StreamedBinaryAPIResponse,
158
230
  )
231
+ self.retrieve_refund = to_custom_streamed_response_wrapper(
232
+ payments.retrieve_refund,
233
+ StreamedBinaryAPIResponse,
234
+ )
159
235
 
160
236
 
161
237
  class AsyncPaymentsResourceWithStreamingResponse:
@@ -166,3 +242,7 @@ class AsyncPaymentsResourceWithStreamingResponse:
166
242
  payments.retrieve,
167
243
  AsyncStreamedBinaryAPIResponse,
168
244
  )
245
+ self.retrieve_refund = async_to_custom_streamed_response_wrapper(
246
+ payments.retrieve_refund,
247
+ AsyncStreamedBinaryAPIResponse,
248
+ )