dodopayments 1.19.0__tar.gz → 1.20.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (199) hide show
  1. dodopayments-1.20.0/.release-please-manifest.json +3 -0
  2. {dodopayments-1.19.0 → dodopayments-1.20.0}/CHANGELOG.md +10 -0
  3. {dodopayments-1.19.0 → dodopayments-1.20.0}/PKG-INFO +6 -6
  4. {dodopayments-1.19.0 → dodopayments-1.20.0}/README.md +5 -5
  5. {dodopayments-1.19.0 → dodopayments-1.20.0}/api.md +25 -2
  6. {dodopayments-1.19.0 → dodopayments-1.20.0}/pyproject.toml +1 -1
  7. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_client.py +33 -24
  8. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_version.py +1 -1
  9. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/__init__.py +14 -0
  10. dodopayments-1.20.0/src/dodopayments/resources/addons.py +589 -0
  11. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/payments.py +4 -301
  12. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/products/products.py +11 -6
  13. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/subscriptions.py +20 -307
  14. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/__init__.py +9 -0
  15. dodopayments-1.20.0/src/dodopayments/types/addon_cart_response_item.py +11 -0
  16. dodopayments-1.20.0/src/dodopayments/types/addon_create_params.py +30 -0
  17. dodopayments-1.20.0/src/dodopayments/types/addon_list_params.py +16 -0
  18. dodopayments-1.20.0/src/dodopayments/types/addon_response.py +44 -0
  19. dodopayments-1.20.0/src/dodopayments/types/addon_update_images_response.py +11 -0
  20. dodopayments-1.20.0/src/dodopayments/types/addon_update_params.py +33 -0
  21. dodopayments-1.20.0/src/dodopayments/types/currency.py +153 -0
  22. dodopayments-1.20.0/src/dodopayments/types/payment.py +96 -0
  23. dodopayments-1.20.0/src/dodopayments/types/payment_create_params.py +79 -0
  24. dodopayments-1.20.0/src/dodopayments/types/payment_list_response.py +33 -0
  25. dodopayments-1.20.0/src/dodopayments/types/payout_list_response.py +55 -0
  26. dodopayments-1.20.0/src/dodopayments/types/price.py +98 -0
  27. dodopayments-1.20.0/src/dodopayments/types/price_param.py +98 -0
  28. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/product.py +2 -2
  29. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/product_create_params.py +3 -2
  30. dodopayments-1.20.0/src/dodopayments/types/product_list_response.py +63 -0
  31. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/product_update_params.py +3 -2
  32. dodopayments-1.20.0/src/dodopayments/types/refund.py +34 -0
  33. dodopayments-1.20.0/src/dodopayments/types/subscription.py +81 -0
  34. dodopayments-1.20.0/src/dodopayments/types/subscription_create_params.py +110 -0
  35. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/subscription_create_response.py +5 -1
  36. dodopayments-1.20.0/src/dodopayments/types/subscription_list_response.py +77 -0
  37. dodopayments-1.20.0/src/dodopayments/types/tax_category.py +7 -0
  38. dodopayments-1.20.0/tests/api_resources/test_addons.py +448 -0
  39. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/test_subscriptions.py +25 -8
  40. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/conftest.py +3 -5
  41. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/test_client.py +67 -105
  42. dodopayments-1.19.0/.release-please-manifest.json +0 -3
  43. dodopayments-1.19.0/src/dodopayments/types/payment.py +0 -388
  44. dodopayments-1.19.0/src/dodopayments/types/payment_create_params.py +0 -226
  45. dodopayments-1.19.0/src/dodopayments/types/payment_list_response.py +0 -179
  46. dodopayments-1.19.0/src/dodopayments/types/payout_list_response.py +0 -200
  47. dodopayments-1.19.0/src/dodopayments/types/price.py +0 -389
  48. dodopayments-1.19.0/src/dodopayments/types/price_param.py +0 -393
  49. dodopayments-1.19.0/src/dodopayments/types/product_list_response.py +0 -210
  50. dodopayments-1.19.0/src/dodopayments/types/refund.py +0 -182
  51. dodopayments-1.19.0/src/dodopayments/types/subscription.py +0 -223
  52. dodopayments-1.19.0/src/dodopayments/types/subscription_create_params.py +0 -248
  53. {dodopayments-1.19.0 → dodopayments-1.20.0}/.gitignore +0 -0
  54. {dodopayments-1.19.0 → dodopayments-1.20.0}/CONTRIBUTING.md +0 -0
  55. {dodopayments-1.19.0 → dodopayments-1.20.0}/LICENSE +0 -0
  56. {dodopayments-1.19.0 → dodopayments-1.20.0}/SECURITY.md +0 -0
  57. {dodopayments-1.19.0 → dodopayments-1.20.0}/bin/check-release-environment +0 -0
  58. {dodopayments-1.19.0 → dodopayments-1.20.0}/bin/publish-pypi +0 -0
  59. {dodopayments-1.19.0 → dodopayments-1.20.0}/examples/.keep +0 -0
  60. {dodopayments-1.19.0 → dodopayments-1.20.0}/mypy.ini +0 -0
  61. {dodopayments-1.19.0 → dodopayments-1.20.0}/noxfile.py +0 -0
  62. {dodopayments-1.19.0 → dodopayments-1.20.0}/release-please-config.json +0 -0
  63. {dodopayments-1.19.0 → dodopayments-1.20.0}/requirements-dev.lock +0 -0
  64. {dodopayments-1.19.0 → dodopayments-1.20.0}/requirements.lock +0 -0
  65. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodo_payments/lib/.keep +0 -0
  66. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/__init__.py +0 -0
  67. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_base_client.py +0 -0
  68. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_compat.py +0 -0
  69. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_constants.py +0 -0
  70. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_exceptions.py +0 -0
  71. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_files.py +0 -0
  72. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_models.py +0 -0
  73. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_qs.py +0 -0
  74. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_resource.py +0 -0
  75. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_response.py +0 -0
  76. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_streaming.py +0 -0
  77. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_types.py +0 -0
  78. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_utils/__init__.py +0 -0
  79. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_utils/_logs.py +0 -0
  80. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_utils/_proxy.py +0 -0
  81. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_utils/_reflection.py +0 -0
  82. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_utils/_streams.py +0 -0
  83. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_utils/_sync.py +0 -0
  84. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_utils/_transform.py +0 -0
  85. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_utils/_typing.py +0 -0
  86. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/_utils/_utils.py +0 -0
  87. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/lib/.keep +0 -0
  88. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/pagination.py +0 -0
  89. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/py.typed +0 -0
  90. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/customers/__init__.py +0 -0
  91. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/customers/customer_portal.py +0 -0
  92. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/customers/customers.py +0 -0
  93. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/discounts.py +0 -0
  94. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/disputes.py +0 -0
  95. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/invoices/__init__.py +0 -0
  96. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/invoices/invoices.py +0 -0
  97. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/invoices/payments.py +0 -0
  98. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/license_key_instances.py +0 -0
  99. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/license_keys.py +0 -0
  100. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/licenses.py +0 -0
  101. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/misc.py +0 -0
  102. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/payouts.py +0 -0
  103. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/products/__init__.py +0 -0
  104. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/products/images.py +0 -0
  105. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/refunds.py +0 -0
  106. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/resources/webhook_events.py +0 -0
  107. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/attach_existing_customer_param.py +0 -0
  108. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/billing_address.py +0 -0
  109. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/billing_address_param.py +0 -0
  110. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/country_code.py +0 -0
  111. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/create_new_customer_param.py +0 -0
  112. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/customer.py +0 -0
  113. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/customer_create_params.py +0 -0
  114. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/customer_limited_details.py +0 -0
  115. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/customer_list_params.py +0 -0
  116. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/customer_portal_session.py +0 -0
  117. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/customer_request_param.py +0 -0
  118. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/customer_update_params.py +0 -0
  119. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/customers/__init__.py +0 -0
  120. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/customers/customer_portal_create_params.py +0 -0
  121. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/discount.py +0 -0
  122. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/discount_create_params.py +0 -0
  123. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/discount_list_params.py +0 -0
  124. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/discount_type.py +0 -0
  125. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/discount_update_params.py +0 -0
  126. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/dispute.py +0 -0
  127. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/dispute_list_params.py +0 -0
  128. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/dispute_stage.py +0 -0
  129. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/dispute_status.py +0 -0
  130. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/intent_status.py +0 -0
  131. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/invoices/__init__.py +0 -0
  132. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/license_activate_params.py +0 -0
  133. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/license_deactivate_params.py +0 -0
  134. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/license_key.py +0 -0
  135. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/license_key_duration.py +0 -0
  136. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/license_key_duration_param.py +0 -0
  137. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/license_key_instance.py +0 -0
  138. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/license_key_instance_list_params.py +0 -0
  139. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/license_key_instance_update_params.py +0 -0
  140. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/license_key_list_params.py +0 -0
  141. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/license_key_status.py +0 -0
  142. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/license_key_update_params.py +0 -0
  143. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/license_validate_params.py +0 -0
  144. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/license_validate_response.py +0 -0
  145. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/misc_list_supported_countries_response.py +0 -0
  146. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/one_time_product_cart_item.py +0 -0
  147. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/one_time_product_cart_item_param.py +0 -0
  148. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/payment_create_response.py +0 -0
  149. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/payment_list_params.py +0 -0
  150. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/payout_list_params.py +0 -0
  151. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/product_list_params.py +0 -0
  152. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/products/__init__.py +0 -0
  153. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/products/image_update_params.py +0 -0
  154. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/products/image_update_response.py +0 -0
  155. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/refund_create_params.py +0 -0
  156. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/refund_list_params.py +0 -0
  157. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/refund_status.py +0 -0
  158. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/subscription_change_plan_params.py +0 -0
  159. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/subscription_charge_params.py +0 -0
  160. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/subscription_charge_response.py +0 -0
  161. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/subscription_list_params.py +0 -0
  162. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/subscription_status.py +0 -0
  163. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/subscription_update_params.py +0 -0
  164. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/time_interval.py +0 -0
  165. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/webhook_event.py +0 -0
  166. {dodopayments-1.19.0 → dodopayments-1.20.0}/src/dodopayments/types/webhook_event_list_params.py +0 -0
  167. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/__init__.py +0 -0
  168. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/__init__.py +0 -0
  169. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/customers/__init__.py +0 -0
  170. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/customers/test_customer_portal.py +0 -0
  171. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/invoices/__init__.py +0 -0
  172. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/invoices/test_payments.py +0 -0
  173. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/products/__init__.py +0 -0
  174. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/products/test_images.py +0 -0
  175. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/test_customers.py +0 -0
  176. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/test_discounts.py +0 -0
  177. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/test_disputes.py +0 -0
  178. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/test_license_key_instances.py +0 -0
  179. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/test_license_keys.py +0 -0
  180. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/test_licenses.py +0 -0
  181. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/test_misc.py +0 -0
  182. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/test_payments.py +0 -0
  183. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/test_payouts.py +0 -0
  184. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/test_products.py +0 -0
  185. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/test_refunds.py +0 -0
  186. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/api_resources/test_webhook_events.py +0 -0
  187. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/sample_file.txt +0 -0
  188. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/test_deepcopy.py +0 -0
  189. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/test_extract_files.py +0 -0
  190. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/test_files.py +0 -0
  191. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/test_models.py +0 -0
  192. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/test_qs.py +0 -0
  193. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/test_required_args.py +0 -0
  194. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/test_response.py +0 -0
  195. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/test_streaming.py +0 -0
  196. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/test_transform.py +0 -0
  197. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/test_utils/test_proxy.py +0 -0
  198. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/test_utils/test_typing.py +0 -0
  199. {dodopayments-1.19.0 → dodopayments-1.20.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.20.0"
3
+ }
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.20.0 (2025-05-01)
4
+
5
+ Full Changelog: [v1.19.0...v1.20.0](https://github.com/dodopayments/dodopayments-python/compare/v1.19.0...v1.20.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** added addons ([645d6cc](https://github.com/dodopayments/dodopayments-python/commit/645d6cc31af0553aa94b936b9eee9a27681a378c))
10
+ * **api:** updated readme example ([ad59e88](https://github.com/dodopayments/dodopayments-python/commit/ad59e886826fb0366a20d99a6689ca93d93cc5b0))
11
+ * **api:** updated readme example ([bf3b943](https://github.com/dodopayments/dodopayments-python/commit/bf3b9434427b21cb8b3bd6214068ca6dccd18387))
12
+
3
13
  ## 1.19.0 (2025-04-30)
4
14
 
5
15
  Full Changelog: [v1.18.3...v1.19.0](https://github.com/dodopayments/dodopayments-python/compare/v1.18.3...v1.19.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dodopayments
3
- Version: 1.19.0
3
+ Version: 1.20.0
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
@@ -59,7 +59,7 @@ import os
59
59
  from dodopayments import DodoPayments
60
60
 
61
61
  client = DodoPayments(
62
- bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
62
+ api_key=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
63
63
  # defaults to "live_mode".
64
64
  environment="test_mode",
65
65
  )
@@ -83,10 +83,10 @@ payment = client.payments.create(
83
83
  print(payment.payment_id)
84
84
  ```
85
85
 
86
- While you can provide a `bearer_token` keyword argument,
86
+ While you can provide an `api_key` keyword argument,
87
87
  we recommend using [python-dotenv](https://pypi.org/project/python-dotenv/)
88
- to add `DODO_PAYMENTS_API_KEY="My Bearer Token"` to your `.env` file
89
- so that your Bearer Token is not stored in source control.
88
+ to add `DODO_PAYMENTS_API_KEY="My API Key"` to your `.env` file
89
+ so that your API Key is not stored in source control.
90
90
 
91
91
  ## Async usage
92
92
 
@@ -98,7 +98,7 @@ import asyncio
98
98
  from dodopayments import AsyncDodoPayments
99
99
 
100
100
  client = AsyncDodoPayments(
101
- bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
101
+ api_key=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
102
102
  # defaults to "live_mode".
103
103
  environment="test_mode",
104
104
  )
@@ -28,7 +28,7 @@ import os
28
28
  from dodopayments import DodoPayments
29
29
 
30
30
  client = DodoPayments(
31
- bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
31
+ api_key=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
32
32
  # defaults to "live_mode".
33
33
  environment="test_mode",
34
34
  )
@@ -52,10 +52,10 @@ payment = client.payments.create(
52
52
  print(payment.payment_id)
53
53
  ```
54
54
 
55
- While you can provide a `bearer_token` keyword argument,
55
+ While you can provide an `api_key` keyword argument,
56
56
  we recommend using [python-dotenv](https://pypi.org/project/python-dotenv/)
57
- to add `DODO_PAYMENTS_API_KEY="My Bearer Token"` to your `.env` file
58
- so that your Bearer Token is not stored in source control.
57
+ to add `DODO_PAYMENTS_API_KEY="My API Key"` to your `.env` file
58
+ so that your API Key is not stored in source control.
59
59
 
60
60
  ## Async usage
61
61
 
@@ -67,7 +67,7 @@ import asyncio
67
67
  from dodopayments import AsyncDodoPayments
68
68
 
69
69
  client = AsyncDodoPayments(
70
- bearer_token=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
70
+ api_key=os.environ.get("DODO_PAYMENTS_API_KEY"), # This is the default and can be omitted
71
71
  # defaults to "live_mode".
72
72
  environment="test_mode",
73
73
  )
@@ -29,10 +29,12 @@ Types:
29
29
 
30
30
  ```python
31
31
  from dodopayments.types import (
32
+ AddonCartResponseItem,
32
33
  Subscription,
33
34
  SubscriptionStatus,
34
35
  TimeInterval,
35
36
  SubscriptionCreateResponse,
37
+ SubscriptionListResponse,
36
38
  SubscriptionChargeResponse,
37
39
  )
38
40
  ```
@@ -42,7 +44,7 @@ Methods:
42
44
  - <code title="post /subscriptions">client.subscriptions.<a href="./src/dodopayments/resources/subscriptions.py">create</a>(\*\*<a href="src/dodopayments/types/subscription_create_params.py">params</a>) -> <a href="./src/dodopayments/types/subscription_create_response.py">SubscriptionCreateResponse</a></code>
43
45
  - <code title="get /subscriptions/{subscription_id}">client.subscriptions.<a href="./src/dodopayments/resources/subscriptions.py">retrieve</a>(subscription_id) -> <a href="./src/dodopayments/types/subscription.py">Subscription</a></code>
44
46
  - <code title="patch /subscriptions/{subscription_id}">client.subscriptions.<a href="./src/dodopayments/resources/subscriptions.py">update</a>(subscription_id, \*\*<a href="src/dodopayments/types/subscription_update_params.py">params</a>) -> <a href="./src/dodopayments/types/subscription.py">Subscription</a></code>
45
- - <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.py">SyncDefaultPageNumberPagination[Subscription]</a></code>
47
+ - <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>
46
48
  - <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>
47
49
  - <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>
48
50
 
@@ -203,7 +205,12 @@ Methods:
203
205
  Types:
204
206
 
205
207
  ```python
206
- from dodopayments.types import CountryCode, MiscListSupportedCountriesResponse
208
+ from dodopayments.types import (
209
+ CountryCode,
210
+ Currency,
211
+ TaxCategory,
212
+ MiscListSupportedCountriesResponse,
213
+ )
207
214
  ```
208
215
 
209
216
  Methods:
@@ -225,3 +232,19 @@ Methods:
225
232
  - <code title="patch /discounts/{discount_id}">client.discounts.<a href="./src/dodopayments/resources/discounts.py">update</a>(discount_id, \*\*<a href="src/dodopayments/types/discount_update_params.py">params</a>) -> <a href="./src/dodopayments/types/discount.py">Discount</a></code>
226
233
  - <code title="get /discounts">client.discounts.<a href="./src/dodopayments/resources/discounts.py">list</a>(\*\*<a href="src/dodopayments/types/discount_list_params.py">params</a>) -> <a href="./src/dodopayments/types/discount.py">SyncDefaultPageNumberPagination[Discount]</a></code>
227
234
  - <code title="delete /discounts/{discount_id}">client.discounts.<a href="./src/dodopayments/resources/discounts.py">delete</a>(discount_id) -> None</code>
235
+
236
+ # Addons
237
+
238
+ Types:
239
+
240
+ ```python
241
+ from dodopayments.types import AddonResponse, AddonUpdateImagesResponse
242
+ ```
243
+
244
+ Methods:
245
+
246
+ - <code title="post /addons">client.addons.<a href="./src/dodopayments/resources/addons.py">create</a>(\*\*<a href="src/dodopayments/types/addon_create_params.py">params</a>) -> <a href="./src/dodopayments/types/addon_response.py">AddonResponse</a></code>
247
+ - <code title="get /addons/{id}">client.addons.<a href="./src/dodopayments/resources/addons.py">retrieve</a>(id) -> <a href="./src/dodopayments/types/addon_response.py">AddonResponse</a></code>
248
+ - <code title="patch /addons/{id}">client.addons.<a href="./src/dodopayments/resources/addons.py">update</a>(id, \*\*<a href="src/dodopayments/types/addon_update_params.py">params</a>) -> <a href="./src/dodopayments/types/addon_response.py">AddonResponse</a></code>
249
+ - <code title="get /addons">client.addons.<a href="./src/dodopayments/resources/addons.py">list</a>(\*\*<a href="src/dodopayments/types/addon_list_params.py">params</a>) -> <a href="./src/dodopayments/types/addon_response.py">SyncDefaultPageNumberPagination[AddonResponse]</a></code>
250
+ - <code title="put /addons/{id}/images">client.addons.<a href="./src/dodopayments/resources/addons.py">update_images</a>(id) -> <a href="./src/dodopayments/types/addon_update_images_response.py">AddonUpdateImagesResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dodopayments"
3
- version = "1.19.0"
3
+ version = "1.20.0"
4
4
  description = "The official Python library for the Dodo Payments API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -23,6 +23,7 @@ from ._utils import is_given, get_async_library
23
23
  from ._version import __version__
24
24
  from .resources import (
25
25
  misc,
26
+ addons,
26
27
  payouts,
27
28
  refunds,
28
29
  disputes,
@@ -78,18 +79,19 @@ class DodoPayments(SyncAPIClient):
78
79
  products: products.ProductsResource
79
80
  misc: misc.MiscResource
80
81
  discounts: discounts.DiscountsResource
82
+ addons: addons.AddonsResource
81
83
  with_raw_response: DodoPaymentsWithRawResponse
82
84
  with_streaming_response: DodoPaymentsWithStreamedResponse
83
85
 
84
86
  # client options
85
- bearer_token: str
87
+ api_key: str
86
88
 
87
89
  _environment: Literal["live_mode", "test_mode"] | NotGiven
88
90
 
89
91
  def __init__(
90
92
  self,
91
93
  *,
92
- bearer_token: str | None = None,
94
+ api_key: str | None = None,
93
95
  environment: Literal["live_mode", "test_mode"] | NotGiven = NOT_GIVEN,
94
96
  base_url: str | httpx.URL | None | NotGiven = NOT_GIVEN,
95
97
  timeout: Union[float, Timeout, None, NotGiven] = NOT_GIVEN,
@@ -112,15 +114,15 @@ class DodoPayments(SyncAPIClient):
112
114
  ) -> None:
113
115
  """Construct a new synchronous DodoPayments client instance.
114
116
 
115
- This automatically infers the `bearer_token` argument from the `DODO_PAYMENTS_API_KEY` environment variable if it is not provided.
117
+ This automatically infers the `api_key` argument from the `DODO_PAYMENTS_API_KEY` environment variable if it is not provided.
116
118
  """
117
- if bearer_token is None:
118
- bearer_token = os.environ.get("DODO_PAYMENTS_API_KEY")
119
- if bearer_token is None:
119
+ if api_key is None:
120
+ api_key = os.environ.get("DODO_PAYMENTS_API_KEY")
121
+ if api_key is None:
120
122
  raise DodoPaymentsError(
121
- "The bearer_token client option must be set either by passing bearer_token to the client or by setting the DODO_PAYMENTS_API_KEY environment variable"
123
+ "The api_key client option must be set either by passing api_key to the client or by setting the DODO_PAYMENTS_API_KEY environment variable"
122
124
  )
123
- self.bearer_token = bearer_token
125
+ self.api_key = api_key
124
126
 
125
127
  self._environment = environment
126
128
 
@@ -173,6 +175,7 @@ class DodoPayments(SyncAPIClient):
173
175
  self.products = products.ProductsResource(self)
174
176
  self.misc = misc.MiscResource(self)
175
177
  self.discounts = discounts.DiscountsResource(self)
178
+ self.addons = addons.AddonsResource(self)
176
179
  self.with_raw_response = DodoPaymentsWithRawResponse(self)
177
180
  self.with_streaming_response = DodoPaymentsWithStreamedResponse(self)
178
181
 
@@ -184,8 +187,8 @@ class DodoPayments(SyncAPIClient):
184
187
  @property
185
188
  @override
186
189
  def auth_headers(self) -> dict[str, str]:
187
- bearer_token = self.bearer_token
188
- return {"Authorization": f"Bearer {bearer_token}"}
190
+ api_key = self.api_key
191
+ return {"Authorization": f"Bearer {api_key}"}
189
192
 
190
193
  @property
191
194
  @override
@@ -199,7 +202,7 @@ class DodoPayments(SyncAPIClient):
199
202
  def copy(
200
203
  self,
201
204
  *,
202
- bearer_token: str | None = None,
205
+ api_key: str | None = None,
203
206
  environment: Literal["live_mode", "test_mode"] | None = None,
204
207
  base_url: str | httpx.URL | None = None,
205
208
  timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
@@ -234,7 +237,7 @@ class DodoPayments(SyncAPIClient):
234
237
 
235
238
  http_client = http_client or self._client
236
239
  return self.__class__(
237
- bearer_token=bearer_token or self.bearer_token,
240
+ api_key=api_key or self.api_key,
238
241
  base_url=base_url or self.base_url,
239
242
  environment=environment or self._environment,
240
243
  timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
@@ -298,18 +301,19 @@ class AsyncDodoPayments(AsyncAPIClient):
298
301
  products: products.AsyncProductsResource
299
302
  misc: misc.AsyncMiscResource
300
303
  discounts: discounts.AsyncDiscountsResource
304
+ addons: addons.AsyncAddonsResource
301
305
  with_raw_response: AsyncDodoPaymentsWithRawResponse
302
306
  with_streaming_response: AsyncDodoPaymentsWithStreamedResponse
303
307
 
304
308
  # client options
305
- bearer_token: str
309
+ api_key: str
306
310
 
307
311
  _environment: Literal["live_mode", "test_mode"] | NotGiven
308
312
 
309
313
  def __init__(
310
314
  self,
311
315
  *,
312
- bearer_token: str | None = None,
316
+ api_key: str | None = None,
313
317
  environment: Literal["live_mode", "test_mode"] | NotGiven = NOT_GIVEN,
314
318
  base_url: str | httpx.URL | None | NotGiven = NOT_GIVEN,
315
319
  timeout: Union[float, Timeout, None, NotGiven] = NOT_GIVEN,
@@ -332,15 +336,15 @@ class AsyncDodoPayments(AsyncAPIClient):
332
336
  ) -> None:
333
337
  """Construct a new async AsyncDodoPayments client instance.
334
338
 
335
- This automatically infers the `bearer_token` argument from the `DODO_PAYMENTS_API_KEY` environment variable if it is not provided.
339
+ This automatically infers the `api_key` argument from the `DODO_PAYMENTS_API_KEY` environment variable if it is not provided.
336
340
  """
337
- if bearer_token is None:
338
- bearer_token = os.environ.get("DODO_PAYMENTS_API_KEY")
339
- if bearer_token is None:
341
+ if api_key is None:
342
+ api_key = os.environ.get("DODO_PAYMENTS_API_KEY")
343
+ if api_key is None:
340
344
  raise DodoPaymentsError(
341
- "The bearer_token client option must be set either by passing bearer_token to the client or by setting the DODO_PAYMENTS_API_KEY environment variable"
345
+ "The api_key client option must be set either by passing api_key to the client or by setting the DODO_PAYMENTS_API_KEY environment variable"
342
346
  )
343
- self.bearer_token = bearer_token
347
+ self.api_key = api_key
344
348
 
345
349
  self._environment = environment
346
350
 
@@ -393,6 +397,7 @@ class AsyncDodoPayments(AsyncAPIClient):
393
397
  self.products = products.AsyncProductsResource(self)
394
398
  self.misc = misc.AsyncMiscResource(self)
395
399
  self.discounts = discounts.AsyncDiscountsResource(self)
400
+ self.addons = addons.AsyncAddonsResource(self)
396
401
  self.with_raw_response = AsyncDodoPaymentsWithRawResponse(self)
397
402
  self.with_streaming_response = AsyncDodoPaymentsWithStreamedResponse(self)
398
403
 
@@ -404,8 +409,8 @@ class AsyncDodoPayments(AsyncAPIClient):
404
409
  @property
405
410
  @override
406
411
  def auth_headers(self) -> dict[str, str]:
407
- bearer_token = self.bearer_token
408
- return {"Authorization": f"Bearer {bearer_token}"}
412
+ api_key = self.api_key
413
+ return {"Authorization": f"Bearer {api_key}"}
409
414
 
410
415
  @property
411
416
  @override
@@ -419,7 +424,7 @@ class AsyncDodoPayments(AsyncAPIClient):
419
424
  def copy(
420
425
  self,
421
426
  *,
422
- bearer_token: str | None = None,
427
+ api_key: str | None = None,
423
428
  environment: Literal["live_mode", "test_mode"] | None = None,
424
429
  base_url: str | httpx.URL | None = None,
425
430
  timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
@@ -454,7 +459,7 @@ class AsyncDodoPayments(AsyncAPIClient):
454
459
 
455
460
  http_client = http_client or self._client
456
461
  return self.__class__(
457
- bearer_token=bearer_token or self.bearer_token,
462
+ api_key=api_key or self.api_key,
458
463
  base_url=base_url or self.base_url,
459
464
  environment=environment or self._environment,
460
465
  timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
@@ -521,6 +526,7 @@ class DodoPaymentsWithRawResponse:
521
526
  self.products = products.ProductsResourceWithRawResponse(client.products)
522
527
  self.misc = misc.MiscResourceWithRawResponse(client.misc)
523
528
  self.discounts = discounts.DiscountsResourceWithRawResponse(client.discounts)
529
+ self.addons = addons.AddonsResourceWithRawResponse(client.addons)
524
530
 
525
531
 
526
532
  class AsyncDodoPaymentsWithRawResponse:
@@ -541,6 +547,7 @@ class AsyncDodoPaymentsWithRawResponse:
541
547
  self.products = products.AsyncProductsResourceWithRawResponse(client.products)
542
548
  self.misc = misc.AsyncMiscResourceWithRawResponse(client.misc)
543
549
  self.discounts = discounts.AsyncDiscountsResourceWithRawResponse(client.discounts)
550
+ self.addons = addons.AsyncAddonsResourceWithRawResponse(client.addons)
544
551
 
545
552
 
546
553
  class DodoPaymentsWithStreamedResponse:
@@ -561,6 +568,7 @@ class DodoPaymentsWithStreamedResponse:
561
568
  self.products = products.ProductsResourceWithStreamingResponse(client.products)
562
569
  self.misc = misc.MiscResourceWithStreamingResponse(client.misc)
563
570
  self.discounts = discounts.DiscountsResourceWithStreamingResponse(client.discounts)
571
+ self.addons = addons.AddonsResourceWithStreamingResponse(client.addons)
564
572
 
565
573
 
566
574
  class AsyncDodoPaymentsWithStreamedResponse:
@@ -581,6 +589,7 @@ class AsyncDodoPaymentsWithStreamedResponse:
581
589
  self.products = products.AsyncProductsResourceWithStreamingResponse(client.products)
582
590
  self.misc = misc.AsyncMiscResourceWithStreamingResponse(client.misc)
583
591
  self.discounts = discounts.AsyncDiscountsResourceWithStreamingResponse(client.discounts)
592
+ self.addons = addons.AsyncAddonsResourceWithStreamingResponse(client.addons)
584
593
 
585
594
 
586
595
  Client = DodoPayments
@@ -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.19.0" # x-release-please-version
4
+ __version__ = "1.20.0" # x-release-please-version
@@ -8,6 +8,14 @@ from .misc import (
8
8
  MiscResourceWithStreamingResponse,
9
9
  AsyncMiscResourceWithStreamingResponse,
10
10
  )
11
+ from .addons import (
12
+ AddonsResource,
13
+ AsyncAddonsResource,
14
+ AddonsResourceWithRawResponse,
15
+ AsyncAddonsResourceWithRawResponse,
16
+ AddonsResourceWithStreamingResponse,
17
+ AsyncAddonsResourceWithStreamingResponse,
18
+ )
11
19
  from .payouts import (
12
20
  PayoutsResource,
13
21
  AsyncPayoutsResource,
@@ -198,4 +206,10 @@ __all__ = [
198
206
  "AsyncDiscountsResourceWithRawResponse",
199
207
  "DiscountsResourceWithStreamingResponse",
200
208
  "AsyncDiscountsResourceWithStreamingResponse",
209
+ "AddonsResource",
210
+ "AsyncAddonsResource",
211
+ "AddonsResourceWithRawResponse",
212
+ "AsyncAddonsResourceWithRawResponse",
213
+ "AddonsResourceWithStreamingResponse",
214
+ "AsyncAddonsResourceWithStreamingResponse",
201
215
  ]