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
@@ -0,0 +1,29 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class ProductUpdateFilesResponse < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::Models::ProductUpdateFilesResponse,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :file_id
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :url
19
+
20
+ sig { params(file_id: String, url: String).returns(T.attached_class) }
21
+ def self.new(file_id:, url:)
22
+ end
23
+
24
+ sig { override.returns({ file_id: String, url: String }) }
25
+ def to_hash
26
+ end
27
+ end
28
+ end
29
+ end
@@ -6,14 +6,43 @@ 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::ProductUpdateParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
9
17
  # Available Addons for subscription products
10
18
  sig { returns(T.nilable(T::Array[String])) }
11
19
  attr_accessor :addons
12
20
 
21
+ sig { returns(T.nilable(String)) }
22
+ attr_accessor :brand_id
23
+
13
24
  # Description of the product, optional and must be at most 1000 characters.
14
25
  sig { returns(T.nilable(String)) }
15
26
  attr_accessor :description
16
27
 
28
+ # Choose how you would like you digital product delivered
29
+ sig do
30
+ returns(
31
+ T.nilable(Dodopayments::ProductUpdateParams::DigitalProductDelivery)
32
+ )
33
+ end
34
+ attr_reader :digital_product_delivery
35
+
36
+ sig do
37
+ params(
38
+ digital_product_delivery:
39
+ T.nilable(
40
+ Dodopayments::ProductUpdateParams::DigitalProductDelivery::OrHash
41
+ )
42
+ ).void
43
+ end
44
+ attr_writer :digital_product_delivery
45
+
17
46
  # Product image id after its uploaded to S3
18
47
  sig { returns(T.nilable(String)) }
19
48
  attr_accessor :image_id
@@ -32,14 +61,18 @@ module Dodopayments
32
61
  sig { returns(T.nilable(Integer)) }
33
62
  attr_accessor :license_key_activations_limit
34
63
 
35
- sig { returns(T.nilable(Dodopayments::Models::LicenseKeyDuration)) }
64
+ # Duration of the license key if enabled.
65
+ #
66
+ # Only applicable if `license_key_enabled` is `true`. Represents the duration in
67
+ # days for which the license key is valid.
68
+ sig { returns(T.nilable(Dodopayments::LicenseKeyDuration)) }
36
69
  attr_reader :license_key_duration
37
70
 
38
71
  sig do
39
72
  params(
40
- license_key_duration: T.nilable(T.any(Dodopayments::Models::LicenseKeyDuration, Dodopayments::Internal::AnyHash))
41
- )
42
- .void
73
+ license_key_duration:
74
+ T.nilable(Dodopayments::LicenseKeyDuration::OrHash)
75
+ ).void
43
76
  end
44
77
  attr_writer :license_key_duration
45
78
 
@@ -50,49 +83,67 @@ module Dodopayments
50
83
  sig { returns(T.nilable(T::Boolean)) }
51
84
  attr_accessor :license_key_enabled
52
85
 
86
+ # Additional metadata for the product
87
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
88
+ attr_accessor :metadata
89
+
53
90
  # Name of the product, optional and must be at most 100 characters.
54
91
  sig { returns(T.nilable(String)) }
55
92
  attr_accessor :name
56
93
 
94
+ # Price details of the product.
57
95
  sig do
58
96
  returns(
59
- T.nilable(T.any(Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice))
97
+ T.nilable(
98
+ T.any(
99
+ Dodopayments::Price::OneTimePrice,
100
+ Dodopayments::Price::RecurringPrice
101
+ )
102
+ )
60
103
  )
61
104
  end
62
105
  attr_accessor :price
63
106
 
64
- # Represents the different categories of taxation applicable to various products
65
- # and services.
66
- sig { returns(T.nilable(Dodopayments::Models::TaxCategory::OrSymbol)) }
107
+ # Tax category of the product.
108
+ sig { returns(T.nilable(Dodopayments::TaxCategory::OrSymbol)) }
67
109
  attr_accessor :tax_category
68
110
 
69
111
  sig do
70
112
  params(
71
113
  addons: T.nilable(T::Array[String]),
114
+ brand_id: T.nilable(String),
72
115
  description: T.nilable(String),
116
+ digital_product_delivery:
117
+ T.nilable(
118
+ Dodopayments::ProductUpdateParams::DigitalProductDelivery::OrHash
119
+ ),
73
120
  image_id: T.nilable(String),
74
121
  license_key_activation_message: T.nilable(String),
75
122
  license_key_activations_limit: T.nilable(Integer),
76
- license_key_duration: T.nilable(T.any(Dodopayments::Models::LicenseKeyDuration, Dodopayments::Internal::AnyHash)),
123
+ license_key_duration:
124
+ T.nilable(Dodopayments::LicenseKeyDuration::OrHash),
77
125
  license_key_enabled: T.nilable(T::Boolean),
126
+ metadata: T.nilable(T::Hash[Symbol, String]),
78
127
  name: T.nilable(String),
79
- price: T.nilable(
80
- T.any(
81
- Dodopayments::Models::Price::OneTimePrice,
82
- Dodopayments::Internal::AnyHash,
83
- Dodopayments::Models::Price::RecurringPrice
84
- )
85
- ),
86
- tax_category: T.nilable(Dodopayments::Models::TaxCategory::OrSymbol),
87
- request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash)
88
- )
89
- .returns(T.attached_class)
128
+ price:
129
+ T.nilable(
130
+ T.any(
131
+ Dodopayments::Price::OneTimePrice::OrHash,
132
+ Dodopayments::Price::RecurringPrice::OrHash
133
+ )
134
+ ),
135
+ tax_category: T.nilable(Dodopayments::TaxCategory::OrSymbol),
136
+ request_options: Dodopayments::RequestOptions::OrHash
137
+ ).returns(T.attached_class)
90
138
  end
91
139
  def self.new(
92
140
  # Available Addons for subscription products
93
141
  addons: nil,
142
+ brand_id: nil,
94
143
  # Description of the product, optional and must be at most 1000 characters.
95
144
  description: nil,
145
+ # Choose how you would like you digital product delivered
146
+ digital_product_delivery: nil,
96
147
  # Product image id after its uploaded to S3
97
148
  image_id: nil,
98
149
  # Message sent to the customer upon license key activation.
@@ -105,39 +156,111 @@ module Dodopayments
105
156
  # Only applicable if `license_key_enabled` is `true`. Represents the maximum
106
157
  # number of times the license key can be activated.
107
158
  license_key_activations_limit: nil,
159
+ # Duration of the license key if enabled.
160
+ #
161
+ # Only applicable if `license_key_enabled` is `true`. Represents the duration in
162
+ # days for which the license key is valid.
108
163
  license_key_duration: nil,
109
164
  # Whether the product requires a license key.
110
165
  #
111
166
  # If `true`, additional fields related to license key (duration, activations
112
167
  # limit, activation message) become applicable.
113
168
  license_key_enabled: nil,
169
+ # Additional metadata for the product
170
+ metadata: nil,
114
171
  # Name of the product, optional and must be at most 100 characters.
115
172
  name: nil,
173
+ # Price details of the product.
116
174
  price: nil,
117
- # Represents the different categories of taxation applicable to various products
118
- # and services.
175
+ # Tax category of the product.
119
176
  tax_category: nil,
120
177
  request_options: {}
121
- ); end
178
+ )
179
+ end
180
+
122
181
  sig do
123
- override
124
- .returns(
182
+ override.returns(
183
+ {
184
+ addons: T.nilable(T::Array[String]),
185
+ brand_id: T.nilable(String),
186
+ description: T.nilable(String),
187
+ digital_product_delivery:
188
+ T.nilable(
189
+ Dodopayments::ProductUpdateParams::DigitalProductDelivery
190
+ ),
191
+ image_id: T.nilable(String),
192
+ license_key_activation_message: T.nilable(String),
193
+ license_key_activations_limit: T.nilable(Integer),
194
+ license_key_duration: T.nilable(Dodopayments::LicenseKeyDuration),
195
+ license_key_enabled: T.nilable(T::Boolean),
196
+ metadata: T.nilable(T::Hash[Symbol, String]),
197
+ name: T.nilable(String),
198
+ price:
199
+ T.nilable(
200
+ T.any(
201
+ Dodopayments::Price::OneTimePrice,
202
+ Dodopayments::Price::RecurringPrice
203
+ )
204
+ ),
205
+ tax_category: T.nilable(Dodopayments::TaxCategory::OrSymbol),
206
+ request_options: Dodopayments::RequestOptions
207
+ }
208
+ )
209
+ end
210
+ def to_hash
211
+ end
212
+
213
+ class DigitalProductDelivery < Dodopayments::Internal::Type::BaseModel
214
+ OrHash =
215
+ T.type_alias do
216
+ T.any(
217
+ Dodopayments::ProductUpdateParams::DigitalProductDelivery,
218
+ Dodopayments::Internal::AnyHash
219
+ )
220
+ end
221
+
222
+ # External URL to digital product
223
+ sig { returns(T.nilable(String)) }
224
+ attr_accessor :external_url
225
+
226
+ # Uploaded files ids of digital product
227
+ sig { returns(T.nilable(T::Array[String])) }
228
+ attr_accessor :files
229
+
230
+ # Instructions to download and use the digital product
231
+ sig { returns(T.nilable(String)) }
232
+ attr_accessor :instructions
233
+
234
+ # Choose how you would like you digital product delivered
235
+ sig do
236
+ params(
237
+ external_url: T.nilable(String),
238
+ files: T.nilable(T::Array[String]),
239
+ instructions: T.nilable(String)
240
+ ).returns(T.attached_class)
241
+ end
242
+ def self.new(
243
+ # External URL to digital product
244
+ external_url: nil,
245
+ # Uploaded files ids of digital product
246
+ files: nil,
247
+ # Instructions to download and use the digital product
248
+ instructions: nil
249
+ )
250
+ end
251
+
252
+ sig do
253
+ override.returns(
125
254
  {
126
- addons: T.nilable(T::Array[String]),
127
- description: T.nilable(String),
128
- image_id: T.nilable(String),
129
- license_key_activation_message: T.nilable(String),
130
- license_key_activations_limit: T.nilable(Integer),
131
- license_key_duration: T.nilable(Dodopayments::Models::LicenseKeyDuration),
132
- license_key_enabled: T.nilable(T::Boolean),
133
- name: T.nilable(String),
134
- price: T.nilable(T.any(Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice)),
135
- tax_category: T.nilable(Dodopayments::Models::TaxCategory::OrSymbol),
136
- request_options: Dodopayments::RequestOptions
255
+ external_url: T.nilable(String),
256
+ files: T.nilable(T::Array[String]),
257
+ instructions: T.nilable(String)
137
258
  }
138
259
  )
260
+ end
261
+ def to_hash
262
+ end
139
263
  end
140
- def to_hash; end
141
264
  end
142
265
  end
143
266
  end
@@ -7,27 +7,39 @@ module Dodopayments
7
7
  extend Dodopayments::Internal::Type::RequestParameters::Converter
8
8
  include Dodopayments::Internal::Type::RequestParameters
9
9
 
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Dodopayments::Products::ImageUpdateParams,
14
+ Dodopayments::Internal::AnyHash
15
+ )
16
+ end
17
+
10
18
  sig { returns(T.nilable(T::Boolean)) }
11
- attr_accessor :force_update
19
+ attr_reader :force_update
20
+
21
+ sig { params(force_update: T::Boolean).void }
22
+ attr_writer :force_update
12
23
 
13
24
  sig do
14
25
  params(
15
- force_update: T.nilable(T::Boolean),
16
- request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash)
17
- )
18
- .returns(T.attached_class)
26
+ force_update: T::Boolean,
27
+ request_options: Dodopayments::RequestOptions::OrHash
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(force_update: nil, request_options: {})
19
31
  end
20
- def self.new(force_update: nil, request_options: {}); end
21
32
 
22
33
  sig do
23
34
  override.returns(
24
35
  {
25
- force_update: T.nilable(T::Boolean),
36
+ force_update: T::Boolean,
26
37
  request_options: Dodopayments::RequestOptions
27
38
  }
28
39
  )
29
40
  end
30
- def to_hash; end
41
+ def to_hash
42
+ end
31
43
  end
32
44
  end
33
45
  end
@@ -4,17 +4,31 @@ module Dodopayments
4
4
  module Models
5
5
  module Products
6
6
  class ImageUpdateResponse < Dodopayments::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Dodopayments::Models::Products::ImageUpdateResponse,
11
+ Dodopayments::Internal::AnyHash
12
+ )
13
+ end
14
+
7
15
  sig { returns(String) }
8
16
  attr_accessor :url
9
17
 
10
18
  sig { returns(T.nilable(String)) }
11
19
  attr_accessor :image_id
12
20
 
13
- sig { params(url: String, image_id: T.nilable(String)).returns(T.attached_class) }
14
- def self.new(url:, image_id: nil); end
21
+ sig do
22
+ params(url: String, image_id: T.nilable(String)).returns(
23
+ T.attached_class
24
+ )
25
+ end
26
+ def self.new(url:, image_id: nil)
27
+ end
15
28
 
16
- sig { override.returns({url: String, image_id: T.nilable(String)}) }
17
- def to_hash; end
29
+ sig { override.returns({ url: String, image_id: T.nilable(String) }) }
30
+ def to_hash
31
+ end
18
32
  end
19
33
  end
20
34
  end
@@ -3,6 +3,11 @@
3
3
  module Dodopayments
4
4
  module Models
5
5
  class Refund < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Dodopayments::Refund, Dodopayments::Internal::AnyHash)
9
+ end
10
+
6
11
  # The unique identifier of the business issuing the refund.
7
12
  sig { returns(String) }
8
13
  attr_accessor :business_id
@@ -11,6 +16,10 @@ module Dodopayments
11
16
  sig { returns(Time) }
12
17
  attr_accessor :created_at
13
18
 
19
+ # If true the refund is a partial refund
20
+ sig { returns(T::Boolean) }
21
+ attr_accessor :is_partial
22
+
14
23
  # The unique identifier of the payment associated with the refund.
15
24
  sig { returns(String) }
16
25
  attr_accessor :payment_id
@@ -19,14 +28,16 @@ module Dodopayments
19
28
  sig { returns(String) }
20
29
  attr_accessor :refund_id
21
30
 
22
- sig { returns(Dodopayments::Models::RefundStatus::TaggedSymbol) }
31
+ # The current status of the refund.
32
+ sig { returns(Dodopayments::RefundStatus::OrSymbol) }
23
33
  attr_accessor :status
24
34
 
25
35
  # The refunded amount.
26
36
  sig { returns(T.nilable(Integer)) }
27
37
  attr_accessor :amount
28
38
 
29
- sig { returns(T.nilable(Dodopayments::Models::Currency::TaggedSymbol)) }
39
+ # The currency of the refund, represented as an ISO 4217 currency code.
40
+ sig { returns(T.nilable(Dodopayments::Currency::OrSymbol)) }
30
41
  attr_accessor :currency
31
42
 
32
43
  # The reason provided for the refund, if any. Optional.
@@ -37,47 +48,54 @@ module Dodopayments
37
48
  params(
38
49
  business_id: String,
39
50
  created_at: Time,
51
+ is_partial: T::Boolean,
40
52
  payment_id: String,
41
53
  refund_id: String,
42
- status: Dodopayments::Models::RefundStatus::OrSymbol,
54
+ status: Dodopayments::RefundStatus::OrSymbol,
43
55
  amount: T.nilable(Integer),
44
- currency: T.nilable(Dodopayments::Models::Currency::OrSymbol),
56
+ currency: T.nilable(Dodopayments::Currency::OrSymbol),
45
57
  reason: T.nilable(String)
46
- )
47
- .returns(T.attached_class)
58
+ ).returns(T.attached_class)
48
59
  end
49
60
  def self.new(
50
61
  # The unique identifier of the business issuing the refund.
51
62
  business_id:,
52
63
  # The timestamp of when the refund was created in UTC.
53
64
  created_at:,
65
+ # If true the refund is a partial refund
66
+ is_partial:,
54
67
  # The unique identifier of the payment associated with the refund.
55
68
  payment_id:,
56
69
  # The unique identifier of the refund.
57
70
  refund_id:,
71
+ # The current status of the refund.
58
72
  status:,
59
73
  # The refunded amount.
60
74
  amount: nil,
75
+ # The currency of the refund, represented as an ISO 4217 currency code.
61
76
  currency: nil,
62
77
  # The reason provided for the refund, if any. Optional.
63
78
  reason: nil
64
- ); end
79
+ )
80
+ end
81
+
65
82
  sig do
66
- override
67
- .returns(
68
- {
69
- business_id: String,
70
- created_at: Time,
71
- payment_id: String,
72
- refund_id: String,
73
- status: Dodopayments::Models::RefundStatus::TaggedSymbol,
74
- amount: T.nilable(Integer),
75
- currency: T.nilable(Dodopayments::Models::Currency::TaggedSymbol),
76
- reason: T.nilable(String)
77
- }
78
- )
83
+ override.returns(
84
+ {
85
+ business_id: String,
86
+ created_at: Time,
87
+ is_partial: T::Boolean,
88
+ payment_id: String,
89
+ refund_id: String,
90
+ status: Dodopayments::RefundStatus::OrSymbol,
91
+ amount: T.nilable(Integer),
92
+ currency: T.nilable(Dodopayments::Currency::OrSymbol),
93
+ reason: T.nilable(String)
94
+ }
95
+ )
96
+ end
97
+ def to_hash
79
98
  end
80
- def to_hash; end
81
99
  end
82
100
  end
83
101
  end
@@ -6,10 +6,24 @@ 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::RefundCreateParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
9
17
  # The unique identifier of the payment to be refunded.
10
18
  sig { returns(String) }
11
19
  attr_accessor :payment_id
12
20
 
21
+ # Partially Refund an Individual Item
22
+ sig do
23
+ returns(T.nilable(T::Array[Dodopayments::RefundCreateParams::Item]))
24
+ end
25
+ attr_accessor :items
26
+
13
27
  # The reason for the refund, if any. Maximum length is 3000 characters. Optional.
14
28
  sig { returns(T.nilable(String)) }
15
29
  attr_accessor :reason
@@ -17,27 +31,89 @@ module Dodopayments
17
31
  sig do
18
32
  params(
19
33
  payment_id: String,
34
+ items:
35
+ T.nilable(T::Array[Dodopayments::RefundCreateParams::Item::OrHash]),
20
36
  reason: T.nilable(String),
21
- request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash)
22
- )
23
- .returns(T.attached_class)
37
+ request_options: Dodopayments::RequestOptions::OrHash
38
+ ).returns(T.attached_class)
24
39
  end
25
40
  def self.new(
26
41
  # The unique identifier of the payment to be refunded.
27
42
  payment_id:,
43
+ # Partially Refund an Individual Item
44
+ items: nil,
28
45
  # The reason for the refund, if any. Maximum length is 3000 characters. Optional.
29
46
  reason: nil,
30
47
  request_options: {}
31
- ); end
48
+ )
49
+ end
50
+
32
51
  sig do
33
- override
34
- .returns({
35
- payment_id: String,
36
- reason: T.nilable(String),
37
- request_options: Dodopayments::RequestOptions
38
- })
52
+ override.returns(
53
+ {
54
+ payment_id: String,
55
+ items: T.nilable(T::Array[Dodopayments::RefundCreateParams::Item]),
56
+ reason: T.nilable(String),
57
+ request_options: Dodopayments::RequestOptions
58
+ }
59
+ )
60
+ end
61
+ def to_hash
62
+ end
63
+
64
+ class Item < Dodopayments::Internal::Type::BaseModel
65
+ OrHash =
66
+ T.type_alias do
67
+ T.any(
68
+ Dodopayments::RefundCreateParams::Item,
69
+ Dodopayments::Internal::AnyHash
70
+ )
71
+ end
72
+
73
+ # The id of the item (i.e. `product_id` or `addon_id`)
74
+ sig { returns(String) }
75
+ attr_accessor :item_id
76
+
77
+ # The amount to refund. if None the whole item is refunded
78
+ sig { returns(T.nilable(Integer)) }
79
+ attr_accessor :amount
80
+
81
+ # Specify if tax is inclusive of the refund. Default true.
82
+ sig { returns(T.nilable(T::Boolean)) }
83
+ attr_reader :tax_inclusive
84
+
85
+ sig { params(tax_inclusive: T::Boolean).void }
86
+ attr_writer :tax_inclusive
87
+
88
+ sig do
89
+ params(
90
+ item_id: String,
91
+ amount: T.nilable(Integer),
92
+ tax_inclusive: T::Boolean
93
+ ).returns(T.attached_class)
94
+ end
95
+ def self.new(
96
+ # The id of the item (i.e. `product_id` or `addon_id`)
97
+ item_id:,
98
+ # The amount to refund. if None the whole item is refunded
99
+ amount: nil,
100
+ # Specify if tax is inclusive of the refund. Default true.
101
+ tax_inclusive: nil
102
+ )
103
+ end
104
+
105
+ sig do
106
+ override.returns(
107
+ {
108
+ item_id: String,
109
+ amount: T.nilable(Integer),
110
+ tax_inclusive: T::Boolean
111
+ }
112
+ )
113
+ end
114
+ def to_hash
115
+ end
39
116
  end
40
- def to_hash; end
41
117
  end
42
118
  end
43
119
  end