dodopayments 1.42.0__tar.gz → 1.43.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.

Potentially problematic release.


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

Files changed (208) hide show
  1. {dodopayments-1.42.0 → dodopayments-1.43.1}/.gitignore +0 -1
  2. dodopayments-1.43.1/.release-please-manifest.json +3 -0
  3. {dodopayments-1.42.0 → dodopayments-1.43.1}/CHANGELOG.md +22 -0
  4. {dodopayments-1.42.0 → dodopayments-1.43.1}/PKG-INFO +1 -1
  5. {dodopayments-1.42.0 → dodopayments-1.43.1}/api.md +8 -18
  6. {dodopayments-1.42.0 → dodopayments-1.43.1}/pyproject.toml +1 -1
  7. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_models.py +24 -3
  8. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_version.py +1 -1
  9. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/brands.py +13 -15
  10. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/disputes.py +5 -5
  11. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/payments.py +3 -50
  12. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/subscriptions.py +8 -54
  13. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/__init__.py +4 -4
  14. dodopayments-1.43.1/src/dodopayments/types/attach_addon_param.py +13 -0
  15. dodopayments-1.42.0/src/dodopayments/types/brand_update_response.py → dodopayments-1.43.1/src/dodopayments/types/brand.py +2 -2
  16. dodopayments-1.43.1/src/dodopayments/types/brand_list_response.py +13 -0
  17. dodopayments-1.42.0/src/dodopayments/types/dispute_retrieve_response.py → dodopayments-1.43.1/src/dodopayments/types/get_dispute.py +2 -2
  18. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/payment_create_params.py +3 -25
  19. dodopayments-1.43.1/src/dodopayments/types/payment_method_types.py +26 -0
  20. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/subscription_change_plan_params.py +4 -8
  21. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/subscription_create_params.py +6 -33
  22. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_brands.py +23 -25
  23. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_disputes.py +7 -7
  24. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/test_models.py +28 -1
  25. dodopayments-1.42.0/.release-please-manifest.json +0 -3
  26. dodopayments-1.42.0/src/dodopayments/types/brand_create_response.py +0 -35
  27. dodopayments-1.42.0/src/dodopayments/types/brand_list_response.py +0 -40
  28. dodopayments-1.42.0/src/dodopayments/types/brand_retrieve_response.py +0 -35
  29. {dodopayments-1.42.0 → dodopayments-1.43.1}/CONTRIBUTING.md +0 -0
  30. {dodopayments-1.42.0 → dodopayments-1.43.1}/LICENSE +0 -0
  31. {dodopayments-1.42.0 → dodopayments-1.43.1}/README.md +0 -0
  32. {dodopayments-1.42.0 → dodopayments-1.43.1}/SECURITY.md +0 -0
  33. {dodopayments-1.42.0 → dodopayments-1.43.1}/bin/check-release-environment +0 -0
  34. {dodopayments-1.42.0 → dodopayments-1.43.1}/bin/publish-pypi +0 -0
  35. {dodopayments-1.42.0 → dodopayments-1.43.1}/examples/.keep +0 -0
  36. {dodopayments-1.42.0 → dodopayments-1.43.1}/mypy.ini +0 -0
  37. {dodopayments-1.42.0 → dodopayments-1.43.1}/noxfile.py +0 -0
  38. {dodopayments-1.42.0 → dodopayments-1.43.1}/release-please-config.json +0 -0
  39. {dodopayments-1.42.0 → dodopayments-1.43.1}/requirements-dev.lock +0 -0
  40. {dodopayments-1.42.0 → dodopayments-1.43.1}/requirements.lock +0 -0
  41. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodo_payments/lib/.keep +0 -0
  42. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/__init__.py +0 -0
  43. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_base_client.py +0 -0
  44. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_client.py +0 -0
  45. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_compat.py +0 -0
  46. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_constants.py +0 -0
  47. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_exceptions.py +0 -0
  48. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_files.py +0 -0
  49. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_qs.py +0 -0
  50. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_resource.py +0 -0
  51. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_response.py +0 -0
  52. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_streaming.py +0 -0
  53. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_types.py +0 -0
  54. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_utils/__init__.py +0 -0
  55. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_utils/_logs.py +0 -0
  56. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_utils/_proxy.py +0 -0
  57. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_utils/_reflection.py +0 -0
  58. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_utils/_resources_proxy.py +0 -0
  59. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_utils/_streams.py +0 -0
  60. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_utils/_sync.py +0 -0
  61. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_utils/_transform.py +0 -0
  62. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_utils/_typing.py +0 -0
  63. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/_utils/_utils.py +0 -0
  64. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/lib/.keep +0 -0
  65. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/pagination.py +0 -0
  66. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/py.typed +0 -0
  67. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/__init__.py +0 -0
  68. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/addons.py +0 -0
  69. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/customers/__init__.py +0 -0
  70. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/customers/customer_portal.py +0 -0
  71. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/customers/customers.py +0 -0
  72. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/discounts.py +0 -0
  73. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/invoices/__init__.py +0 -0
  74. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/invoices/invoices.py +0 -0
  75. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/invoices/payments.py +0 -0
  76. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/license_key_instances.py +0 -0
  77. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/license_keys.py +0 -0
  78. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/licenses.py +0 -0
  79. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/misc.py +0 -0
  80. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/payouts.py +0 -0
  81. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/products/__init__.py +0 -0
  82. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/products/images.py +0 -0
  83. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/products/products.py +0 -0
  84. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/refunds.py +0 -0
  85. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/resources/webhook_events.py +0 -0
  86. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/addon_cart_response_item.py +0 -0
  87. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/addon_create_params.py +0 -0
  88. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/addon_list_params.py +0 -0
  89. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/addon_response.py +0 -0
  90. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/addon_update_images_response.py +0 -0
  91. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/addon_update_params.py +0 -0
  92. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/attach_existing_customer_param.py +0 -0
  93. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/billing_address.py +0 -0
  94. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/billing_address_param.py +0 -0
  95. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/brand_create_params.py +0 -0
  96. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/brand_update_images_response.py +0 -0
  97. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/brand_update_params.py +0 -0
  98. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/country_code.py +0 -0
  99. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/create_new_customer_param.py +0 -0
  100. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/currency.py +0 -0
  101. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/customer.py +0 -0
  102. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/customer_create_params.py +0 -0
  103. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/customer_limited_details.py +0 -0
  104. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/customer_list_params.py +0 -0
  105. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/customer_portal_session.py +0 -0
  106. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/customer_request_param.py +0 -0
  107. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/customer_update_params.py +0 -0
  108. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/customers/__init__.py +0 -0
  109. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/customers/customer_portal_create_params.py +0 -0
  110. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/discount.py +0 -0
  111. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/discount_create_params.py +0 -0
  112. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/discount_list_params.py +0 -0
  113. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/discount_type.py +0 -0
  114. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/discount_update_params.py +0 -0
  115. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/dispute.py +0 -0
  116. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/dispute_list_params.py +0 -0
  117. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/dispute_list_response.py +0 -0
  118. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/dispute_stage.py +0 -0
  119. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/dispute_status.py +0 -0
  120. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/intent_status.py +0 -0
  121. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/invoices/__init__.py +0 -0
  122. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/license_activate_params.py +0 -0
  123. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/license_deactivate_params.py +0 -0
  124. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/license_key.py +0 -0
  125. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/license_key_duration.py +0 -0
  126. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/license_key_duration_param.py +0 -0
  127. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/license_key_instance.py +0 -0
  128. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/license_key_instance_list_params.py +0 -0
  129. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/license_key_instance_update_params.py +0 -0
  130. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/license_key_list_params.py +0 -0
  131. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/license_key_status.py +0 -0
  132. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/license_key_update_params.py +0 -0
  133. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/license_validate_params.py +0 -0
  134. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/license_validate_response.py +0 -0
  135. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/misc_list_supported_countries_response.py +0 -0
  136. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/one_time_product_cart_item.py +0 -0
  137. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/one_time_product_cart_item_param.py +0 -0
  138. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/payment.py +0 -0
  139. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/payment_create_response.py +0 -0
  140. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/payment_list_params.py +0 -0
  141. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/payment_list_response.py +0 -0
  142. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/payment_retrieve_line_items_response.py +0 -0
  143. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/payout_list_params.py +0 -0
  144. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/payout_list_response.py +0 -0
  145. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/price.py +0 -0
  146. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/price_param.py +0 -0
  147. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/product.py +0 -0
  148. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/product_create_params.py +0 -0
  149. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/product_list_params.py +0 -0
  150. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/product_list_response.py +0 -0
  151. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/product_update_files_params.py +0 -0
  152. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/product_update_files_response.py +0 -0
  153. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/product_update_params.py +0 -0
  154. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/products/__init__.py +0 -0
  155. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/products/image_update_params.py +0 -0
  156. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/products/image_update_response.py +0 -0
  157. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/refund.py +0 -0
  158. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/refund_create_params.py +0 -0
  159. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/refund_list_params.py +0 -0
  160. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/refund_status.py +0 -0
  161. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/subscription.py +0 -0
  162. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/subscription_charge_params.py +0 -0
  163. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/subscription_charge_response.py +0 -0
  164. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/subscription_create_response.py +0 -0
  165. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/subscription_list_params.py +0 -0
  166. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/subscription_list_response.py +0 -0
  167. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/subscription_status.py +0 -0
  168. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/subscription_update_params.py +0 -0
  169. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/tax_category.py +0 -0
  170. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/time_interval.py +0 -0
  171. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/webhook_event.py +0 -0
  172. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/webhook_event_list_params.py +0 -0
  173. {dodopayments-1.42.0 → dodopayments-1.43.1}/src/dodopayments/types/webhook_event_type.py +0 -0
  174. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/__init__.py +0 -0
  175. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/__init__.py +0 -0
  176. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/customers/__init__.py +0 -0
  177. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/customers/test_customer_portal.py +0 -0
  178. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/invoices/__init__.py +0 -0
  179. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/invoices/test_payments.py +0 -0
  180. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/products/__init__.py +0 -0
  181. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/products/test_images.py +0 -0
  182. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_addons.py +0 -0
  183. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_customers.py +0 -0
  184. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_discounts.py +0 -0
  185. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_license_key_instances.py +0 -0
  186. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_license_keys.py +0 -0
  187. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_licenses.py +0 -0
  188. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_misc.py +0 -0
  189. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_payments.py +0 -0
  190. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_payouts.py +0 -0
  191. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_products.py +0 -0
  192. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_refunds.py +0 -0
  193. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_subscriptions.py +0 -0
  194. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/api_resources/test_webhook_events.py +0 -0
  195. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/conftest.py +0 -0
  196. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/sample_file.txt +0 -0
  197. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/test_client.py +0 -0
  198. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/test_deepcopy.py +0 -0
  199. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/test_extract_files.py +0 -0
  200. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/test_files.py +0 -0
  201. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/test_qs.py +0 -0
  202. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/test_required_args.py +0 -0
  203. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/test_response.py +0 -0
  204. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/test_streaming.py +0 -0
  205. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/test_transform.py +0 -0
  206. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/test_utils/test_proxy.py +0 -0
  207. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/test_utils/test_typing.py +0 -0
  208. {dodopayments-1.42.0 → dodopayments-1.43.1}/tests/utils.py +0 -0
@@ -1,5 +1,4 @@
1
1
  .prism.log
2
- .vscode
3
2
  _dev
4
3
 
5
4
  __pycache__
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.43.1"
3
+ }
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.43.1 (2025-07-25)
4
+
5
+ Full Changelog: [v1.43.0...v1.43.1](https://github.com/dodopayments/dodopayments-python/compare/v1.43.0...v1.43.1)
6
+
7
+ ### Chores
8
+
9
+ * **project:** add settings file for vscode ([dcc13b8](https://github.com/dodopayments/dodopayments-python/commit/dcc13b814a78d0147d9d621aca865edd779a8b31))
10
+
11
+ ## 1.43.0 (2025-07-23)
12
+
13
+ Full Changelog: [v1.42.0...v1.43.0](https://github.com/dodopayments/dodopayments-python/compare/v1.42.0...v1.43.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** updated openapi spec to v1.42.5 ([08a0bf9](https://github.com/dodopayments/dodopayments-python/commit/08a0bf9aa2adc4ef10644655ae61c73fcdb4a505))
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **parsing:** ignore empty metadata ([20c799d](https://github.com/dodopayments/dodopayments-python/commit/20c799ddc02003fc43661fbaf29924b473fc1fde))
23
+ * **parsing:** parse extra field types ([d00f70a](https://github.com/dodopayments/dodopayments-python/commit/d00f70a16e83d3994d1c8f4d7d0cac9b0cfcd1e3))
24
+
3
25
  ## 1.42.0 (2025-07-16)
4
26
 
5
27
  Full Changelog: [v1.39.0...v1.42.0](https://github.com/dodopayments/dodopayments-python/compare/v1.39.0...v1.42.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dodopayments
3
- Version: 1.42.0
3
+ Version: 1.43.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
@@ -12,6 +12,7 @@ from dodopayments.types import (
12
12
  IntentStatus,
13
13
  OneTimeProductCartItem,
14
14
  Payment,
15
+ PaymentMethodTypes,
15
16
  PaymentCreateResponse,
16
17
  PaymentListResponse,
17
18
  PaymentRetrieveLineItemsResponse,
@@ -32,6 +33,7 @@ Types:
32
33
  ```python
33
34
  from dodopayments.types import (
34
35
  AddonCartResponseItem,
36
+ AttachAddon,
35
37
  Subscription,
36
38
  SubscriptionStatus,
37
39
  TimeInterval,
@@ -140,18 +142,12 @@ Methods:
140
142
  Types:
141
143
 
142
144
  ```python
143
- from dodopayments.types import (
144
- Dispute,
145
- DisputeStage,
146
- DisputeStatus,
147
- DisputeRetrieveResponse,
148
- DisputeListResponse,
149
- )
145
+ from dodopayments.types import Dispute, DisputeStage, DisputeStatus, GetDispute, DisputeListResponse
150
146
  ```
151
147
 
152
148
  Methods:
153
149
 
154
- - <code title="get /disputes/{dispute_id}">client.disputes.<a href="./src/dodopayments/resources/disputes.py">retrieve</a>(dispute_id) -> <a href="./src/dodopayments/types/dispute_retrieve_response.py">DisputeRetrieveResponse</a></code>
150
+ - <code title="get /disputes/{dispute_id}">client.disputes.<a href="./src/dodopayments/resources/disputes.py">retrieve</a>(dispute_id) -> <a href="./src/dodopayments/types/get_dispute.py">GetDispute</a></code>
155
151
  - <code title="get /disputes">client.disputes.<a href="./src/dodopayments/resources/disputes.py">list</a>(\*\*<a href="src/dodopayments/types/dispute_list_params.py">params</a>) -> <a href="./src/dodopayments/types/dispute_list_response.py">SyncDefaultPageNumberPagination[DisputeListResponse]</a></code>
156
152
 
157
153
  # Payouts
@@ -269,19 +265,13 @@ Methods:
269
265
  Types:
270
266
 
271
267
  ```python
272
- from dodopayments.types import (
273
- BrandCreateResponse,
274
- BrandRetrieveResponse,
275
- BrandUpdateResponse,
276
- BrandListResponse,
277
- BrandUpdateImagesResponse,
278
- )
268
+ from dodopayments.types import Brand, BrandListResponse, BrandUpdateImagesResponse
279
269
  ```
280
270
 
281
271
  Methods:
282
272
 
283
- - <code title="post /brands">client.brands.<a href="./src/dodopayments/resources/brands.py">create</a>(\*\*<a href="src/dodopayments/types/brand_create_params.py">params</a>) -> <a href="./src/dodopayments/types/brand_create_response.py">BrandCreateResponse</a></code>
284
- - <code title="get /brands/{id}">client.brands.<a href="./src/dodopayments/resources/brands.py">retrieve</a>(id) -> <a href="./src/dodopayments/types/brand_retrieve_response.py">BrandRetrieveResponse</a></code>
285
- - <code title="patch /brands/{id}">client.brands.<a href="./src/dodopayments/resources/brands.py">update</a>(id, \*\*<a href="src/dodopayments/types/brand_update_params.py">params</a>) -> <a href="./src/dodopayments/types/brand_update_response.py">BrandUpdateResponse</a></code>
273
+ - <code title="post /brands">client.brands.<a href="./src/dodopayments/resources/brands.py">create</a>(\*\*<a href="src/dodopayments/types/brand_create_params.py">params</a>) -> <a href="./src/dodopayments/types/brand.py">Brand</a></code>
274
+ - <code title="get /brands/{id}">client.brands.<a href="./src/dodopayments/resources/brands.py">retrieve</a>(id) -> <a href="./src/dodopayments/types/brand.py">Brand</a></code>
275
+ - <code title="patch /brands/{id}">client.brands.<a href="./src/dodopayments/resources/brands.py">update</a>(id, \*\*<a href="src/dodopayments/types/brand_update_params.py">params</a>) -> <a href="./src/dodopayments/types/brand.py">Brand</a></code>
286
276
  - <code title="get /brands">client.brands.<a href="./src/dodopayments/resources/brands.py">list</a>() -> <a href="./src/dodopayments/types/brand_list_response.py">BrandListResponse</a></code>
287
277
  - <code title="put /brands/{id}/images">client.brands.<a href="./src/dodopayments/resources/brands.py">update_images</a>(id) -> <a href="./src/dodopayments/types/brand_update_images_response.py">BrandUpdateImagesResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dodopayments"
3
- version = "1.42.0"
3
+ version = "1.43.1"
4
4
  description = "The official Python library for the Dodo Payments API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -208,14 +208,18 @@ class BaseModel(pydantic.BaseModel):
208
208
  else:
209
209
  fields_values[name] = field_get_default(field)
210
210
 
211
+ extra_field_type = _get_extra_fields_type(__cls)
212
+
211
213
  _extra = {}
212
214
  for key, value in values.items():
213
215
  if key not in model_fields:
216
+ parsed = construct_type(value=value, type_=extra_field_type) if extra_field_type is not None else value
217
+
214
218
  if PYDANTIC_V2:
215
- _extra[key] = value
219
+ _extra[key] = parsed
216
220
  else:
217
221
  _fields_set.add(key)
218
- fields_values[key] = value
222
+ fields_values[key] = parsed
219
223
 
220
224
  object.__setattr__(m, "__dict__", fields_values)
221
225
 
@@ -370,6 +374,23 @@ def _construct_field(value: object, field: FieldInfo, key: str) -> object:
370
374
  return construct_type(value=value, type_=type_, metadata=getattr(field, "metadata", None))
371
375
 
372
376
 
377
+ def _get_extra_fields_type(cls: type[pydantic.BaseModel]) -> type | None:
378
+ if not PYDANTIC_V2:
379
+ # TODO
380
+ return None
381
+
382
+ schema = cls.__pydantic_core_schema__
383
+ if schema["type"] == "model":
384
+ fields = schema["schema"]
385
+ if fields["type"] == "model-fields":
386
+ extras = fields.get("extras_schema")
387
+ if extras and "cls" in extras:
388
+ # mypy can't narrow the type
389
+ return extras["cls"] # type: ignore[no-any-return]
390
+
391
+ return None
392
+
393
+
373
394
  def is_basemodel(type_: type) -> bool:
374
395
  """Returns whether or not the given type is either a `BaseModel` or a union of `BaseModel`"""
375
396
  if is_union(type_):
@@ -439,7 +460,7 @@ def construct_type(*, value: object, type_: object, metadata: Optional[List[Any]
439
460
  type_ = type_.__value__ # type: ignore[unreachable]
440
461
 
441
462
  # unwrap `Annotated[T, ...]` -> `T`
442
- if metadata is not None:
463
+ if metadata is not None and len(metadata) > 0:
443
464
  meta: tuple[Any, ...] = tuple(metadata)
444
465
  elif is_annotated_type(type_):
445
466
  meta = get_args(type_)[1:]
@@ -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.42.0" # x-release-please-version
4
+ __version__ = "1.43.1" # x-release-please-version
@@ -17,11 +17,9 @@ from .._response import (
17
17
  async_to_raw_response_wrapper,
18
18
  async_to_streamed_response_wrapper,
19
19
  )
20
+ from ..types.brand import Brand
20
21
  from .._base_client import make_request_options
21
22
  from ..types.brand_list_response import BrandListResponse
22
- from ..types.brand_create_response import BrandCreateResponse
23
- from ..types.brand_update_response import BrandUpdateResponse
24
- from ..types.brand_retrieve_response import BrandRetrieveResponse
25
23
  from ..types.brand_update_images_response import BrandUpdateImagesResponse
26
24
 
27
25
  __all__ = ["BrandsResource", "AsyncBrandsResource"]
@@ -61,7 +59,7 @@ class BrandsResource(SyncAPIResource):
61
59
  extra_query: Query | None = None,
62
60
  extra_body: Body | None = None,
63
61
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
64
- ) -> BrandCreateResponse:
62
+ ) -> Brand:
65
63
  """
66
64
  Args:
67
65
  extra_headers: Send extra headers
@@ -87,7 +85,7 @@ class BrandsResource(SyncAPIResource):
87
85
  options=make_request_options(
88
86
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
89
87
  ),
90
- cast_to=BrandCreateResponse,
88
+ cast_to=Brand,
91
89
  )
92
90
 
93
91
  def retrieve(
@@ -100,7 +98,7 @@ class BrandsResource(SyncAPIResource):
100
98
  extra_query: Query | None = None,
101
99
  extra_body: Body | None = None,
102
100
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
103
- ) -> BrandRetrieveResponse:
101
+ ) -> Brand:
104
102
  """
105
103
  Thin handler just calls `get_brand` and wraps in `Json(...)`
106
104
 
@@ -120,7 +118,7 @@ class BrandsResource(SyncAPIResource):
120
118
  options=make_request_options(
121
119
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
122
120
  ),
123
- cast_to=BrandRetrieveResponse,
121
+ cast_to=Brand,
124
122
  )
125
123
 
126
124
  def update(
@@ -137,7 +135,7 @@ class BrandsResource(SyncAPIResource):
137
135
  extra_query: Query | None = None,
138
136
  extra_body: Body | None = None,
139
137
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
140
- ) -> BrandUpdateResponse:
138
+ ) -> Brand:
141
139
  """
142
140
  Args:
143
141
  image_id: The UUID you got back from the presigned‐upload call
@@ -166,7 +164,7 @@ class BrandsResource(SyncAPIResource):
166
164
  options=make_request_options(
167
165
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
168
166
  ),
169
- cast_to=BrandUpdateResponse,
167
+ cast_to=Brand,
170
168
  )
171
169
 
172
170
  def list(
@@ -253,7 +251,7 @@ class AsyncBrandsResource(AsyncAPIResource):
253
251
  extra_query: Query | None = None,
254
252
  extra_body: Body | None = None,
255
253
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
256
- ) -> BrandCreateResponse:
254
+ ) -> Brand:
257
255
  """
258
256
  Args:
259
257
  extra_headers: Send extra headers
@@ -279,7 +277,7 @@ class AsyncBrandsResource(AsyncAPIResource):
279
277
  options=make_request_options(
280
278
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
281
279
  ),
282
- cast_to=BrandCreateResponse,
280
+ cast_to=Brand,
283
281
  )
284
282
 
285
283
  async def retrieve(
@@ -292,7 +290,7 @@ class AsyncBrandsResource(AsyncAPIResource):
292
290
  extra_query: Query | None = None,
293
291
  extra_body: Body | None = None,
294
292
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
295
- ) -> BrandRetrieveResponse:
293
+ ) -> Brand:
296
294
  """
297
295
  Thin handler just calls `get_brand` and wraps in `Json(...)`
298
296
 
@@ -312,7 +310,7 @@ class AsyncBrandsResource(AsyncAPIResource):
312
310
  options=make_request_options(
313
311
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
314
312
  ),
315
- cast_to=BrandRetrieveResponse,
313
+ cast_to=Brand,
316
314
  )
317
315
 
318
316
  async def update(
@@ -329,7 +327,7 @@ class AsyncBrandsResource(AsyncAPIResource):
329
327
  extra_query: Query | None = None,
330
328
  extra_body: Body | None = None,
331
329
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
332
- ) -> BrandUpdateResponse:
330
+ ) -> Brand:
333
331
  """
334
332
  Args:
335
333
  image_id: The UUID you got back from the presigned‐upload call
@@ -358,7 +356,7 @@ class AsyncBrandsResource(AsyncAPIResource):
358
356
  options=make_request_options(
359
357
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
360
358
  ),
361
- cast_to=BrandUpdateResponse,
359
+ cast_to=Brand,
362
360
  )
363
361
 
364
362
  async def list(
@@ -21,8 +21,8 @@ from .._response import (
21
21
  )
22
22
  from ..pagination import SyncDefaultPageNumberPagination, AsyncDefaultPageNumberPagination
23
23
  from .._base_client import AsyncPaginator, make_request_options
24
+ from ..types.get_dispute import GetDispute
24
25
  from ..types.dispute_list_response import DisputeListResponse
25
- from ..types.dispute_retrieve_response import DisputeRetrieveResponse
26
26
 
27
27
  __all__ = ["DisputesResource", "AsyncDisputesResource"]
28
28
 
@@ -57,7 +57,7 @@ class DisputesResource(SyncAPIResource):
57
57
  extra_query: Query | None = None,
58
58
  extra_body: Body | None = None,
59
59
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
60
- ) -> DisputeRetrieveResponse:
60
+ ) -> GetDispute:
61
61
  """
62
62
  Args:
63
63
  extra_headers: Send extra headers
@@ -75,7 +75,7 @@ class DisputesResource(SyncAPIResource):
75
75
  options=make_request_options(
76
76
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
77
77
  ),
78
- cast_to=DisputeRetrieveResponse,
78
+ cast_to=GetDispute,
79
79
  )
80
80
 
81
81
  def list(
@@ -183,7 +183,7 @@ class AsyncDisputesResource(AsyncAPIResource):
183
183
  extra_query: Query | None = None,
184
184
  extra_body: Body | None = None,
185
185
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
186
- ) -> DisputeRetrieveResponse:
186
+ ) -> GetDispute:
187
187
  """
188
188
  Args:
189
189
  extra_headers: Send extra headers
@@ -201,7 +201,7 @@ class AsyncDisputesResource(AsyncAPIResource):
201
201
  options=make_request_options(
202
202
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
203
203
  ),
204
- cast_to=DisputeRetrieveResponse,
204
+ cast_to=GetDispute,
205
205
  )
206
206
 
207
207
  def list(
@@ -23,6 +23,7 @@ from ..pagination import SyncDefaultPageNumberPagination, AsyncDefaultPageNumber
23
23
  from .._base_client import AsyncPaginator, make_request_options
24
24
  from ..types.payment import Payment
25
25
  from ..types.currency import Currency
26
+ from ..types.payment_method_types import PaymentMethodTypes
26
27
  from ..types.billing_address_param import BillingAddressParam
27
28
  from ..types.payment_list_response import PaymentListResponse
28
29
  from ..types.customer_request_param import CustomerRequestParam
@@ -59,31 +60,7 @@ class PaymentsResource(SyncAPIResource):
59
60
  billing: BillingAddressParam,
60
61
  customer: CustomerRequestParam,
61
62
  product_cart: Iterable[OneTimeProductCartItemParam],
62
- allowed_payment_method_types: Optional[
63
- List[
64
- Literal[
65
- "credit",
66
- "debit",
67
- "upi_collect",
68
- "upi_intent",
69
- "apple_pay",
70
- "cashapp",
71
- "google_pay",
72
- "multibanco",
73
- "bancontact_card",
74
- "eps",
75
- "ideal",
76
- "przelewy24",
77
- "affirm",
78
- "klarna",
79
- "sepa",
80
- "ach",
81
- "amazon_pay",
82
- "afterpay_clearpay",
83
- ]
84
- ]
85
- ]
86
- | NotGiven = NOT_GIVEN,
63
+ allowed_payment_method_types: Optional[List[PaymentMethodTypes]] | NotGiven = NOT_GIVEN,
87
64
  billing_currency: Optional[Currency] | NotGiven = NOT_GIVEN,
88
65
  discount_code: Optional[str] | NotGiven = NOT_GIVEN,
89
66
  metadata: Dict[str, str] | NotGiven = NOT_GIVEN,
@@ -334,31 +311,7 @@ class AsyncPaymentsResource(AsyncAPIResource):
334
311
  billing: BillingAddressParam,
335
312
  customer: CustomerRequestParam,
336
313
  product_cart: Iterable[OneTimeProductCartItemParam],
337
- allowed_payment_method_types: Optional[
338
- List[
339
- Literal[
340
- "credit",
341
- "debit",
342
- "upi_collect",
343
- "upi_intent",
344
- "apple_pay",
345
- "cashapp",
346
- "google_pay",
347
- "multibanco",
348
- "bancontact_card",
349
- "eps",
350
- "ideal",
351
- "przelewy24",
352
- "affirm",
353
- "klarna",
354
- "sepa",
355
- "ach",
356
- "amazon_pay",
357
- "afterpay_clearpay",
358
- ]
359
- ]
360
- ]
361
- | NotGiven = NOT_GIVEN,
314
+ allowed_payment_method_types: Optional[List[PaymentMethodTypes]] | NotGiven = NOT_GIVEN,
362
315
  billing_currency: Optional[Currency] | NotGiven = NOT_GIVEN,
363
316
  discount_code: Optional[str] | NotGiven = NOT_GIVEN,
364
317
  metadata: Dict[str, str] | NotGiven = NOT_GIVEN,
@@ -31,7 +31,9 @@ from ..pagination import SyncDefaultPageNumberPagination, AsyncDefaultPageNumber
31
31
  from .._base_client import AsyncPaginator, make_request_options
32
32
  from ..types.currency import Currency
33
33
  from ..types.subscription import Subscription
34
+ from ..types.attach_addon_param import AttachAddonParam
34
35
  from ..types.subscription_status import SubscriptionStatus
36
+ from ..types.payment_method_types import PaymentMethodTypes
35
37
  from ..types.billing_address_param import BillingAddressParam
36
38
  from ..types.customer_request_param import CustomerRequestParam
37
39
  from ..types.subscription_list_response import SubscriptionListResponse
@@ -68,32 +70,8 @@ class SubscriptionsResource(SyncAPIResource):
68
70
  customer: CustomerRequestParam,
69
71
  product_id: str,
70
72
  quantity: int,
71
- addons: Optional[Iterable[subscription_create_params.Addon]] | NotGiven = NOT_GIVEN,
72
- allowed_payment_method_types: Optional[
73
- List[
74
- Literal[
75
- "credit",
76
- "debit",
77
- "upi_collect",
78
- "upi_intent",
79
- "apple_pay",
80
- "cashapp",
81
- "google_pay",
82
- "multibanco",
83
- "bancontact_card",
84
- "eps",
85
- "ideal",
86
- "przelewy24",
87
- "affirm",
88
- "klarna",
89
- "sepa",
90
- "ach",
91
- "amazon_pay",
92
- "afterpay_clearpay",
93
- ]
94
- ]
95
- ]
96
- | NotGiven = NOT_GIVEN,
73
+ addons: Optional[Iterable[AttachAddonParam]] | NotGiven = NOT_GIVEN,
74
+ allowed_payment_method_types: Optional[List[PaymentMethodTypes]] | NotGiven = NOT_GIVEN,
97
75
  billing_currency: Optional[Currency] | NotGiven = NOT_GIVEN,
98
76
  discount_code: Optional[str] | NotGiven = NOT_GIVEN,
99
77
  metadata: Dict[str, str] | NotGiven = NOT_GIVEN,
@@ -336,7 +314,7 @@ class SubscriptionsResource(SyncAPIResource):
336
314
  product_id: str,
337
315
  proration_billing_mode: Literal["prorated_immediately", "full_immediately"],
338
316
  quantity: int,
339
- addons: Optional[Iterable[subscription_change_plan_params.Addon]] | NotGiven = NOT_GIVEN,
317
+ addons: Optional[Iterable[AttachAddonParam]] | NotGiven = NOT_GIVEN,
340
318
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
341
319
  # The extra values given here take precedence over values defined on the client or passed to this method.
342
320
  extra_headers: Headers | None = None,
@@ -474,32 +452,8 @@ class AsyncSubscriptionsResource(AsyncAPIResource):
474
452
  customer: CustomerRequestParam,
475
453
  product_id: str,
476
454
  quantity: int,
477
- addons: Optional[Iterable[subscription_create_params.Addon]] | NotGiven = NOT_GIVEN,
478
- allowed_payment_method_types: Optional[
479
- List[
480
- Literal[
481
- "credit",
482
- "debit",
483
- "upi_collect",
484
- "upi_intent",
485
- "apple_pay",
486
- "cashapp",
487
- "google_pay",
488
- "multibanco",
489
- "bancontact_card",
490
- "eps",
491
- "ideal",
492
- "przelewy24",
493
- "affirm",
494
- "klarna",
495
- "sepa",
496
- "ach",
497
- "amazon_pay",
498
- "afterpay_clearpay",
499
- ]
500
- ]
501
- ]
502
- | NotGiven = NOT_GIVEN,
455
+ addons: Optional[Iterable[AttachAddonParam]] | NotGiven = NOT_GIVEN,
456
+ allowed_payment_method_types: Optional[List[PaymentMethodTypes]] | NotGiven = NOT_GIVEN,
503
457
  billing_currency: Optional[Currency] | NotGiven = NOT_GIVEN,
504
458
  discount_code: Optional[str] | NotGiven = NOT_GIVEN,
505
459
  metadata: Dict[str, str] | NotGiven = NOT_GIVEN,
@@ -742,7 +696,7 @@ class AsyncSubscriptionsResource(AsyncAPIResource):
742
696
  product_id: str,
743
697
  proration_billing_mode: Literal["prorated_immediately", "full_immediately"],
744
698
  quantity: int,
745
- addons: Optional[Iterable[subscription_change_plan_params.Addon]] | NotGiven = NOT_GIVEN,
699
+ addons: Optional[Iterable[AttachAddonParam]] | NotGiven = NOT_GIVEN,
746
700
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
747
701
  # The extra values given here take precedence over values defined on the client or passed to this method.
748
702
  extra_headers: Headers | None = None,
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from .brand import Brand as Brand
5
6
  from .price import Price as Price
6
7
  from .refund import Refund as Refund
7
8
  from .dispute import Dispute as Dispute
@@ -10,6 +11,7 @@ from .product import Product as Product
10
11
  from .currency import Currency as Currency
11
12
  from .customer import Customer as Customer
12
13
  from .discount import Discount as Discount
14
+ from .get_dispute import GetDispute as GetDispute
13
15
  from .license_key import LicenseKey as LicenseKey
14
16
  from .price_param import PriceParam as PriceParam
15
17
  from .country_code import CountryCode as CountryCode
@@ -25,6 +27,7 @@ from .addon_response import AddonResponse as AddonResponse
25
27
  from .dispute_status import DisputeStatus as DisputeStatus
26
28
  from .billing_address import BillingAddress as BillingAddress
27
29
  from .addon_list_params import AddonListParams as AddonListParams
30
+ from .attach_addon_param import AttachAddonParam as AttachAddonParam
28
31
  from .license_key_status import LicenseKeyStatus as LicenseKeyStatus
29
32
  from .payout_list_params import PayoutListParams as PayoutListParams
30
33
  from .refund_list_params import RefundListParams as RefundListParams
@@ -42,11 +45,10 @@ from .customer_list_params import CustomerListParams as CustomerListParams
42
45
  from .discount_list_params import DiscountListParams as DiscountListParams
43
46
  from .license_key_duration import LicenseKeyDuration as LicenseKeyDuration
44
47
  from .license_key_instance import LicenseKeyInstance as LicenseKeyInstance
48
+ from .payment_method_types import PaymentMethodTypes as PaymentMethodTypes
45
49
  from .payout_list_response import PayoutListResponse as PayoutListResponse
46
50
  from .refund_create_params import RefundCreateParams as RefundCreateParams
47
51
  from .billing_address_param import BillingAddressParam as BillingAddressParam
48
- from .brand_create_response import BrandCreateResponse as BrandCreateResponse
49
- from .brand_update_response import BrandUpdateResponse as BrandUpdateResponse
50
52
  from .dispute_list_response import DisputeListResponse as DisputeListResponse
51
53
  from .payment_create_params import PaymentCreateParams as PaymentCreateParams
52
54
  from .payment_list_response import PaymentListResponse as PaymentListResponse
@@ -58,7 +60,6 @@ from .customer_request_param import CustomerRequestParam as CustomerRequestParam
58
60
  from .customer_update_params import CustomerUpdateParams as CustomerUpdateParams
59
61
  from .discount_create_params import DiscountCreateParams as DiscountCreateParams
60
62
  from .discount_update_params import DiscountUpdateParams as DiscountUpdateParams
61
- from .brand_retrieve_response import BrandRetrieveResponse as BrandRetrieveResponse
62
63
  from .customer_portal_session import CustomerPortalSession as CustomerPortalSession
63
64
  from .license_activate_params import LicenseActivateParams as LicenseActivateParams
64
65
  from .license_key_list_params import LicenseKeyListParams as LicenseKeyListParams
@@ -68,7 +69,6 @@ from .addon_cart_response_item import AddonCartResponseItem as AddonCartResponse
68
69
  from .customer_limited_details import CustomerLimitedDetails as CustomerLimitedDetails
69
70
  from .subscription_list_params import SubscriptionListParams as SubscriptionListParams
70
71
  from .create_new_customer_param import CreateNewCustomerParam as CreateNewCustomerParam
71
- from .dispute_retrieve_response import DisputeRetrieveResponse as DisputeRetrieveResponse
72
72
  from .license_deactivate_params import LicenseDeactivateParams as LicenseDeactivateParams
73
73
  from .license_key_update_params import LicenseKeyUpdateParams as LicenseKeyUpdateParams
74
74
  from .license_validate_response import LicenseValidateResponse as LicenseValidateResponse
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["AttachAddonParam"]
8
+
9
+
10
+ class AttachAddonParam(TypedDict, total=False):
11
+ addon_id: Required[str]
12
+
13
+ quantity: Required[int]
@@ -5,10 +5,10 @@ from typing_extensions import Literal
5
5
 
6
6
  from .._models import BaseModel
7
7
 
8
- __all__ = ["BrandUpdateResponse"]
8
+ __all__ = ["Brand"]
9
9
 
10
10
 
11
- class BrandUpdateResponse(BaseModel):
11
+ class Brand(BaseModel):
12
12
  brand_id: str
13
13
 
14
14
  business_id: str
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+
5
+ from .brand import Brand
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["BrandListResponse"]
9
+
10
+
11
+ class BrandListResponse(BaseModel):
12
+ items: List[Brand]
13
+ """List of brands for this business"""
@@ -8,10 +8,10 @@ from .dispute_stage import DisputeStage
8
8
  from .dispute_status import DisputeStatus
9
9
  from .customer_limited_details import CustomerLimitedDetails
10
10
 
11
- __all__ = ["DisputeRetrieveResponse"]
11
+ __all__ = ["GetDispute"]
12
12
 
13
13
 
14
- class DisputeRetrieveResponse(BaseModel):
14
+ class GetDispute(BaseModel):
15
15
  amount: str
16
16
  """
17
17
  The amount involved in the dispute, represented as a string to accommodate