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
@@ -8,19 +8,26 @@ module Dodopayments
8
8
  # Addons associated with this subscription
9
9
  #
10
10
  # @return [Array<Dodopayments::Models::AddonCartResponseItem>]
11
- required :addons,
12
- -> { Dodopayments::Internal::Type::ArrayOf[Dodopayments::Models::AddonCartResponseItem] }
11
+ required :addons, -> { Dodopayments::Internal::Type::ArrayOf[Dodopayments::AddonCartResponseItem] }
13
12
 
14
13
  # @!attribute customer
14
+ # Customer details associated with this subscription
15
15
  #
16
16
  # @return [Dodopayments::Models::CustomerLimitedDetails]
17
- required :customer, -> { Dodopayments::Models::CustomerLimitedDetails }
17
+ required :customer, -> { Dodopayments::CustomerLimitedDetails }
18
18
 
19
19
  # @!attribute metadata
20
+ # Additional metadata associated with the subscription
20
21
  #
21
22
  # @return [Hash{Symbol=>String}]
22
23
  required :metadata, Dodopayments::Internal::Type::HashOf[String]
23
24
 
25
+ # @!attribute payment_id
26
+ # First payment id for the subscription
27
+ #
28
+ # @return [String]
29
+ required :payment_id, String
30
+
24
31
  # @!attribute recurring_pre_tax_amount
25
32
  # Tax will be added to the amount and charged to the customer on each billing
26
33
  # cycle
@@ -47,31 +54,40 @@ module Dodopayments
47
54
  # @return [String, nil]
48
55
  optional :discount_id, String, nil?: true
49
56
 
57
+ # @!attribute expires_on
58
+ # Expiry timestamp of the payment link
59
+ #
60
+ # @return [Time, nil]
61
+ optional :expires_on, Time, nil?: true
62
+
50
63
  # @!attribute payment_link
51
64
  # URL to checkout page
52
65
  #
53
66
  # @return [String, nil]
54
67
  optional :payment_link, String, nil?: true
55
68
 
56
- # @!method initialize(addons:, customer:, metadata:, recurring_pre_tax_amount:, subscription_id:, client_secret: nil, discount_id: nil, payment_link: nil)
69
+ # @!method initialize(addons:, customer:, metadata:, payment_id:, recurring_pre_tax_amount:, subscription_id:, client_secret: nil, discount_id: nil, expires_on: nil, payment_link: nil)
57
70
  # Some parameter documentations has been truncated, see
58
71
  # {Dodopayments::Models::SubscriptionCreateResponse} for more details.
59
72
  #
60
73
  # @param addons [Array<Dodopayments::Models::AddonCartResponseItem>] Addons associated with this subscription
61
74
  #
62
- # @param customer [Dodopayments::Models::CustomerLimitedDetails]
75
+ # @param customer [Dodopayments::Models::CustomerLimitedDetails] Customer details associated with this subscription
76
+ #
77
+ # @param metadata [Hash{Symbol=>String}] Additional metadata associated with the subscription
63
78
  #
64
- # @param metadata [Hash{Symbol=>String}]
79
+ # @param payment_id [String] First payment id for the subscription
65
80
  #
66
81
  # @param recurring_pre_tax_amount [Integer] Tax will be added to the amount and charged to the customer on each billing cycl
67
- # ...
68
82
  #
69
83
  # @param subscription_id [String] Unique identifier for the subscription
70
84
  #
71
- # @param client_secret [String, nil] Client secret used to load Dodo checkout SDK ...
85
+ # @param client_secret [String, nil] Client secret used to load Dodo checkout SDK
72
86
  #
73
87
  # @param discount_id [String, nil] The discount id if discount is applied
74
88
  #
89
+ # @param expires_on [Time, nil] Expiry timestamp of the payment link
90
+ #
75
91
  # @param payment_link [String, nil] URL to checkout page
76
92
  end
77
93
  end
@@ -7,56 +7,79 @@ module Dodopayments
7
7
  extend Dodopayments::Internal::Type::RequestParameters::Converter
8
8
  include Dodopayments::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute brand_id
11
+ # filter by Brand id
12
+ #
13
+ # @return [String, nil]
14
+ optional :brand_id, String
15
+
10
16
  # @!attribute created_at_gte
11
17
  # Get events after this created time
12
18
  #
13
19
  # @return [Time, nil]
14
- optional :created_at_gte, Time, nil?: true
20
+ optional :created_at_gte, Time
15
21
 
16
22
  # @!attribute created_at_lte
17
23
  # Get events created before this time
18
24
  #
19
25
  # @return [Time, nil]
20
- optional :created_at_lte, Time, nil?: true
26
+ optional :created_at_lte, Time
21
27
 
22
28
  # @!attribute customer_id
23
29
  # Filter by customer id
24
30
  #
25
31
  # @return [String, nil]
26
- optional :customer_id, String, nil?: true
32
+ optional :customer_id, String
27
33
 
28
34
  # @!attribute page_number
29
35
  # Page number default is 0
30
36
  #
31
37
  # @return [Integer, nil]
32
- optional :page_number, Integer, nil?: true
38
+ optional :page_number, Integer
33
39
 
34
40
  # @!attribute page_size
35
41
  # Page size default is 10 max is 100
36
42
  #
37
43
  # @return [Integer, nil]
38
- optional :page_size, Integer, nil?: true
44
+ optional :page_size, Integer
39
45
 
40
46
  # @!attribute status
41
47
  # Filter by status
42
48
  #
43
- # @return [Symbol, Dodopayments::Models::SubscriptionStatus, nil]
44
- optional :status, enum: -> { Dodopayments::Models::SubscriptionStatus }, nil?: true
49
+ # @return [Symbol, Dodopayments::Models::SubscriptionListParams::Status, nil]
50
+ optional :status, enum: -> { Dodopayments::SubscriptionListParams::Status }
45
51
 
46
- # @!method initialize(created_at_gte: nil, created_at_lte: nil, customer_id: nil, page_number: nil, page_size: nil, status: nil, request_options: {})
47
- # @param created_at_gte [Time, nil] Get events after this created time
52
+ # @!method initialize(brand_id: nil, created_at_gte: nil, created_at_lte: nil, customer_id: nil, page_number: nil, page_size: nil, status: nil, request_options: {})
53
+ # @param brand_id [String] filter by Brand id
54
+ #
55
+ # @param created_at_gte [Time] Get events after this created time
48
56
  #
49
- # @param created_at_lte [Time, nil] Get events created before this time
57
+ # @param created_at_lte [Time] Get events created before this time
50
58
  #
51
- # @param customer_id [String, nil] Filter by customer id
59
+ # @param customer_id [String] Filter by customer id
52
60
  #
53
- # @param page_number [Integer, nil] Page number default is 0
61
+ # @param page_number [Integer] Page number default is 0
54
62
  #
55
- # @param page_size [Integer, nil] Page size default is 10 max is 100
63
+ # @param page_size [Integer] Page size default is 10 max is 100
56
64
  #
57
- # @param status [Symbol, Dodopayments::Models::SubscriptionStatus, nil] Filter by status
65
+ # @param status [Symbol, Dodopayments::Models::SubscriptionListParams::Status] Filter by status
58
66
  #
59
67
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
68
+
69
+ # Filter by status
70
+ module Status
71
+ extend Dodopayments::Internal::Type::Enum
72
+
73
+ PENDING = :pending
74
+ ACTIVE = :active
75
+ ON_HOLD = :on_hold
76
+ CANCELLED = :cancelled
77
+ FAILED = :failed
78
+ EXPIRED = :expired
79
+
80
+ # @!method self.values
81
+ # @return [Array<Symbol>]
82
+ end
60
83
  end
61
84
  end
62
85
  end
@@ -5,9 +5,16 @@ module Dodopayments
5
5
  # @see Dodopayments::Resources::Subscriptions#list
6
6
  class SubscriptionListResponse < Dodopayments::Internal::Type::BaseModel
7
7
  # @!attribute billing
8
+ # Billing address details for payments
8
9
  #
9
10
  # @return [Dodopayments::Models::BillingAddress]
10
- required :billing, -> { Dodopayments::Models::BillingAddress }
11
+ required :billing, -> { Dodopayments::BillingAddress }
12
+
13
+ # @!attribute cancel_at_next_billing_date
14
+ # Indicates if the subscription will cancel at the next billing date
15
+ #
16
+ # @return [Boolean]
17
+ required :cancel_at_next_billing_date, Dodopayments::Internal::Type::Boolean
11
18
 
12
19
  # @!attribute created_at
13
20
  # Timestamp when the subscription was created
@@ -16,16 +23,19 @@ module Dodopayments
16
23
  required :created_at, Time
17
24
 
18
25
  # @!attribute currency
26
+ # Currency used for the subscription payments
19
27
  #
20
28
  # @return [Symbol, Dodopayments::Models::Currency]
21
- required :currency, enum: -> { Dodopayments::Models::Currency }
29
+ required :currency, enum: -> { Dodopayments::Currency }
22
30
 
23
31
  # @!attribute customer
32
+ # Customer details associated with the subscription
24
33
  #
25
34
  # @return [Dodopayments::Models::CustomerLimitedDetails]
26
- required :customer, -> { Dodopayments::Models::CustomerLimitedDetails }
35
+ required :customer, -> { Dodopayments::CustomerLimitedDetails }
27
36
 
28
37
  # @!attribute metadata
38
+ # Additional custom data associated with the subscription
29
39
  #
30
40
  # @return [Hash{Symbol=>String}]
31
41
  required :metadata, Dodopayments::Internal::Type::HashOf[String]
@@ -50,9 +60,10 @@ module Dodopayments
50
60
  required :payment_frequency_count, Integer
51
61
 
52
62
  # @!attribute payment_frequency_interval
63
+ # Time interval for payment frequency (e.g. month, year)
53
64
  #
54
65
  # @return [Symbol, Dodopayments::Models::TimeInterval]
55
- required :payment_frequency_interval, enum: -> { Dodopayments::Models::TimeInterval }
66
+ required :payment_frequency_interval, enum: -> { Dodopayments::TimeInterval }
56
67
 
57
68
  # @!attribute previous_billing_date
58
69
  # Timestamp of the last payment. Indicates the start of current billing period
@@ -80,9 +91,10 @@ module Dodopayments
80
91
  required :recurring_pre_tax_amount, Integer
81
92
 
82
93
  # @!attribute status
94
+ # Current status of the subscription
83
95
  #
84
96
  # @return [Symbol, Dodopayments::Models::SubscriptionStatus]
85
- required :status, enum: -> { Dodopayments::Models::SubscriptionStatus }
97
+ required :status, enum: -> { Dodopayments::SubscriptionStatus }
86
98
 
87
99
  # @!attribute subscription_id
88
100
  # Unique identifier for the subscription
@@ -97,9 +109,10 @@ module Dodopayments
97
109
  required :subscription_period_count, Integer
98
110
 
99
111
  # @!attribute subscription_period_interval
112
+ # Time interval for the subscription period (e.g. month, year)
100
113
  #
101
114
  # @return [Symbol, Dodopayments::Models::TimeInterval]
102
- required :subscription_period_interval, enum: -> { Dodopayments::Models::TimeInterval }
115
+ required :subscription_period_interval, enum: -> { Dodopayments::TimeInterval }
103
116
 
104
117
  # @!attribute tax_inclusive
105
118
  # Indicates if the recurring_pre_tax_amount is tax inclusive
@@ -119,36 +132,43 @@ module Dodopayments
119
132
  # @return [Time, nil]
120
133
  optional :cancelled_at, Time, nil?: true
121
134
 
135
+ # @!attribute discount_cycles_remaining
136
+ # Number of remaining discount cycles if discount is applied
137
+ #
138
+ # @return [Integer, nil]
139
+ optional :discount_cycles_remaining, Integer, nil?: true
140
+
122
141
  # @!attribute discount_id
123
142
  # The discount id if discount is applied
124
143
  #
125
144
  # @return [String, nil]
126
145
  optional :discount_id, String, nil?: true
127
146
 
128
- # @!method initialize(billing:, created_at:, currency:, customer:, metadata:, next_billing_date:, on_demand:, payment_frequency_count:, payment_frequency_interval:, previous_billing_date:, product_id:, quantity:, recurring_pre_tax_amount:, status:, subscription_id:, subscription_period_count:, subscription_period_interval:, tax_inclusive:, trial_period_days:, cancelled_at: nil, discount_id: nil)
147
+ # @!method initialize(billing:, cancel_at_next_billing_date:, created_at:, currency:, customer:, metadata:, next_billing_date:, on_demand:, payment_frequency_count:, payment_frequency_interval:, previous_billing_date:, product_id:, quantity:, recurring_pre_tax_amount:, status:, subscription_id:, subscription_period_count:, subscription_period_interval:, tax_inclusive:, trial_period_days:, cancelled_at: nil, discount_cycles_remaining: nil, discount_id: nil)
129
148
  # Some parameter documentations has been truncated, see
130
149
  # {Dodopayments::Models::SubscriptionListResponse} for more details.
131
150
  #
132
151
  # Response struct representing subscription details
133
152
  #
134
- # @param billing [Dodopayments::Models::BillingAddress]
153
+ # @param billing [Dodopayments::Models::BillingAddress] Billing address details for payments
154
+ #
155
+ # @param cancel_at_next_billing_date [Boolean] Indicates if the subscription will cancel at the next billing date
135
156
  #
136
157
  # @param created_at [Time] Timestamp when the subscription was created
137
158
  #
138
- # @param currency [Symbol, Dodopayments::Models::Currency]
159
+ # @param currency [Symbol, Dodopayments::Models::Currency] Currency used for the subscription payments
139
160
  #
140
- # @param customer [Dodopayments::Models::CustomerLimitedDetails]
161
+ # @param customer [Dodopayments::Models::CustomerLimitedDetails] Customer details associated with the subscription
141
162
  #
142
- # @param metadata [Hash{Symbol=>String}]
163
+ # @param metadata [Hash{Symbol=>String}] Additional custom data associated with the subscription
143
164
  #
144
165
  # @param next_billing_date [Time] Timestamp of the next scheduled billing. Indicates the end of current billing pe
145
- # ...
146
166
  #
147
167
  # @param on_demand [Boolean] Wether the subscription is on-demand or not
148
168
  #
149
169
  # @param payment_frequency_count [Integer] Number of payment frequency intervals
150
170
  #
151
- # @param payment_frequency_interval [Symbol, Dodopayments::Models::TimeInterval]
171
+ # @param payment_frequency_interval [Symbol, Dodopayments::Models::TimeInterval] Time interval for payment frequency (e.g. month, year)
152
172
  #
153
173
  # @param previous_billing_date [Time] Timestamp of the last payment. Indicates the start of current billing period
154
174
  #
@@ -157,15 +177,14 @@ module Dodopayments
157
177
  # @param quantity [Integer] Number of units/items included in the subscription
158
178
  #
159
179
  # @param recurring_pre_tax_amount [Integer] Amount charged before tax for each recurring payment in smallest currency unit (
160
- # ...
161
180
  #
162
- # @param status [Symbol, Dodopayments::Models::SubscriptionStatus]
181
+ # @param status [Symbol, Dodopayments::Models::SubscriptionStatus] Current status of the subscription
163
182
  #
164
183
  # @param subscription_id [String] Unique identifier for the subscription
165
184
  #
166
185
  # @param subscription_period_count [Integer] Number of subscription period intervals
167
186
  #
168
- # @param subscription_period_interval [Symbol, Dodopayments::Models::TimeInterval]
187
+ # @param subscription_period_interval [Symbol, Dodopayments::Models::TimeInterval] Time interval for the subscription period (e.g. month, year)
169
188
  #
170
189
  # @param tax_inclusive [Boolean] Indicates if the recurring_pre_tax_amount is tax inclusive
171
190
  #
@@ -173,6 +192,8 @@ module Dodopayments
173
192
  #
174
193
  # @param cancelled_at [Time, nil] Cancelled timestamp if the subscription is cancelled
175
194
  #
195
+ # @param discount_cycles_remaining [Integer, nil] Number of remaining discount cycles if discount is applied
196
+ #
176
197
  # @param discount_id [String, nil] The discount id if discount is applied
177
198
  end
178
199
  end
@@ -8,7 +8,6 @@ module Dodopayments
8
8
  PENDING = :pending
9
9
  ACTIVE = :active
10
10
  ON_HOLD = :on_hold
11
- PAUSED = :paused
12
11
  CANCELLED = :cancelled
13
12
  FAILED = :failed
14
13
  EXPIRED = :expired
@@ -10,14 +10,17 @@ module Dodopayments
10
10
  # @!attribute billing
11
11
  #
12
12
  # @return [Dodopayments::Models::BillingAddress, nil]
13
- optional :billing, -> { Dodopayments::Models::BillingAddress }, nil?: true
13
+ optional :billing, -> { Dodopayments::BillingAddress }, nil?: true
14
+
15
+ # @!attribute cancel_at_next_billing_date
16
+ #
17
+ # @return [Boolean, nil]
18
+ optional :cancel_at_next_billing_date, Dodopayments::Internal::Type::Boolean, nil?: true
14
19
 
15
20
  # @!attribute disable_on_demand
16
21
  #
17
22
  # @return [Dodopayments::Models::SubscriptionUpdateParams::DisableOnDemand, nil]
18
- optional :disable_on_demand,
19
- -> { Dodopayments::Models::SubscriptionUpdateParams::DisableOnDemand },
20
- nil?: true
23
+ optional :disable_on_demand, -> { Dodopayments::SubscriptionUpdateParams::DisableOnDemand }, nil?: true
21
24
 
22
25
  # @!attribute metadata
23
26
  #
@@ -27,15 +30,16 @@ module Dodopayments
27
30
  # @!attribute status
28
31
  #
29
32
  # @return [Symbol, Dodopayments::Models::SubscriptionStatus, nil]
30
- optional :status, enum: -> { Dodopayments::Models::SubscriptionStatus }, nil?: true
33
+ optional :status, enum: -> { Dodopayments::SubscriptionStatus }, nil?: true
31
34
 
32
35
  # @!attribute tax_id
33
36
  #
34
37
  # @return [String, nil]
35
38
  optional :tax_id, String, nil?: true
36
39
 
37
- # @!method initialize(billing: nil, disable_on_demand: nil, metadata: nil, status: nil, tax_id: nil, request_options: {})
40
+ # @!method initialize(billing: nil, cancel_at_next_billing_date: nil, disable_on_demand: nil, metadata: nil, status: nil, tax_id: nil, request_options: {})
38
41
  # @param billing [Dodopayments::Models::BillingAddress, nil]
42
+ # @param cancel_at_next_billing_date [Boolean, nil]
39
43
  # @param disable_on_demand [Dodopayments::Models::SubscriptionUpdateParams::DisableOnDemand, nil]
40
44
  # @param metadata [Hash{Symbol=>String}, nil]
41
45
  # @param status [Symbol, Dodopayments::Models::SubscriptionStatus, nil]
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Webhooks#create
6
+ class WebhookCreateParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!attribute url
11
+ # Url of the webhook
12
+ #
13
+ # @return [String]
14
+ required :url, String
15
+
16
+ # @!attribute description
17
+ # Filter events to the webhook.
18
+ #
19
+ # Webhook event will only be sent for events in the list.
20
+ #
21
+ # @return [String, nil]
22
+ optional :description, String, nil?: true
23
+
24
+ # @!attribute disabled
25
+ # Create the webhook in a disabled state.
26
+ #
27
+ # Default is false
28
+ #
29
+ # @return [Boolean, nil]
30
+ optional :disabled, Dodopayments::Internal::Type::Boolean, nil?: true
31
+
32
+ # @!attribute filter_types
33
+ #
34
+ # @return [Array<Symbol, Dodopayments::Models::WebhookEventType>, nil]
35
+ optional :filter_types,
36
+ -> {
37
+ Dodopayments::Internal::Type::ArrayOf[enum: Dodopayments::WebhookEventType]
38
+ }
39
+
40
+ # @!attribute headers
41
+ # Custom headers to be passed
42
+ #
43
+ # @return [Hash{Symbol=>String}, nil]
44
+ optional :headers, Dodopayments::Internal::Type::HashOf[String], nil?: true
45
+
46
+ # @!attribute idempotency_key
47
+ # The request's idempotency key
48
+ #
49
+ # @return [String, nil]
50
+ optional :idempotency_key, String, nil?: true
51
+
52
+ # @!attribute metadata
53
+ # Metadata to be passed to the webhook Defaut is {}
54
+ #
55
+ # @return [Hash{Symbol=>String}, nil]
56
+ optional :metadata, Dodopayments::Internal::Type::HashOf[String], nil?: true
57
+
58
+ # @!attribute rate_limit
59
+ #
60
+ # @return [Integer, nil]
61
+ optional :rate_limit, Integer, nil?: true
62
+
63
+ # @!method initialize(url:, description: nil, disabled: nil, filter_types: nil, headers: nil, idempotency_key: nil, metadata: nil, rate_limit: nil, request_options: {})
64
+ # Some parameter documentations has been truncated, see
65
+ # {Dodopayments::Models::WebhookCreateParams} for more details.
66
+ #
67
+ # @param url [String] Url of the webhook
68
+ #
69
+ # @param description [String, nil] Filter events to the webhook.
70
+ #
71
+ # @param disabled [Boolean, nil] Create the webhook in a disabled state.
72
+ #
73
+ # @param filter_types [Array<Symbol, Dodopayments::Models::WebhookEventType>]
74
+ #
75
+ # @param headers [Hash{Symbol=>String}, nil] Custom headers to be passed
76
+ #
77
+ # @param idempotency_key [String, nil] The request's idempotency key
78
+ #
79
+ # @param metadata [Hash{Symbol=>String}, nil] Metadata to be passed to the webhook
80
+ #
81
+ # @param rate_limit [Integer, nil]
82
+ #
83
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Webhooks#create
6
+ class WebhookCreateResponse < Dodopayments::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The webhook's ID.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created_at
14
+ # Created at timestamp
15
+ #
16
+ # @return [String]
17
+ required :created_at, String
18
+
19
+ # @!attribute description
20
+ # An example webhook name.
21
+ #
22
+ # @return [String]
23
+ required :description, String
24
+
25
+ # @!attribute metadata
26
+ # Metadata of the webhook
27
+ #
28
+ # @return [Hash{Symbol=>String}]
29
+ required :metadata, Dodopayments::Internal::Type::HashOf[String]
30
+
31
+ # @!attribute updated_at
32
+ # Updated at timestamp
33
+ #
34
+ # @return [String]
35
+ required :updated_at, String
36
+
37
+ # @!attribute url
38
+ # Url endpoint of the webhook
39
+ #
40
+ # @return [String]
41
+ required :url, String
42
+
43
+ # @!attribute disabled
44
+ # Status of the webhook.
45
+ #
46
+ # If true, events are not sent
47
+ #
48
+ # @return [Boolean, nil]
49
+ optional :disabled, Dodopayments::Internal::Type::Boolean, nil?: true
50
+
51
+ # @!attribute filter_types
52
+ # Filter events to the webhook.
53
+ #
54
+ # Webhook event will only be sent for events in the list.
55
+ #
56
+ # @return [Array<String>, nil]
57
+ optional :filter_types, Dodopayments::Internal::Type::ArrayOf[String], nil?: true
58
+
59
+ # @!attribute rate_limit
60
+ # Configured rate limit
61
+ #
62
+ # @return [Integer, nil]
63
+ optional :rate_limit, Integer, nil?: true
64
+
65
+ # @!method initialize(id:, created_at:, description:, metadata:, updated_at:, url:, disabled: nil, filter_types: nil, rate_limit: nil)
66
+ # Some parameter documentations has been truncated, see
67
+ # {Dodopayments::Models::WebhookCreateResponse} for more details.
68
+ #
69
+ # @param id [String] The webhook's ID.
70
+ #
71
+ # @param created_at [String] Created at timestamp
72
+ #
73
+ # @param description [String] An example webhook name.
74
+ #
75
+ # @param metadata [Hash{Symbol=>String}] Metadata of the webhook
76
+ #
77
+ # @param updated_at [String] Updated at timestamp
78
+ #
79
+ # @param url [String] Url endpoint of the webhook
80
+ #
81
+ # @param disabled [Boolean, nil] Status of the webhook.
82
+ #
83
+ # @param filter_types [Array<String>, nil] Filter events to the webhook.
84
+ #
85
+ # @param rate_limit [Integer, nil] Configured rate limit
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Webhooks#delete
6
+ class WebhookDeleteParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # Event types for Dodo events
6
+ module WebhookEventType
7
+ extend Dodopayments::Internal::Type::Enum
8
+
9
+ PAYMENT_SUCCEEDED = :"payment.succeeded"
10
+ PAYMENT_FAILED = :"payment.failed"
11
+ PAYMENT_PROCESSING = :"payment.processing"
12
+ PAYMENT_CANCELLED = :"payment.cancelled"
13
+ REFUND_SUCCEEDED = :"refund.succeeded"
14
+ REFUND_FAILED = :"refund.failed"
15
+ DISPUTE_OPENED = :"dispute.opened"
16
+ DISPUTE_EXPIRED = :"dispute.expired"
17
+ DISPUTE_ACCEPTED = :"dispute.accepted"
18
+ DISPUTE_CANCELLED = :"dispute.cancelled"
19
+ DISPUTE_CHALLENGED = :"dispute.challenged"
20
+ DISPUTE_WON = :"dispute.won"
21
+ DISPUTE_LOST = :"dispute.lost"
22
+ SUBSCRIPTION_ACTIVE = :"subscription.active"
23
+ SUBSCRIPTION_RENEWED = :"subscription.renewed"
24
+ SUBSCRIPTION_ON_HOLD = :"subscription.on_hold"
25
+ SUBSCRIPTION_CANCELLED = :"subscription.cancelled"
26
+ SUBSCRIPTION_FAILED = :"subscription.failed"
27
+ SUBSCRIPTION_EXPIRED = :"subscription.expired"
28
+ SUBSCRIPTION_PLAN_CHANGED = :"subscription.plan_changed"
29
+ LICENSE_KEY_CREATED = :"license_key.created"
30
+
31
+ # @!method self.values
32
+ # @return [Array<Symbol>]
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Webhooks#list
6
+ class WebhookListParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!attribute iterator
11
+ # The iterator returned from a prior invocation
12
+ #
13
+ # @return [String, nil]
14
+ optional :iterator, String, nil?: true
15
+
16
+ # @!attribute limit
17
+ # Limit the number of returned items
18
+ #
19
+ # @return [Integer, nil]
20
+ optional :limit, Integer, nil?: true
21
+
22
+ # @!method initialize(iterator: nil, limit: nil, request_options: {})
23
+ # @param iterator [String, nil] The iterator returned from a prior invocation
24
+ #
25
+ # @param limit [Integer, nil] Limit the number of returned items
26
+ #
27
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end