dodopayments 1.22.0 → 1.47.0

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 (449) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +143 -59
  4. data/SECURITY.md +2 -2
  5. data/lib/dodopayments/client.rb +16 -4
  6. data/lib/dodopayments/errors.rb +23 -1
  7. data/lib/dodopayments/file_part.rb +2 -2
  8. data/lib/dodopayments/internal/cursor_page_pagination.rb +90 -0
  9. data/lib/dodopayments/internal/transport/base_client.rb +88 -8
  10. data/lib/dodopayments/internal/transport/pooled_net_requester.rb +17 -1
  11. data/lib/dodopayments/internal/type/array_of.rb +16 -2
  12. data/lib/dodopayments/internal/type/base_model.rb +155 -54
  13. data/lib/dodopayments/internal/type/boolean.rb +15 -1
  14. data/lib/dodopayments/internal/type/converter.rb +86 -33
  15. data/lib/dodopayments/internal/type/enum.rb +30 -6
  16. data/lib/dodopayments/internal/type/file_input.rb +13 -1
  17. data/lib/dodopayments/internal/type/hash_of.rb +16 -2
  18. data/lib/dodopayments/internal/type/request_parameters.rb +4 -4
  19. data/lib/dodopayments/internal/type/union.rb +44 -31
  20. data/lib/dodopayments/internal/type/unknown.rb +15 -1
  21. data/lib/dodopayments/internal/util.rb +119 -11
  22. data/lib/dodopayments/internal.rb +9 -0
  23. data/lib/dodopayments/models/addon_create_params.rb +6 -10
  24. data/lib/dodopayments/models/addon_list_params.rb +4 -4
  25. data/lib/dodopayments/models/addon_response.rb +6 -10
  26. data/lib/dodopayments/models/addon_update_params.rb +6 -10
  27. data/lib/dodopayments/models/attach_addon.rb +21 -0
  28. data/lib/dodopayments/models/billing_address.rb +3 -3
  29. data/lib/dodopayments/models/brand.rb +107 -0
  30. data/lib/dodopayments/models/brand_create_params.rb +44 -0
  31. data/lib/dodopayments/models/{webhook_event_retrieve_params.rb → brand_list_params.rb} +2 -2
  32. data/lib/dodopayments/models/brand_list_response.rb +17 -0
  33. data/lib/dodopayments/models/brand_retrieve_params.rb +14 -0
  34. data/lib/dodopayments/models/brand_update_images_params.rb +14 -0
  35. data/lib/dodopayments/models/brand_update_images_response.rb +25 -0
  36. data/lib/dodopayments/models/brand_update_params.rb +43 -0
  37. data/lib/dodopayments/models/create_new_customer.rb +0 -1
  38. data/lib/dodopayments/models/customer_list_params.rb +13 -5
  39. data/lib/dodopayments/models/customer_request.rb +3 -3
  40. data/lib/dodopayments/models/customers/customer_portal_create_params.rb +2 -2
  41. data/lib/dodopayments/models/discount.rb +15 -4
  42. data/lib/dodopayments/models/discount_create_params.rb +17 -6
  43. data/lib/dodopayments/models/discount_list_params.rb +4 -4
  44. data/lib/dodopayments/models/discount_update_params.rb +16 -5
  45. data/lib/dodopayments/models/dispute.rb +6 -5
  46. data/lib/dodopayments/models/dispute_list_params.rb +44 -16
  47. data/lib/dodopayments/models/dispute_list_response.rb +6 -5
  48. data/lib/dodopayments/models/{dispute_retrieve_response.rb → get_dispute.rb} +11 -9
  49. data/lib/dodopayments/models/license_key.rb +3 -3
  50. data/lib/dodopayments/models/license_key_duration.rb +1 -1
  51. data/lib/dodopayments/models/license_key_list_params.rb +23 -11
  52. data/lib/dodopayments/models/license_key_update_params.rb +3 -3
  53. data/lib/dodopayments/models/misc_list_supported_countries_response.rb +1 -1
  54. data/lib/dodopayments/models/new_customer.rb +27 -0
  55. data/lib/dodopayments/models/one_time_product_cart_item.rb +0 -1
  56. data/lib/dodopayments/models/payment.rb +50 -21
  57. data/lib/dodopayments/models/payment_create_params.rb +22 -41
  58. data/lib/dodopayments/models/payment_create_response.rb +16 -6
  59. data/lib/dodopayments/models/payment_list_params.rb +44 -16
  60. data/lib/dodopayments/models/payment_list_response.rb +16 -4
  61. data/lib/dodopayments/models/payment_method_types.rb +31 -0
  62. data/lib/dodopayments/models/payment_retrieve_line_items_params.rb +14 -0
  63. data/lib/dodopayments/models/payment_retrieve_line_items_response.rb +63 -0
  64. data/lib/dodopayments/models/payout_list_params.rb +4 -4
  65. data/lib/dodopayments/models/payout_list_response.rb +7 -3
  66. data/lib/dodopayments/models/price.rb +57 -30
  67. data/lib/dodopayments/models/product.rb +85 -12
  68. data/lib/dodopayments/models/product_create_params.rb +61 -12
  69. data/lib/dodopayments/models/product_list_params.rb +15 -7
  70. data/lib/dodopayments/models/product_list_response.rb +19 -11
  71. data/lib/dodopayments/models/product_update_files_params.rb +20 -0
  72. data/lib/dodopayments/models/product_update_files_response.rb +22 -0
  73. data/lib/dodopayments/models/product_update_params.rb +70 -13
  74. data/lib/dodopayments/models/products/image_update_params.rb +2 -2
  75. data/lib/dodopayments/models/refund.rb +15 -5
  76. data/lib/dodopayments/models/refund_create_params.rb +38 -1
  77. data/lib/dodopayments/models/refund_list_params.rb +26 -13
  78. data/lib/dodopayments/models/subscription.rb +38 -18
  79. data/lib/dodopayments/models/subscription_change_plan_params.rb +9 -23
  80. data/lib/dodopayments/models/subscription_charge_params.rb +38 -2
  81. data/lib/dodopayments/models/subscription_create_params.rb +53 -66
  82. data/lib/dodopayments/models/subscription_create_response.rb +24 -8
  83. data/lib/dodopayments/models/subscription_list_params.rb +37 -14
  84. data/lib/dodopayments/models/subscription_list_response.rb +37 -16
  85. data/lib/dodopayments/models/subscription_status.rb +0 -1
  86. data/lib/dodopayments/models/subscription_update_params.rb +10 -6
  87. data/lib/dodopayments/models/webhook_create_params.rb +86 -0
  88. data/lib/dodopayments/models/webhook_create_response.rb +88 -0
  89. data/lib/dodopayments/models/webhook_delete_params.rb +14 -0
  90. data/lib/dodopayments/models/webhook_event_type.rb +35 -0
  91. data/lib/dodopayments/models/webhook_list_params.rb +30 -0
  92. data/lib/dodopayments/models/webhook_list_response.rb +88 -0
  93. data/lib/dodopayments/models/webhook_payload.rb +161 -0
  94. data/lib/dodopayments/models/webhook_retrieve_params.rb +14 -0
  95. data/lib/dodopayments/models/webhook_retrieve_response.rb +88 -0
  96. data/lib/dodopayments/models/webhook_update_params.rb +69 -0
  97. data/lib/dodopayments/models/webhook_update_response.rb +88 -0
  98. data/lib/dodopayments/models/webhooks/header_retrieve_params.rb +16 -0
  99. data/lib/dodopayments/models/webhooks/header_retrieve_response.rb +31 -0
  100. data/lib/dodopayments/models/webhooks/header_update_params.rb +24 -0
  101. data/lib/dodopayments/models/your_webhook_url_create_params.rb +32 -0
  102. data/lib/dodopayments/models.rb +77 -3
  103. data/lib/dodopayments/request_options.rb +4 -0
  104. data/lib/dodopayments/resources/addons.rb +13 -21
  105. data/lib/dodopayments/resources/brands.rb +119 -0
  106. data/lib/dodopayments/resources/customers/customer_portal.rb +3 -3
  107. data/lib/dodopayments/resources/customers.rb +12 -10
  108. data/lib/dodopayments/resources/discounts.rb +24 -19
  109. data/lib/dodopayments/resources/disputes.rb +10 -10
  110. data/lib/dodopayments/resources/license_key_instances.rb +5 -5
  111. data/lib/dodopayments/resources/license_keys.rb +13 -13
  112. data/lib/dodopayments/resources/licenses.rb +4 -4
  113. data/lib/dodopayments/resources/misc.rb +1 -1
  114. data/lib/dodopayments/resources/payments.rb +38 -19
  115. data/lib/dodopayments/resources/payouts.rb +3 -3
  116. data/lib/dodopayments/resources/products/images.rb +2 -2
  117. data/lib/dodopayments/resources/products.rb +58 -24
  118. data/lib/dodopayments/resources/refunds.rb +14 -12
  119. data/lib/dodopayments/resources/subscriptions.rb +39 -29
  120. data/lib/dodopayments/resources/webhook_events.rb +0 -52
  121. data/lib/dodopayments/resources/webhooks/headers.rb +59 -0
  122. data/lib/dodopayments/resources/webhooks.rb +157 -0
  123. data/lib/dodopayments/resources/your_webhook_url.rb +56 -0
  124. data/lib/dodopayments/version.rb +1 -1
  125. data/lib/dodopayments.rb +46 -9
  126. data/rbi/dodopayments/client.rbi +19 -6
  127. data/rbi/dodopayments/errors.rbi +51 -16
  128. data/rbi/dodopayments/file_part.rbi +9 -6
  129. data/rbi/dodopayments/internal/cursor_page_pagination.rbi +25 -0
  130. data/rbi/dodopayments/internal/default_page_number_pagination.rbi +2 -1
  131. data/rbi/dodopayments/internal/transport/base_client.rbi +165 -77
  132. data/rbi/dodopayments/internal/transport/pooled_net_requester.rbi +33 -13
  133. data/rbi/dodopayments/internal/type/array_of.rbi +40 -24
  134. data/rbi/dodopayments/internal/type/base_model.rbi +160 -70
  135. data/rbi/dodopayments/internal/type/base_page.rbi +13 -8
  136. data/rbi/dodopayments/internal/type/boolean.rbi +24 -14
  137. data/rbi/dodopayments/internal/type/converter.rbi +135 -33
  138. data/rbi/dodopayments/internal/type/enum.rbi +29 -13
  139. data/rbi/dodopayments/internal/type/file_input.rbi +13 -4
  140. data/rbi/dodopayments/internal/type/hash_of.rbi +40 -24
  141. data/rbi/dodopayments/internal/type/request_parameters.rbi +14 -4
  142. data/rbi/dodopayments/internal/type/union.rbi +71 -23
  143. data/rbi/dodopayments/internal/type/unknown.rbi +24 -6
  144. data/rbi/dodopayments/internal/util.rbi +272 -91
  145. data/rbi/dodopayments/internal.rbi +7 -0
  146. data/rbi/dodopayments/models/addon_cart_response_item.rbi +16 -4
  147. data/rbi/dodopayments/models/addon_create_params.rbi +33 -24
  148. data/rbi/dodopayments/models/addon_list_params.rbi +29 -17
  149. data/rbi/dodopayments/models/addon_response.rbi +33 -27
  150. data/rbi/dodopayments/models/addon_retrieve_params.rbi +18 -5
  151. data/rbi/dodopayments/models/addon_update_images_params.rbi +18 -5
  152. data/rbi/dodopayments/models/addon_update_images_response.rbi +13 -3
  153. data/rbi/dodopayments/models/addon_update_params.rbi +34 -25
  154. data/rbi/dodopayments/models/attach_addon.rbi +28 -0
  155. data/rbi/dodopayments/models/attach_existing_customer.rbi +13 -3
  156. data/rbi/dodopayments/models/billing_address.rbi +24 -12
  157. data/rbi/dodopayments/models/brand.rbi +132 -0
  158. data/rbi/dodopayments/models/brand_create_params.rbi +68 -0
  159. data/rbi/dodopayments/models/brand_list_params.rbi +29 -0
  160. data/rbi/dodopayments/models/brand_list_response.rbi +34 -0
  161. data/rbi/dodopayments/models/brand_retrieve_params.rbi +32 -0
  162. data/rbi/dodopayments/models/brand_update_images_params.rbi +32 -0
  163. data/rbi/dodopayments/models/brand_update_images_response.rbi +36 -0
  164. data/rbi/dodopayments/models/brand_update_params.rbi +64 -0
  165. data/rbi/dodopayments/models/country_code.rbi +255 -252
  166. data/rbi/dodopayments/models/create_new_customer.rbi +27 -11
  167. data/rbi/dodopayments/models/currency.rbi +149 -148
  168. data/rbi/dodopayments/models/customer.rbi +27 -15
  169. data/rbi/dodopayments/models/customer_create_params.rbi +22 -14
  170. data/rbi/dodopayments/models/customer_limited_details.rbi +21 -4
  171. data/rbi/dodopayments/models/customer_list_params.rbi +43 -17
  172. data/rbi/dodopayments/models/customer_portal_session.rbi +13 -3
  173. data/rbi/dodopayments/models/customer_request.rbi +10 -2
  174. data/rbi/dodopayments/models/customer_retrieve_params.rbi +18 -5
  175. data/rbi/dodopayments/models/customer_update_params.rbi +21 -13
  176. data/rbi/dodopayments/models/customers/customer_portal_create_params.rbi +26 -8
  177. data/rbi/dodopayments/models/discount.rbi +42 -22
  178. data/rbi/dodopayments/models/discount_create_params.rbi +43 -20
  179. data/rbi/dodopayments/models/discount_delete_params.rbi +18 -5
  180. data/rbi/dodopayments/models/discount_list_params.rbi +32 -17
  181. data/rbi/dodopayments/models/discount_retrieve_params.rbi +18 -5
  182. data/rbi/dodopayments/models/discount_type.rbi +7 -4
  183. data/rbi/dodopayments/models/discount_update_params.rbi +43 -20
  184. data/rbi/dodopayments/models/dispute.rbi +32 -22
  185. data/rbi/dodopayments/models/dispute_list_params.rbi +178 -33
  186. data/rbi/dodopayments/models/dispute_list_response.rbi +34 -21
  187. data/rbi/dodopayments/models/dispute_retrieve_params.rbi +18 -5
  188. data/rbi/dodopayments/models/dispute_stage.rbi +11 -6
  189. data/rbi/dodopayments/models/dispute_status.rbi +20 -10
  190. data/rbi/dodopayments/models/{dispute_retrieve_response.rbi → get_dispute.rbi} +40 -28
  191. data/rbi/dodopayments/models/intent_status.rbi +32 -14
  192. data/rbi/dodopayments/models/invoices/payment_retrieve_params.rbi +18 -5
  193. data/rbi/dodopayments/models/license_activate_params.rbi +21 -6
  194. data/rbi/dodopayments/models/license_deactivate_params.rbi +21 -13
  195. data/rbi/dodopayments/models/license_key.rbi +31 -23
  196. data/rbi/dodopayments/models/license_key_duration.rbi +24 -5
  197. data/rbi/dodopayments/models/license_key_instance.rbi +19 -4
  198. data/rbi/dodopayments/models/license_key_instance_list_params.rbi +23 -14
  199. data/rbi/dodopayments/models/license_key_instance_retrieve_params.rbi +18 -5
  200. data/rbi/dodopayments/models/license_key_instance_update_params.rbi +19 -6
  201. data/rbi/dodopayments/models/license_key_list_params.rbi +91 -26
  202. data/rbi/dodopayments/models/license_key_retrieve_params.rbi +18 -5
  203. data/rbi/dodopayments/models/license_key_status.rbi +10 -6
  204. data/rbi/dodopayments/models/license_key_update_params.rbi +23 -14
  205. data/rbi/dodopayments/models/license_validate_params.rbi +25 -13
  206. data/rbi/dodopayments/models/license_validate_response.rbi +13 -3
  207. data/rbi/dodopayments/models/misc_list_supported_countries_params.rbi +18 -5
  208. data/rbi/dodopayments/models/misc_list_supported_countries_response.rbi +1 -1
  209. data/rbi/dodopayments/models/new_customer.rbi +39 -0
  210. data/rbi/dodopayments/models/one_time_product_cart_item.rbi +23 -4
  211. data/rbi/dodopayments/models/payment.rbi +125 -62
  212. data/rbi/dodopayments/models/payment_create_params.rbi +67 -87
  213. data/rbi/dodopayments/models/payment_create_response.rbi +45 -22
  214. data/rbi/dodopayments/models/payment_list_params.rbi +149 -32
  215. data/rbi/dodopayments/models/payment_list_response.rbi +47 -26
  216. data/rbi/dodopayments/models/payment_method_types.rbi +52 -0
  217. data/rbi/dodopayments/models/payment_retrieve_line_items_params.rbi +32 -0
  218. data/rbi/dodopayments/models/payment_retrieve_line_items_response.rbi +114 -0
  219. data/rbi/dodopayments/models/payment_retrieve_params.rbi +18 -5
  220. data/rbi/dodopayments/models/payout_list_params.rbi +29 -17
  221. data/rbi/dodopayments/models/payout_list_response.rbi +82 -35
  222. data/rbi/dodopayments/models/price.rbi +142 -55
  223. data/rbi/dodopayments/models/product.rbi +177 -38
  224. data/rbi/dodopayments/models/product_create_params.rbi +151 -36
  225. data/rbi/dodopayments/models/product_delete_params.rbi +18 -5
  226. data/rbi/dodopayments/models/product_list_params.rbi +50 -21
  227. data/rbi/dodopayments/models/product_list_response.rbi +57 -42
  228. data/rbi/dodopayments/models/product_retrieve_params.rbi +18 -5
  229. data/rbi/dodopayments/models/product_unarchive_params.rbi +18 -5
  230. data/rbi/dodopayments/models/product_update_files_params.rbi +38 -0
  231. data/rbi/dodopayments/models/product_update_files_response.rbi +29 -0
  232. data/rbi/dodopayments/models/product_update_params.rbi +160 -37
  233. data/rbi/dodopayments/models/products/image_update_params.rbi +20 -8
  234. data/rbi/dodopayments/models/products/image_update_response.rbi +18 -4
  235. data/rbi/dodopayments/models/refund.rbi +39 -21
  236. data/rbi/dodopayments/models/refund_create_params.rbi +87 -11
  237. data/rbi/dodopayments/models/refund_list_params.rbi +86 -29
  238. data/rbi/dodopayments/models/refund_retrieve_params.rbi +18 -5
  239. data/rbi/dodopayments/models/refund_status.rbi +10 -7
  240. data/rbi/dodopayments/models/subscription.rbi +83 -47
  241. data/rbi/dodopayments/models/subscription_change_plan_params.rbi +61 -40
  242. data/rbi/dodopayments/models/subscription_charge_params.rbi +65 -6
  243. data/rbi/dodopayments/models/subscription_charge_response.rbi +13 -3
  244. data/rbi/dodopayments/models/subscription_create_params.rbi +136 -128
  245. data/rbi/dodopayments/models/subscription_create_response.rbi +51 -22
  246. data/rbi/dodopayments/models/subscription_list_params.rbi +125 -29
  247. data/rbi/dodopayments/models/subscription_list_response.rbi +85 -44
  248. data/rbi/dodopayments/models/subscription_retrieve_params.rbi +18 -5
  249. data/rbi/dodopayments/models/subscription_status.rbi +16 -10
  250. data/rbi/dodopayments/models/subscription_update_params.rbi +63 -33
  251. data/rbi/dodopayments/models/tax_category.rbi +11 -7
  252. data/rbi/dodopayments/models/time_interval.rbi +10 -7
  253. data/rbi/dodopayments/models/webhook_create_params.rbi +115 -0
  254. data/rbi/dodopayments/models/webhook_create_response.rbi +112 -0
  255. data/rbi/dodopayments/models/webhook_delete_params.rbi +32 -0
  256. data/rbi/dodopayments/models/webhook_event_type.rbi +102 -0
  257. data/rbi/dodopayments/models/webhook_list_params.rbi +54 -0
  258. data/rbi/dodopayments/models/webhook_list_response.rbi +112 -0
  259. data/rbi/dodopayments/models/webhook_payload.rbi +440 -0
  260. data/rbi/dodopayments/models/webhook_retrieve_params.rbi +32 -0
  261. data/rbi/dodopayments/models/webhook_retrieve_response.rbi +112 -0
  262. data/rbi/dodopayments/models/webhook_update_params.rbi +94 -0
  263. data/rbi/dodopayments/models/webhook_update_response.rbi +112 -0
  264. data/rbi/dodopayments/models/webhooks/header_retrieve_params.rbi +34 -0
  265. data/rbi/dodopayments/models/webhooks/header_retrieve_response.rbi +50 -0
  266. data/rbi/dodopayments/models/webhooks/header_update_params.rbi +48 -0
  267. data/rbi/dodopayments/models/your_webhook_url_create_params.rbi +56 -0
  268. data/rbi/dodopayments/models.rbi +50 -8
  269. data/rbi/dodopayments/request_options.rbi +18 -7
  270. data/rbi/dodopayments/resources/addons.rbi +44 -27
  271. data/rbi/dodopayments/resources/brands.rbi +89 -0
  272. data/rbi/dodopayments/resources/customers/customer_portal.rbi +8 -6
  273. data/rbi/dodopayments/resources/customers.rbi +31 -17
  274. data/rbi/dodopayments/resources/discounts.rbi +54 -22
  275. data/rbi/dodopayments/resources/disputes.rbi +26 -14
  276. data/rbi/dodopayments/resources/invoices/payments.rbi +10 -3
  277. data/rbi/dodopayments/resources/invoices.rbi +2 -1
  278. data/rbi/dodopayments/resources/license_key_instances.rbi +25 -10
  279. data/rbi/dodopayments/resources/license_keys.rbi +29 -15
  280. data/rbi/dodopayments/resources/licenses.rbi +25 -12
  281. data/rbi/dodopayments/resources/misc.rbi +7 -4
  282. data/rbi/dodopayments/resources/payments.rbi +61 -27
  283. data/rbi/dodopayments/resources/payouts.rbi +12 -6
  284. data/rbi/dodopayments/resources/products/images.rbi +10 -4
  285. data/rbi/dodopayments/resources/products.rbi +118 -41
  286. data/rbi/dodopayments/resources/refunds.rbi +35 -15
  287. data/rbi/dodopayments/resources/subscriptions.rbi +95 -53
  288. data/rbi/dodopayments/resources/webhook_events.rbi +2 -34
  289. data/rbi/dodopayments/resources/webhooks/headers.rbi +40 -0
  290. data/rbi/dodopayments/resources/webhooks.rbi +127 -0
  291. data/rbi/dodopayments/resources/your_webhook_url.rbi +51 -0
  292. data/sig/dodopayments/client.rbs +6 -0
  293. data/sig/dodopayments/errors.rbs +9 -0
  294. data/sig/dodopayments/internal/cursor_page_pagination.rbs +15 -0
  295. data/sig/dodopayments/internal/transport/base_client.rbs +17 -2
  296. data/sig/dodopayments/internal/transport/pooled_net_requester.rbs +4 -0
  297. data/sig/dodopayments/internal/type/array_of.rbs +3 -0
  298. data/sig/dodopayments/internal/type/base_model.rbs +13 -5
  299. data/sig/dodopayments/internal/type/base_page.rbs +1 -1
  300. data/sig/dodopayments/internal/type/boolean.rbs +3 -0
  301. data/sig/dodopayments/internal/type/converter.rbs +26 -1
  302. data/sig/dodopayments/internal/type/enum.rbs +3 -0
  303. data/sig/dodopayments/internal/type/file_input.rbs +2 -0
  304. data/sig/dodopayments/internal/type/hash_of.rbs +3 -0
  305. data/sig/dodopayments/internal/type/request_parameters.rbs +5 -1
  306. data/sig/dodopayments/internal/type/union.rbs +5 -2
  307. data/sig/dodopayments/internal/type/unknown.rbs +3 -0
  308. data/sig/dodopayments/internal/util.rbs +25 -0
  309. data/sig/dodopayments/internal.rbs +4 -0
  310. data/sig/dodopayments/models/addon_cart_response_item.rbs +1 -1
  311. data/sig/dodopayments/models/addon_create_params.rbs +8 -1
  312. data/sig/dodopayments/models/addon_list_params.rbs +14 -6
  313. data/sig/dodopayments/models/addon_response.rbs +12 -1
  314. data/sig/dodopayments/models/addon_retrieve_params.rbs +1 -1
  315. data/sig/dodopayments/models/addon_update_images_params.rbs +1 -1
  316. data/sig/dodopayments/models/addon_update_images_response.rbs +1 -1
  317. data/sig/dodopayments/models/addon_update_params.rbs +9 -1
  318. data/sig/dodopayments/models/attach_addon.rbs +15 -0
  319. data/sig/dodopayments/models/attach_existing_customer.rbs +1 -1
  320. data/sig/dodopayments/models/billing_address.rbs +7 -1
  321. data/sig/dodopayments/models/brand.rbs +88 -0
  322. data/sig/dodopayments/models/brand_create_params.rbs +46 -0
  323. data/sig/dodopayments/models/{webhook_event_retrieve_params.rbs → brand_list_params.rbs} +3 -3
  324. data/sig/dodopayments/models/brand_list_response.rbs +13 -0
  325. data/sig/dodopayments/models/brand_retrieve_params.rbs +15 -0
  326. data/sig/dodopayments/models/brand_update_images_params.rbs +15 -0
  327. data/sig/dodopayments/models/brand_update_images_response.rbs +15 -0
  328. data/sig/dodopayments/models/brand_update_params.rbs +41 -0
  329. data/sig/dodopayments/models/create_new_customer.rbs +6 -1
  330. data/sig/dodopayments/models/customer.rbs +8 -1
  331. data/sig/dodopayments/models/customer_create_params.rbs +6 -1
  332. data/sig/dodopayments/models/customer_limited_details.rbs +1 -1
  333. data/sig/dodopayments/models/customer_list_params.rbs +20 -6
  334. data/sig/dodopayments/models/customer_portal_session.rbs +1 -1
  335. data/sig/dodopayments/models/customer_request.rbs +2 -3
  336. data/sig/dodopayments/models/customer_retrieve_params.rbs +1 -1
  337. data/sig/dodopayments/models/customer_update_params.rbs +5 -1
  338. data/sig/dodopayments/models/customers/customer_portal_create_params.rbs +9 -4
  339. data/sig/dodopayments/models/discount.rbs +18 -1
  340. data/sig/dodopayments/models/discount_create_params.rbs +15 -1
  341. data/sig/dodopayments/models/discount_delete_params.rbs +1 -1
  342. data/sig/dodopayments/models/discount_list_params.rbs +14 -6
  343. data/sig/dodopayments/models/discount_retrieve_params.rbs +1 -1
  344. data/sig/dodopayments/models/discount_update_params.rbs +15 -1
  345. data/sig/dodopayments/models/dispute.rbs +11 -1
  346. data/sig/dodopayments/models/dispute_list_params.rbs +84 -22
  347. data/sig/dodopayments/models/dispute_list_response.rbs +10 -1
  348. data/sig/dodopayments/models/dispute_retrieve_params.rbs +1 -1
  349. data/sig/dodopayments/models/{dispute_retrieve_response.rbs → get_dispute.rbs} +18 -6
  350. data/sig/dodopayments/models/invoices/payment_retrieve_params.rbs +1 -1
  351. data/sig/dodopayments/models/license_activate_params.rbs +5 -1
  352. data/sig/dodopayments/models/license_deactivate_params.rbs +5 -1
  353. data/sig/dodopayments/models/license_key.rbs +14 -1
  354. data/sig/dodopayments/models/license_key_duration.rbs +4 -1
  355. data/sig/dodopayments/models/license_key_instance.rbs +7 -1
  356. data/sig/dodopayments/models/license_key_instance_list_params.rbs +6 -1
  357. data/sig/dodopayments/models/license_key_instance_retrieve_params.rbs +1 -1
  358. data/sig/dodopayments/models/license_key_instance_update_params.rbs +4 -1
  359. data/sig/dodopayments/models/license_key_list_params.rbs +47 -16
  360. data/sig/dodopayments/models/license_key_retrieve_params.rbs +1 -1
  361. data/sig/dodopayments/models/license_key_update_params.rbs +6 -1
  362. data/sig/dodopayments/models/license_validate_params.rbs +5 -1
  363. data/sig/dodopayments/models/license_validate_response.rbs +1 -1
  364. data/sig/dodopayments/models/misc_list_supported_countries_params.rbs +1 -1
  365. data/sig/dodopayments/models/new_customer.rbs +21 -0
  366. data/sig/dodopayments/models/one_time_product_cart_item.rbs +5 -1
  367. data/sig/dodopayments/models/payment.rbs +60 -17
  368. data/sig/dodopayments/models/payment_create_params.rbs +23 -55
  369. data/sig/dodopayments/models/payment_create_response.rbs +21 -7
  370. data/sig/dodopayments/models/payment_list_params.rbs +85 -22
  371. data/sig/dodopayments/models/payment_list_response.rbs +25 -4
  372. data/sig/dodopayments/models/payment_method_types.rbs +48 -0
  373. data/sig/dodopayments/models/payment_retrieve_line_items_params.rbs +15 -0
  374. data/sig/dodopayments/models/payment_retrieve_line_items_response.rbs +67 -0
  375. data/sig/dodopayments/models/payment_retrieve_params.rbs +1 -1
  376. data/sig/dodopayments/models/payout_list_params.rbs +14 -6
  377. data/sig/dodopayments/models/payout_list_response.rbs +17 -1
  378. data/sig/dodopayments/models/price.rbs +53 -13
  379. data/sig/dodopayments/models/product.rbs +80 -4
  380. data/sig/dodopayments/models/product_create_params.rbs +45 -4
  381. data/sig/dodopayments/models/product_delete_params.rbs +1 -1
  382. data/sig/dodopayments/models/product_list_params.rbs +29 -10
  383. data/sig/dodopayments/models/product_list_response.rbs +20 -1
  384. data/sig/dodopayments/models/product_retrieve_params.rbs +1 -1
  385. data/sig/dodopayments/models/product_unarchive_params.rbs +1 -1
  386. data/sig/dodopayments/models/product_update_files_params.rbs +23 -0
  387. data/sig/dodopayments/models/product_update_files_response.rbs +15 -0
  388. data/sig/dodopayments/models/product_update_params.rbs +58 -4
  389. data/sig/dodopayments/models/products/image_update_params.rbs +9 -4
  390. data/sig/dodopayments/models/products/image_update_response.rbs +1 -1
  391. data/sig/dodopayments/models/refund.rbs +15 -1
  392. data/sig/dodopayments/models/refund_create_params.rbs +38 -2
  393. data/sig/dodopayments/models/refund_list_params.rbs +54 -19
  394. data/sig/dodopayments/models/refund_retrieve_params.rbs +1 -1
  395. data/sig/dodopayments/models/subscription.rbs +43 -10
  396. data/sig/dodopayments/models/subscription_change_plan_params.rbs +14 -17
  397. data/sig/dodopayments/models/subscription_charge_params.rbs +27 -2
  398. data/sig/dodopayments/models/subscription_charge_response.rbs +1 -1
  399. data/sig/dodopayments/models/subscription_create_params.rbs +58 -73
  400. data/sig/dodopayments/models/subscription_create_response.rbs +26 -7
  401. data/sig/dodopayments/models/subscription_list_params.rbs +64 -19
  402. data/sig/dodopayments/models/subscription_list_response.rbs +39 -7
  403. data/sig/dodopayments/models/subscription_retrieve_params.rbs +1 -1
  404. data/sig/dodopayments/models/subscription_status.rbs +1 -2
  405. data/sig/dodopayments/models/subscription_update_params.rbs +20 -8
  406. data/sig/dodopayments/models/webhook_create_params.rbs +65 -0
  407. data/sig/dodopayments/models/webhook_create_response.rbs +60 -0
  408. data/sig/dodopayments/models/webhook_delete_params.rbs +15 -0
  409. data/sig/dodopayments/models/webhook_event_type.rbs +54 -0
  410. data/sig/dodopayments/models/webhook_list_params.rbs +28 -0
  411. data/sig/dodopayments/models/webhook_list_response.rbs +60 -0
  412. data/sig/dodopayments/models/webhook_payload.rbs +203 -0
  413. data/sig/dodopayments/models/webhook_retrieve_params.rbs +15 -0
  414. data/sig/dodopayments/models/webhook_retrieve_response.rbs +60 -0
  415. data/sig/dodopayments/models/webhook_update_params.rbs +51 -0
  416. data/sig/dodopayments/models/webhook_update_response.rbs +60 -0
  417. data/sig/dodopayments/models/webhooks/header_retrieve_params.rbs +17 -0
  418. data/sig/dodopayments/models/webhooks/header_retrieve_response.rbs +24 -0
  419. data/sig/dodopayments/models/webhooks/header_update_params.rbs +26 -0
  420. data/sig/dodopayments/models/your_webhook_url_create_params.rbs +42 -0
  421. data/sig/dodopayments/models.rbs +39 -3
  422. data/sig/dodopayments/request_options.rbs +1 -1
  423. data/sig/dodopayments/resources/addons.rbs +6 -6
  424. data/sig/dodopayments/resources/brands.rbs +39 -0
  425. data/sig/dodopayments/resources/customers/customer_portal.rbs +2 -2
  426. data/sig/dodopayments/resources/customers.rbs +7 -6
  427. data/sig/dodopayments/resources/discounts.rbs +8 -6
  428. data/sig/dodopayments/resources/disputes.rbs +8 -8
  429. data/sig/dodopayments/resources/license_key_instances.rbs +3 -3
  430. data/sig/dodopayments/resources/license_keys.rbs +8 -8
  431. data/sig/dodopayments/resources/licenses.rbs +1 -1
  432. data/sig/dodopayments/resources/payments.rbs +17 -11
  433. data/sig/dodopayments/resources/payouts.rbs +2 -2
  434. data/sig/dodopayments/resources/products/images.rbs +1 -1
  435. data/sig/dodopayments/resources/products.rbs +20 -7
  436. data/sig/dodopayments/resources/refunds.rbs +10 -9
  437. data/sig/dodopayments/resources/subscriptions.rbs +21 -15
  438. data/sig/dodopayments/resources/webhook_events.rbs +0 -15
  439. data/sig/dodopayments/resources/webhooks/headers.rbs +20 -0
  440. data/sig/dodopayments/resources/webhooks.rbs +48 -0
  441. data/sig/dodopayments/resources/your_webhook_url.rbs +18 -0
  442. metadata +110 -14
  443. data/lib/dodopayments/models/webhook_event.rb +0 -58
  444. data/lib/dodopayments/models/webhook_event_list_params.rb +0 -66
  445. data/rbi/dodopayments/models/webhook_event.rbi +0 -71
  446. data/rbi/dodopayments/models/webhook_event_list_params.rbi +0 -77
  447. data/rbi/dodopayments/models/webhook_event_retrieve_params.rbi +0 -19
  448. data/sig/dodopayments/models/webhook_event.rbs +0 -46
  449. data/sig/dodopayments/models/webhook_event_list_params.rbs +0 -43
@@ -6,22 +6,59 @@ module Dodopayments
6
6
  extend Dodopayments::Internal::Type::RequestParameters::Converter
7
7
  include Dodopayments::Internal::Type::RequestParameters
8
8
 
9
- sig { returns(T.any(Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice)) }
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Dodopayments::ProductCreateParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Price configuration for the product
18
+ sig do
19
+ returns(
20
+ T.any(
21
+ Dodopayments::Price::OneTimePrice,
22
+ Dodopayments::Price::RecurringPrice
23
+ )
24
+ )
25
+ end
10
26
  attr_accessor :price
11
27
 
12
- # Represents the different categories of taxation applicable to various products
13
- # and services.
14
- sig { returns(Dodopayments::Models::TaxCategory::OrSymbol) }
28
+ # Tax category applied to this product
29
+ sig { returns(Dodopayments::TaxCategory::OrSymbol) }
15
30
  attr_accessor :tax_category
16
31
 
17
32
  # Addons available for subscription product
18
33
  sig { returns(T.nilable(T::Array[String])) }
19
34
  attr_accessor :addons
20
35
 
36
+ # Brand id for the product, if not provided will default to primary brand
37
+ sig { returns(T.nilable(String)) }
38
+ attr_accessor :brand_id
39
+
21
40
  # Optional description of the product
22
41
  sig { returns(T.nilable(String)) }
23
42
  attr_accessor :description
24
43
 
44
+ # Choose how you would like you digital product delivered
45
+ sig do
46
+ returns(
47
+ T.nilable(Dodopayments::ProductCreateParams::DigitalProductDelivery)
48
+ )
49
+ end
50
+ attr_reader :digital_product_delivery
51
+
52
+ sig do
53
+ params(
54
+ digital_product_delivery:
55
+ T.nilable(
56
+ Dodopayments::ProductCreateParams::DigitalProductDelivery::OrHash
57
+ )
58
+ ).void
59
+ end
60
+ attr_writer :digital_product_delivery
61
+
25
62
  # Optional message displayed during license key activation
26
63
  sig { returns(T.nilable(String)) }
27
64
  attr_accessor :license_key_activation_message
@@ -30,14 +67,17 @@ module Dodopayments
30
67
  sig { returns(T.nilable(Integer)) }
31
68
  attr_accessor :license_key_activations_limit
32
69
 
33
- sig { returns(T.nilable(Dodopayments::Models::LicenseKeyDuration)) }
70
+ # Duration configuration for the license key. Set to null if you don't want the
71
+ # license key to expire. For subscriptions, the lifetime of the license key is
72
+ # tied to the subscription period
73
+ sig { returns(T.nilable(Dodopayments::LicenseKeyDuration)) }
34
74
  attr_reader :license_key_duration
35
75
 
36
76
  sig do
37
77
  params(
38
- license_key_duration: T.nilable(T.any(Dodopayments::Models::LicenseKeyDuration, Dodopayments::Internal::AnyHash))
39
- )
40
- .void
78
+ license_key_duration:
79
+ T.nilable(Dodopayments::LicenseKeyDuration::OrHash)
80
+ ).void
41
81
  end
42
82
  attr_writer :license_key_duration
43
83
 
@@ -45,67 +85,142 @@ module Dodopayments
45
85
  sig { returns(T.nilable(T::Boolean)) }
46
86
  attr_accessor :license_key_enabled
47
87
 
88
+ # Additional metadata for the product
89
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
90
+ attr_reader :metadata
91
+
92
+ sig { params(metadata: T::Hash[Symbol, String]).void }
93
+ attr_writer :metadata
94
+
48
95
  # Optional name of the product
49
96
  sig { returns(T.nilable(String)) }
50
97
  attr_accessor :name
51
98
 
52
99
  sig do
53
100
  params(
54
- price: T.any(
55
- Dodopayments::Models::Price::OneTimePrice,
56
- Dodopayments::Internal::AnyHash,
57
- Dodopayments::Models::Price::RecurringPrice
58
- ),
59
- tax_category: Dodopayments::Models::TaxCategory::OrSymbol,
101
+ price:
102
+ T.any(
103
+ Dodopayments::Price::OneTimePrice::OrHash,
104
+ Dodopayments::Price::RecurringPrice::OrHash
105
+ ),
106
+ tax_category: Dodopayments::TaxCategory::OrSymbol,
60
107
  addons: T.nilable(T::Array[String]),
108
+ brand_id: T.nilable(String),
61
109
  description: T.nilable(String),
110
+ digital_product_delivery:
111
+ T.nilable(
112
+ Dodopayments::ProductCreateParams::DigitalProductDelivery::OrHash
113
+ ),
62
114
  license_key_activation_message: T.nilable(String),
63
115
  license_key_activations_limit: T.nilable(Integer),
64
- license_key_duration: T.nilable(T.any(Dodopayments::Models::LicenseKeyDuration, Dodopayments::Internal::AnyHash)),
116
+ license_key_duration:
117
+ T.nilable(Dodopayments::LicenseKeyDuration::OrHash),
65
118
  license_key_enabled: T.nilable(T::Boolean),
119
+ metadata: T::Hash[Symbol, String],
66
120
  name: T.nilable(String),
67
- request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash)
68
- )
69
- .returns(T.attached_class)
121
+ request_options: Dodopayments::RequestOptions::OrHash
122
+ ).returns(T.attached_class)
70
123
  end
71
124
  def self.new(
125
+ # Price configuration for the product
72
126
  price:,
73
- # Represents the different categories of taxation applicable to various products
74
- # and services.
127
+ # Tax category applied to this product
75
128
  tax_category:,
76
129
  # Addons available for subscription product
77
130
  addons: nil,
131
+ # Brand id for the product, if not provided will default to primary brand
132
+ brand_id: nil,
78
133
  # Optional description of the product
79
134
  description: nil,
135
+ # Choose how you would like you digital product delivered
136
+ digital_product_delivery: nil,
80
137
  # Optional message displayed during license key activation
81
138
  license_key_activation_message: nil,
82
139
  # The number of times the license key can be activated. Must be 0 or greater
83
140
  license_key_activations_limit: nil,
141
+ # Duration configuration for the license key. Set to null if you don't want the
142
+ # license key to expire. For subscriptions, the lifetime of the license key is
143
+ # tied to the subscription period
84
144
  license_key_duration: nil,
85
145
  # When true, generates and sends a license key to your customer. Defaults to false
86
146
  license_key_enabled: nil,
147
+ # Additional metadata for the product
148
+ metadata: nil,
87
149
  # Optional name of the product
88
150
  name: nil,
89
151
  request_options: {}
90
- ); end
152
+ )
153
+ end
154
+
91
155
  sig do
92
- override
93
- .returns(
94
- {
95
- price: T.any(Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice),
96
- tax_category: Dodopayments::Models::TaxCategory::OrSymbol,
97
- addons: T.nilable(T::Array[String]),
98
- description: T.nilable(String),
99
- license_key_activation_message: T.nilable(String),
100
- license_key_activations_limit: T.nilable(Integer),
101
- license_key_duration: T.nilable(Dodopayments::Models::LicenseKeyDuration),
102
- license_key_enabled: T.nilable(T::Boolean),
103
- name: T.nilable(String),
104
- request_options: Dodopayments::RequestOptions
105
- }
156
+ override.returns(
157
+ {
158
+ price:
159
+ T.any(
160
+ Dodopayments::Price::OneTimePrice,
161
+ Dodopayments::Price::RecurringPrice
162
+ ),
163
+ tax_category: Dodopayments::TaxCategory::OrSymbol,
164
+ addons: T.nilable(T::Array[String]),
165
+ brand_id: T.nilable(String),
166
+ description: T.nilable(String),
167
+ digital_product_delivery:
168
+ T.nilable(
169
+ Dodopayments::ProductCreateParams::DigitalProductDelivery
170
+ ),
171
+ license_key_activation_message: T.nilable(String),
172
+ license_key_activations_limit: T.nilable(Integer),
173
+ license_key_duration: T.nilable(Dodopayments::LicenseKeyDuration),
174
+ license_key_enabled: T.nilable(T::Boolean),
175
+ metadata: T::Hash[Symbol, String],
176
+ name: T.nilable(String),
177
+ request_options: Dodopayments::RequestOptions
178
+ }
179
+ )
180
+ end
181
+ def to_hash
182
+ end
183
+
184
+ class DigitalProductDelivery < Dodopayments::Internal::Type::BaseModel
185
+ OrHash =
186
+ T.type_alias do
187
+ T.any(
188
+ Dodopayments::ProductCreateParams::DigitalProductDelivery,
189
+ Dodopayments::Internal::AnyHash
190
+ )
191
+ end
192
+
193
+ # External URL to digital product
194
+ sig { returns(T.nilable(String)) }
195
+ attr_accessor :external_url
196
+
197
+ # Instructions to download and use the digital product
198
+ sig { returns(T.nilable(String)) }
199
+ attr_accessor :instructions
200
+
201
+ # Choose how you would like you digital product delivered
202
+ sig do
203
+ params(
204
+ external_url: T.nilable(String),
205
+ instructions: T.nilable(String)
206
+ ).returns(T.attached_class)
207
+ end
208
+ def self.new(
209
+ # External URL to digital product
210
+ external_url: nil,
211
+ # Instructions to download and use the digital product
212
+ instructions: nil
213
+ )
214
+ end
215
+
216
+ sig do
217
+ override.returns(
218
+ { external_url: T.nilable(String), instructions: T.nilable(String) }
106
219
  )
220
+ end
221
+ def to_hash
222
+ end
107
223
  end
108
- def to_hash; end
109
224
  end
110
225
  end
111
226
  end
@@ -6,14 +6,27 @@ module Dodopayments
6
6
  extend Dodopayments::Internal::Type::RequestParameters::Converter
7
7
  include Dodopayments::Internal::Type::RequestParameters
8
8
 
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Dodopayments::ProductDeleteParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
9
17
  sig do
10
- params(request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash))
11
- .returns(T.attached_class)
18
+ params(request_options: Dodopayments::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
12
23
  end
13
- def self.new(request_options: {}); end
14
24
 
15
- sig { override.returns({request_options: Dodopayments::RequestOptions}) }
16
- def to_hash; end
25
+ sig do
26
+ override.returns({ request_options: Dodopayments::RequestOptions })
27
+ end
28
+ def to_hash
29
+ end
17
30
  end
18
31
  end
19
32
  end
@@ -6,6 +6,14 @@ module Dodopayments
6
6
  extend Dodopayments::Internal::Type::RequestParameters::Converter
7
7
  include Dodopayments::Internal::Type::RequestParameters
8
8
 
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Dodopayments::ProductListParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
9
17
  # List archived products
10
18
  sig { returns(T.nilable(T::Boolean)) }
11
19
  attr_reader :archived
@@ -13,13 +21,26 @@ module Dodopayments
13
21
  sig { params(archived: T::Boolean).void }
14
22
  attr_writer :archived
15
23
 
24
+ # filter by Brand id
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :brand_id
27
+
28
+ sig { params(brand_id: String).void }
29
+ attr_writer :brand_id
30
+
16
31
  # Page number default is 0
17
32
  sig { returns(T.nilable(Integer)) }
18
- attr_accessor :page_number
33
+ attr_reader :page_number
34
+
35
+ sig { params(page_number: Integer).void }
36
+ attr_writer :page_number
19
37
 
20
38
  # Page size default is 10 max is 100
21
39
  sig { returns(T.nilable(Integer)) }
22
- attr_accessor :page_size
40
+ attr_reader :page_size
41
+
42
+ sig { params(page_size: Integer).void }
43
+ attr_writer :page_size
23
44
 
24
45
  # Filter products by pricing type:
25
46
  #
@@ -27,21 +48,26 @@ module Dodopayments
27
48
  # - `false`: Show only one-time price products
28
49
  # - `null` or absent: Show both types of products
29
50
  sig { returns(T.nilable(T::Boolean)) }
30
- attr_accessor :recurring
51
+ attr_reader :recurring
52
+
53
+ sig { params(recurring: T::Boolean).void }
54
+ attr_writer :recurring
31
55
 
32
56
  sig do
33
57
  params(
34
58
  archived: T::Boolean,
35
- page_number: T.nilable(Integer),
36
- page_size: T.nilable(Integer),
37
- recurring: T.nilable(T::Boolean),
38
- request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash)
39
- )
40
- .returns(T.attached_class)
59
+ brand_id: String,
60
+ page_number: Integer,
61
+ page_size: Integer,
62
+ recurring: T::Boolean,
63
+ request_options: Dodopayments::RequestOptions::OrHash
64
+ ).returns(T.attached_class)
41
65
  end
42
66
  def self.new(
43
67
  # List archived products
44
68
  archived: nil,
69
+ # filter by Brand id
70
+ brand_id: nil,
45
71
  # Page number default is 0
46
72
  page_number: nil,
47
73
  # Page size default is 10 max is 100
@@ -53,20 +79,23 @@ module Dodopayments
53
79
  # - `null` or absent: Show both types of products
54
80
  recurring: nil,
55
81
  request_options: {}
56
- ); end
82
+ )
83
+ end
84
+
57
85
  sig do
58
- override
59
- .returns(
60
- {
61
- archived: T::Boolean,
62
- page_number: T.nilable(Integer),
63
- page_size: T.nilable(Integer),
64
- recurring: T.nilable(T::Boolean),
65
- request_options: Dodopayments::RequestOptions
66
- }
67
- )
86
+ override.returns(
87
+ {
88
+ archived: T::Boolean,
89
+ brand_id: String,
90
+ page_number: Integer,
91
+ page_size: Integer,
92
+ recurring: T::Boolean,
93
+ request_options: Dodopayments::RequestOptions
94
+ }
95
+ )
96
+ end
97
+ def to_hash
68
98
  end
69
- def to_hash; end
70
99
  end
71
100
  end
72
101
  end
@@ -3,6 +3,14 @@
3
3
  module Dodopayments
4
4
  module Models
5
5
  class ProductListResponse < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::Models::ProductListResponse,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
6
14
  # Unique identifier for the business to which the product belongs.
7
15
  sig { returns(String) }
8
16
  attr_accessor :business_id
@@ -15,20 +23,24 @@ module Dodopayments
15
23
  sig { returns(T::Boolean) }
16
24
  attr_accessor :is_recurring
17
25
 
26
+ # Additional custom data associated with the product
27
+ sig { returns(T::Hash[Symbol, String]) }
28
+ attr_accessor :metadata
29
+
18
30
  # Unique identifier for the product.
19
31
  sig { returns(String) }
20
32
  attr_accessor :product_id
21
33
 
22
- # Represents the different categories of taxation applicable to various products
23
- # and services.
24
- sig { returns(Dodopayments::Models::TaxCategory::TaggedSymbol) }
34
+ # Tax category associated with the product.
35
+ sig { returns(Dodopayments::TaxCategory::TaggedSymbol) }
25
36
  attr_accessor :tax_category
26
37
 
27
38
  # Timestamp when the product was last updated.
28
39
  sig { returns(Time) }
29
40
  attr_accessor :updated_at
30
41
 
31
- sig { returns(T.nilable(Dodopayments::Models::Currency::TaggedSymbol)) }
42
+ # Currency of the price
43
+ sig { returns(T.nilable(Dodopayments::Currency::TaggedSymbol)) }
32
44
  attr_accessor :currency
33
45
 
34
46
  # Description of the product, optional.
@@ -56,11 +68,8 @@ module Dodopayments
56
68
  sig { returns(T.nilable(Integer)) }
57
69
  attr_accessor :price
58
70
 
59
- sig do
60
- returns(
61
- T.nilable(T.any(Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice))
62
- )
63
- end
71
+ # Details of the price
72
+ sig { returns(T.nilable(Dodopayments::Price::Variants)) }
64
73
  attr_accessor :price_detail
65
74
 
66
75
  # Indicates if the price is tax inclusive
@@ -72,24 +81,24 @@ module Dodopayments
72
81
  business_id: String,
73
82
  created_at: Time,
74
83
  is_recurring: T::Boolean,
84
+ metadata: T::Hash[Symbol, String],
75
85
  product_id: String,
76
- tax_category: Dodopayments::Models::TaxCategory::OrSymbol,
86
+ tax_category: Dodopayments::TaxCategory::OrSymbol,
77
87
  updated_at: Time,
78
- currency: T.nilable(Dodopayments::Models::Currency::OrSymbol),
88
+ currency: T.nilable(Dodopayments::Currency::OrSymbol),
79
89
  description: T.nilable(String),
80
90
  image: T.nilable(String),
81
91
  name: T.nilable(String),
82
92
  price: T.nilable(Integer),
83
- price_detail: T.nilable(
84
- T.any(
85
- Dodopayments::Models::Price::OneTimePrice,
86
- Dodopayments::Internal::AnyHash,
87
- Dodopayments::Models::Price::RecurringPrice
88
- )
89
- ),
93
+ price_detail:
94
+ T.nilable(
95
+ T.any(
96
+ Dodopayments::Price::OneTimePrice::OrHash,
97
+ Dodopayments::Price::RecurringPrice::OrHash
98
+ )
99
+ ),
90
100
  tax_inclusive: T.nilable(T::Boolean)
91
- )
92
- .returns(T.attached_class)
101
+ ).returns(T.attached_class)
93
102
  end
94
103
  def self.new(
95
104
  # Unique identifier for the business to which the product belongs.
@@ -98,13 +107,15 @@ module Dodopayments
98
107
  created_at:,
99
108
  # Indicates if the product is recurring (e.g., subscriptions).
100
109
  is_recurring:,
110
+ # Additional custom data associated with the product
111
+ metadata:,
101
112
  # Unique identifier for the product.
102
113
  product_id:,
103
- # Represents the different categories of taxation applicable to various products
104
- # and services.
114
+ # Tax category associated with the product.
105
115
  tax_category:,
106
116
  # Timestamp when the product was last updated.
107
117
  updated_at:,
118
+ # Currency of the price
108
119
  currency: nil,
109
120
  # Description of the product, optional.
110
121
  description: nil,
@@ -123,31 +134,35 @@ module Dodopayments
123
134
  #
124
135
  # This ensures precision and avoids floating-point rounding errors.
125
136
  price: nil,
137
+ # Details of the price
126
138
  price_detail: nil,
127
139
  # Indicates if the price is tax inclusive
128
140
  tax_inclusive: nil
129
- ); end
141
+ )
142
+ end
143
+
130
144
  sig do
131
- override
132
- .returns(
133
- {
134
- business_id: String,
135
- created_at: Time,
136
- is_recurring: T::Boolean,
137
- product_id: String,
138
- tax_category: Dodopayments::Models::TaxCategory::TaggedSymbol,
139
- updated_at: Time,
140
- currency: T.nilable(Dodopayments::Models::Currency::TaggedSymbol),
141
- description: T.nilable(String),
142
- image: T.nilable(String),
143
- name: T.nilable(String),
144
- price: T.nilable(Integer),
145
- price_detail: T.nilable(T.any(Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice)),
146
- tax_inclusive: T.nilable(T::Boolean)
147
- }
148
- )
145
+ override.returns(
146
+ {
147
+ business_id: String,
148
+ created_at: Time,
149
+ is_recurring: T::Boolean,
150
+ metadata: T::Hash[Symbol, String],
151
+ product_id: String,
152
+ tax_category: Dodopayments::TaxCategory::TaggedSymbol,
153
+ updated_at: Time,
154
+ currency: T.nilable(Dodopayments::Currency::TaggedSymbol),
155
+ description: T.nilable(String),
156
+ image: T.nilable(String),
157
+ name: T.nilable(String),
158
+ price: T.nilable(Integer),
159
+ price_detail: T.nilable(Dodopayments::Price::Variants),
160
+ tax_inclusive: T.nilable(T::Boolean)
161
+ }
162
+ )
163
+ end
164
+ def to_hash
149
165
  end
150
- def to_hash; end
151
166
  end
152
167
  end
153
168
  end
@@ -6,14 +6,27 @@ module Dodopayments
6
6
  extend Dodopayments::Internal::Type::RequestParameters::Converter
7
7
  include Dodopayments::Internal::Type::RequestParameters
8
8
 
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Dodopayments::ProductRetrieveParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
9
17
  sig do
10
- params(request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash))
11
- .returns(T.attached_class)
18
+ params(request_options: Dodopayments::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
12
23
  end
13
- def self.new(request_options: {}); end
14
24
 
15
- sig { override.returns({request_options: Dodopayments::RequestOptions}) }
16
- def to_hash; end
25
+ sig do
26
+ override.returns({ request_options: Dodopayments::RequestOptions })
27
+ end
28
+ def to_hash
29
+ end
17
30
  end
18
31
  end
19
32
  end
@@ -6,14 +6,27 @@ module Dodopayments
6
6
  extend Dodopayments::Internal::Type::RequestParameters::Converter
7
7
  include Dodopayments::Internal::Type::RequestParameters
8
8
 
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Dodopayments::ProductUnarchiveParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
9
17
  sig do
10
- params(request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash))
11
- .returns(T.attached_class)
18
+ params(request_options: Dodopayments::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
12
23
  end
13
- def self.new(request_options: {}); end
14
24
 
15
- sig { override.returns({request_options: Dodopayments::RequestOptions}) }
16
- def to_hash; end
25
+ sig do
26
+ override.returns({ request_options: Dodopayments::RequestOptions })
27
+ end
28
+ def to_hash
29
+ end
17
30
  end
18
31
  end
19
32
  end
@@ -0,0 +1,38 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class ProductUpdateFilesParams < Dodopayments::Internal::Type::BaseModel
6
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
7
+ include Dodopayments::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Dodopayments::ProductUpdateFilesParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :file_name
19
+
20
+ sig do
21
+ params(
22
+ file_name: String,
23
+ request_options: Dodopayments::RequestOptions::OrHash
24
+ ).returns(T.attached_class)
25
+ end
26
+ def self.new(file_name:, request_options: {})
27
+ end
28
+
29
+ sig do
30
+ override.returns(
31
+ { file_name: String, request_options: Dodopayments::RequestOptions }
32
+ )
33
+ end
34
+ def to_hash
35
+ end
36
+ end
37
+ end
38
+ end