dodopayments 1.20.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 (452) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/README.md +144 -60
  4. data/SECURITY.md +2 -2
  5. data/lib/dodopayments/client.rb +25 -12
  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/default_page_number_pagination.rb +2 -2
  10. data/lib/dodopayments/internal/transport/base_client.rb +90 -10
  11. data/lib/dodopayments/internal/transport/pooled_net_requester.rb +17 -1
  12. data/lib/dodopayments/internal/type/array_of.rb +16 -2
  13. data/lib/dodopayments/internal/type/base_model.rb +152 -59
  14. data/lib/dodopayments/internal/type/boolean.rb +15 -1
  15. data/lib/dodopayments/internal/type/converter.rb +86 -33
  16. data/lib/dodopayments/internal/type/enum.rb +30 -6
  17. data/lib/dodopayments/internal/type/file_input.rb +13 -1
  18. data/lib/dodopayments/internal/type/hash_of.rb +16 -2
  19. data/lib/dodopayments/internal/type/request_parameters.rb +6 -12
  20. data/lib/dodopayments/internal/type/union.rb +44 -31
  21. data/lib/dodopayments/internal/type/unknown.rb +15 -1
  22. data/lib/dodopayments/internal/util.rb +136 -12
  23. data/lib/dodopayments/internal.rb +9 -0
  24. data/lib/dodopayments/models/addon_create_params.rb +6 -10
  25. data/lib/dodopayments/models/addon_list_params.rb +4 -4
  26. data/lib/dodopayments/models/addon_response.rb +6 -10
  27. data/lib/dodopayments/models/addon_update_params.rb +6 -10
  28. data/lib/dodopayments/models/attach_addon.rb +21 -0
  29. data/lib/dodopayments/models/billing_address.rb +3 -3
  30. data/lib/dodopayments/models/brand.rb +107 -0
  31. data/lib/dodopayments/models/brand_create_params.rb +44 -0
  32. data/lib/dodopayments/models/{webhook_event_retrieve_params.rb → brand_list_params.rb} +2 -2
  33. data/lib/dodopayments/models/brand_list_response.rb +17 -0
  34. data/lib/dodopayments/models/brand_retrieve_params.rb +14 -0
  35. data/lib/dodopayments/models/brand_update_images_params.rb +14 -0
  36. data/lib/dodopayments/models/brand_update_images_response.rb +25 -0
  37. data/lib/dodopayments/models/brand_update_params.rb +43 -0
  38. data/lib/dodopayments/models/create_new_customer.rb +0 -1
  39. data/lib/dodopayments/models/customer_list_params.rb +13 -5
  40. data/lib/dodopayments/models/customer_request.rb +3 -3
  41. data/lib/dodopayments/models/customers/customer_portal_create_params.rb +2 -2
  42. data/lib/dodopayments/models/discount.rb +15 -4
  43. data/lib/dodopayments/models/discount_create_params.rb +17 -6
  44. data/lib/dodopayments/models/discount_list_params.rb +4 -4
  45. data/lib/dodopayments/models/discount_update_params.rb +16 -5
  46. data/lib/dodopayments/models/dispute.rb +15 -7
  47. data/lib/dodopayments/models/dispute_list_params.rb +44 -16
  48. data/lib/dodopayments/models/dispute_list_response.rb +77 -0
  49. data/lib/dodopayments/models/get_dispute.rb +101 -0
  50. data/lib/dodopayments/models/license_key.rb +3 -3
  51. data/lib/dodopayments/models/license_key_duration.rb +1 -1
  52. data/lib/dodopayments/models/license_key_list_params.rb +23 -11
  53. data/lib/dodopayments/models/license_key_update_params.rb +3 -3
  54. data/lib/dodopayments/models/misc_list_supported_countries_response.rb +1 -1
  55. data/lib/dodopayments/models/new_customer.rb +27 -0
  56. data/lib/dodopayments/models/one_time_product_cart_item.rb +0 -1
  57. data/lib/dodopayments/models/payment.rb +79 -18
  58. data/lib/dodopayments/models/payment_create_params.rb +22 -41
  59. data/lib/dodopayments/models/payment_create_response.rb +16 -6
  60. data/lib/dodopayments/models/payment_list_params.rb +44 -16
  61. data/lib/dodopayments/models/payment_list_response.rb +16 -4
  62. data/lib/dodopayments/models/payment_method_types.rb +31 -0
  63. data/lib/dodopayments/models/payment_retrieve_line_items_params.rb +14 -0
  64. data/lib/dodopayments/models/payment_retrieve_line_items_response.rb +63 -0
  65. data/lib/dodopayments/models/payout_list_params.rb +4 -4
  66. data/lib/dodopayments/models/payout_list_response.rb +7 -3
  67. data/lib/dodopayments/models/price.rb +57 -30
  68. data/lib/dodopayments/models/product.rb +85 -12
  69. data/lib/dodopayments/models/product_create_params.rb +61 -12
  70. data/lib/dodopayments/models/product_list_params.rb +15 -7
  71. data/lib/dodopayments/models/product_list_response.rb +19 -11
  72. data/lib/dodopayments/models/product_update_files_params.rb +20 -0
  73. data/lib/dodopayments/models/product_update_files_response.rb +22 -0
  74. data/lib/dodopayments/models/product_update_params.rb +70 -13
  75. data/lib/dodopayments/models/products/image_update_params.rb +2 -2
  76. data/lib/dodopayments/models/refund.rb +15 -5
  77. data/lib/dodopayments/models/refund_create_params.rb +38 -1
  78. data/lib/dodopayments/models/refund_list_params.rb +26 -13
  79. data/lib/dodopayments/models/subscription.rb +38 -18
  80. data/lib/dodopayments/models/subscription_change_plan_params.rb +19 -3
  81. data/lib/dodopayments/models/subscription_charge_params.rb +38 -2
  82. data/lib/dodopayments/models/subscription_create_params.rb +53 -66
  83. data/lib/dodopayments/models/subscription_create_response.rb +24 -8
  84. data/lib/dodopayments/models/subscription_list_params.rb +37 -14
  85. data/lib/dodopayments/models/subscription_list_response.rb +37 -16
  86. data/lib/dodopayments/models/subscription_status.rb +0 -1
  87. data/lib/dodopayments/models/subscription_update_params.rb +10 -6
  88. data/lib/dodopayments/models/webhook_create_params.rb +86 -0
  89. data/lib/dodopayments/models/webhook_create_response.rb +88 -0
  90. data/lib/dodopayments/models/webhook_delete_params.rb +14 -0
  91. data/lib/dodopayments/models/webhook_event_type.rb +35 -0
  92. data/lib/dodopayments/models/webhook_list_params.rb +30 -0
  93. data/lib/dodopayments/models/webhook_list_response.rb +88 -0
  94. data/lib/dodopayments/models/webhook_payload.rb +161 -0
  95. data/lib/dodopayments/models/webhook_retrieve_params.rb +14 -0
  96. data/lib/dodopayments/models/webhook_retrieve_response.rb +88 -0
  97. data/lib/dodopayments/models/webhook_update_params.rb +69 -0
  98. data/lib/dodopayments/models/webhook_update_response.rb +88 -0
  99. data/lib/dodopayments/models/webhooks/header_retrieve_params.rb +16 -0
  100. data/lib/dodopayments/models/webhooks/header_retrieve_response.rb +31 -0
  101. data/lib/dodopayments/models/webhooks/header_update_params.rb +24 -0
  102. data/lib/dodopayments/models/your_webhook_url_create_params.rb +32 -0
  103. data/lib/dodopayments/models.rb +241 -0
  104. data/lib/dodopayments/request_options.rb +4 -0
  105. data/lib/dodopayments/resources/addons.rb +13 -21
  106. data/lib/dodopayments/resources/brands.rb +119 -0
  107. data/lib/dodopayments/resources/customers/customer_portal.rb +3 -3
  108. data/lib/dodopayments/resources/customers.rb +12 -10
  109. data/lib/dodopayments/resources/discounts.rb +24 -19
  110. data/lib/dodopayments/resources/disputes.rb +12 -12
  111. data/lib/dodopayments/resources/invoices/payments.rb +3 -2
  112. data/lib/dodopayments/resources/license_key_instances.rb +5 -5
  113. data/lib/dodopayments/resources/license_keys.rb +13 -13
  114. data/lib/dodopayments/resources/licenses.rb +4 -4
  115. data/lib/dodopayments/resources/misc.rb +1 -1
  116. data/lib/dodopayments/resources/payments.rb +38 -19
  117. data/lib/dodopayments/resources/payouts.rb +3 -3
  118. data/lib/dodopayments/resources/products/images.rb +2 -2
  119. data/lib/dodopayments/resources/products.rb +58 -24
  120. data/lib/dodopayments/resources/refunds.rb +14 -12
  121. data/lib/dodopayments/resources/subscriptions.rb +44 -29
  122. data/lib/dodopayments/resources/webhook_events.rb +0 -52
  123. data/lib/dodopayments/resources/webhooks/headers.rb +59 -0
  124. data/lib/dodopayments/resources/webhooks.rb +157 -0
  125. data/lib/dodopayments/resources/your_webhook_url.rb +56 -0
  126. data/lib/dodopayments/version.rb +1 -1
  127. data/lib/dodopayments.rb +47 -8
  128. data/rbi/dodopayments/client.rbi +24 -10
  129. data/rbi/dodopayments/errors.rbi +51 -16
  130. data/rbi/dodopayments/file_part.rbi +9 -6
  131. data/rbi/dodopayments/internal/cursor_page_pagination.rbi +25 -0
  132. data/rbi/dodopayments/internal/default_page_number_pagination.rbi +2 -1
  133. data/rbi/dodopayments/internal/transport/base_client.rbi +165 -77
  134. data/rbi/dodopayments/internal/transport/pooled_net_requester.rbi +33 -13
  135. data/rbi/dodopayments/internal/type/array_of.rbi +40 -24
  136. data/rbi/dodopayments/internal/type/base_model.rbi +160 -70
  137. data/rbi/dodopayments/internal/type/base_page.rbi +13 -8
  138. data/rbi/dodopayments/internal/type/boolean.rbi +24 -14
  139. data/rbi/dodopayments/internal/type/converter.rbi +135 -33
  140. data/rbi/dodopayments/internal/type/enum.rbi +29 -13
  141. data/rbi/dodopayments/internal/type/file_input.rbi +13 -4
  142. data/rbi/dodopayments/internal/type/hash_of.rbi +40 -24
  143. data/rbi/dodopayments/internal/type/request_parameters.rbi +14 -4
  144. data/rbi/dodopayments/internal/type/union.rbi +71 -23
  145. data/rbi/dodopayments/internal/type/unknown.rbi +24 -6
  146. data/rbi/dodopayments/internal/util.rbi +274 -89
  147. data/rbi/dodopayments/internal.rbi +7 -0
  148. data/rbi/dodopayments/models/addon_cart_response_item.rbi +16 -4
  149. data/rbi/dodopayments/models/addon_create_params.rbi +33 -24
  150. data/rbi/dodopayments/models/addon_list_params.rbi +29 -17
  151. data/rbi/dodopayments/models/addon_response.rbi +33 -27
  152. data/rbi/dodopayments/models/addon_retrieve_params.rbi +18 -5
  153. data/rbi/dodopayments/models/addon_update_images_params.rbi +18 -5
  154. data/rbi/dodopayments/models/addon_update_images_response.rbi +13 -3
  155. data/rbi/dodopayments/models/addon_update_params.rbi +34 -25
  156. data/rbi/dodopayments/models/attach_addon.rbi +28 -0
  157. data/rbi/dodopayments/models/attach_existing_customer.rbi +13 -3
  158. data/rbi/dodopayments/models/billing_address.rbi +24 -12
  159. data/rbi/dodopayments/models/brand.rbi +132 -0
  160. data/rbi/dodopayments/models/brand_create_params.rbi +68 -0
  161. data/rbi/dodopayments/models/brand_list_params.rbi +29 -0
  162. data/rbi/dodopayments/models/brand_list_response.rbi +34 -0
  163. data/rbi/dodopayments/models/brand_retrieve_params.rbi +32 -0
  164. data/rbi/dodopayments/models/brand_update_images_params.rbi +32 -0
  165. data/rbi/dodopayments/models/brand_update_images_response.rbi +36 -0
  166. data/rbi/dodopayments/models/brand_update_params.rbi +64 -0
  167. data/rbi/dodopayments/models/country_code.rbi +255 -252
  168. data/rbi/dodopayments/models/create_new_customer.rbi +27 -11
  169. data/rbi/dodopayments/models/currency.rbi +149 -148
  170. data/rbi/dodopayments/models/customer.rbi +27 -15
  171. data/rbi/dodopayments/models/customer_create_params.rbi +22 -14
  172. data/rbi/dodopayments/models/customer_limited_details.rbi +21 -4
  173. data/rbi/dodopayments/models/customer_list_params.rbi +43 -17
  174. data/rbi/dodopayments/models/customer_portal_session.rbi +13 -3
  175. data/rbi/dodopayments/models/customer_request.rbi +10 -2
  176. data/rbi/dodopayments/models/customer_retrieve_params.rbi +18 -5
  177. data/rbi/dodopayments/models/customer_update_params.rbi +21 -13
  178. data/rbi/dodopayments/models/customers/customer_portal_create_params.rbi +26 -8
  179. data/rbi/dodopayments/models/discount.rbi +42 -22
  180. data/rbi/dodopayments/models/discount_create_params.rbi +43 -20
  181. data/rbi/dodopayments/models/discount_delete_params.rbi +18 -5
  182. data/rbi/dodopayments/models/discount_list_params.rbi +32 -17
  183. data/rbi/dodopayments/models/discount_retrieve_params.rbi +18 -5
  184. data/rbi/dodopayments/models/discount_type.rbi +7 -4
  185. data/rbi/dodopayments/models/discount_update_params.rbi +43 -20
  186. data/rbi/dodopayments/models/dispute.rbi +41 -23
  187. data/rbi/dodopayments/models/dispute_list_params.rbi +178 -33
  188. data/rbi/dodopayments/models/dispute_list_response.rbi +98 -0
  189. data/rbi/dodopayments/models/dispute_retrieve_params.rbi +18 -5
  190. data/rbi/dodopayments/models/dispute_stage.rbi +11 -6
  191. data/rbi/dodopayments/models/dispute_status.rbi +20 -10
  192. data/rbi/dodopayments/models/get_dispute.rbi +124 -0
  193. data/rbi/dodopayments/models/intent_status.rbi +32 -14
  194. data/rbi/dodopayments/models/invoices/payment_retrieve_params.rbi +18 -5
  195. data/rbi/dodopayments/models/license_activate_params.rbi +21 -6
  196. data/rbi/dodopayments/models/license_deactivate_params.rbi +21 -13
  197. data/rbi/dodopayments/models/license_key.rbi +31 -23
  198. data/rbi/dodopayments/models/license_key_duration.rbi +24 -5
  199. data/rbi/dodopayments/models/license_key_instance.rbi +19 -4
  200. data/rbi/dodopayments/models/license_key_instance_list_params.rbi +23 -14
  201. data/rbi/dodopayments/models/license_key_instance_retrieve_params.rbi +18 -5
  202. data/rbi/dodopayments/models/license_key_instance_update_params.rbi +19 -6
  203. data/rbi/dodopayments/models/license_key_list_params.rbi +91 -26
  204. data/rbi/dodopayments/models/license_key_retrieve_params.rbi +18 -5
  205. data/rbi/dodopayments/models/license_key_status.rbi +10 -6
  206. data/rbi/dodopayments/models/license_key_update_params.rbi +23 -14
  207. data/rbi/dodopayments/models/license_validate_params.rbi +25 -13
  208. data/rbi/dodopayments/models/license_validate_response.rbi +13 -3
  209. data/rbi/dodopayments/models/misc_list_supported_countries_params.rbi +18 -5
  210. data/rbi/dodopayments/models/misc_list_supported_countries_response.rbi +1 -1
  211. data/rbi/dodopayments/models/new_customer.rbi +39 -0
  212. data/rbi/dodopayments/models/one_time_product_cart_item.rbi +23 -4
  213. data/rbi/dodopayments/models/payment.rbi +149 -54
  214. data/rbi/dodopayments/models/payment_create_params.rbi +67 -87
  215. data/rbi/dodopayments/models/payment_create_response.rbi +45 -22
  216. data/rbi/dodopayments/models/payment_list_params.rbi +149 -32
  217. data/rbi/dodopayments/models/payment_list_response.rbi +47 -26
  218. data/rbi/dodopayments/models/payment_method_types.rbi +52 -0
  219. data/rbi/dodopayments/models/payment_retrieve_line_items_params.rbi +32 -0
  220. data/rbi/dodopayments/models/payment_retrieve_line_items_response.rbi +114 -0
  221. data/rbi/dodopayments/models/payment_retrieve_params.rbi +18 -5
  222. data/rbi/dodopayments/models/payout_list_params.rbi +29 -17
  223. data/rbi/dodopayments/models/payout_list_response.rbi +82 -35
  224. data/rbi/dodopayments/models/price.rbi +142 -55
  225. data/rbi/dodopayments/models/product.rbi +177 -38
  226. data/rbi/dodopayments/models/product_create_params.rbi +151 -36
  227. data/rbi/dodopayments/models/product_delete_params.rbi +18 -5
  228. data/rbi/dodopayments/models/product_list_params.rbi +50 -21
  229. data/rbi/dodopayments/models/product_list_response.rbi +57 -42
  230. data/rbi/dodopayments/models/product_retrieve_params.rbi +18 -5
  231. data/rbi/dodopayments/models/product_unarchive_params.rbi +18 -5
  232. data/rbi/dodopayments/models/product_update_files_params.rbi +38 -0
  233. data/rbi/dodopayments/models/product_update_files_response.rbi +29 -0
  234. data/rbi/dodopayments/models/product_update_params.rbi +160 -37
  235. data/rbi/dodopayments/models/products/image_update_params.rbi +20 -8
  236. data/rbi/dodopayments/models/products/image_update_response.rbi +18 -4
  237. data/rbi/dodopayments/models/refund.rbi +39 -21
  238. data/rbi/dodopayments/models/refund_create_params.rbi +87 -11
  239. data/rbi/dodopayments/models/refund_list_params.rbi +86 -29
  240. data/rbi/dodopayments/models/refund_retrieve_params.rbi +18 -5
  241. data/rbi/dodopayments/models/refund_status.rbi +10 -7
  242. data/rbi/dodopayments/models/subscription.rbi +83 -47
  243. data/rbi/dodopayments/models/subscription_change_plan_params.rbi +68 -21
  244. data/rbi/dodopayments/models/subscription_charge_params.rbi +65 -6
  245. data/rbi/dodopayments/models/subscription_charge_response.rbi +13 -3
  246. data/rbi/dodopayments/models/subscription_create_params.rbi +136 -128
  247. data/rbi/dodopayments/models/subscription_create_response.rbi +51 -22
  248. data/rbi/dodopayments/models/subscription_list_params.rbi +125 -29
  249. data/rbi/dodopayments/models/subscription_list_response.rbi +85 -44
  250. data/rbi/dodopayments/models/subscription_retrieve_params.rbi +18 -5
  251. data/rbi/dodopayments/models/subscription_status.rbi +16 -10
  252. data/rbi/dodopayments/models/subscription_update_params.rbi +63 -33
  253. data/rbi/dodopayments/models/tax_category.rbi +11 -7
  254. data/rbi/dodopayments/models/time_interval.rbi +10 -7
  255. data/rbi/dodopayments/models/webhook_create_params.rbi +115 -0
  256. data/rbi/dodopayments/models/webhook_create_response.rbi +112 -0
  257. data/rbi/dodopayments/models/webhook_delete_params.rbi +32 -0
  258. data/rbi/dodopayments/models/webhook_event_type.rbi +102 -0
  259. data/rbi/dodopayments/models/webhook_list_params.rbi +54 -0
  260. data/rbi/dodopayments/models/webhook_list_response.rbi +112 -0
  261. data/rbi/dodopayments/models/webhook_payload.rbi +440 -0
  262. data/rbi/dodopayments/models/webhook_retrieve_params.rbi +32 -0
  263. data/rbi/dodopayments/models/webhook_retrieve_response.rbi +112 -0
  264. data/rbi/dodopayments/models/webhook_update_params.rbi +94 -0
  265. data/rbi/dodopayments/models/webhook_update_response.rbi +112 -0
  266. data/rbi/dodopayments/models/webhooks/header_retrieve_params.rbi +34 -0
  267. data/rbi/dodopayments/models/webhooks/header_retrieve_response.rbi +50 -0
  268. data/rbi/dodopayments/models/webhooks/header_update_params.rbi +48 -0
  269. data/rbi/dodopayments/models/your_webhook_url_create_params.rbi +56 -0
  270. data/rbi/dodopayments/models.rbi +209 -0
  271. data/rbi/dodopayments/request_options.rbi +18 -7
  272. data/rbi/dodopayments/resources/addons.rbi +44 -27
  273. data/rbi/dodopayments/resources/brands.rbi +89 -0
  274. data/rbi/dodopayments/resources/customers/customer_portal.rbi +8 -6
  275. data/rbi/dodopayments/resources/customers.rbi +31 -17
  276. data/rbi/dodopayments/resources/discounts.rbi +54 -22
  277. data/rbi/dodopayments/resources/disputes.rbi +26 -14
  278. data/rbi/dodopayments/resources/invoices/payments.rbi +10 -3
  279. data/rbi/dodopayments/resources/invoices.rbi +2 -1
  280. data/rbi/dodopayments/resources/license_key_instances.rbi +25 -10
  281. data/rbi/dodopayments/resources/license_keys.rbi +29 -15
  282. data/rbi/dodopayments/resources/licenses.rbi +25 -12
  283. data/rbi/dodopayments/resources/misc.rbi +7 -4
  284. data/rbi/dodopayments/resources/payments.rbi +61 -27
  285. data/rbi/dodopayments/resources/payouts.rbi +12 -6
  286. data/rbi/dodopayments/resources/products/images.rbi +10 -4
  287. data/rbi/dodopayments/resources/products.rbi +118 -41
  288. data/rbi/dodopayments/resources/refunds.rbi +35 -15
  289. data/rbi/dodopayments/resources/subscriptions.rbi +98 -50
  290. data/rbi/dodopayments/resources/webhook_events.rbi +2 -34
  291. data/rbi/dodopayments/resources/webhooks/headers.rbi +40 -0
  292. data/rbi/dodopayments/resources/webhooks.rbi +127 -0
  293. data/rbi/dodopayments/resources/your_webhook_url.rbi +51 -0
  294. data/sig/dodopayments/client.rbs +8 -2
  295. data/sig/dodopayments/errors.rbs +9 -0
  296. data/sig/dodopayments/internal/cursor_page_pagination.rbs +15 -0
  297. data/sig/dodopayments/internal/transport/base_client.rbs +17 -2
  298. data/sig/dodopayments/internal/transport/pooled_net_requester.rbs +4 -0
  299. data/sig/dodopayments/internal/type/array_of.rbs +3 -0
  300. data/sig/dodopayments/internal/type/base_model.rbs +13 -5
  301. data/sig/dodopayments/internal/type/base_page.rbs +1 -1
  302. data/sig/dodopayments/internal/type/boolean.rbs +3 -0
  303. data/sig/dodopayments/internal/type/converter.rbs +26 -1
  304. data/sig/dodopayments/internal/type/enum.rbs +3 -0
  305. data/sig/dodopayments/internal/type/file_input.rbs +2 -0
  306. data/sig/dodopayments/internal/type/hash_of.rbs +3 -0
  307. data/sig/dodopayments/internal/type/request_parameters.rbs +5 -1
  308. data/sig/dodopayments/internal/type/union.rbs +5 -2
  309. data/sig/dodopayments/internal/type/unknown.rbs +3 -0
  310. data/sig/dodopayments/internal/util.rbs +27 -0
  311. data/sig/dodopayments/internal.rbs +4 -0
  312. data/sig/dodopayments/models/addon_cart_response_item.rbs +1 -1
  313. data/sig/dodopayments/models/addon_create_params.rbs +8 -1
  314. data/sig/dodopayments/models/addon_list_params.rbs +14 -6
  315. data/sig/dodopayments/models/addon_response.rbs +12 -1
  316. data/sig/dodopayments/models/addon_retrieve_params.rbs +1 -1
  317. data/sig/dodopayments/models/addon_update_images_params.rbs +1 -1
  318. data/sig/dodopayments/models/addon_update_images_response.rbs +1 -1
  319. data/sig/dodopayments/models/addon_update_params.rbs +9 -1
  320. data/sig/dodopayments/models/attach_addon.rbs +15 -0
  321. data/sig/dodopayments/models/attach_existing_customer.rbs +1 -1
  322. data/sig/dodopayments/models/billing_address.rbs +7 -1
  323. data/sig/dodopayments/models/brand.rbs +88 -0
  324. data/sig/dodopayments/models/brand_create_params.rbs +46 -0
  325. data/sig/dodopayments/models/{webhook_event_retrieve_params.rbs → brand_list_params.rbs} +3 -3
  326. data/sig/dodopayments/models/brand_list_response.rbs +13 -0
  327. data/sig/dodopayments/models/brand_retrieve_params.rbs +15 -0
  328. data/sig/dodopayments/models/brand_update_images_params.rbs +15 -0
  329. data/sig/dodopayments/models/brand_update_images_response.rbs +15 -0
  330. data/sig/dodopayments/models/brand_update_params.rbs +41 -0
  331. data/sig/dodopayments/models/create_new_customer.rbs +6 -1
  332. data/sig/dodopayments/models/customer.rbs +8 -1
  333. data/sig/dodopayments/models/customer_create_params.rbs +6 -1
  334. data/sig/dodopayments/models/customer_limited_details.rbs +1 -1
  335. data/sig/dodopayments/models/customer_list_params.rbs +20 -6
  336. data/sig/dodopayments/models/customer_portal_session.rbs +1 -1
  337. data/sig/dodopayments/models/customer_request.rbs +2 -3
  338. data/sig/dodopayments/models/customer_retrieve_params.rbs +1 -1
  339. data/sig/dodopayments/models/customer_update_params.rbs +5 -1
  340. data/sig/dodopayments/models/customers/customer_portal_create_params.rbs +9 -4
  341. data/sig/dodopayments/models/discount.rbs +18 -1
  342. data/sig/dodopayments/models/discount_create_params.rbs +15 -1
  343. data/sig/dodopayments/models/discount_delete_params.rbs +1 -1
  344. data/sig/dodopayments/models/discount_list_params.rbs +14 -6
  345. data/sig/dodopayments/models/discount_retrieve_params.rbs +1 -1
  346. data/sig/dodopayments/models/discount_update_params.rbs +15 -1
  347. data/sig/dodopayments/models/dispute.rbs +17 -3
  348. data/sig/dodopayments/models/dispute_list_params.rbs +84 -22
  349. data/sig/dodopayments/models/dispute_list_response.rbs +55 -0
  350. data/sig/dodopayments/models/dispute_retrieve_params.rbs +1 -1
  351. data/sig/dodopayments/models/get_dispute.rbs +70 -0
  352. data/sig/dodopayments/models/invoices/payment_retrieve_params.rbs +1 -1
  353. data/sig/dodopayments/models/license_activate_params.rbs +5 -1
  354. data/sig/dodopayments/models/license_deactivate_params.rbs +5 -1
  355. data/sig/dodopayments/models/license_key.rbs +14 -1
  356. data/sig/dodopayments/models/license_key_duration.rbs +4 -1
  357. data/sig/dodopayments/models/license_key_instance.rbs +7 -1
  358. data/sig/dodopayments/models/license_key_instance_list_params.rbs +6 -1
  359. data/sig/dodopayments/models/license_key_instance_retrieve_params.rbs +1 -1
  360. data/sig/dodopayments/models/license_key_instance_update_params.rbs +4 -1
  361. data/sig/dodopayments/models/license_key_list_params.rbs +47 -16
  362. data/sig/dodopayments/models/license_key_retrieve_params.rbs +1 -1
  363. data/sig/dodopayments/models/license_key_update_params.rbs +6 -1
  364. data/sig/dodopayments/models/license_validate_params.rbs +5 -1
  365. data/sig/dodopayments/models/license_validate_response.rbs +1 -1
  366. data/sig/dodopayments/models/misc_list_supported_countries_params.rbs +1 -1
  367. data/sig/dodopayments/models/new_customer.rbs +21 -0
  368. data/sig/dodopayments/models/one_time_product_cart_item.rbs +5 -1
  369. data/sig/dodopayments/models/payment.rbs +76 -17
  370. data/sig/dodopayments/models/payment_create_params.rbs +23 -55
  371. data/sig/dodopayments/models/payment_create_response.rbs +21 -7
  372. data/sig/dodopayments/models/payment_list_params.rbs +85 -22
  373. data/sig/dodopayments/models/payment_list_response.rbs +25 -4
  374. data/sig/dodopayments/models/payment_method_types.rbs +48 -0
  375. data/sig/dodopayments/models/payment_retrieve_line_items_params.rbs +15 -0
  376. data/sig/dodopayments/models/payment_retrieve_line_items_response.rbs +67 -0
  377. data/sig/dodopayments/models/payment_retrieve_params.rbs +1 -1
  378. data/sig/dodopayments/models/payout_list_params.rbs +14 -6
  379. data/sig/dodopayments/models/payout_list_response.rbs +17 -1
  380. data/sig/dodopayments/models/price.rbs +53 -13
  381. data/sig/dodopayments/models/product.rbs +80 -4
  382. data/sig/dodopayments/models/product_create_params.rbs +45 -4
  383. data/sig/dodopayments/models/product_delete_params.rbs +1 -1
  384. data/sig/dodopayments/models/product_list_params.rbs +29 -10
  385. data/sig/dodopayments/models/product_list_response.rbs +20 -1
  386. data/sig/dodopayments/models/product_retrieve_params.rbs +1 -1
  387. data/sig/dodopayments/models/product_unarchive_params.rbs +1 -1
  388. data/sig/dodopayments/models/product_update_files_params.rbs +23 -0
  389. data/sig/dodopayments/models/product_update_files_response.rbs +15 -0
  390. data/sig/dodopayments/models/product_update_params.rbs +58 -4
  391. data/sig/dodopayments/models/products/image_update_params.rbs +9 -4
  392. data/sig/dodopayments/models/products/image_update_response.rbs +1 -1
  393. data/sig/dodopayments/models/refund.rbs +15 -1
  394. data/sig/dodopayments/models/refund_create_params.rbs +38 -2
  395. data/sig/dodopayments/models/refund_list_params.rbs +54 -19
  396. data/sig/dodopayments/models/refund_retrieve_params.rbs +1 -1
  397. data/sig/dodopayments/models/subscription.rbs +43 -10
  398. data/sig/dodopayments/models/subscription_change_plan_params.rbs +16 -3
  399. data/sig/dodopayments/models/subscription_charge_params.rbs +27 -2
  400. data/sig/dodopayments/models/subscription_charge_response.rbs +1 -1
  401. data/sig/dodopayments/models/subscription_create_params.rbs +58 -73
  402. data/sig/dodopayments/models/subscription_create_response.rbs +26 -7
  403. data/sig/dodopayments/models/subscription_list_params.rbs +64 -19
  404. data/sig/dodopayments/models/subscription_list_response.rbs +39 -7
  405. data/sig/dodopayments/models/subscription_retrieve_params.rbs +1 -1
  406. data/sig/dodopayments/models/subscription_status.rbs +1 -2
  407. data/sig/dodopayments/models/subscription_update_params.rbs +20 -8
  408. data/sig/dodopayments/models/webhook_create_params.rbs +65 -0
  409. data/sig/dodopayments/models/webhook_create_response.rbs +60 -0
  410. data/sig/dodopayments/models/webhook_delete_params.rbs +15 -0
  411. data/sig/dodopayments/models/webhook_event_type.rbs +54 -0
  412. data/sig/dodopayments/models/webhook_list_params.rbs +28 -0
  413. data/sig/dodopayments/models/webhook_list_response.rbs +60 -0
  414. data/sig/dodopayments/models/webhook_payload.rbs +203 -0
  415. data/sig/dodopayments/models/webhook_retrieve_params.rbs +15 -0
  416. data/sig/dodopayments/models/webhook_retrieve_response.rbs +60 -0
  417. data/sig/dodopayments/models/webhook_update_params.rbs +51 -0
  418. data/sig/dodopayments/models/webhook_update_response.rbs +60 -0
  419. data/sig/dodopayments/models/webhooks/header_retrieve_params.rbs +17 -0
  420. data/sig/dodopayments/models/webhooks/header_retrieve_response.rbs +24 -0
  421. data/sig/dodopayments/models/webhooks/header_update_params.rbs +26 -0
  422. data/sig/dodopayments/models/your_webhook_url_create_params.rbs +42 -0
  423. data/sig/dodopayments/models.rbs +201 -0
  424. data/sig/dodopayments/request_options.rbs +1 -1
  425. data/sig/dodopayments/resources/addons.rbs +6 -6
  426. data/sig/dodopayments/resources/brands.rbs +39 -0
  427. data/sig/dodopayments/resources/customers/customer_portal.rbs +2 -2
  428. data/sig/dodopayments/resources/customers.rbs +7 -6
  429. data/sig/dodopayments/resources/discounts.rbs +8 -6
  430. data/sig/dodopayments/resources/disputes.rbs +9 -9
  431. data/sig/dodopayments/resources/invoices/payments.rbs +1 -1
  432. data/sig/dodopayments/resources/license_key_instances.rbs +3 -3
  433. data/sig/dodopayments/resources/license_keys.rbs +8 -8
  434. data/sig/dodopayments/resources/licenses.rbs +1 -1
  435. data/sig/dodopayments/resources/payments.rbs +17 -11
  436. data/sig/dodopayments/resources/payouts.rbs +2 -2
  437. data/sig/dodopayments/resources/products/images.rbs +1 -1
  438. data/sig/dodopayments/resources/products.rbs +20 -7
  439. data/sig/dodopayments/resources/refunds.rbs +10 -9
  440. data/sig/dodopayments/resources/subscriptions.rbs +21 -14
  441. data/sig/dodopayments/resources/webhook_events.rbs +0 -15
  442. data/sig/dodopayments/resources/webhooks/headers.rbs +20 -0
  443. data/sig/dodopayments/resources/webhooks.rbs +48 -0
  444. data/sig/dodopayments/resources/your_webhook_url.rbs +18 -0
  445. metadata +116 -11
  446. data/lib/dodopayments/models/webhook_event.rb +0 -58
  447. data/lib/dodopayments/models/webhook_event_list_params.rb +0 -66
  448. data/rbi/dodopayments/models/webhook_event.rbi +0 -71
  449. data/rbi/dodopayments/models/webhook_event_list_params.rbi +0 -77
  450. data/rbi/dodopayments/models/webhook_event_retrieve_params.rbi +0 -19
  451. data/sig/dodopayments/models/webhook_event.rbs +0 -46
  452. data/sig/dodopayments/models/webhook_event_list_params.rbs +0 -43
@@ -6,43 +6,86 @@ 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::SubscriptionListParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # filter by Brand id
18
+ sig { returns(T.nilable(String)) }
19
+ attr_reader :brand_id
20
+
21
+ sig { params(brand_id: String).void }
22
+ attr_writer :brand_id
23
+
9
24
  # Get events after this created time
10
25
  sig { returns(T.nilable(Time)) }
11
- attr_accessor :created_at_gte
26
+ attr_reader :created_at_gte
27
+
28
+ sig { params(created_at_gte: Time).void }
29
+ attr_writer :created_at_gte
12
30
 
13
31
  # Get events created before this time
14
32
  sig { returns(T.nilable(Time)) }
15
- attr_accessor :created_at_lte
33
+ attr_reader :created_at_lte
34
+
35
+ sig { params(created_at_lte: Time).void }
36
+ attr_writer :created_at_lte
16
37
 
17
38
  # Filter by customer id
18
39
  sig { returns(T.nilable(String)) }
19
- attr_accessor :customer_id
40
+ attr_reader :customer_id
41
+
42
+ sig { params(customer_id: String).void }
43
+ attr_writer :customer_id
20
44
 
21
45
  # Page number default is 0
22
46
  sig { returns(T.nilable(Integer)) }
23
- attr_accessor :page_number
47
+ attr_reader :page_number
48
+
49
+ sig { params(page_number: Integer).void }
50
+ attr_writer :page_number
24
51
 
25
52
  # Page size default is 10 max is 100
26
53
  sig { returns(T.nilable(Integer)) }
27
- attr_accessor :page_size
54
+ attr_reader :page_size
55
+
56
+ sig { params(page_size: Integer).void }
57
+ attr_writer :page_size
28
58
 
29
59
  # Filter by status
30
- sig { returns(T.nilable(Dodopayments::Models::SubscriptionStatus::OrSymbol)) }
31
- attr_accessor :status
60
+ sig do
61
+ returns(
62
+ T.nilable(Dodopayments::SubscriptionListParams::Status::OrSymbol)
63
+ )
64
+ end
65
+ attr_reader :status
32
66
 
33
67
  sig do
34
68
  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::SubscriptionStatus::OrSymbol),
41
- request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash)
42
- )
43
- .returns(T.attached_class)
69
+ status: Dodopayments::SubscriptionListParams::Status::OrSymbol
70
+ ).void
71
+ end
72
+ attr_writer :status
73
+
74
+ sig do
75
+ params(
76
+ brand_id: String,
77
+ created_at_gte: Time,
78
+ created_at_lte: Time,
79
+ customer_id: String,
80
+ page_number: Integer,
81
+ page_size: Integer,
82
+ status: Dodopayments::SubscriptionListParams::Status::OrSymbol,
83
+ request_options: Dodopayments::RequestOptions::OrHash
84
+ ).returns(T.attached_class)
44
85
  end
45
86
  def self.new(
87
+ # filter by Brand id
88
+ brand_id: nil,
46
89
  # Get events after this created time
47
90
  created_at_gte: nil,
48
91
  # Get events created before this time
@@ -56,22 +99,75 @@ module Dodopayments
56
99
  # Filter by status
57
100
  status: nil,
58
101
  request_options: {}
59
- ); end
102
+ )
103
+ end
104
+
60
105
  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::SubscriptionStatus::OrSymbol),
70
- request_options: Dodopayments::RequestOptions
71
- }
106
+ override.returns(
107
+ {
108
+ brand_id: String,
109
+ created_at_gte: Time,
110
+ created_at_lte: Time,
111
+ customer_id: String,
112
+ page_number: Integer,
113
+ page_size: Integer,
114
+ status: Dodopayments::SubscriptionListParams::Status::OrSymbol,
115
+ request_options: Dodopayments::RequestOptions
116
+ }
117
+ )
118
+ end
119
+ def to_hash
120
+ end
121
+
122
+ # Filter by status
123
+ module Status
124
+ extend Dodopayments::Internal::Type::Enum
125
+
126
+ TaggedSymbol =
127
+ T.type_alias do
128
+ T.all(Symbol, Dodopayments::SubscriptionListParams::Status)
129
+ end
130
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
131
+
132
+ PENDING =
133
+ T.let(
134
+ :pending,
135
+ Dodopayments::SubscriptionListParams::Status::TaggedSymbol
136
+ )
137
+ ACTIVE =
138
+ T.let(
139
+ :active,
140
+ Dodopayments::SubscriptionListParams::Status::TaggedSymbol
141
+ )
142
+ ON_HOLD =
143
+ T.let(
144
+ :on_hold,
145
+ Dodopayments::SubscriptionListParams::Status::TaggedSymbol
146
+ )
147
+ CANCELLED =
148
+ T.let(
149
+ :cancelled,
150
+ Dodopayments::SubscriptionListParams::Status::TaggedSymbol
151
+ )
152
+ FAILED =
153
+ T.let(
154
+ :failed,
155
+ Dodopayments::SubscriptionListParams::Status::TaggedSymbol
156
+ )
157
+ EXPIRED =
158
+ T.let(
159
+ :expired,
160
+ Dodopayments::SubscriptionListParams::Status::TaggedSymbol
161
+ )
162
+
163
+ sig do
164
+ override.returns(
165
+ T::Array[Dodopayments::SubscriptionListParams::Status::TaggedSymbol]
72
166
  )
167
+ end
168
+ def self.values
169
+ end
73
170
  end
74
- def to_hash; end
75
171
  end
76
172
  end
77
173
  end
@@ -3,27 +3,43 @@
3
3
  module Dodopayments
4
4
  module Models
5
5
  class SubscriptionListResponse < Dodopayments::Internal::Type::BaseModel
6
- sig { returns(Dodopayments::Models::BillingAddress) }
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::Models::SubscriptionListResponse,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Billing address details for payments
15
+ sig { returns(Dodopayments::BillingAddress) }
7
16
  attr_reader :billing
8
17
 
9
- sig { params(billing: T.any(Dodopayments::Models::BillingAddress, Dodopayments::Internal::AnyHash)).void }
18
+ sig { params(billing: Dodopayments::BillingAddress::OrHash).void }
10
19
  attr_writer :billing
11
20
 
21
+ # Indicates if the subscription will cancel at the next billing date
22
+ sig { returns(T::Boolean) }
23
+ attr_accessor :cancel_at_next_billing_date
24
+
12
25
  # Timestamp when the subscription was created
13
26
  sig { returns(Time) }
14
27
  attr_accessor :created_at
15
28
 
16
- sig { returns(Dodopayments::Models::Currency::TaggedSymbol) }
29
+ # Currency used for the subscription payments
30
+ sig { returns(Dodopayments::Currency::TaggedSymbol) }
17
31
  attr_accessor :currency
18
32
 
19
- sig { returns(Dodopayments::Models::CustomerLimitedDetails) }
33
+ # Customer details associated with the subscription
34
+ sig { returns(Dodopayments::CustomerLimitedDetails) }
20
35
  attr_reader :customer
21
36
 
22
37
  sig do
23
- params(customer: T.any(Dodopayments::Models::CustomerLimitedDetails, Dodopayments::Internal::AnyHash)).void
38
+ params(customer: Dodopayments::CustomerLimitedDetails::OrHash).void
24
39
  end
25
40
  attr_writer :customer
26
41
 
42
+ # Additional custom data associated with the subscription
27
43
  sig { returns(T::Hash[Symbol, String]) }
28
44
  attr_accessor :metadata
29
45
 
@@ -40,7 +56,8 @@ module Dodopayments
40
56
  sig { returns(Integer) }
41
57
  attr_accessor :payment_frequency_count
42
58
 
43
- sig { returns(Dodopayments::Models::TimeInterval::TaggedSymbol) }
59
+ # Time interval for payment frequency (e.g. month, year)
60
+ sig { returns(Dodopayments::TimeInterval::TaggedSymbol) }
44
61
  attr_accessor :payment_frequency_interval
45
62
 
46
63
  # Timestamp of the last payment. Indicates the start of current billing period
@@ -60,7 +77,8 @@ module Dodopayments
60
77
  sig { returns(Integer) }
61
78
  attr_accessor :recurring_pre_tax_amount
62
79
 
63
- sig { returns(Dodopayments::Models::SubscriptionStatus::TaggedSymbol) }
80
+ # Current status of the subscription
81
+ sig { returns(Dodopayments::SubscriptionStatus::TaggedSymbol) }
64
82
  attr_accessor :status
65
83
 
66
84
  # Unique identifier for the subscription
@@ -71,7 +89,8 @@ module Dodopayments
71
89
  sig { returns(Integer) }
72
90
  attr_accessor :subscription_period_count
73
91
 
74
- sig { returns(Dodopayments::Models::TimeInterval::TaggedSymbol) }
92
+ # Time interval for the subscription period (e.g. month, year)
93
+ sig { returns(Dodopayments::TimeInterval::TaggedSymbol) }
75
94
  attr_accessor :subscription_period_interval
76
95
 
77
96
  # Indicates if the recurring_pre_tax_amount is tax inclusive
@@ -86,6 +105,10 @@ module Dodopayments
86
105
  sig { returns(T.nilable(Time)) }
87
106
  attr_accessor :cancelled_at
88
107
 
108
+ # Number of remaining discount cycles if discount is applied
109
+ sig { returns(T.nilable(Integer)) }
110
+ attr_accessor :discount_cycles_remaining
111
+
89
112
  # The discount id if discount is applied
90
113
  sig { returns(T.nilable(String)) }
91
114
  attr_accessor :discount_id
@@ -93,36 +116,43 @@ module Dodopayments
93
116
  # Response struct representing subscription details
94
117
  sig do
95
118
  params(
96
- billing: T.any(Dodopayments::Models::BillingAddress, Dodopayments::Internal::AnyHash),
119
+ billing: Dodopayments::BillingAddress::OrHash,
120
+ cancel_at_next_billing_date: T::Boolean,
97
121
  created_at: Time,
98
- currency: Dodopayments::Models::Currency::OrSymbol,
99
- customer: T.any(Dodopayments::Models::CustomerLimitedDetails, Dodopayments::Internal::AnyHash),
122
+ currency: Dodopayments::Currency::OrSymbol,
123
+ customer: Dodopayments::CustomerLimitedDetails::OrHash,
100
124
  metadata: T::Hash[Symbol, String],
101
125
  next_billing_date: Time,
102
126
  on_demand: T::Boolean,
103
127
  payment_frequency_count: Integer,
104
- payment_frequency_interval: Dodopayments::Models::TimeInterval::OrSymbol,
128
+ payment_frequency_interval: Dodopayments::TimeInterval::OrSymbol,
105
129
  previous_billing_date: Time,
106
130
  product_id: String,
107
131
  quantity: Integer,
108
132
  recurring_pre_tax_amount: Integer,
109
- status: Dodopayments::Models::SubscriptionStatus::OrSymbol,
133
+ status: Dodopayments::SubscriptionStatus::OrSymbol,
110
134
  subscription_id: String,
111
135
  subscription_period_count: Integer,
112
- subscription_period_interval: Dodopayments::Models::TimeInterval::OrSymbol,
136
+ subscription_period_interval: Dodopayments::TimeInterval::OrSymbol,
113
137
  tax_inclusive: T::Boolean,
114
138
  trial_period_days: Integer,
115
139
  cancelled_at: T.nilable(Time),
140
+ discount_cycles_remaining: T.nilable(Integer),
116
141
  discount_id: T.nilable(String)
117
- )
118
- .returns(T.attached_class)
142
+ ).returns(T.attached_class)
119
143
  end
120
144
  def self.new(
145
+ # Billing address details for payments
121
146
  billing:,
147
+ # Indicates if the subscription will cancel at the next billing date
148
+ cancel_at_next_billing_date:,
122
149
  # Timestamp when the subscription was created
123
150
  created_at:,
151
+ # Currency used for the subscription payments
124
152
  currency:,
153
+ # Customer details associated with the subscription
125
154
  customer:,
155
+ # Additional custom data associated with the subscription
126
156
  metadata:,
127
157
  # Timestamp of the next scheduled billing. Indicates the end of current billing
128
158
  # period
@@ -131,6 +161,7 @@ module Dodopayments
131
161
  on_demand:,
132
162
  # Number of payment frequency intervals
133
163
  payment_frequency_count:,
164
+ # Time interval for payment frequency (e.g. month, year)
134
165
  payment_frequency_interval:,
135
166
  # Timestamp of the last payment. Indicates the start of current billing period
136
167
  previous_billing_date:,
@@ -141,11 +172,13 @@ module Dodopayments
141
172
  # Amount charged before tax for each recurring payment in smallest currency unit
142
173
  # (e.g. cents)
143
174
  recurring_pre_tax_amount:,
175
+ # Current status of the subscription
144
176
  status:,
145
177
  # Unique identifier for the subscription
146
178
  subscription_id:,
147
179
  # Number of subscription period intervals
148
180
  subscription_period_count:,
181
+ # Time interval for the subscription period (e.g. month, year)
149
182
  subscription_period_interval:,
150
183
  # Indicates if the recurring_pre_tax_amount is tax inclusive
151
184
  tax_inclusive:,
@@ -153,38 +186,46 @@ module Dodopayments
153
186
  trial_period_days:,
154
187
  # Cancelled timestamp if the subscription is cancelled
155
188
  cancelled_at: nil,
189
+ # Number of remaining discount cycles if discount is applied
190
+ discount_cycles_remaining: nil,
156
191
  # The discount id if discount is applied
157
192
  discount_id: nil
158
- ); end
193
+ )
194
+ end
195
+
159
196
  sig do
160
- override
161
- .returns(
162
- {
163
- billing: Dodopayments::Models::BillingAddress,
164
- created_at: Time,
165
- currency: Dodopayments::Models::Currency::TaggedSymbol,
166
- customer: Dodopayments::Models::CustomerLimitedDetails,
167
- metadata: T::Hash[Symbol, String],
168
- next_billing_date: Time,
169
- on_demand: T::Boolean,
170
- payment_frequency_count: Integer,
171
- payment_frequency_interval: Dodopayments::Models::TimeInterval::TaggedSymbol,
172
- previous_billing_date: Time,
173
- product_id: String,
174
- quantity: Integer,
175
- recurring_pre_tax_amount: Integer,
176
- status: Dodopayments::Models::SubscriptionStatus::TaggedSymbol,
177
- subscription_id: String,
178
- subscription_period_count: Integer,
179
- subscription_period_interval: Dodopayments::Models::TimeInterval::TaggedSymbol,
180
- tax_inclusive: T::Boolean,
181
- trial_period_days: Integer,
182
- cancelled_at: T.nilable(Time),
183
- discount_id: T.nilable(String)
184
- }
185
- )
197
+ override.returns(
198
+ {
199
+ billing: Dodopayments::BillingAddress,
200
+ cancel_at_next_billing_date: T::Boolean,
201
+ created_at: Time,
202
+ currency: Dodopayments::Currency::TaggedSymbol,
203
+ customer: Dodopayments::CustomerLimitedDetails,
204
+ metadata: T::Hash[Symbol, String],
205
+ next_billing_date: Time,
206
+ on_demand: T::Boolean,
207
+ payment_frequency_count: Integer,
208
+ payment_frequency_interval:
209
+ Dodopayments::TimeInterval::TaggedSymbol,
210
+ previous_billing_date: Time,
211
+ product_id: String,
212
+ quantity: Integer,
213
+ recurring_pre_tax_amount: Integer,
214
+ status: Dodopayments::SubscriptionStatus::TaggedSymbol,
215
+ subscription_id: String,
216
+ subscription_period_count: Integer,
217
+ subscription_period_interval:
218
+ Dodopayments::TimeInterval::TaggedSymbol,
219
+ tax_inclusive: T::Boolean,
220
+ trial_period_days: Integer,
221
+ cancelled_at: T.nilable(Time),
222
+ discount_cycles_remaining: T.nilable(Integer),
223
+ discount_id: T.nilable(String)
224
+ }
225
+ )
226
+ end
227
+ def to_hash
186
228
  end
187
- def to_hash; end
188
229
  end
189
230
  end
190
231
  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::SubscriptionRetrieveParams,
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,19 +5,25 @@ module Dodopayments
5
5
  module SubscriptionStatus
6
6
  extend Dodopayments::Internal::Type::Enum
7
7
 
8
- TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::SubscriptionStatus) }
8
+ TaggedSymbol =
9
+ T.type_alias { T.all(Symbol, Dodopayments::SubscriptionStatus) }
9
10
  OrSymbol = T.type_alias { T.any(Symbol, String) }
10
11
 
11
- PENDING = T.let(:pending, Dodopayments::Models::SubscriptionStatus::TaggedSymbol)
12
- ACTIVE = T.let(:active, Dodopayments::Models::SubscriptionStatus::TaggedSymbol)
13
- ON_HOLD = T.let(:on_hold, Dodopayments::Models::SubscriptionStatus::TaggedSymbol)
14
- PAUSED = T.let(:paused, Dodopayments::Models::SubscriptionStatus::TaggedSymbol)
15
- CANCELLED = T.let(:cancelled, Dodopayments::Models::SubscriptionStatus::TaggedSymbol)
16
- FAILED = T.let(:failed, Dodopayments::Models::SubscriptionStatus::TaggedSymbol)
17
- EXPIRED = T.let(:expired, Dodopayments::Models::SubscriptionStatus::TaggedSymbol)
12
+ PENDING = T.let(:pending, Dodopayments::SubscriptionStatus::TaggedSymbol)
13
+ ACTIVE = T.let(:active, Dodopayments::SubscriptionStatus::TaggedSymbol)
14
+ ON_HOLD = T.let(:on_hold, Dodopayments::SubscriptionStatus::TaggedSymbol)
15
+ CANCELLED =
16
+ T.let(:cancelled, Dodopayments::SubscriptionStatus::TaggedSymbol)
17
+ FAILED = T.let(:failed, Dodopayments::SubscriptionStatus::TaggedSymbol)
18
+ EXPIRED = T.let(:expired, Dodopayments::SubscriptionStatus::TaggedSymbol)
18
19
 
19
- sig { override.returns(T::Array[Dodopayments::Models::SubscriptionStatus::TaggedSymbol]) }
20
- def self.values; end
20
+ sig do
21
+ override.returns(
22
+ T::Array[Dodopayments::SubscriptionStatus::TaggedSymbol]
23
+ )
24
+ end
25
+ def self.values
26
+ end
21
27
  end
22
28
  end
23
29
  end
@@ -6,32 +6,46 @@ module Dodopayments
6
6
  extend Dodopayments::Internal::Type::RequestParameters::Converter
7
7
  include Dodopayments::Internal::Type::RequestParameters
8
8
 
9
- sig { returns(T.nilable(Dodopayments::Models::BillingAddress)) }
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Dodopayments::SubscriptionUpdateParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(T.nilable(Dodopayments::BillingAddress)) }
10
18
  attr_reader :billing
11
19
 
12
20
  sig do
13
- params(billing: T.nilable(T.any(Dodopayments::Models::BillingAddress, Dodopayments::Internal::AnyHash)))
14
- .void
21
+ params(billing: T.nilable(Dodopayments::BillingAddress::OrHash)).void
15
22
  end
16
23
  attr_writer :billing
17
24
 
18
- sig { returns(T.nilable(Dodopayments::Models::SubscriptionUpdateParams::DisableOnDemand)) }
25
+ sig { returns(T.nilable(T::Boolean)) }
26
+ attr_accessor :cancel_at_next_billing_date
27
+
28
+ sig do
29
+ returns(
30
+ T.nilable(Dodopayments::SubscriptionUpdateParams::DisableOnDemand)
31
+ )
32
+ end
19
33
  attr_reader :disable_on_demand
20
34
 
21
35
  sig do
22
36
  params(
23
- disable_on_demand: T.nilable(
24
- T.any(Dodopayments::Models::SubscriptionUpdateParams::DisableOnDemand, Dodopayments::Internal::AnyHash)
25
- )
26
- )
27
- .void
37
+ disable_on_demand:
38
+ T.nilable(
39
+ Dodopayments::SubscriptionUpdateParams::DisableOnDemand::OrHash
40
+ )
41
+ ).void
28
42
  end
29
43
  attr_writer :disable_on_demand
30
44
 
31
45
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
32
46
  attr_accessor :metadata
33
47
 
34
- sig { returns(T.nilable(Dodopayments::Models::SubscriptionStatus::OrSymbol)) }
48
+ sig { returns(T.nilable(Dodopayments::SubscriptionStatus::OrSymbol)) }
35
49
  attr_accessor :status
36
50
 
37
51
  sig { returns(T.nilable(String)) }
@@ -39,19 +53,21 @@ module Dodopayments
39
53
 
40
54
  sig do
41
55
  params(
42
- billing: T.nilable(T.any(Dodopayments::Models::BillingAddress, Dodopayments::Internal::AnyHash)),
43
- disable_on_demand: T.nilable(
44
- T.any(Dodopayments::Models::SubscriptionUpdateParams::DisableOnDemand, Dodopayments::Internal::AnyHash)
45
- ),
56
+ billing: T.nilable(Dodopayments::BillingAddress::OrHash),
57
+ cancel_at_next_billing_date: T.nilable(T::Boolean),
58
+ disable_on_demand:
59
+ T.nilable(
60
+ Dodopayments::SubscriptionUpdateParams::DisableOnDemand::OrHash
61
+ ),
46
62
  metadata: T.nilable(T::Hash[Symbol, String]),
47
- status: T.nilable(Dodopayments::Models::SubscriptionStatus::OrSymbol),
63
+ status: T.nilable(Dodopayments::SubscriptionStatus::OrSymbol),
48
64
  tax_id: T.nilable(String),
49
- request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash)
50
- )
51
- .returns(T.attached_class)
65
+ request_options: Dodopayments::RequestOptions::OrHash
66
+ ).returns(T.attached_class)
52
67
  end
53
68
  def self.new(
54
69
  billing: nil,
70
+ cancel_at_next_billing_date: nil,
55
71
  disable_on_demand: nil,
56
72
  metadata: nil,
57
73
  status: nil,
@@ -61,29 +77,43 @@ module Dodopayments
61
77
  end
62
78
 
63
79
  sig do
64
- override
65
- .returns(
66
- {
67
- billing: T.nilable(Dodopayments::Models::BillingAddress),
68
- disable_on_demand: T.nilable(Dodopayments::Models::SubscriptionUpdateParams::DisableOnDemand),
69
- metadata: T.nilable(T::Hash[Symbol, String]),
70
- status: T.nilable(Dodopayments::Models::SubscriptionStatus::OrSymbol),
71
- tax_id: T.nilable(String),
72
- request_options: Dodopayments::RequestOptions
73
- }
74
- )
80
+ override.returns(
81
+ {
82
+ billing: T.nilable(Dodopayments::BillingAddress),
83
+ cancel_at_next_billing_date: T.nilable(T::Boolean),
84
+ disable_on_demand:
85
+ T.nilable(
86
+ Dodopayments::SubscriptionUpdateParams::DisableOnDemand
87
+ ),
88
+ metadata: T.nilable(T::Hash[Symbol, String]),
89
+ status: T.nilable(Dodopayments::SubscriptionStatus::OrSymbol),
90
+ tax_id: T.nilable(String),
91
+ request_options: Dodopayments::RequestOptions
92
+ }
93
+ )
94
+ end
95
+ def to_hash
75
96
  end
76
- def to_hash; end
77
97
 
78
98
  class DisableOnDemand < Dodopayments::Internal::Type::BaseModel
99
+ OrHash =
100
+ T.type_alias do
101
+ T.any(
102
+ Dodopayments::SubscriptionUpdateParams::DisableOnDemand,
103
+ Dodopayments::Internal::AnyHash
104
+ )
105
+ end
106
+
79
107
  sig { returns(Time) }
80
108
  attr_accessor :next_billing_date
81
109
 
82
110
  sig { params(next_billing_date: Time).returns(T.attached_class) }
83
- def self.new(next_billing_date:); end
111
+ def self.new(next_billing_date:)
112
+ end
84
113
 
85
- sig { override.returns({next_billing_date: Time}) }
86
- def to_hash; end
114
+ sig { override.returns({ next_billing_date: Time }) }
115
+ def to_hash
116
+ end
87
117
  end
88
118
  end
89
119
  end
@@ -7,16 +7,20 @@ module Dodopayments
7
7
  module TaxCategory
8
8
  extend Dodopayments::Internal::Type::Enum
9
9
 
10
- TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::TaxCategory) }
10
+ TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::TaxCategory) }
11
11
  OrSymbol = T.type_alias { T.any(Symbol, String) }
12
12
 
13
- DIGITAL_PRODUCTS = T.let(:digital_products, Dodopayments::Models::TaxCategory::TaggedSymbol)
14
- SAAS = T.let(:saas, Dodopayments::Models::TaxCategory::TaggedSymbol)
15
- E_BOOK = T.let(:e_book, Dodopayments::Models::TaxCategory::TaggedSymbol)
16
- EDTECH = T.let(:edtech, Dodopayments::Models::TaxCategory::TaggedSymbol)
13
+ DIGITAL_PRODUCTS =
14
+ T.let(:digital_products, Dodopayments::TaxCategory::TaggedSymbol)
15
+ SAAS = T.let(:saas, Dodopayments::TaxCategory::TaggedSymbol)
16
+ E_BOOK = T.let(:e_book, Dodopayments::TaxCategory::TaggedSymbol)
17
+ EDTECH = T.let(:edtech, Dodopayments::TaxCategory::TaggedSymbol)
17
18
 
18
- sig { override.returns(T::Array[Dodopayments::Models::TaxCategory::TaggedSymbol]) }
19
- def self.values; end
19
+ sig do
20
+ override.returns(T::Array[Dodopayments::TaxCategory::TaggedSymbol])
21
+ end
22
+ def self.values
23
+ end
20
24
  end
21
25
  end
22
26
  end