dodopayments 2.9.1 → 2.11.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 (302) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +9 -9
  4. data/lib/dodopayments/client.rb +4 -0
  5. data/lib/dodopayments/internal/transport/base_client.rb +2 -0
  6. data/lib/dodopayments/internal/type/union.rb +21 -7
  7. data/lib/dodopayments/models/abandoned_checkout_detected_webhook_event.rb +4 -16
  8. data/lib/dodopayments/models/abandoned_checkout_recovered_webhook_event.rb +4 -16
  9. data/lib/dodopayments/models/checkout_session_flags.rb +15 -1
  10. data/lib/dodopayments/models/checkout_session_request.rb +25 -2
  11. data/lib/dodopayments/models/checkout_session_response.rb +33 -1
  12. data/lib/dodopayments/models/credit_added_webhook_event.rb +4 -16
  13. data/lib/dodopayments/models/credit_balance_low_webhook_event.rb +4 -16
  14. data/lib/dodopayments/models/credit_deducted_webhook_event.rb +4 -16
  15. data/lib/dodopayments/models/credit_expired_webhook_event.rb +4 -16
  16. data/lib/dodopayments/models/credit_manual_adjustment_webhook_event.rb +4 -16
  17. data/lib/dodopayments/models/credit_overage_charged_webhook_event.rb +4 -16
  18. data/lib/dodopayments/models/credit_overage_reset_webhook_event.rb +4 -16
  19. data/lib/dodopayments/models/credit_rolled_over_webhook_event.rb +4 -16
  20. data/lib/dodopayments/models/credit_rollover_forfeited_webhook_event.rb +4 -16
  21. data/lib/dodopayments/models/discount_detail.rb +143 -0
  22. data/lib/dodopayments/models/dispute_accepted_webhook_event.rb +4 -16
  23. data/lib/dodopayments/models/dispute_cancelled_webhook_event.rb +4 -16
  24. data/lib/dodopayments/models/dispute_challenged_webhook_event.rb +4 -16
  25. data/lib/dodopayments/models/dispute_expired_webhook_event.rb +4 -16
  26. data/lib/dodopayments/models/dispute_lost_webhook_event.rb +4 -16
  27. data/lib/dodopayments/models/dispute_opened_webhook_event.rb +4 -16
  28. data/lib/dodopayments/models/dispute_won_webhook_event.rb +4 -16
  29. data/lib/dodopayments/models/dunning_recovered_webhook_event.rb +4 -16
  30. data/lib/dodopayments/models/dunning_started_webhook_event.rb +4 -16
  31. data/lib/dodopayments/models/entitlement_grant_created_webhook_event.rb +4 -16
  32. data/lib/dodopayments/models/entitlement_grant_delivered_webhook_event.rb +4 -16
  33. data/lib/dodopayments/models/entitlement_grant_failed_webhook_event.rb +4 -16
  34. data/lib/dodopayments/models/entitlement_grant_revoked_webhook_event.rb +4 -16
  35. data/lib/dodopayments/models/filter_type.rb +71 -0
  36. data/lib/dodopayments/models/github_permission.rb +19 -0
  37. data/lib/dodopayments/models/integration_config.rb +3 -19
  38. data/lib/dodopayments/models/integration_config_response.rb +3 -19
  39. data/lib/dodopayments/models/invoices/payment_retrieve_payout_params.rb +22 -0
  40. data/lib/dodopayments/models/license_key_created_webhook_event.rb +4 -16
  41. data/lib/dodopayments/models/meter_filter.rb +3 -331
  42. data/lib/dodopayments/models/payment.rb +15 -3
  43. data/lib/dodopayments/models/payment_cancelled_webhook_event.rb +4 -16
  44. data/lib/dodopayments/models/payment_create_params.rb +25 -3
  45. data/lib/dodopayments/models/payment_create_response.rb +14 -3
  46. data/lib/dodopayments/models/payment_failed_webhook_event.rb +4 -16
  47. data/lib/dodopayments/models/payment_method_types.rb +1 -0
  48. data/lib/dodopayments/models/payment_processing_webhook_event.rb +4 -16
  49. data/lib/dodopayments/models/payment_succeeded_webhook_event.rb +4 -16
  50. data/lib/dodopayments/models/payout_list_response.rb +6 -3
  51. data/lib/dodopayments/models/price.rb +20 -48
  52. data/lib/dodopayments/models/product.rb +3 -3
  53. data/lib/dodopayments/models/product_collection.rb +74 -0
  54. data/lib/dodopayments/models/product_collection_create_params.rb +47 -0
  55. data/lib/dodopayments/models/product_collection_delete_params.rb +20 -0
  56. data/lib/dodopayments/models/product_collection_list_params.rb +46 -0
  57. data/lib/dodopayments/models/product_collection_list_response.rb +65 -0
  58. data/lib/dodopayments/models/product_collection_retrieve_params.rb +20 -0
  59. data/lib/dodopayments/models/product_collection_unarchive_params.rb +20 -0
  60. data/lib/dodopayments/models/product_collection_unarchive_response.rb +33 -0
  61. data/lib/dodopayments/models/product_collection_update_images_params.rb +29 -0
  62. data/lib/dodopayments/models/product_collection_update_images_response.rb +25 -0
  63. data/lib/dodopayments/models/product_collection_update_params.rb +61 -0
  64. data/lib/dodopayments/models/product_collections/group_create_params.rb +22 -0
  65. data/lib/dodopayments/models/product_collections/group_delete_params.rb +28 -0
  66. data/lib/dodopayments/models/product_collections/group_product.rb +26 -0
  67. data/lib/dodopayments/models/product_collections/group_update_params.rb +59 -0
  68. data/lib/dodopayments/models/product_collections/groups/item_create_params.rb +41 -0
  69. data/lib/dodopayments/models/product_collections/groups/item_create_response.rb +15 -0
  70. data/lib/dodopayments/models/product_collections/groups/item_delete_params.rb +36 -0
  71. data/lib/dodopayments/models/product_collections/groups/item_update_params.rb +47 -0
  72. data/lib/dodopayments/models/product_collections/groups/product_collection_product.rb +132 -0
  73. data/lib/dodopayments/models/product_collections/product_collection_group_details.rb +42 -0
  74. data/lib/dodopayments/models/product_collections/product_collection_group_response.rb +39 -0
  75. data/lib/dodopayments/models/product_create_params.rb +3 -3
  76. data/lib/dodopayments/models/product_item_req.rb +42 -1
  77. data/lib/dodopayments/models/product_update_params.rb +3 -3
  78. data/lib/dodopayments/models/refund_failed_webhook_event.rb +4 -16
  79. data/lib/dodopayments/models/refund_succeeded_webhook_event.rb +4 -16
  80. data/lib/dodopayments/models/subscription.rb +24 -5
  81. data/lib/dodopayments/models/subscription_active_webhook_event.rb +4 -16
  82. data/lib/dodopayments/models/subscription_cancelled_webhook_event.rb +4 -16
  83. data/lib/dodopayments/models/subscription_create_params.rb +25 -3
  84. data/lib/dodopayments/models/subscription_create_response.rb +14 -3
  85. data/lib/dodopayments/models/subscription_expired_webhook_event.rb +4 -16
  86. data/lib/dodopayments/models/subscription_failed_webhook_event.rb +4 -16
  87. data/lib/dodopayments/models/subscription_list_response.rb +45 -5
  88. data/lib/dodopayments/models/subscription_on_hold_webhook_event.rb +4 -16
  89. data/lib/dodopayments/models/subscription_plan_changed_webhook_event.rb +4 -16
  90. data/lib/dodopayments/models/subscription_preview_change_plan_response.rb +21 -49
  91. data/lib/dodopayments/models/subscription_renewed_webhook_event.rb +4 -16
  92. data/lib/dodopayments/models/subscription_update_params.rb +12 -1
  93. data/lib/dodopayments/models/subscription_update_payment_method_params.rb +19 -37
  94. data/lib/dodopayments/models/subscription_updated_webhook_event.rb +4 -16
  95. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +41 -39
  96. data/lib/dodopayments/models/unwrap_webhook_event.rb +41 -39
  97. data/lib/dodopayments/models/update_subscription_plan_req.rb +17 -6
  98. data/lib/dodopayments/models/webhook_event_type.rb +1 -2
  99. data/lib/dodopayments/models/webhook_payload.rb +52 -143
  100. data/lib/dodopayments/models.rb +24 -0
  101. data/lib/dodopayments/resources/checkout_sessions.rb +12 -4
  102. data/lib/dodopayments/resources/invoices/payments.rb +18 -0
  103. data/lib/dodopayments/resources/payments.rb +6 -2
  104. data/lib/dodopayments/resources/product_collections/groups/items.rb +111 -0
  105. data/lib/dodopayments/resources/product_collections/groups.rb +109 -0
  106. data/lib/dodopayments/resources/product_collections.rb +179 -0
  107. data/lib/dodopayments/resources/subscriptions.rb +20 -10
  108. data/lib/dodopayments/version.rb +1 -1
  109. data/lib/dodopayments.rb +29 -0
  110. data/rbi/dodopayments/client.rbi +3 -0
  111. data/rbi/dodopayments/models/abandoned_checkout_detected_webhook_event.rbi +4 -40
  112. data/rbi/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbi +4 -40
  113. data/rbi/dodopayments/models/checkout_session_flags.rbi +23 -0
  114. data/rbi/dodopayments/models/checkout_session_request.rbi +26 -0
  115. data/rbi/dodopayments/models/checkout_session_response.rbi +43 -5
  116. data/rbi/dodopayments/models/credit_added_webhook_event.rbi +4 -29
  117. data/rbi/dodopayments/models/credit_balance_low_webhook_event.rbi +4 -33
  118. data/rbi/dodopayments/models/credit_deducted_webhook_event.rbi +4 -33
  119. data/rbi/dodopayments/models/credit_expired_webhook_event.rbi +4 -33
  120. data/rbi/dodopayments/models/credit_manual_adjustment_webhook_event.rbi +4 -39
  121. data/rbi/dodopayments/models/credit_overage_charged_webhook_event.rbi +4 -36
  122. data/rbi/dodopayments/models/credit_overage_reset_webhook_event.rbi +4 -36
  123. data/rbi/dodopayments/models/credit_rolled_over_webhook_event.rbi +4 -33
  124. data/rbi/dodopayments/models/credit_rollover_forfeited_webhook_event.rbi +4 -40
  125. data/rbi/dodopayments/models/discount_detail.rbi +161 -0
  126. data/rbi/dodopayments/models/dispute_accepted_webhook_event.rbi +4 -33
  127. data/rbi/dodopayments/models/dispute_cancelled_webhook_event.rbi +4 -33
  128. data/rbi/dodopayments/models/dispute_challenged_webhook_event.rbi +4 -34
  129. data/rbi/dodopayments/models/dispute_expired_webhook_event.rbi +4 -33
  130. data/rbi/dodopayments/models/dispute_lost_webhook_event.rbi +4 -29
  131. data/rbi/dodopayments/models/dispute_opened_webhook_event.rbi +4 -33
  132. data/rbi/dodopayments/models/dispute_won_webhook_event.rbi +4 -29
  133. data/rbi/dodopayments/models/dunning_recovered_webhook_event.rbi +4 -33
  134. data/rbi/dodopayments/models/dunning_started_webhook_event.rbi +4 -33
  135. data/rbi/dodopayments/models/entitlement_grant_created_webhook_event.rbi +4 -40
  136. data/rbi/dodopayments/models/entitlement_grant_delivered_webhook_event.rbi +4 -40
  137. data/rbi/dodopayments/models/entitlement_grant_failed_webhook_event.rbi +4 -39
  138. data/rbi/dodopayments/models/entitlement_grant_revoked_webhook_event.rbi +4 -40
  139. data/rbi/dodopayments/models/filter_type.rbi +112 -0
  140. data/rbi/dodopayments/models/github_permission.rbi +26 -0
  141. data/rbi/dodopayments/models/integration_config.rbi +3 -59
  142. data/rbi/dodopayments/models/integration_config_response.rbi +3 -59
  143. data/rbi/dodopayments/models/invoices/payment_retrieve_payout_params.rbi +40 -0
  144. data/rbi/dodopayments/models/license_key_created_webhook_event.rbi +4 -34
  145. data/rbi/dodopayments/models/meter_filter.rbi +3 -572
  146. data/rbi/dodopayments/models/payment.rbi +10 -2
  147. data/rbi/dodopayments/models/payment_cancelled_webhook_event.rbi +4 -33
  148. data/rbi/dodopayments/models/payment_create_params.rbi +26 -2
  149. data/rbi/dodopayments/models/payment_create_response.rbi +12 -2
  150. data/rbi/dodopayments/models/payment_failed_webhook_event.rbi +4 -33
  151. data/rbi/dodopayments/models/payment_method_types.rbi +1 -0
  152. data/rbi/dodopayments/models/payment_processing_webhook_event.rbi +4 -34
  153. data/rbi/dodopayments/models/payment_succeeded_webhook_event.rbi +4 -33
  154. data/rbi/dodopayments/models/price.rbi +18 -90
  155. data/rbi/dodopayments/models/product_collection.rbi +108 -0
  156. data/rbi/dodopayments/models/product_collection_create_params.rbi +82 -0
  157. data/rbi/dodopayments/models/product_collection_delete_params.rbi +38 -0
  158. data/rbi/dodopayments/models/product_collection_list_params.rbi +82 -0
  159. data/rbi/dodopayments/models/product_collection_list_response.rbi +88 -0
  160. data/rbi/dodopayments/models/product_collection_retrieve_params.rbi +38 -0
  161. data/rbi/dodopayments/models/product_collection_unarchive_params.rbi +38 -0
  162. data/rbi/dodopayments/models/product_collection_unarchive_response.rbi +56 -0
  163. data/rbi/dodopayments/models/product_collection_update_images_params.rbi +52 -0
  164. data/rbi/dodopayments/models/product_collection_update_images_response.rbi +40 -0
  165. data/rbi/dodopayments/models/product_collection_update_params.rbi +84 -0
  166. data/rbi/dodopayments/models/product_collections/group_create_params.rbi +40 -0
  167. data/rbi/dodopayments/models/product_collections/group_delete_params.rbi +48 -0
  168. data/rbi/dodopayments/models/product_collections/group_product.rbi +46 -0
  169. data/rbi/dodopayments/models/product_collections/group_update_params.rbi +80 -0
  170. data/rbi/dodopayments/models/product_collections/groups/item_create_params.rbi +68 -0
  171. data/rbi/dodopayments/models/product_collections/groups/item_create_response.rbi +17 -0
  172. data/rbi/dodopayments/models/product_collections/groups/item_delete_params.rbi +55 -0
  173. data/rbi/dodopayments/models/product_collections/groups/item_update_params.rbi +68 -0
  174. data/rbi/dodopayments/models/product_collections/groups/product_collection_product.rbi +148 -0
  175. data/rbi/dodopayments/models/product_collections/product_collection_group_details.rbi +67 -0
  176. data/rbi/dodopayments/models/product_collections/product_collection_group_response.rbi +68 -0
  177. data/rbi/dodopayments/models/product_item_req.rbi +74 -3
  178. data/rbi/dodopayments/models/refund_failed_webhook_event.rbi +4 -31
  179. data/rbi/dodopayments/models/refund_succeeded_webhook_event.rbi +4 -33
  180. data/rbi/dodopayments/models/subscription.rbi +22 -4
  181. data/rbi/dodopayments/models/subscription_active_webhook_event.rbi +4 -36
  182. data/rbi/dodopayments/models/subscription_cancelled_webhook_event.rbi +4 -36
  183. data/rbi/dodopayments/models/subscription_create_params.rbi +26 -2
  184. data/rbi/dodopayments/models/subscription_create_response.rbi +12 -2
  185. data/rbi/dodopayments/models/subscription_expired_webhook_event.rbi +4 -36
  186. data/rbi/dodopayments/models/subscription_failed_webhook_event.rbi +4 -36
  187. data/rbi/dodopayments/models/subscription_list_response.rbi +77 -4
  188. data/rbi/dodopayments/models/subscription_on_hold_webhook_event.rbi +4 -36
  189. data/rbi/dodopayments/models/subscription_plan_changed_webhook_event.rbi +4 -40
  190. data/rbi/dodopayments/models/subscription_preview_change_plan_response.rbi +18 -123
  191. data/rbi/dodopayments/models/subscription_renewed_webhook_event.rbi +4 -36
  192. data/rbi/dodopayments/models/subscription_update_params.rbi +14 -0
  193. data/rbi/dodopayments/models/subscription_update_payment_method_params.rbi +28 -112
  194. data/rbi/dodopayments/models/subscription_updated_webhook_event.rbi +4 -36
  195. data/rbi/dodopayments/models/update_subscription_plan_req.rbi +18 -8
  196. data/rbi/dodopayments/models/webhook_event_type.rbi +5 -4
  197. data/rbi/dodopayments/models/webhook_payload.rbi +46 -466
  198. data/rbi/dodopayments/models.rbi +31 -0
  199. data/rbi/dodopayments/resources/checkout_sessions.rbi +22 -0
  200. data/rbi/dodopayments/resources/invoices/payments.rbi +9 -0
  201. data/rbi/dodopayments/resources/payments.rbi +11 -1
  202. data/rbi/dodopayments/resources/product_collections/groups/items.rbi +83 -0
  203. data/rbi/dodopayments/resources/product_collections/groups.rbi +88 -0
  204. data/rbi/dodopayments/resources/product_collections.rbi +149 -0
  205. data/rbi/dodopayments/resources/subscriptions.rbi +37 -13
  206. data/sig/dodopayments/client.rbs +2 -0
  207. data/sig/dodopayments/models/abandoned_checkout_detected_webhook_event.rbs +4 -14
  208. data/sig/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbs +4 -14
  209. data/sig/dodopayments/models/checkout_session_flags.rbs +7 -0
  210. data/sig/dodopayments/models/checkout_session_request.rbs +10 -0
  211. data/sig/dodopayments/models/checkout_session_response.rbs +27 -3
  212. data/sig/dodopayments/models/credit_added_webhook_event.rbs +4 -14
  213. data/sig/dodopayments/models/credit_balance_low_webhook_event.rbs +4 -14
  214. data/sig/dodopayments/models/credit_deducted_webhook_event.rbs +4 -14
  215. data/sig/dodopayments/models/credit_expired_webhook_event.rbs +4 -14
  216. data/sig/dodopayments/models/credit_manual_adjustment_webhook_event.rbs +4 -14
  217. data/sig/dodopayments/models/credit_overage_charged_webhook_event.rbs +4 -14
  218. data/sig/dodopayments/models/credit_overage_reset_webhook_event.rbs +4 -14
  219. data/sig/dodopayments/models/credit_rolled_over_webhook_event.rbs +4 -14
  220. data/sig/dodopayments/models/credit_rollover_forfeited_webhook_event.rbs +4 -14
  221. data/sig/dodopayments/models/discount_detail.rbs +95 -0
  222. data/sig/dodopayments/models/dispute_accepted_webhook_event.rbs +4 -14
  223. data/sig/dodopayments/models/dispute_cancelled_webhook_event.rbs +4 -14
  224. data/sig/dodopayments/models/dispute_challenged_webhook_event.rbs +4 -14
  225. data/sig/dodopayments/models/dispute_expired_webhook_event.rbs +4 -14
  226. data/sig/dodopayments/models/dispute_lost_webhook_event.rbs +4 -14
  227. data/sig/dodopayments/models/dispute_opened_webhook_event.rbs +4 -14
  228. data/sig/dodopayments/models/dispute_won_webhook_event.rbs +4 -14
  229. data/sig/dodopayments/models/dunning_recovered_webhook_event.rbs +4 -14
  230. data/sig/dodopayments/models/dunning_started_webhook_event.rbs +4 -14
  231. data/sig/dodopayments/models/entitlement_grant_created_webhook_event.rbs +4 -14
  232. data/sig/dodopayments/models/entitlement_grant_delivered_webhook_event.rbs +4 -14
  233. data/sig/dodopayments/models/entitlement_grant_failed_webhook_event.rbs +4 -14
  234. data/sig/dodopayments/models/entitlement_grant_revoked_webhook_event.rbs +4 -14
  235. data/sig/dodopayments/models/filter_type.rbs +52 -0
  236. data/sig/dodopayments/models/github_permission.rbs +17 -0
  237. data/sig/dodopayments/models/integration_config.rbs +4 -18
  238. data/sig/dodopayments/models/integration_config_response.rbs +4 -18
  239. data/sig/dodopayments/models/invoices/payment_retrieve_payout_params.rbs +25 -0
  240. data/sig/dodopayments/models/license_key_created_webhook_event.rbs +4 -14
  241. data/sig/dodopayments/models/meter_filter.rbs +4 -252
  242. data/sig/dodopayments/models/payment.rbs +5 -0
  243. data/sig/dodopayments/models/payment_cancelled_webhook_event.rbs +4 -14
  244. data/sig/dodopayments/models/payment_create_params.rbs +10 -0
  245. data/sig/dodopayments/models/payment_create_response.rbs +5 -0
  246. data/sig/dodopayments/models/payment_failed_webhook_event.rbs +4 -14
  247. data/sig/dodopayments/models/payment_method_types.rbs +2 -0
  248. data/sig/dodopayments/models/payment_processing_webhook_event.rbs +4 -14
  249. data/sig/dodopayments/models/payment_succeeded_webhook_event.rbs +4 -14
  250. data/sig/dodopayments/models/price.rbs +15 -45
  251. data/sig/dodopayments/models/product_collection.rbs +55 -0
  252. data/sig/dodopayments/models/product_collection_create_params.rbs +41 -0
  253. data/sig/dodopayments/models/product_collection_delete_params.rbs +23 -0
  254. data/sig/dodopayments/models/product_collection_list_params.rbs +49 -0
  255. data/sig/dodopayments/models/product_collection_list_response.rbs +50 -0
  256. data/sig/dodopayments/models/product_collection_retrieve_params.rbs +23 -0
  257. data/sig/dodopayments/models/product_collection_unarchive_params.rbs +23 -0
  258. data/sig/dodopayments/models/product_collection_unarchive_response.rbs +30 -0
  259. data/sig/dodopayments/models/product_collection_update_images_params.rbs +28 -0
  260. data/sig/dodopayments/models/product_collection_update_images_response.rbs +16 -0
  261. data/sig/dodopayments/models/product_collection_update_params.rbs +51 -0
  262. data/sig/dodopayments/models/product_collections/group_create_params.rbs +27 -0
  263. data/sig/dodopayments/models/product_collections/group_delete_params.rbs +30 -0
  264. data/sig/dodopayments/models/product_collections/group_product.rbs +17 -0
  265. data/sig/dodopayments/models/product_collections/group_update_params.rbs +48 -0
  266. data/sig/dodopayments/models/product_collections/groups/item_create_params.rbs +40 -0
  267. data/sig/dodopayments/models/product_collections/groups/item_create_response.rbs +12 -0
  268. data/sig/dodopayments/models/product_collections/groups/item_delete_params.rbs +36 -0
  269. data/sig/dodopayments/models/product_collections/groups/item_update_params.rbs +40 -0
  270. data/sig/dodopayments/models/product_collections/groups/product_collection_product.rbs +99 -0
  271. data/sig/dodopayments/models/product_collections/product_collection_group_details.rbs +34 -0
  272. data/sig/dodopayments/models/product_collections/product_collection_group_response.rbs +39 -0
  273. data/sig/dodopayments/models/product_item_req.rbs +27 -3
  274. data/sig/dodopayments/models/refund_failed_webhook_event.rbs +4 -14
  275. data/sig/dodopayments/models/refund_succeeded_webhook_event.rbs +4 -14
  276. data/sig/dodopayments/models/subscription.rbs +10 -0
  277. data/sig/dodopayments/models/subscription_active_webhook_event.rbs +4 -14
  278. data/sig/dodopayments/models/subscription_cancelled_webhook_event.rbs +4 -14
  279. data/sig/dodopayments/models/subscription_create_params.rbs +10 -0
  280. data/sig/dodopayments/models/subscription_create_response.rbs +5 -0
  281. data/sig/dodopayments/models/subscription_expired_webhook_event.rbs +4 -14
  282. data/sig/dodopayments/models/subscription_failed_webhook_event.rbs +4 -14
  283. data/sig/dodopayments/models/subscription_list_response.rbs +29 -0
  284. data/sig/dodopayments/models/subscription_on_hold_webhook_event.rbs +4 -14
  285. data/sig/dodopayments/models/subscription_plan_changed_webhook_event.rbs +4 -14
  286. data/sig/dodopayments/models/subscription_preview_change_plan_response.rbs +15 -45
  287. data/sig/dodopayments/models/subscription_renewed_webhook_event.rbs +4 -14
  288. data/sig/dodopayments/models/subscription_update_params.rbs +5 -0
  289. data/sig/dodopayments/models/subscription_update_payment_method_params.rbs +17 -57
  290. data/sig/dodopayments/models/subscription_updated_webhook_event.rbs +4 -14
  291. data/sig/dodopayments/models/update_subscription_plan_req.rbs +5 -0
  292. data/sig/dodopayments/models/webhook_event_type.rbs +2 -4
  293. data/sig/dodopayments/models/webhook_payload.rbs +50 -213
  294. data/sig/dodopayments/models.rbs +24 -0
  295. data/sig/dodopayments/resources/checkout_sessions.rbs +4 -0
  296. data/sig/dodopayments/resources/invoices/payments.rbs +5 -0
  297. data/sig/dodopayments/resources/payments.rbs +2 -0
  298. data/sig/dodopayments/resources/product_collections/groups/items.rbs +33 -0
  299. data/sig/dodopayments/resources/product_collections/groups.rbs +34 -0
  300. data/sig/dodopayments/resources/product_collections.rbs +56 -0
  301. data/sig/dodopayments/resources/subscriptions.rbs +6 -1
  302. metadata +89 -2
@@ -31,11 +31,7 @@ module Dodopayments
31
31
  attr_accessor :timestamp
32
32
 
33
33
  # The event type
34
- sig do
35
- returns(
36
- Dodopayments::CreditOverageChargedWebhookEvent::Type::TaggedSymbol
37
- )
38
- end
34
+ sig { returns(Symbol) }
39
35
  attr_accessor :type
40
36
 
41
37
  sig do
@@ -43,7 +39,7 @@ module Dodopayments
43
39
  business_id: String,
44
40
  data: Dodopayments::CreditEntitlements::CreditLedgerEntry::OrHash,
45
41
  timestamp: Time,
46
- type: Dodopayments::CreditOverageChargedWebhookEvent::Type::OrSymbol
42
+ type: Symbol
47
43
  ).returns(T.attached_class)
48
44
  end
49
45
  def self.new(
@@ -54,7 +50,7 @@ module Dodopayments
54
50
  # The timestamp of when the event occurred
55
51
  timestamp:,
56
52
  # The event type
57
- type:
53
+ type: :"credit.overage_charged"
58
54
  )
59
55
  end
60
56
 
@@ -64,40 +60,12 @@ module Dodopayments
64
60
  business_id: String,
65
61
  data: Dodopayments::CreditEntitlements::CreditLedgerEntry,
66
62
  timestamp: Time,
67
- type:
68
- Dodopayments::CreditOverageChargedWebhookEvent::Type::TaggedSymbol
63
+ type: Symbol
69
64
  }
70
65
  )
71
66
  end
72
67
  def to_hash
73
68
  end
74
-
75
- # The event type
76
- module Type
77
- extend Dodopayments::Internal::Type::Enum
78
-
79
- TaggedSymbol =
80
- T.type_alias do
81
- T.all(Symbol, Dodopayments::CreditOverageChargedWebhookEvent::Type)
82
- end
83
- OrSymbol = T.type_alias { T.any(Symbol, String) }
84
-
85
- CREDIT_OVERAGE_CHARGED =
86
- T.let(
87
- :"credit.overage_charged",
88
- Dodopayments::CreditOverageChargedWebhookEvent::Type::TaggedSymbol
89
- )
90
-
91
- sig do
92
- override.returns(
93
- T::Array[
94
- Dodopayments::CreditOverageChargedWebhookEvent::Type::TaggedSymbol
95
- ]
96
- )
97
- end
98
- def self.values
99
- end
100
- end
101
69
  end
102
70
  end
103
71
  end
@@ -31,11 +31,7 @@ module Dodopayments
31
31
  attr_accessor :timestamp
32
32
 
33
33
  # The event type
34
- sig do
35
- returns(
36
- Dodopayments::CreditOverageResetWebhookEvent::Type::TaggedSymbol
37
- )
38
- end
34
+ sig { returns(Symbol) }
39
35
  attr_accessor :type
40
36
 
41
37
  sig do
@@ -43,7 +39,7 @@ module Dodopayments
43
39
  business_id: String,
44
40
  data: Dodopayments::CreditEntitlements::CreditLedgerEntry::OrHash,
45
41
  timestamp: Time,
46
- type: Dodopayments::CreditOverageResetWebhookEvent::Type::OrSymbol
42
+ type: Symbol
47
43
  ).returns(T.attached_class)
48
44
  end
49
45
  def self.new(
@@ -54,7 +50,7 @@ module Dodopayments
54
50
  # The timestamp of when the event occurred
55
51
  timestamp:,
56
52
  # The event type
57
- type:
53
+ type: :"credit.overage_reset"
58
54
  )
59
55
  end
60
56
 
@@ -64,40 +60,12 @@ module Dodopayments
64
60
  business_id: String,
65
61
  data: Dodopayments::CreditEntitlements::CreditLedgerEntry,
66
62
  timestamp: Time,
67
- type:
68
- Dodopayments::CreditOverageResetWebhookEvent::Type::TaggedSymbol
63
+ type: Symbol
69
64
  }
70
65
  )
71
66
  end
72
67
  def to_hash
73
68
  end
74
-
75
- # The event type
76
- module Type
77
- extend Dodopayments::Internal::Type::Enum
78
-
79
- TaggedSymbol =
80
- T.type_alias do
81
- T.all(Symbol, Dodopayments::CreditOverageResetWebhookEvent::Type)
82
- end
83
- OrSymbol = T.type_alias { T.any(Symbol, String) }
84
-
85
- CREDIT_OVERAGE_RESET =
86
- T.let(
87
- :"credit.overage_reset",
88
- Dodopayments::CreditOverageResetWebhookEvent::Type::TaggedSymbol
89
- )
90
-
91
- sig do
92
- override.returns(
93
- T::Array[
94
- Dodopayments::CreditOverageResetWebhookEvent::Type::TaggedSymbol
95
- ]
96
- )
97
- end
98
- def self.values
99
- end
100
- end
101
69
  end
102
70
  end
103
71
  end
@@ -31,9 +31,7 @@ module Dodopayments
31
31
  attr_accessor :timestamp
32
32
 
33
33
  # The event type
34
- sig do
35
- returns(Dodopayments::CreditRolledOverWebhookEvent::Type::TaggedSymbol)
36
- end
34
+ sig { returns(Symbol) }
37
35
  attr_accessor :type
38
36
 
39
37
  sig do
@@ -41,7 +39,7 @@ module Dodopayments
41
39
  business_id: String,
42
40
  data: Dodopayments::CreditEntitlements::CreditLedgerEntry::OrHash,
43
41
  timestamp: Time,
44
- type: Dodopayments::CreditRolledOverWebhookEvent::Type::OrSymbol
42
+ type: Symbol
45
43
  ).returns(T.attached_class)
46
44
  end
47
45
  def self.new(
@@ -52,7 +50,7 @@ module Dodopayments
52
50
  # The timestamp of when the event occurred
53
51
  timestamp:,
54
52
  # The event type
55
- type:
53
+ type: :"credit.rolled_over"
56
54
  )
57
55
  end
58
56
 
@@ -62,39 +60,12 @@ module Dodopayments
62
60
  business_id: String,
63
61
  data: Dodopayments::CreditEntitlements::CreditLedgerEntry,
64
62
  timestamp: Time,
65
- type: Dodopayments::CreditRolledOverWebhookEvent::Type::TaggedSymbol
63
+ type: Symbol
66
64
  }
67
65
  )
68
66
  end
69
67
  def to_hash
70
68
  end
71
-
72
- # The event type
73
- module Type
74
- extend Dodopayments::Internal::Type::Enum
75
-
76
- TaggedSymbol =
77
- T.type_alias do
78
- T.all(Symbol, Dodopayments::CreditRolledOverWebhookEvent::Type)
79
- end
80
- OrSymbol = T.type_alias { T.any(Symbol, String) }
81
-
82
- CREDIT_ROLLED_OVER =
83
- T.let(
84
- :"credit.rolled_over",
85
- Dodopayments::CreditRolledOverWebhookEvent::Type::TaggedSymbol
86
- )
87
-
88
- sig do
89
- override.returns(
90
- T::Array[
91
- Dodopayments::CreditRolledOverWebhookEvent::Type::TaggedSymbol
92
- ]
93
- )
94
- end
95
- def self.values
96
- end
97
- end
98
69
  end
99
70
  end
100
71
  end
@@ -31,11 +31,7 @@ module Dodopayments
31
31
  attr_accessor :timestamp
32
32
 
33
33
  # The event type
34
- sig do
35
- returns(
36
- Dodopayments::CreditRolloverForfeitedWebhookEvent::Type::TaggedSymbol
37
- )
38
- end
34
+ sig { returns(Symbol) }
39
35
  attr_accessor :type
40
36
 
41
37
  sig do
@@ -43,8 +39,7 @@ module Dodopayments
43
39
  business_id: String,
44
40
  data: Dodopayments::CreditEntitlements::CreditLedgerEntry::OrHash,
45
41
  timestamp: Time,
46
- type:
47
- Dodopayments::CreditRolloverForfeitedWebhookEvent::Type::OrSymbol
42
+ type: Symbol
48
43
  ).returns(T.attached_class)
49
44
  end
50
45
  def self.new(
@@ -55,7 +50,7 @@ module Dodopayments
55
50
  # The timestamp of when the event occurred
56
51
  timestamp:,
57
52
  # The event type
58
- type:
53
+ type: :"credit.rollover_forfeited"
59
54
  )
60
55
  end
61
56
 
@@ -65,43 +60,12 @@ module Dodopayments
65
60
  business_id: String,
66
61
  data: Dodopayments::CreditEntitlements::CreditLedgerEntry,
67
62
  timestamp: Time,
68
- type:
69
- Dodopayments::CreditRolloverForfeitedWebhookEvent::Type::TaggedSymbol
63
+ type: Symbol
70
64
  }
71
65
  )
72
66
  end
73
67
  def to_hash
74
68
  end
75
-
76
- # The event type
77
- module Type
78
- extend Dodopayments::Internal::Type::Enum
79
-
80
- TaggedSymbol =
81
- T.type_alias do
82
- T.all(
83
- Symbol,
84
- Dodopayments::CreditRolloverForfeitedWebhookEvent::Type
85
- )
86
- end
87
- OrSymbol = T.type_alias { T.any(Symbol, String) }
88
-
89
- CREDIT_ROLLOVER_FORFEITED =
90
- T.let(
91
- :"credit.rollover_forfeited",
92
- Dodopayments::CreditRolloverForfeitedWebhookEvent::Type::TaggedSymbol
93
- )
94
-
95
- sig do
96
- override.returns(
97
- T::Array[
98
- Dodopayments::CreditRolloverForfeitedWebhookEvent::Type::TaggedSymbol
99
- ]
100
- )
101
- end
102
- def self.values
103
- end
104
- end
105
69
  end
106
70
  end
107
71
  end
@@ -0,0 +1,161 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class DiscountDetail < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Dodopayments::DiscountDetail, Dodopayments::Internal::AnyHash)
9
+ end
10
+
11
+ # The discount amount (basis points for percentage, USD cents for flat)
12
+ sig { returns(Integer) }
13
+ attr_accessor :amount
14
+
15
+ # The business this discount belongs to
16
+ sig { returns(String) }
17
+ attr_accessor :business_id
18
+
19
+ # The discount code
20
+ sig { returns(String) }
21
+ attr_accessor :code
22
+
23
+ # Timestamp when the discount was created
24
+ sig { returns(Time) }
25
+ attr_accessor :created_at
26
+
27
+ # The unique discount ID
28
+ sig { returns(String) }
29
+ attr_accessor :discount_id
30
+
31
+ # Additional metadata
32
+ sig { returns(T::Hash[Symbol, String]) }
33
+ attr_accessor :metadata
34
+
35
+ # Position of this discount in the stack (0-based)
36
+ sig { returns(Integer) }
37
+ attr_accessor :position
38
+
39
+ # Whether this discount should be preserved when a subscription changes plans
40
+ sig { returns(T::Boolean) }
41
+ attr_accessor :preserve_on_plan_change
42
+
43
+ # List of product IDs to which this discount is restricted
44
+ sig { returns(T::Array[String]) }
45
+ attr_accessor :restricted_to
46
+
47
+ # How many times this discount has been used
48
+ sig { returns(Integer) }
49
+ attr_accessor :times_used
50
+
51
+ # The type of discount
52
+ sig { returns(Dodopayments::DiscountType::TaggedSymbol) }
53
+ attr_accessor :type
54
+
55
+ # Remaining billing cycles for this discount on this subscription (None for
56
+ # one-time payments)
57
+ sig { returns(T.nilable(Integer)) }
58
+ attr_accessor :cycles_remaining
59
+
60
+ # Optional date/time after which discount is expired
61
+ sig { returns(T.nilable(Time)) }
62
+ attr_accessor :expires_at
63
+
64
+ # Name for the Discount
65
+ sig { returns(T.nilable(String)) }
66
+ attr_accessor :name
67
+
68
+ # Number of subscription billing cycles this discount is valid for
69
+ sig { returns(T.nilable(Integer)) }
70
+ attr_accessor :subscription_cycles
71
+
72
+ # Usage limit for this discount, if any
73
+ sig { returns(T.nilable(Integer)) }
74
+ attr_accessor :usage_limit
75
+
76
+ # Response struct for a discount with its position in a stack and optional
77
+ # cycle-tracking information (for subscriptions).
78
+ sig do
79
+ params(
80
+ amount: Integer,
81
+ business_id: String,
82
+ code: String,
83
+ created_at: Time,
84
+ discount_id: String,
85
+ metadata: T::Hash[Symbol, String],
86
+ position: Integer,
87
+ preserve_on_plan_change: T::Boolean,
88
+ restricted_to: T::Array[String],
89
+ times_used: Integer,
90
+ type: Dodopayments::DiscountType::OrSymbol,
91
+ cycles_remaining: T.nilable(Integer),
92
+ expires_at: T.nilable(Time),
93
+ name: T.nilable(String),
94
+ subscription_cycles: T.nilable(Integer),
95
+ usage_limit: T.nilable(Integer)
96
+ ).returns(T.attached_class)
97
+ end
98
+ def self.new(
99
+ # The discount amount (basis points for percentage, USD cents for flat)
100
+ amount:,
101
+ # The business this discount belongs to
102
+ business_id:,
103
+ # The discount code
104
+ code:,
105
+ # Timestamp when the discount was created
106
+ created_at:,
107
+ # The unique discount ID
108
+ discount_id:,
109
+ # Additional metadata
110
+ metadata:,
111
+ # Position of this discount in the stack (0-based)
112
+ position:,
113
+ # Whether this discount should be preserved when a subscription changes plans
114
+ preserve_on_plan_change:,
115
+ # List of product IDs to which this discount is restricted
116
+ restricted_to:,
117
+ # How many times this discount has been used
118
+ times_used:,
119
+ # The type of discount
120
+ type:,
121
+ # Remaining billing cycles for this discount on this subscription (None for
122
+ # one-time payments)
123
+ cycles_remaining: nil,
124
+ # Optional date/time after which discount is expired
125
+ expires_at: nil,
126
+ # Name for the Discount
127
+ name: nil,
128
+ # Number of subscription billing cycles this discount is valid for
129
+ subscription_cycles: nil,
130
+ # Usage limit for this discount, if any
131
+ usage_limit: nil
132
+ )
133
+ end
134
+
135
+ sig do
136
+ override.returns(
137
+ {
138
+ amount: Integer,
139
+ business_id: String,
140
+ code: String,
141
+ created_at: Time,
142
+ discount_id: String,
143
+ metadata: T::Hash[Symbol, String],
144
+ position: Integer,
145
+ preserve_on_plan_change: T::Boolean,
146
+ restricted_to: T::Array[String],
147
+ times_used: Integer,
148
+ type: Dodopayments::DiscountType::TaggedSymbol,
149
+ cycles_remaining: T.nilable(Integer),
150
+ expires_at: T.nilable(Time),
151
+ name: T.nilable(String),
152
+ subscription_cycles: T.nilable(Integer),
153
+ usage_limit: T.nilable(Integer)
154
+ }
155
+ )
156
+ end
157
+ def to_hash
158
+ end
159
+ end
160
+ end
161
+ end
@@ -26,9 +26,7 @@ module Dodopayments
26
26
  attr_accessor :timestamp
27
27
 
28
28
  # The event type
29
- sig do
30
- returns(Dodopayments::DisputeAcceptedWebhookEvent::Type::TaggedSymbol)
31
- end
29
+ sig { returns(Symbol) }
32
30
  attr_accessor :type
33
31
 
34
32
  sig do
@@ -36,7 +34,7 @@ module Dodopayments
36
34
  business_id: String,
37
35
  data: Dodopayments::Dispute::OrHash,
38
36
  timestamp: Time,
39
- type: Dodopayments::DisputeAcceptedWebhookEvent::Type::OrSymbol
37
+ type: Symbol
40
38
  ).returns(T.attached_class)
41
39
  end
42
40
  def self.new(
@@ -46,7 +44,7 @@ module Dodopayments
46
44
  # The timestamp of when the event occurred
47
45
  timestamp:,
48
46
  # The event type
49
- type:
47
+ type: :"dispute.accepted"
50
48
  )
51
49
  end
52
50
 
@@ -56,39 +54,12 @@ module Dodopayments
56
54
  business_id: String,
57
55
  data: Dodopayments::Dispute,
58
56
  timestamp: Time,
59
- type: Dodopayments::DisputeAcceptedWebhookEvent::Type::TaggedSymbol
57
+ type: Symbol
60
58
  }
61
59
  )
62
60
  end
63
61
  def to_hash
64
62
  end
65
-
66
- # The event type
67
- module Type
68
- extend Dodopayments::Internal::Type::Enum
69
-
70
- TaggedSymbol =
71
- T.type_alias do
72
- T.all(Symbol, Dodopayments::DisputeAcceptedWebhookEvent::Type)
73
- end
74
- OrSymbol = T.type_alias { T.any(Symbol, String) }
75
-
76
- DISPUTE_ACCEPTED =
77
- T.let(
78
- :"dispute.accepted",
79
- Dodopayments::DisputeAcceptedWebhookEvent::Type::TaggedSymbol
80
- )
81
-
82
- sig do
83
- override.returns(
84
- T::Array[
85
- Dodopayments::DisputeAcceptedWebhookEvent::Type::TaggedSymbol
86
- ]
87
- )
88
- end
89
- def self.values
90
- end
91
- end
92
63
  end
93
64
  end
94
65
  end
@@ -26,9 +26,7 @@ module Dodopayments
26
26
  attr_accessor :timestamp
27
27
 
28
28
  # The event type
29
- sig do
30
- returns(Dodopayments::DisputeCancelledWebhookEvent::Type::TaggedSymbol)
31
- end
29
+ sig { returns(Symbol) }
32
30
  attr_accessor :type
33
31
 
34
32
  sig do
@@ -36,7 +34,7 @@ module Dodopayments
36
34
  business_id: String,
37
35
  data: Dodopayments::Dispute::OrHash,
38
36
  timestamp: Time,
39
- type: Dodopayments::DisputeCancelledWebhookEvent::Type::OrSymbol
37
+ type: Symbol
40
38
  ).returns(T.attached_class)
41
39
  end
42
40
  def self.new(
@@ -46,7 +44,7 @@ module Dodopayments
46
44
  # The timestamp of when the event occurred
47
45
  timestamp:,
48
46
  # The event type
49
- type:
47
+ type: :"dispute.cancelled"
50
48
  )
51
49
  end
52
50
 
@@ -56,39 +54,12 @@ module Dodopayments
56
54
  business_id: String,
57
55
  data: Dodopayments::Dispute,
58
56
  timestamp: Time,
59
- type: Dodopayments::DisputeCancelledWebhookEvent::Type::TaggedSymbol
57
+ type: Symbol
60
58
  }
61
59
  )
62
60
  end
63
61
  def to_hash
64
62
  end
65
-
66
- # The event type
67
- module Type
68
- extend Dodopayments::Internal::Type::Enum
69
-
70
- TaggedSymbol =
71
- T.type_alias do
72
- T.all(Symbol, Dodopayments::DisputeCancelledWebhookEvent::Type)
73
- end
74
- OrSymbol = T.type_alias { T.any(Symbol, String) }
75
-
76
- DISPUTE_CANCELLED =
77
- T.let(
78
- :"dispute.cancelled",
79
- Dodopayments::DisputeCancelledWebhookEvent::Type::TaggedSymbol
80
- )
81
-
82
- sig do
83
- override.returns(
84
- T::Array[
85
- Dodopayments::DisputeCancelledWebhookEvent::Type::TaggedSymbol
86
- ]
87
- )
88
- end
89
- def self.values
90
- end
91
- end
92
63
  end
93
64
  end
94
65
  end
@@ -26,9 +26,7 @@ module Dodopayments
26
26
  attr_accessor :timestamp
27
27
 
28
28
  # The event type
29
- sig do
30
- returns(Dodopayments::DisputeChallengedWebhookEvent::Type::TaggedSymbol)
31
- end
29
+ sig { returns(Symbol) }
32
30
  attr_accessor :type
33
31
 
34
32
  sig do
@@ -36,7 +34,7 @@ module Dodopayments
36
34
  business_id: String,
37
35
  data: Dodopayments::Dispute::OrHash,
38
36
  timestamp: Time,
39
- type: Dodopayments::DisputeChallengedWebhookEvent::Type::OrSymbol
37
+ type: Symbol
40
38
  ).returns(T.attached_class)
41
39
  end
42
40
  def self.new(
@@ -46,7 +44,7 @@ module Dodopayments
46
44
  # The timestamp of when the event occurred
47
45
  timestamp:,
48
46
  # The event type
49
- type:
47
+ type: :"dispute.challenged"
50
48
  )
51
49
  end
52
50
 
@@ -56,40 +54,12 @@ module Dodopayments
56
54
  business_id: String,
57
55
  data: Dodopayments::Dispute,
58
56
  timestamp: Time,
59
- type:
60
- Dodopayments::DisputeChallengedWebhookEvent::Type::TaggedSymbol
57
+ type: Symbol
61
58
  }
62
59
  )
63
60
  end
64
61
  def to_hash
65
62
  end
66
-
67
- # The event type
68
- module Type
69
- extend Dodopayments::Internal::Type::Enum
70
-
71
- TaggedSymbol =
72
- T.type_alias do
73
- T.all(Symbol, Dodopayments::DisputeChallengedWebhookEvent::Type)
74
- end
75
- OrSymbol = T.type_alias { T.any(Symbol, String) }
76
-
77
- DISPUTE_CHALLENGED =
78
- T.let(
79
- :"dispute.challenged",
80
- Dodopayments::DisputeChallengedWebhookEvent::Type::TaggedSymbol
81
- )
82
-
83
- sig do
84
- override.returns(
85
- T::Array[
86
- Dodopayments::DisputeChallengedWebhookEvent::Type::TaggedSymbol
87
- ]
88
- )
89
- end
90
- def self.values
91
- end
92
- end
93
63
  end
94
64
  end
95
65
  end