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,41 +6,67 @@ 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(Dodopayments::RefundListParams, Dodopayments::Internal::AnyHash)
12
+ end
13
+
9
14
  # Get events after this created time
10
15
  sig { returns(T.nilable(Time)) }
11
- attr_accessor :created_at_gte
16
+ attr_reader :created_at_gte
17
+
18
+ sig { params(created_at_gte: Time).void }
19
+ attr_writer :created_at_gte
12
20
 
13
21
  # Get events created before this time
14
22
  sig { returns(T.nilable(Time)) }
15
- attr_accessor :created_at_lte
23
+ attr_reader :created_at_lte
24
+
25
+ sig { params(created_at_lte: Time).void }
26
+ attr_writer :created_at_lte
16
27
 
17
28
  # Filter by customer_id
18
29
  sig { returns(T.nilable(String)) }
19
- attr_accessor :customer_id
30
+ attr_reader :customer_id
31
+
32
+ sig { params(customer_id: String).void }
33
+ attr_writer :customer_id
20
34
 
21
35
  # Page number default is 0
22
36
  sig { returns(T.nilable(Integer)) }
23
- attr_accessor :page_number
37
+ attr_reader :page_number
38
+
39
+ sig { params(page_number: Integer).void }
40
+ attr_writer :page_number
24
41
 
25
42
  # Page size default is 10 max is 100
26
43
  sig { returns(T.nilable(Integer)) }
27
- attr_accessor :page_size
44
+ attr_reader :page_size
45
+
46
+ sig { params(page_size: Integer).void }
47
+ attr_writer :page_size
28
48
 
29
49
  # Filter by status
30
- sig { returns(T.nilable(Dodopayments::Models::RefundStatus::OrSymbol)) }
31
- attr_accessor :status
50
+ sig do
51
+ returns(T.nilable(Dodopayments::RefundListParams::Status::OrSymbol))
52
+ end
53
+ attr_reader :status
54
+
55
+ sig do
56
+ params(status: Dodopayments::RefundListParams::Status::OrSymbol).void
57
+ end
58
+ attr_writer :status
32
59
 
33
60
  sig do
34
61
  params(
35
- created_at_gte: T.nilable(Time),
36
- created_at_lte: T.nilable(Time),
37
- customer_id: T.nilable(String),
38
- page_number: T.nilable(Integer),
39
- page_size: T.nilable(Integer),
40
- status: T.nilable(Dodopayments::Models::RefundStatus::OrSymbol),
41
- request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash)
42
- )
43
- .returns(T.attached_class)
62
+ created_at_gte: Time,
63
+ created_at_lte: Time,
64
+ customer_id: String,
65
+ page_number: Integer,
66
+ page_size: Integer,
67
+ status: Dodopayments::RefundListParams::Status::OrSymbol,
68
+ request_options: Dodopayments::RequestOptions::OrHash
69
+ ).returns(T.attached_class)
44
70
  end
45
71
  def self.new(
46
72
  # Get events after this created time
@@ -56,22 +82,53 @@ module Dodopayments
56
82
  # Filter by status
57
83
  status: nil,
58
84
  request_options: {}
59
- ); end
85
+ )
86
+ end
87
+
60
88
  sig do
61
- override
62
- .returns(
63
- {
64
- created_at_gte: T.nilable(Time),
65
- created_at_lte: T.nilable(Time),
66
- customer_id: T.nilable(String),
67
- page_number: T.nilable(Integer),
68
- page_size: T.nilable(Integer),
69
- status: T.nilable(Dodopayments::Models::RefundStatus::OrSymbol),
70
- request_options: Dodopayments::RequestOptions
71
- }
89
+ override.returns(
90
+ {
91
+ created_at_gte: Time,
92
+ created_at_lte: Time,
93
+ customer_id: String,
94
+ page_number: Integer,
95
+ page_size: Integer,
96
+ status: Dodopayments::RefundListParams::Status::OrSymbol,
97
+ request_options: Dodopayments::RequestOptions
98
+ }
99
+ )
100
+ end
101
+ def to_hash
102
+ end
103
+
104
+ # Filter by status
105
+ module Status
106
+ extend Dodopayments::Internal::Type::Enum
107
+
108
+ TaggedSymbol =
109
+ T.type_alias { T.all(Symbol, Dodopayments::RefundListParams::Status) }
110
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
111
+
112
+ SUCCEEDED =
113
+ T.let(
114
+ :succeeded,
115
+ Dodopayments::RefundListParams::Status::TaggedSymbol
116
+ )
117
+ FAILED =
118
+ T.let(:failed, Dodopayments::RefundListParams::Status::TaggedSymbol)
119
+ PENDING =
120
+ T.let(:pending, Dodopayments::RefundListParams::Status::TaggedSymbol)
121
+ REVIEW =
122
+ T.let(:review, Dodopayments::RefundListParams::Status::TaggedSymbol)
123
+
124
+ sig do
125
+ override.returns(
126
+ T::Array[Dodopayments::RefundListParams::Status::TaggedSymbol]
72
127
  )
128
+ end
129
+ def self.values
130
+ end
73
131
  end
74
- def to_hash; end
75
132
  end
76
133
  end
77
134
  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::RefundRetrieveParams,
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
@@ -5,16 +5,19 @@ module Dodopayments
5
5
  module RefundStatus
6
6
  extend Dodopayments::Internal::Type::Enum
7
7
 
8
- TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::RefundStatus) }
8
+ TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::RefundStatus) }
9
9
  OrSymbol = T.type_alias { T.any(Symbol, String) }
10
10
 
11
- SUCCEEDED = T.let(:succeeded, Dodopayments::Models::RefundStatus::TaggedSymbol)
12
- FAILED = T.let(:failed, Dodopayments::Models::RefundStatus::TaggedSymbol)
13
- PENDING = T.let(:pending, Dodopayments::Models::RefundStatus::TaggedSymbol)
14
- REVIEW = T.let(:review, Dodopayments::Models::RefundStatus::TaggedSymbol)
11
+ SUCCEEDED = T.let(:succeeded, Dodopayments::RefundStatus::TaggedSymbol)
12
+ FAILED = T.let(:failed, Dodopayments::RefundStatus::TaggedSymbol)
13
+ PENDING = T.let(:pending, Dodopayments::RefundStatus::TaggedSymbol)
14
+ REVIEW = T.let(:review, Dodopayments::RefundStatus::TaggedSymbol)
15
15
 
16
- sig { override.returns(T::Array[Dodopayments::Models::RefundStatus::TaggedSymbol]) }
17
- def self.values; end
16
+ sig do
17
+ override.returns(T::Array[Dodopayments::RefundStatus::TaggedSymbol])
18
+ end
19
+ def self.values
20
+ end
18
21
  end
19
22
  end
20
23
  end
@@ -3,31 +3,44 @@
3
3
  module Dodopayments
4
4
  module Models
5
5
  class Subscription < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Dodopayments::Subscription, Dodopayments::Internal::AnyHash)
9
+ end
10
+
6
11
  # Addons associated with this subscription
7
- sig { returns(T::Array[Dodopayments::Models::AddonCartResponseItem]) }
12
+ sig { returns(T::Array[Dodopayments::AddonCartResponseItem]) }
8
13
  attr_accessor :addons
9
14
 
10
- sig { returns(Dodopayments::Models::BillingAddress) }
15
+ # Billing address details for payments
16
+ sig { returns(Dodopayments::BillingAddress) }
11
17
  attr_reader :billing
12
18
 
13
- sig { params(billing: T.any(Dodopayments::Models::BillingAddress, Dodopayments::Internal::AnyHash)).void }
19
+ sig { params(billing: Dodopayments::BillingAddress::OrHash).void }
14
20
  attr_writer :billing
15
21
 
22
+ # Indicates if the subscription will cancel at the next billing date
23
+ sig { returns(T::Boolean) }
24
+ attr_accessor :cancel_at_next_billing_date
25
+
16
26
  # Timestamp when the subscription was created
17
27
  sig { returns(Time) }
18
28
  attr_accessor :created_at
19
29
 
20
- sig { returns(Dodopayments::Models::Currency::TaggedSymbol) }
30
+ # Currency used for the subscription payments
31
+ sig { returns(Dodopayments::Currency::OrSymbol) }
21
32
  attr_accessor :currency
22
33
 
23
- sig { returns(Dodopayments::Models::CustomerLimitedDetails) }
34
+ # Customer details associated with the subscription
35
+ sig { returns(Dodopayments::CustomerLimitedDetails) }
24
36
  attr_reader :customer
25
37
 
26
38
  sig do
27
- params(customer: T.any(Dodopayments::Models::CustomerLimitedDetails, Dodopayments::Internal::AnyHash)).void
39
+ params(customer: Dodopayments::CustomerLimitedDetails::OrHash).void
28
40
  end
29
41
  attr_writer :customer
30
42
 
43
+ # Additional custom data associated with the subscription
31
44
  sig { returns(T::Hash[Symbol, String]) }
32
45
  attr_accessor :metadata
33
46
 
@@ -44,7 +57,8 @@ module Dodopayments
44
57
  sig { returns(Integer) }
45
58
  attr_accessor :payment_frequency_count
46
59
 
47
- sig { returns(Dodopayments::Models::TimeInterval::TaggedSymbol) }
60
+ # Time interval for payment frequency (e.g. month, year)
61
+ sig { returns(Dodopayments::TimeInterval::OrSymbol) }
48
62
  attr_accessor :payment_frequency_interval
49
63
 
50
64
  # Timestamp of the last payment. Indicates the start of current billing period
@@ -64,7 +78,8 @@ module Dodopayments
64
78
  sig { returns(Integer) }
65
79
  attr_accessor :recurring_pre_tax_amount
66
80
 
67
- sig { returns(Dodopayments::Models::SubscriptionStatus::TaggedSymbol) }
81
+ # Current status of the subscription
82
+ sig { returns(Dodopayments::SubscriptionStatus::OrSymbol) }
68
83
  attr_accessor :status
69
84
 
70
85
  # Unique identifier for the subscription
@@ -75,7 +90,8 @@ module Dodopayments
75
90
  sig { returns(Integer) }
76
91
  attr_accessor :subscription_period_count
77
92
 
78
- sig { returns(Dodopayments::Models::TimeInterval::TaggedSymbol) }
93
+ # Time interval for the subscription period (e.g. month, year)
94
+ sig { returns(Dodopayments::TimeInterval::OrSymbol) }
79
95
  attr_accessor :subscription_period_interval
80
96
 
81
97
  # Indicates if the recurring_pre_tax_amount is tax inclusive
@@ -90,6 +106,10 @@ module Dodopayments
90
106
  sig { returns(T.nilable(Time)) }
91
107
  attr_accessor :cancelled_at
92
108
 
109
+ # Number of remaining discount cycles if discount is applied
110
+ sig { returns(T.nilable(Integer)) }
111
+ attr_accessor :discount_cycles_remaining
112
+
93
113
  # The discount id if discount is applied
94
114
  sig { returns(T.nilable(String)) }
95
115
  attr_accessor :discount_id
@@ -97,39 +117,46 @@ module Dodopayments
97
117
  # Response struct representing subscription details
98
118
  sig do
99
119
  params(
100
- addons: T::Array[T.any(Dodopayments::Models::AddonCartResponseItem, Dodopayments::Internal::AnyHash)],
101
- billing: T.any(Dodopayments::Models::BillingAddress, Dodopayments::Internal::AnyHash),
120
+ addons: T::Array[Dodopayments::AddonCartResponseItem::OrHash],
121
+ billing: Dodopayments::BillingAddress::OrHash,
122
+ cancel_at_next_billing_date: T::Boolean,
102
123
  created_at: Time,
103
- currency: Dodopayments::Models::Currency::OrSymbol,
104
- customer: T.any(Dodopayments::Models::CustomerLimitedDetails, Dodopayments::Internal::AnyHash),
124
+ currency: Dodopayments::Currency::OrSymbol,
125
+ customer: Dodopayments::CustomerLimitedDetails::OrHash,
105
126
  metadata: T::Hash[Symbol, String],
106
127
  next_billing_date: Time,
107
128
  on_demand: T::Boolean,
108
129
  payment_frequency_count: Integer,
109
- payment_frequency_interval: Dodopayments::Models::TimeInterval::OrSymbol,
130
+ payment_frequency_interval: Dodopayments::TimeInterval::OrSymbol,
110
131
  previous_billing_date: Time,
111
132
  product_id: String,
112
133
  quantity: Integer,
113
134
  recurring_pre_tax_amount: Integer,
114
- status: Dodopayments::Models::SubscriptionStatus::OrSymbol,
135
+ status: Dodopayments::SubscriptionStatus::OrSymbol,
115
136
  subscription_id: String,
116
137
  subscription_period_count: Integer,
117
- subscription_period_interval: Dodopayments::Models::TimeInterval::OrSymbol,
138
+ subscription_period_interval: Dodopayments::TimeInterval::OrSymbol,
118
139
  tax_inclusive: T::Boolean,
119
140
  trial_period_days: Integer,
120
141
  cancelled_at: T.nilable(Time),
142
+ discount_cycles_remaining: T.nilable(Integer),
121
143
  discount_id: T.nilable(String)
122
- )
123
- .returns(T.attached_class)
144
+ ).returns(T.attached_class)
124
145
  end
125
146
  def self.new(
126
147
  # Addons associated with this subscription
127
148
  addons:,
149
+ # Billing address details for payments
128
150
  billing:,
151
+ # Indicates if the subscription will cancel at the next billing date
152
+ cancel_at_next_billing_date:,
129
153
  # Timestamp when the subscription was created
130
154
  created_at:,
155
+ # Currency used for the subscription payments
131
156
  currency:,
157
+ # Customer details associated with the subscription
132
158
  customer:,
159
+ # Additional custom data associated with the subscription
133
160
  metadata:,
134
161
  # Timestamp of the next scheduled billing. Indicates the end of current billing
135
162
  # period
@@ -138,6 +165,7 @@ module Dodopayments
138
165
  on_demand:,
139
166
  # Number of payment frequency intervals
140
167
  payment_frequency_count:,
168
+ # Time interval for payment frequency (e.g. month, year)
141
169
  payment_frequency_interval:,
142
170
  # Timestamp of the last payment. Indicates the start of current billing period
143
171
  previous_billing_date:,
@@ -148,11 +176,13 @@ module Dodopayments
148
176
  # Amount charged before tax for each recurring payment in smallest currency unit
149
177
  # (e.g. cents)
150
178
  recurring_pre_tax_amount:,
179
+ # Current status of the subscription
151
180
  status:,
152
181
  # Unique identifier for the subscription
153
182
  subscription_id:,
154
183
  # Number of subscription period intervals
155
184
  subscription_period_count:,
185
+ # Time interval for the subscription period (e.g. month, year)
156
186
  subscription_period_interval:,
157
187
  # Indicates if the recurring_pre_tax_amount is tax inclusive
158
188
  tax_inclusive:,
@@ -160,39 +190,45 @@ module Dodopayments
160
190
  trial_period_days:,
161
191
  # Cancelled timestamp if the subscription is cancelled
162
192
  cancelled_at: nil,
193
+ # Number of remaining discount cycles if discount is applied
194
+ discount_cycles_remaining: nil,
163
195
  # The discount id if discount is applied
164
196
  discount_id: nil
165
- ); end
197
+ )
198
+ end
199
+
166
200
  sig do
167
- override
168
- .returns(
169
- {
170
- addons: T::Array[Dodopayments::Models::AddonCartResponseItem],
171
- billing: Dodopayments::Models::BillingAddress,
172
- created_at: Time,
173
- currency: Dodopayments::Models::Currency::TaggedSymbol,
174
- customer: Dodopayments::Models::CustomerLimitedDetails,
175
- metadata: T::Hash[Symbol, String],
176
- next_billing_date: Time,
177
- on_demand: T::Boolean,
178
- payment_frequency_count: Integer,
179
- payment_frequency_interval: Dodopayments::Models::TimeInterval::TaggedSymbol,
180
- previous_billing_date: Time,
181
- product_id: String,
182
- quantity: Integer,
183
- recurring_pre_tax_amount: Integer,
184
- status: Dodopayments::Models::SubscriptionStatus::TaggedSymbol,
185
- subscription_id: String,
186
- subscription_period_count: Integer,
187
- subscription_period_interval: Dodopayments::Models::TimeInterval::TaggedSymbol,
188
- tax_inclusive: T::Boolean,
189
- trial_period_days: Integer,
190
- cancelled_at: T.nilable(Time),
191
- discount_id: T.nilable(String)
192
- }
193
- )
201
+ override.returns(
202
+ {
203
+ addons: T::Array[Dodopayments::AddonCartResponseItem],
204
+ billing: Dodopayments::BillingAddress,
205
+ cancel_at_next_billing_date: T::Boolean,
206
+ created_at: Time,
207
+ currency: Dodopayments::Currency::OrSymbol,
208
+ customer: Dodopayments::CustomerLimitedDetails,
209
+ metadata: T::Hash[Symbol, String],
210
+ next_billing_date: Time,
211
+ on_demand: T::Boolean,
212
+ payment_frequency_count: Integer,
213
+ payment_frequency_interval: Dodopayments::TimeInterval::OrSymbol,
214
+ previous_billing_date: Time,
215
+ product_id: String,
216
+ quantity: Integer,
217
+ recurring_pre_tax_amount: Integer,
218
+ status: Dodopayments::SubscriptionStatus::OrSymbol,
219
+ subscription_id: String,
220
+ subscription_period_count: Integer,
221
+ subscription_period_interval: Dodopayments::TimeInterval::OrSymbol,
222
+ tax_inclusive: T::Boolean,
223
+ trial_period_days: Integer,
224
+ cancelled_at: T.nilable(Time),
225
+ discount_cycles_remaining: T.nilable(Integer),
226
+ discount_id: T.nilable(String)
227
+ }
228
+ )
229
+ end
230
+ def to_hash
194
231
  end
195
- def to_hash; end
196
232
  end
197
233
  end
198
234
  end
@@ -6,11 +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::SubscriptionChangePlanParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
9
17
  # Unique identifier of the product to subscribe to
10
18
  sig { returns(String) }
11
19
  attr_accessor :product_id
12
20
 
13
- sig { returns(Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol) }
21
+ # Proration Billing Mode
22
+ sig do
23
+ returns(
24
+ Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol
25
+ )
26
+ end
14
27
  attr_accessor :proration_billing_mode
15
28
 
16
29
  # Number of units to subscribe for. Must be at least 1.
@@ -19,24 +32,23 @@ module Dodopayments
19
32
 
20
33
  # Addons for the new plan. Note : Leaving this empty would remove any existing
21
34
  # addons
22
- sig { returns(T.nilable(T::Array[Dodopayments::Models::SubscriptionChangePlanParams::Addon])) }
35
+ sig { returns(T.nilable(T::Array[Dodopayments::AttachAddon])) }
23
36
  attr_accessor :addons
24
37
 
25
38
  sig do
26
39
  params(
27
40
  product_id: String,
28
- proration_billing_mode: Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
41
+ proration_billing_mode:
42
+ Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
29
43
  quantity: Integer,
30
- addons: T.nilable(
31
- T::Array[T.any(Dodopayments::Models::SubscriptionChangePlanParams::Addon, Dodopayments::Internal::AnyHash)]
32
- ),
33
- request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash)
34
- )
35
- .returns(T.attached_class)
44
+ addons: T.nilable(T::Array[Dodopayments::AttachAddon::OrHash]),
45
+ request_options: Dodopayments::RequestOptions::OrHash
46
+ ).returns(T.attached_class)
36
47
  end
37
48
  def self.new(
38
49
  # Unique identifier of the product to subscribe to
39
50
  product_id:,
51
+ # Proration Billing Mode
40
52
  proration_billing_mode:,
41
53
  # Number of units to subscribe for. Must be at least 1.
42
54
  quantity:,
@@ -44,53 +56,62 @@ module Dodopayments
44
56
  # addons
45
57
  addons: nil,
46
58
  request_options: {}
47
- ); end
59
+ )
60
+ end
61
+
48
62
  sig do
49
- override
50
- .returns(
51
- {
52
- product_id: String,
53
- proration_billing_mode: Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
54
- quantity: Integer,
55
- addons: T.nilable(T::Array[Dodopayments::Models::SubscriptionChangePlanParams::Addon]),
56
- request_options: Dodopayments::RequestOptions
57
- }
58
- )
63
+ override.returns(
64
+ {
65
+ product_id: String,
66
+ proration_billing_mode:
67
+ Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
68
+ quantity: Integer,
69
+ addons: T.nilable(T::Array[Dodopayments::AttachAddon]),
70
+ request_options: Dodopayments::RequestOptions
71
+ }
72
+ )
73
+ end
74
+ def to_hash
59
75
  end
60
- def to_hash; end
61
76
 
77
+ # Proration Billing Mode
62
78
  module ProrationBillingMode
63
79
  extend Dodopayments::Internal::Type::Enum
64
80
 
65
81
  TaggedSymbol =
66
- T.type_alias { T.all(Symbol, Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode) }
82
+ T.type_alias do
83
+ T.all(
84
+ Symbol,
85
+ Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode
86
+ )
87
+ end
67
88
  OrSymbol = T.type_alias { T.any(Symbol, String) }
68
89
 
69
90
  PRORATED_IMMEDIATELY =
70
91
  T.let(
71
92
  :prorated_immediately,
72
- Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode::TaggedSymbol
93
+ Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode::TaggedSymbol
94
+ )
95
+ FULL_IMMEDIATELY =
96
+ T.let(
97
+ :full_immediately,
98
+ Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode::TaggedSymbol
99
+ )
100
+ DIFFERENCE_IMMEDIATELY =
101
+ T.let(
102
+ :difference_immediately,
103
+ Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode::TaggedSymbol
73
104
  )
74
105
 
75
106
  sig do
76
- override
77
- .returns(T::Array[Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode::TaggedSymbol])
107
+ override.returns(
108
+ T::Array[
109
+ Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode::TaggedSymbol
110
+ ]
111
+ )
112
+ end
113
+ def self.values
78
114
  end
79
- def self.values; end
80
- end
81
-
82
- class Addon < Dodopayments::Internal::Type::BaseModel
83
- sig { returns(String) }
84
- attr_accessor :addon_id
85
-
86
- sig { returns(Integer) }
87
- attr_accessor :quantity
88
-
89
- sig { params(addon_id: String, quantity: Integer).returns(T.attached_class) }
90
- def self.new(addon_id:, quantity:); end
91
-
92
- sig { override.returns({addon_id: String, quantity: Integer}) }
93
- def to_hash; end
94
115
  end
95
116
  end
96
117
  end