dodopayments 1.49.0__tar.gz → 1.51.1__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 (234) hide show
  1. dodopayments-1.51.1/.release-please-manifest.json +3 -0
  2. {dodopayments-1.49.0 → dodopayments-1.51.1}/CHANGELOG.md +29 -0
  3. {dodopayments-1.49.0 → dodopayments-1.51.1}/PKG-INFO +17 -90
  4. {dodopayments-1.49.0 → dodopayments-1.51.1}/README.md +16 -89
  5. {dodopayments-1.49.0 → dodopayments-1.51.1}/api.md +18 -17
  6. {dodopayments-1.49.0 → dodopayments-1.51.1}/pyproject.toml +2 -1
  7. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_client.py +15 -11
  8. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_models.py +1 -1
  9. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_types.py +35 -1
  10. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_utils/__init__.py +1 -0
  11. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_utils/_typing.py +5 -0
  12. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_version.py +1 -1
  13. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/__init__.py +13 -13
  14. dodopayments-1.51.1/src/dodopayments/resources/checkout_sessions.py +272 -0
  15. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/subscriptions.py +7 -2
  16. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/webhooks/webhooks.py +19 -22
  17. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/__init__.py +4 -13
  18. dodopayments-1.51.1/src/dodopayments/types/checkout_session_create_params.py +174 -0
  19. dodopayments-1.51.1/src/dodopayments/types/checkout_session_response.py +13 -0
  20. dodopayments-1.51.1/src/dodopayments/types/on_demand_subscription_param.py +44 -0
  21. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/subscription.py +3 -0
  22. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/subscription_create_params.py +3 -36
  23. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/subscription_update_params.py +1 -0
  24. dodopayments-1.49.0/src/dodopayments/types/webhook_list_response.py → dodopayments-1.51.1/src/dodopayments/types/webhook_details.py +2 -2
  25. dodopayments-1.51.1/tests/api_resources/test_checkout_sessions.py +228 -0
  26. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_webhooks.py +31 -34
  27. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/test_client.py +26 -106
  28. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/utils.py +9 -1
  29. dodopayments-1.49.0/.release-please-manifest.json +0 -3
  30. dodopayments-1.49.0/src/dodopayments/resources/your_webhook_url.py +0 -224
  31. dodopayments-1.49.0/src/dodopayments/types/addon_cart_response_item_param.py +0 -13
  32. dodopayments-1.49.0/src/dodopayments/types/customer_limited_details_param.py +0 -18
  33. dodopayments-1.49.0/src/dodopayments/types/dispute_param.py +0 -45
  34. dodopayments-1.49.0/src/dodopayments/types/get_dispute_param.py +0 -52
  35. dodopayments-1.49.0/src/dodopayments/types/license_key_param.py +0 -53
  36. dodopayments-1.49.0/src/dodopayments/types/payment_param.py +0 -131
  37. dodopayments-1.49.0/src/dodopayments/types/refund_param.py +0 -42
  38. dodopayments-1.49.0/src/dodopayments/types/subscription_param.py +0 -97
  39. dodopayments-1.49.0/src/dodopayments/types/webhook_create_response.py +0 -42
  40. dodopayments-1.49.0/src/dodopayments/types/webhook_retrieve_response.py +0 -42
  41. dodopayments-1.49.0/src/dodopayments/types/webhook_update_response.py +0 -42
  42. dodopayments-1.49.0/src/dodopayments/types/your_webhook_url_create_params.py +0 -66
  43. dodopayments-1.49.0/tests/api_resources/test_your_webhook_url.py +0 -397
  44. {dodopayments-1.49.0 → dodopayments-1.51.1}/.gitignore +0 -0
  45. {dodopayments-1.49.0 → dodopayments-1.51.1}/CONTRIBUTING.md +0 -0
  46. {dodopayments-1.49.0 → dodopayments-1.51.1}/LICENSE +0 -0
  47. {dodopayments-1.49.0 → dodopayments-1.51.1}/SECURITY.md +0 -0
  48. {dodopayments-1.49.0 → dodopayments-1.51.1}/bin/check-release-environment +0 -0
  49. {dodopayments-1.49.0 → dodopayments-1.51.1}/bin/publish-pypi +0 -0
  50. {dodopayments-1.49.0 → dodopayments-1.51.1}/examples/.keep +0 -0
  51. {dodopayments-1.49.0 → dodopayments-1.51.1}/mypy.ini +0 -0
  52. {dodopayments-1.49.0 → dodopayments-1.51.1}/noxfile.py +0 -0
  53. {dodopayments-1.49.0 → dodopayments-1.51.1}/release-please-config.json +0 -0
  54. {dodopayments-1.49.0 → dodopayments-1.51.1}/requirements-dev.lock +0 -0
  55. {dodopayments-1.49.0 → dodopayments-1.51.1}/requirements.lock +0 -0
  56. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodo_payments/lib/.keep +0 -0
  57. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/__init__.py +0 -0
  58. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_base_client.py +0 -0
  59. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_compat.py +0 -0
  60. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_constants.py +0 -0
  61. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_exceptions.py +0 -0
  62. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_files.py +0 -0
  63. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_qs.py +0 -0
  64. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_resource.py +0 -0
  65. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_response.py +0 -0
  66. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_streaming.py +0 -0
  67. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_utils/_logs.py +0 -0
  68. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_utils/_proxy.py +0 -0
  69. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_utils/_reflection.py +0 -0
  70. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_utils/_resources_proxy.py +0 -0
  71. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_utils/_streams.py +0 -0
  72. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_utils/_sync.py +0 -0
  73. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_utils/_transform.py +0 -0
  74. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/_utils/_utils.py +0 -0
  75. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/lib/.keep +0 -0
  76. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/pagination.py +0 -0
  77. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/py.typed +0 -0
  78. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/addons.py +0 -0
  79. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/brands.py +0 -0
  80. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/customers/__init__.py +0 -0
  81. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/customers/customer_portal.py +0 -0
  82. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/customers/customers.py +0 -0
  83. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/discounts.py +0 -0
  84. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/disputes.py +0 -0
  85. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/invoices/__init__.py +0 -0
  86. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/invoices/invoices.py +0 -0
  87. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/invoices/payments.py +0 -0
  88. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/license_key_instances.py +0 -0
  89. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/license_keys.py +0 -0
  90. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/licenses.py +0 -0
  91. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/misc.py +0 -0
  92. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/payments.py +0 -0
  93. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/payouts.py +0 -0
  94. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/products/__init__.py +0 -0
  95. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/products/images.py +0 -0
  96. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/products/products.py +0 -0
  97. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/refunds.py +0 -0
  98. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/webhooks/__init__.py +0 -0
  99. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/resources/webhooks/headers.py +0 -0
  100. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/addon_cart_response_item.py +0 -0
  101. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/addon_create_params.py +0 -0
  102. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/addon_list_params.py +0 -0
  103. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/addon_response.py +0 -0
  104. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/addon_update_images_response.py +0 -0
  105. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/addon_update_params.py +0 -0
  106. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/attach_addon_param.py +0 -0
  107. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/attach_existing_customer_param.py +0 -0
  108. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/billing_address.py +0 -0
  109. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/billing_address_param.py +0 -0
  110. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/brand.py +0 -0
  111. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/brand_create_params.py +0 -0
  112. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/brand_list_response.py +0 -0
  113. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/brand_update_images_response.py +0 -0
  114. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/brand_update_params.py +0 -0
  115. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/country_code.py +0 -0
  116. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/currency.py +0 -0
  117. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/customer.py +0 -0
  118. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/customer_create_params.py +0 -0
  119. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/customer_limited_details.py +0 -0
  120. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/customer_list_params.py +0 -0
  121. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/customer_portal_session.py +0 -0
  122. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/customer_request_param.py +0 -0
  123. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/customer_update_params.py +0 -0
  124. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/customers/__init__.py +0 -0
  125. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/customers/customer_portal_create_params.py +0 -0
  126. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/discount.py +0 -0
  127. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/discount_create_params.py +0 -0
  128. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/discount_list_params.py +0 -0
  129. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/discount_type.py +0 -0
  130. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/discount_update_params.py +0 -0
  131. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/dispute.py +0 -0
  132. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/dispute_list_params.py +0 -0
  133. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/dispute_list_response.py +0 -0
  134. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/dispute_stage.py +0 -0
  135. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/dispute_status.py +0 -0
  136. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/get_dispute.py +0 -0
  137. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/intent_status.py +0 -0
  138. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/invoices/__init__.py +0 -0
  139. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/license_activate_params.py +0 -0
  140. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/license_deactivate_params.py +0 -0
  141. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/license_key.py +0 -0
  142. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/license_key_duration.py +0 -0
  143. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/license_key_duration_param.py +0 -0
  144. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/license_key_instance.py +0 -0
  145. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/license_key_instance_list_params.py +0 -0
  146. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/license_key_instance_update_params.py +0 -0
  147. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/license_key_list_params.py +0 -0
  148. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/license_key_status.py +0 -0
  149. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/license_key_update_params.py +0 -0
  150. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/license_validate_params.py +0 -0
  151. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/license_validate_response.py +0 -0
  152. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/misc_list_supported_countries_response.py +0 -0
  153. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/new_customer_param.py +0 -0
  154. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/one_time_product_cart_item.py +0 -0
  155. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/one_time_product_cart_item_param.py +0 -0
  156. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/payment.py +0 -0
  157. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/payment_create_params.py +0 -0
  158. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/payment_create_response.py +0 -0
  159. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/payment_list_params.py +0 -0
  160. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/payment_list_response.py +0 -0
  161. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/payment_method_types.py +0 -0
  162. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/payment_retrieve_line_items_response.py +0 -0
  163. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/payout_list_params.py +0 -0
  164. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/payout_list_response.py +0 -0
  165. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/price.py +0 -0
  166. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/price_param.py +0 -0
  167. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/product.py +0 -0
  168. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/product_create_params.py +0 -0
  169. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/product_list_params.py +0 -0
  170. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/product_list_response.py +0 -0
  171. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/product_update_files_params.py +0 -0
  172. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/product_update_files_response.py +0 -0
  173. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/product_update_params.py +0 -0
  174. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/products/__init__.py +0 -0
  175. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/products/image_update_params.py +0 -0
  176. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/products/image_update_response.py +0 -0
  177. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/refund.py +0 -0
  178. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/refund_create_params.py +0 -0
  179. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/refund_list_params.py +0 -0
  180. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/refund_status.py +0 -0
  181. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/subscription_change_plan_params.py +0 -0
  182. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/subscription_charge_params.py +0 -0
  183. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/subscription_charge_response.py +0 -0
  184. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/subscription_create_response.py +0 -0
  185. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/subscription_list_params.py +0 -0
  186. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/subscription_list_response.py +0 -0
  187. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/subscription_status.py +0 -0
  188. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/tax_category.py +0 -0
  189. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/time_interval.py +0 -0
  190. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/webhook_create_params.py +0 -0
  191. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/webhook_event_type.py +0 -0
  192. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/webhook_list_params.py +0 -0
  193. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/webhook_retrieve_secret_response.py +0 -0
  194. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/webhook_update_params.py +0 -0
  195. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/webhooks/__init__.py +0 -0
  196. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/webhooks/header_retrieve_response.py +0 -0
  197. {dodopayments-1.49.0 → dodopayments-1.51.1}/src/dodopayments/types/webhooks/header_update_params.py +0 -0
  198. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/__init__.py +0 -0
  199. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/__init__.py +0 -0
  200. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/customers/__init__.py +0 -0
  201. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/customers/test_customer_portal.py +0 -0
  202. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/invoices/__init__.py +0 -0
  203. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/invoices/test_payments.py +0 -0
  204. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/products/__init__.py +0 -0
  205. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/products/test_images.py +0 -0
  206. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_addons.py +0 -0
  207. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_brands.py +0 -0
  208. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_customers.py +0 -0
  209. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_discounts.py +0 -0
  210. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_disputes.py +0 -0
  211. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_license_key_instances.py +0 -0
  212. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_license_keys.py +0 -0
  213. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_licenses.py +0 -0
  214. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_misc.py +0 -0
  215. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_payments.py +0 -0
  216. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_payouts.py +0 -0
  217. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_products.py +0 -0
  218. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_refunds.py +0 -0
  219. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/test_subscriptions.py +0 -0
  220. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/webhooks/__init__.py +0 -0
  221. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/api_resources/webhooks/test_headers.py +0 -0
  222. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/conftest.py +0 -0
  223. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/sample_file.txt +0 -0
  224. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/test_deepcopy.py +0 -0
  225. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/test_extract_files.py +0 -0
  226. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/test_files.py +0 -0
  227. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/test_models.py +0 -0
  228. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/test_qs.py +0 -0
  229. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/test_required_args.py +0 -0
  230. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/test_response.py +0 -0
  231. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/test_streaming.py +0 -0
  232. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/test_transform.py +0 -0
  233. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/test_utils/test_proxy.py +0 -0
  234. {dodopayments-1.49.0 → dodopayments-1.51.1}/tests/test_utils/test_typing.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.51.1"
3
+ }
@@ -1,5 +1,34 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.51.1 (2025-08-30)
4
+
5
+ Full Changelog: [v1.51.0...v1.51.1](https://github.com/dodopayments/dodopayments-python/compare/v1.51.0...v1.51.1)
6
+
7
+ ### Bug Fixes
8
+
9
+ * avoid newer type syntax ([9480de5](https://github.com/dodopayments/dodopayments-python/commit/9480de5e0192ec77a8536457c3628a0ad386721d))
10
+
11
+
12
+ ### Chores
13
+
14
+ * **internal:** add Sequence related utils ([aa4240b](https://github.com/dodopayments/dodopayments-python/commit/aa4240b143433f2f1964440595fa0be5fb14de7c))
15
+ * **internal:** change ci workflow machines ([2dd4020](https://github.com/dodopayments/dodopayments-python/commit/2dd4020d357b4ed6cb6d992340b6869186046282))
16
+ * **internal:** update pyright exclude list ([f6024a4](https://github.com/dodopayments/dodopayments-python/commit/f6024a4956e635c49679d3fa19b4a383e1aec444))
17
+
18
+ ## 1.51.0 (2025-08-22)
19
+
20
+ Full Changelog: [v1.49.0...v1.51.0](https://github.com/dodopayments/dodopayments-python/compare/v1.49.0...v1.51.0)
21
+
22
+ ### Features
23
+
24
+ * **api:** updated example ([d066c34](https://github.com/dodopayments/dodopayments-python/commit/d066c34600592052a4688ff37b14de7f7002c3c9))
25
+ * **api:** updated openapi spec to v1.51.0 and added checkout sessions ([79855e9](https://github.com/dodopayments/dodopayments-python/commit/79855e96b3157175ba2cfa3662f67b61bc68c160))
26
+
27
+
28
+ ### Chores
29
+
30
+ * update github action ([660f3d7](https://github.com/dodopayments/dodopayments-python/commit/660f3d7f30460bf3b971f33981b42fff3c4a636e))
31
+
3
32
  ## 1.49.0 (2025-08-13)
4
33
 
5
34
  Full Changelog: [v1.47.0...v1.49.0](https://github.com/dodopayments/dodopayments-python/compare/v1.47.0...v1.49.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dodopayments
3
- Version: 1.49.0
3
+ Version: 1.51.1
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
@@ -69,15 +69,7 @@ client = DodoPayments(
69
69
  environment="test_mode",
70
70
  )
71
71
 
72
- payment = client.payments.create(
73
- billing={
74
- "city": "city",
75
- "country": "AF",
76
- "state": "state",
77
- "street": "street",
78
- "zipcode": "zipcode",
79
- },
80
- customer={"customer_id": "customer_id"},
72
+ checkout_session_response = client.checkout_sessions.create(
81
73
  product_cart=[
82
74
  {
83
75
  "product_id": "product_id",
@@ -85,7 +77,7 @@ payment = client.payments.create(
85
77
  }
86
78
  ],
87
79
  )
88
- print(payment.payment_id)
80
+ print(checkout_session_response.session_id)
89
81
  ```
90
82
 
91
83
  While you can provide a `bearer_token` keyword argument,
@@ -110,15 +102,7 @@ client = AsyncDodoPayments(
110
102
 
111
103
 
112
104
  async def main() -> None:
113
- payment = await client.payments.create(
114
- billing={
115
- "city": "city",
116
- "country": "AF",
117
- "state": "state",
118
- "street": "street",
119
- "zipcode": "zipcode",
120
- },
121
- customer={"customer_id": "customer_id"},
105
+ checkout_session_response = await client.checkout_sessions.create(
122
106
  product_cart=[
123
107
  {
124
108
  "product_id": "product_id",
@@ -126,7 +110,7 @@ async def main() -> None:
126
110
  }
127
111
  ],
128
112
  )
129
- print(payment.payment_id)
113
+ print(checkout_session_response.session_id)
130
114
 
131
115
 
132
116
  asyncio.run(main())
@@ -158,15 +142,7 @@ async def main() -> None:
158
142
  bearer_token="My Bearer Token",
159
143
  http_client=DefaultAioHttpClient(),
160
144
  ) as client:
161
- payment = await client.payments.create(
162
- billing={
163
- "city": "city",
164
- "country": "AF",
165
- "state": "state",
166
- "street": "street",
167
- "zipcode": "zipcode",
168
- },
169
- customer={"customer_id": "customer_id"},
145
+ checkout_session_response = await client.checkout_sessions.create(
170
146
  product_cart=[
171
147
  {
172
148
  "product_id": "product_id",
@@ -174,7 +150,7 @@ async def main() -> None:
174
150
  }
175
151
  ],
176
152
  )
177
- print(payment.payment_id)
153
+ print(checkout_session_response.session_id)
178
154
 
179
155
 
180
156
  asyncio.run(main())
@@ -259,23 +235,16 @@ from dodopayments import DodoPayments
259
235
 
260
236
  client = DodoPayments()
261
237
 
262
- payment = client.payments.create(
263
- billing={
264
- "city": "city",
265
- "country": "AF",
266
- "state": "state",
267
- "street": "street",
268
- "zipcode": "zipcode",
269
- },
270
- customer={"customer_id": "customer_id"},
238
+ checkout_session_response = client.checkout_sessions.create(
271
239
  product_cart=[
272
240
  {
273
241
  "product_id": "product_id",
274
242
  "quantity": 0,
275
243
  }
276
244
  ],
245
+ billing_address={"country": "AF"},
277
246
  )
278
- print(payment.billing)
247
+ print(checkout_session_response.billing_address)
279
248
  ```
280
249
 
281
250
  ## Handling errors
@@ -294,15 +263,7 @@ from dodopayments import DodoPayments
294
263
  client = DodoPayments()
295
264
 
296
265
  try:
297
- client.payments.create(
298
- billing={
299
- "city": "city",
300
- "country": "AF",
301
- "state": "state",
302
- "street": "street",
303
- "zipcode": "zipcode",
304
- },
305
- customer={"customer_id": "customer_id"},
266
+ client.checkout_sessions.create(
306
267
  product_cart=[
307
268
  {
308
269
  "product_id": "product_id",
@@ -352,15 +313,7 @@ client = DodoPayments(
352
313
  )
353
314
 
354
315
  # Or, configure per-request:
355
- client.with_options(max_retries=5).payments.create(
356
- billing={
357
- "city": "city",
358
- "country": "AF",
359
- "state": "state",
360
- "street": "street",
361
- "zipcode": "zipcode",
362
- },
363
- customer={"customer_id": "customer_id"},
316
+ client.with_options(max_retries=5).checkout_sessions.create(
364
317
  product_cart=[
365
318
  {
366
319
  "product_id": "product_id",
@@ -390,15 +343,7 @@ client = DodoPayments(
390
343
  )
391
344
 
392
345
  # Override per-request:
393
- client.with_options(timeout=5.0).payments.create(
394
- billing={
395
- "city": "city",
396
- "country": "AF",
397
- "state": "state",
398
- "street": "street",
399
- "zipcode": "zipcode",
400
- },
401
- customer={"customer_id": "customer_id"},
346
+ client.with_options(timeout=5.0).checkout_sessions.create(
402
347
  product_cart=[
403
348
  {
404
349
  "product_id": "product_id",
@@ -446,17 +391,7 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
446
391
  from dodopayments import DodoPayments
447
392
 
448
393
  client = DodoPayments()
449
- response = client.payments.with_raw_response.create(
450
- billing={
451
- "city": "city",
452
- "country": "AF",
453
- "state": "state",
454
- "street": "street",
455
- "zipcode": "zipcode",
456
- },
457
- customer={
458
- "customer_id": "customer_id"
459
- },
394
+ response = client.checkout_sessions.with_raw_response.create(
460
395
  product_cart=[{
461
396
  "product_id": "product_id",
462
397
  "quantity": 0,
@@ -464,8 +399,8 @@ response = client.payments.with_raw_response.create(
464
399
  )
465
400
  print(response.headers.get('X-My-Header'))
466
401
 
467
- payment = response.parse() # get the object that `payments.create()` would have returned
468
- print(payment.payment_id)
402
+ checkout_session = response.parse() # get the object that `checkout_sessions.create()` would have returned
403
+ print(checkout_session.session_id)
469
404
  ```
470
405
 
471
406
  These methods return an [`APIResponse`](https://github.com/dodopayments/dodopayments-python/tree/main/src/dodopayments/_response.py) object.
@@ -479,15 +414,7 @@ The above interface eagerly reads the full response body when you make the reque
479
414
  To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
480
415
 
481
416
  ```python
482
- with client.payments.with_streaming_response.create(
483
- billing={
484
- "city": "city",
485
- "country": "AF",
486
- "state": "state",
487
- "street": "street",
488
- "zipcode": "zipcode",
489
- },
490
- customer={"customer_id": "customer_id"},
417
+ with client.checkout_sessions.with_streaming_response.create(
491
418
  product_cart=[
492
419
  {
493
420
  "product_id": "product_id",
@@ -34,15 +34,7 @@ client = DodoPayments(
34
34
  environment="test_mode",
35
35
  )
36
36
 
37
- payment = client.payments.create(
38
- billing={
39
- "city": "city",
40
- "country": "AF",
41
- "state": "state",
42
- "street": "street",
43
- "zipcode": "zipcode",
44
- },
45
- customer={"customer_id": "customer_id"},
37
+ checkout_session_response = client.checkout_sessions.create(
46
38
  product_cart=[
47
39
  {
48
40
  "product_id": "product_id",
@@ -50,7 +42,7 @@ payment = client.payments.create(
50
42
  }
51
43
  ],
52
44
  )
53
- print(payment.payment_id)
45
+ print(checkout_session_response.session_id)
54
46
  ```
55
47
 
56
48
  While you can provide a `bearer_token` keyword argument,
@@ -75,15 +67,7 @@ client = AsyncDodoPayments(
75
67
 
76
68
 
77
69
  async def main() -> None:
78
- payment = await client.payments.create(
79
- billing={
80
- "city": "city",
81
- "country": "AF",
82
- "state": "state",
83
- "street": "street",
84
- "zipcode": "zipcode",
85
- },
86
- customer={"customer_id": "customer_id"},
70
+ checkout_session_response = await client.checkout_sessions.create(
87
71
  product_cart=[
88
72
  {
89
73
  "product_id": "product_id",
@@ -91,7 +75,7 @@ async def main() -> None:
91
75
  }
92
76
  ],
93
77
  )
94
- print(payment.payment_id)
78
+ print(checkout_session_response.session_id)
95
79
 
96
80
 
97
81
  asyncio.run(main())
@@ -123,15 +107,7 @@ async def main() -> None:
123
107
  bearer_token="My Bearer Token",
124
108
  http_client=DefaultAioHttpClient(),
125
109
  ) as client:
126
- payment = await client.payments.create(
127
- billing={
128
- "city": "city",
129
- "country": "AF",
130
- "state": "state",
131
- "street": "street",
132
- "zipcode": "zipcode",
133
- },
134
- customer={"customer_id": "customer_id"},
110
+ checkout_session_response = await client.checkout_sessions.create(
135
111
  product_cart=[
136
112
  {
137
113
  "product_id": "product_id",
@@ -139,7 +115,7 @@ async def main() -> None:
139
115
  }
140
116
  ],
141
117
  )
142
- print(payment.payment_id)
118
+ print(checkout_session_response.session_id)
143
119
 
144
120
 
145
121
  asyncio.run(main())
@@ -224,23 +200,16 @@ from dodopayments import DodoPayments
224
200
 
225
201
  client = DodoPayments()
226
202
 
227
- payment = client.payments.create(
228
- billing={
229
- "city": "city",
230
- "country": "AF",
231
- "state": "state",
232
- "street": "street",
233
- "zipcode": "zipcode",
234
- },
235
- customer={"customer_id": "customer_id"},
203
+ checkout_session_response = client.checkout_sessions.create(
236
204
  product_cart=[
237
205
  {
238
206
  "product_id": "product_id",
239
207
  "quantity": 0,
240
208
  }
241
209
  ],
210
+ billing_address={"country": "AF"},
242
211
  )
243
- print(payment.billing)
212
+ print(checkout_session_response.billing_address)
244
213
  ```
245
214
 
246
215
  ## Handling errors
@@ -259,15 +228,7 @@ from dodopayments import DodoPayments
259
228
  client = DodoPayments()
260
229
 
261
230
  try:
262
- client.payments.create(
263
- billing={
264
- "city": "city",
265
- "country": "AF",
266
- "state": "state",
267
- "street": "street",
268
- "zipcode": "zipcode",
269
- },
270
- customer={"customer_id": "customer_id"},
231
+ client.checkout_sessions.create(
271
232
  product_cart=[
272
233
  {
273
234
  "product_id": "product_id",
@@ -317,15 +278,7 @@ client = DodoPayments(
317
278
  )
318
279
 
319
280
  # Or, configure per-request:
320
- client.with_options(max_retries=5).payments.create(
321
- billing={
322
- "city": "city",
323
- "country": "AF",
324
- "state": "state",
325
- "street": "street",
326
- "zipcode": "zipcode",
327
- },
328
- customer={"customer_id": "customer_id"},
281
+ client.with_options(max_retries=5).checkout_sessions.create(
329
282
  product_cart=[
330
283
  {
331
284
  "product_id": "product_id",
@@ -355,15 +308,7 @@ client = DodoPayments(
355
308
  )
356
309
 
357
310
  # Override per-request:
358
- client.with_options(timeout=5.0).payments.create(
359
- billing={
360
- "city": "city",
361
- "country": "AF",
362
- "state": "state",
363
- "street": "street",
364
- "zipcode": "zipcode",
365
- },
366
- customer={"customer_id": "customer_id"},
311
+ client.with_options(timeout=5.0).checkout_sessions.create(
367
312
  product_cart=[
368
313
  {
369
314
  "product_id": "product_id",
@@ -411,17 +356,7 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
411
356
  from dodopayments import DodoPayments
412
357
 
413
358
  client = DodoPayments()
414
- response = client.payments.with_raw_response.create(
415
- billing={
416
- "city": "city",
417
- "country": "AF",
418
- "state": "state",
419
- "street": "street",
420
- "zipcode": "zipcode",
421
- },
422
- customer={
423
- "customer_id": "customer_id"
424
- },
359
+ response = client.checkout_sessions.with_raw_response.create(
425
360
  product_cart=[{
426
361
  "product_id": "product_id",
427
362
  "quantity": 0,
@@ -429,8 +364,8 @@ response = client.payments.with_raw_response.create(
429
364
  )
430
365
  print(response.headers.get('X-My-Header'))
431
366
 
432
- payment = response.parse() # get the object that `payments.create()` would have returned
433
- print(payment.payment_id)
367
+ checkout_session = response.parse() # get the object that `checkout_sessions.create()` would have returned
368
+ print(checkout_session.session_id)
434
369
  ```
435
370
 
436
371
  These methods return an [`APIResponse`](https://github.com/dodopayments/dodopayments-python/tree/main/src/dodopayments/_response.py) object.
@@ -444,15 +379,7 @@ The above interface eagerly reads the full response body when you make the reque
444
379
  To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
445
380
 
446
381
  ```python
447
- with client.payments.with_streaming_response.create(
448
- billing={
449
- "city": "city",
450
- "country": "AF",
451
- "state": "state",
452
- "street": "street",
453
- "zipcode": "zipcode",
454
- },
455
- customer={"customer_id": "customer_id"},
382
+ with client.checkout_sessions.with_streaming_response.create(
456
383
  product_cart=[
457
384
  {
458
385
  "product_id": "product_id",
@@ -1,3 +1,15 @@
1
+ # CheckoutSessions
2
+
3
+ Types:
4
+
5
+ ```python
6
+ from dodopayments.types import CheckoutSessionRequest, CheckoutSessionResponse
7
+ ```
8
+
9
+ Methods:
10
+
11
+ - <code title="post /checkouts">client.checkout_sessions.<a href="./src/dodopayments/resources/checkout_sessions.py">create</a>(\*\*<a href="src/dodopayments/types/checkout_session_create_params.py">params</a>) -> <a href="./src/dodopayments/types/checkout_session_response.py">CheckoutSessionResponse</a></code>
12
+
1
13
  # Payments
2
14
 
3
15
  Types:
@@ -35,6 +47,7 @@ Types:
35
47
  from dodopayments.types import (
36
48
  AddonCartResponseItem,
37
49
  AttachAddon,
50
+ OnDemandSubscription,
38
51
  Subscription,
39
52
  SubscriptionStatus,
40
53
  TimeInterval,
@@ -277,21 +290,15 @@ Methods:
277
290
  Types:
278
291
 
279
292
  ```python
280
- from dodopayments.types import (
281
- WebhookCreateResponse,
282
- WebhookRetrieveResponse,
283
- WebhookUpdateResponse,
284
- WebhookListResponse,
285
- WebhookRetrieveSecretResponse,
286
- )
293
+ from dodopayments.types import WebhookDetails, WebhookRetrieveSecretResponse
287
294
  ```
288
295
 
289
296
  Methods:
290
297
 
291
- - <code title="post /webhooks">client.webhooks.<a href="./src/dodopayments/resources/webhooks/webhooks.py">create</a>(\*\*<a href="src/dodopayments/types/webhook_create_params.py">params</a>) -> <a href="./src/dodopayments/types/webhook_create_response.py">WebhookCreateResponse</a></code>
292
- - <code title="get /webhooks/{webhook_id}">client.webhooks.<a href="./src/dodopayments/resources/webhooks/webhooks.py">retrieve</a>(webhook_id) -> <a href="./src/dodopayments/types/webhook_retrieve_response.py">WebhookRetrieveResponse</a></code>
293
- - <code title="patch /webhooks/{webhook_id}">client.webhooks.<a href="./src/dodopayments/resources/webhooks/webhooks.py">update</a>(webhook_id, \*\*<a href="src/dodopayments/types/webhook_update_params.py">params</a>) -> <a href="./src/dodopayments/types/webhook_update_response.py">WebhookUpdateResponse</a></code>
294
- - <code title="get /webhooks">client.webhooks.<a href="./src/dodopayments/resources/webhooks/webhooks.py">list</a>(\*\*<a href="src/dodopayments/types/webhook_list_params.py">params</a>) -> <a href="./src/dodopayments/types/webhook_list_response.py">SyncCursorPagePagination[WebhookListResponse]</a></code>
298
+ - <code title="post /webhooks">client.webhooks.<a href="./src/dodopayments/resources/webhooks/webhooks.py">create</a>(\*\*<a href="src/dodopayments/types/webhook_create_params.py">params</a>) -> <a href="./src/dodopayments/types/webhook_details.py">WebhookDetails</a></code>
299
+ - <code title="get /webhooks/{webhook_id}">client.webhooks.<a href="./src/dodopayments/resources/webhooks/webhooks.py">retrieve</a>(webhook_id) -> <a href="./src/dodopayments/types/webhook_details.py">WebhookDetails</a></code>
300
+ - <code title="patch /webhooks/{webhook_id}">client.webhooks.<a href="./src/dodopayments/resources/webhooks/webhooks.py">update</a>(webhook_id, \*\*<a href="src/dodopayments/types/webhook_update_params.py">params</a>) -> <a href="./src/dodopayments/types/webhook_details.py">WebhookDetails</a></code>
301
+ - <code title="get /webhooks">client.webhooks.<a href="./src/dodopayments/resources/webhooks/webhooks.py">list</a>(\*\*<a href="src/dodopayments/types/webhook_list_params.py">params</a>) -> <a href="./src/dodopayments/types/webhook_details.py">SyncCursorPagePagination[WebhookDetails]</a></code>
295
302
  - <code title="delete /webhooks/{webhook_id}">client.webhooks.<a href="./src/dodopayments/resources/webhooks/webhooks.py">delete</a>(webhook_id) -> None</code>
296
303
  - <code title="get /webhooks/{webhook_id}/secret">client.webhooks.<a href="./src/dodopayments/resources/webhooks/webhooks.py">retrieve_secret</a>(webhook_id) -> <a href="./src/dodopayments/types/webhook_retrieve_secret_response.py">WebhookRetrieveSecretResponse</a></code>
297
304
 
@@ -307,9 +314,3 @@ Methods:
307
314
 
308
315
  - <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>
309
316
  - <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>
310
-
311
- # YourWebhookURL
312
-
313
- Methods:
314
-
315
- - <code title="post /your-webhook-url">client.your_webhook_url.<a href="./src/dodopayments/resources/your_webhook_url.py">create</a>(\*\*<a href="src/dodopayments/types/your_webhook_url_create_params.py">params</a>) -> None</code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dodopayments"
3
- version = "1.49.0"
3
+ version = "1.51.1"
4
4
  description = "The official Python library for the Dodo Payments API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -148,6 +148,7 @@ exclude = [
148
148
  "_dev",
149
149
  ".venv",
150
150
  ".nox",
151
+ ".git",
151
152
  ]
152
153
 
153
154
  reportImplicitOverride = true
@@ -33,7 +33,7 @@ from .resources import (
33
33
  discounts,
34
34
  license_keys,
35
35
  subscriptions,
36
- your_webhook_url,
36
+ checkout_sessions,
37
37
  license_key_instances,
38
38
  )
39
39
  from ._streaming import Stream as Stream, AsyncStream as AsyncStream
@@ -67,6 +67,7 @@ ENVIRONMENTS: Dict[str, str] = {
67
67
 
68
68
 
69
69
  class DodoPayments(SyncAPIClient):
70
+ checkout_sessions: checkout_sessions.CheckoutSessionsResource
70
71
  payments: payments.PaymentsResource
71
72
  subscriptions: subscriptions.SubscriptionsResource
72
73
  invoices: invoices.InvoicesResource
@@ -83,7 +84,6 @@ class DodoPayments(SyncAPIClient):
83
84
  addons: addons.AddonsResource
84
85
  brands: brands.BrandsResource
85
86
  webhooks: webhooks.WebhooksResource
86
- your_webhook_url: your_webhook_url.YourWebhookURLResource
87
87
  with_raw_response: DodoPaymentsWithRawResponse
88
88
  with_streaming_response: DodoPaymentsWithStreamedResponse
89
89
 
@@ -165,6 +165,7 @@ class DodoPayments(SyncAPIClient):
165
165
  _strict_response_validation=_strict_response_validation,
166
166
  )
167
167
 
168
+ self.checkout_sessions = checkout_sessions.CheckoutSessionsResource(self)
168
169
  self.payments = payments.PaymentsResource(self)
169
170
  self.subscriptions = subscriptions.SubscriptionsResource(self)
170
171
  self.invoices = invoices.InvoicesResource(self)
@@ -181,7 +182,6 @@ class DodoPayments(SyncAPIClient):
181
182
  self.addons = addons.AddonsResource(self)
182
183
  self.brands = brands.BrandsResource(self)
183
184
  self.webhooks = webhooks.WebhooksResource(self)
184
- self.your_webhook_url = your_webhook_url.YourWebhookURLResource(self)
185
185
  self.with_raw_response = DodoPaymentsWithRawResponse(self)
186
186
  self.with_streaming_response = DodoPaymentsWithStreamedResponse(self)
187
187
 
@@ -293,6 +293,7 @@ class DodoPayments(SyncAPIClient):
293
293
 
294
294
 
295
295
  class AsyncDodoPayments(AsyncAPIClient):
296
+ checkout_sessions: checkout_sessions.AsyncCheckoutSessionsResource
296
297
  payments: payments.AsyncPaymentsResource
297
298
  subscriptions: subscriptions.AsyncSubscriptionsResource
298
299
  invoices: invoices.AsyncInvoicesResource
@@ -309,7 +310,6 @@ class AsyncDodoPayments(AsyncAPIClient):
309
310
  addons: addons.AsyncAddonsResource
310
311
  brands: brands.AsyncBrandsResource
311
312
  webhooks: webhooks.AsyncWebhooksResource
312
- your_webhook_url: your_webhook_url.AsyncYourWebhookURLResource
313
313
  with_raw_response: AsyncDodoPaymentsWithRawResponse
314
314
  with_streaming_response: AsyncDodoPaymentsWithStreamedResponse
315
315
 
@@ -391,6 +391,7 @@ class AsyncDodoPayments(AsyncAPIClient):
391
391
  _strict_response_validation=_strict_response_validation,
392
392
  )
393
393
 
394
+ self.checkout_sessions = checkout_sessions.AsyncCheckoutSessionsResource(self)
394
395
  self.payments = payments.AsyncPaymentsResource(self)
395
396
  self.subscriptions = subscriptions.AsyncSubscriptionsResource(self)
396
397
  self.invoices = invoices.AsyncInvoicesResource(self)
@@ -407,7 +408,6 @@ class AsyncDodoPayments(AsyncAPIClient):
407
408
  self.addons = addons.AsyncAddonsResource(self)
408
409
  self.brands = brands.AsyncBrandsResource(self)
409
410
  self.webhooks = webhooks.AsyncWebhooksResource(self)
410
- self.your_webhook_url = your_webhook_url.AsyncYourWebhookURLResource(self)
411
411
  self.with_raw_response = AsyncDodoPaymentsWithRawResponse(self)
412
412
  self.with_streaming_response = AsyncDodoPaymentsWithStreamedResponse(self)
413
413
 
@@ -520,6 +520,7 @@ class AsyncDodoPayments(AsyncAPIClient):
520
520
 
521
521
  class DodoPaymentsWithRawResponse:
522
522
  def __init__(self, client: DodoPayments) -> None:
523
+ self.checkout_sessions = checkout_sessions.CheckoutSessionsResourceWithRawResponse(client.checkout_sessions)
523
524
  self.payments = payments.PaymentsResourceWithRawResponse(client.payments)
524
525
  self.subscriptions = subscriptions.SubscriptionsResourceWithRawResponse(client.subscriptions)
525
526
  self.invoices = invoices.InvoicesResourceWithRawResponse(client.invoices)
@@ -538,11 +539,13 @@ class DodoPaymentsWithRawResponse:
538
539
  self.addons = addons.AddonsResourceWithRawResponse(client.addons)
539
540
  self.brands = brands.BrandsResourceWithRawResponse(client.brands)
540
541
  self.webhooks = webhooks.WebhooksResourceWithRawResponse(client.webhooks)
541
- self.your_webhook_url = your_webhook_url.YourWebhookURLResourceWithRawResponse(client.your_webhook_url)
542
542
 
543
543
 
544
544
  class AsyncDodoPaymentsWithRawResponse:
545
545
  def __init__(self, client: AsyncDodoPayments) -> None:
546
+ self.checkout_sessions = checkout_sessions.AsyncCheckoutSessionsResourceWithRawResponse(
547
+ client.checkout_sessions
548
+ )
546
549
  self.payments = payments.AsyncPaymentsResourceWithRawResponse(client.payments)
547
550
  self.subscriptions = subscriptions.AsyncSubscriptionsResourceWithRawResponse(client.subscriptions)
548
551
  self.invoices = invoices.AsyncInvoicesResourceWithRawResponse(client.invoices)
@@ -561,11 +564,13 @@ class AsyncDodoPaymentsWithRawResponse:
561
564
  self.addons = addons.AsyncAddonsResourceWithRawResponse(client.addons)
562
565
  self.brands = brands.AsyncBrandsResourceWithRawResponse(client.brands)
563
566
  self.webhooks = webhooks.AsyncWebhooksResourceWithRawResponse(client.webhooks)
564
- self.your_webhook_url = your_webhook_url.AsyncYourWebhookURLResourceWithRawResponse(client.your_webhook_url)
565
567
 
566
568
 
567
569
  class DodoPaymentsWithStreamedResponse:
568
570
  def __init__(self, client: DodoPayments) -> None:
571
+ self.checkout_sessions = checkout_sessions.CheckoutSessionsResourceWithStreamingResponse(
572
+ client.checkout_sessions
573
+ )
569
574
  self.payments = payments.PaymentsResourceWithStreamingResponse(client.payments)
570
575
  self.subscriptions = subscriptions.SubscriptionsResourceWithStreamingResponse(client.subscriptions)
571
576
  self.invoices = invoices.InvoicesResourceWithStreamingResponse(client.invoices)
@@ -584,11 +589,13 @@ class DodoPaymentsWithStreamedResponse:
584
589
  self.addons = addons.AddonsResourceWithStreamingResponse(client.addons)
585
590
  self.brands = brands.BrandsResourceWithStreamingResponse(client.brands)
586
591
  self.webhooks = webhooks.WebhooksResourceWithStreamingResponse(client.webhooks)
587
- self.your_webhook_url = your_webhook_url.YourWebhookURLResourceWithStreamingResponse(client.your_webhook_url)
588
592
 
589
593
 
590
594
  class AsyncDodoPaymentsWithStreamedResponse:
591
595
  def __init__(self, client: AsyncDodoPayments) -> None:
596
+ self.checkout_sessions = checkout_sessions.AsyncCheckoutSessionsResourceWithStreamingResponse(
597
+ client.checkout_sessions
598
+ )
592
599
  self.payments = payments.AsyncPaymentsResourceWithStreamingResponse(client.payments)
593
600
  self.subscriptions = subscriptions.AsyncSubscriptionsResourceWithStreamingResponse(client.subscriptions)
594
601
  self.invoices = invoices.AsyncInvoicesResourceWithStreamingResponse(client.invoices)
@@ -607,9 +614,6 @@ class AsyncDodoPaymentsWithStreamedResponse:
607
614
  self.addons = addons.AsyncAddonsResourceWithStreamingResponse(client.addons)
608
615
  self.brands = brands.AsyncBrandsResourceWithStreamingResponse(client.brands)
609
616
  self.webhooks = webhooks.AsyncWebhooksResourceWithStreamingResponse(client.webhooks)
610
- self.your_webhook_url = your_webhook_url.AsyncYourWebhookURLResourceWithStreamingResponse(
611
- client.your_webhook_url
612
- )
613
617
 
614
618
 
615
619
  Client = DodoPayments
@@ -304,7 +304,7 @@ class BaseModel(pydantic.BaseModel):
304
304
  exclude_none=exclude_none,
305
305
  )
306
306
 
307
- return cast(dict[str, Any], json_safe(dumped)) if mode == "json" else dumped
307
+ return cast("dict[str, Any]", json_safe(dumped)) if mode == "json" else dumped
308
308
 
309
309
  @override
310
310
  def model_dump_json(