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
@@ -27,11 +27,7 @@ module Dodopayments
27
27
  attr_accessor :timestamp
28
28
 
29
29
  # The event type
30
- sig do
31
- returns(
32
- Dodopayments::SubscriptionRenewedWebhookEvent::Type::TaggedSymbol
33
- )
34
- end
30
+ sig { returns(Symbol) }
35
31
  attr_accessor :type
36
32
 
37
33
  sig do
@@ -39,7 +35,7 @@ module Dodopayments
39
35
  business_id: String,
40
36
  data: Dodopayments::Subscription::OrHash,
41
37
  timestamp: Time,
42
- type: Dodopayments::SubscriptionRenewedWebhookEvent::Type::OrSymbol
38
+ type: Symbol
43
39
  ).returns(T.attached_class)
44
40
  end
45
41
  def self.new(
@@ -50,7 +46,7 @@ module Dodopayments
50
46
  # The timestamp of when the event occurred
51
47
  timestamp:,
52
48
  # The event type
53
- type:
49
+ type: :"subscription.renewed"
54
50
  )
55
51
  end
56
52
 
@@ -60,40 +56,12 @@ module Dodopayments
60
56
  business_id: String,
61
57
  data: Dodopayments::Subscription,
62
58
  timestamp: Time,
63
- type:
64
- Dodopayments::SubscriptionRenewedWebhookEvent::Type::TaggedSymbol
59
+ type: Symbol
65
60
  }
66
61
  )
67
62
  end
68
63
  def to_hash
69
64
  end
70
-
71
- # The event type
72
- module Type
73
- extend Dodopayments::Internal::Type::Enum
74
-
75
- TaggedSymbol =
76
- T.type_alias do
77
- T.all(Symbol, Dodopayments::SubscriptionRenewedWebhookEvent::Type)
78
- end
79
- OrSymbol = T.type_alias { T.any(Symbol, String) }
80
-
81
- SUBSCRIPTION_RENEWED =
82
- T.let(
83
- :"subscription.renewed",
84
- Dodopayments::SubscriptionRenewedWebhookEvent::Type::TaggedSymbol
85
- )
86
-
87
- sig do
88
- override.returns(
89
- T::Array[
90
- Dodopayments::SubscriptionRenewedWebhookEvent::Type::TaggedSymbol
91
- ]
92
- )
93
- end
94
- def self.values
95
- end
96
- end
97
65
  end
98
66
  end
99
67
  end
@@ -60,6 +60,13 @@ module Dodopayments
60
60
  end
61
61
  attr_accessor :credit_entitlement_cart
62
62
 
63
+ # Optional business / legal name associated with the tax id. When provided
64
+ # together with a valid tax id for a B2B subscription, this name is rendered on
65
+ # the invoice instead of the customer's personal name. Send `null` to explicitly
66
+ # clear the business name.
67
+ sig { returns(T.nilable(String)) }
68
+ attr_accessor :customer_business_name
69
+
63
70
  sig { returns(T.nilable(String)) }
64
71
  attr_accessor :customer_name
65
72
 
@@ -110,6 +117,7 @@ module Dodopayments
110
117
  Dodopayments::SubscriptionUpdateParams::CreditEntitlementCart::OrHash
111
118
  ]
112
119
  ),
120
+ customer_business_name: T.nilable(String),
113
121
  customer_name: T.nilable(String),
114
122
  disable_on_demand:
115
123
  T.nilable(
@@ -136,6 +144,11 @@ module Dodopayments
136
144
  cancellation_feedback: nil,
137
145
  # Update credit entitlement cart settings
138
146
  credit_entitlement_cart: nil,
147
+ # Optional business / legal name associated with the tax id. When provided
148
+ # together with a valid tax id for a B2B subscription, this name is rendered on
149
+ # the invoice instead of the customer's personal name. Send `null` to explicitly
150
+ # clear the business name.
151
+ customer_business_name: nil,
139
152
  customer_name: nil,
140
153
  disable_on_demand: nil,
141
154
  metadata: nil,
@@ -165,6 +178,7 @@ module Dodopayments
165
178
  Dodopayments::SubscriptionUpdateParams::CreditEntitlementCart
166
179
  ]
167
180
  ),
181
+ customer_business_name: T.nilable(String),
168
182
  customer_name: T.nilable(String),
169
183
  disable_on_demand:
170
184
  T.nilable(
@@ -20,35 +20,35 @@ module Dodopayments
20
20
  sig do
21
21
  returns(
22
22
  T.any(
23
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New,
24
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing
23
+ Dodopayments::SubscriptionUpdatePaymentMethodParams::PaymentMethod::New,
24
+ Dodopayments::SubscriptionUpdatePaymentMethodParams::PaymentMethod::Existing
25
25
  )
26
26
  )
27
27
  end
28
- attr_accessor :body
28
+ attr_accessor :payment_method
29
29
 
30
30
  sig do
31
31
  params(
32
32
  subscription_id: String,
33
- body:
33
+ payment_method:
34
34
  T.any(
35
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New::OrHash,
36
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing::OrHash
35
+ Dodopayments::SubscriptionUpdatePaymentMethodParams::PaymentMethod::New::OrHash,
36
+ Dodopayments::SubscriptionUpdatePaymentMethodParams::PaymentMethod::Existing::OrHash
37
37
  ),
38
38
  request_options: Dodopayments::RequestOptions::OrHash
39
39
  ).returns(T.attached_class)
40
40
  end
41
- def self.new(subscription_id:, body:, request_options: {})
41
+ def self.new(subscription_id:, payment_method:, request_options: {})
42
42
  end
43
43
 
44
44
  sig do
45
45
  override.returns(
46
46
  {
47
47
  subscription_id: String,
48
- body:
48
+ payment_method:
49
49
  T.any(
50
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New,
51
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing
50
+ Dodopayments::SubscriptionUpdatePaymentMethodParams::PaymentMethod::New,
51
+ Dodopayments::SubscriptionUpdatePaymentMethodParams::PaymentMethod::Existing
52
52
  ),
53
53
  request_options: Dodopayments::RequestOptions
54
54
  }
@@ -57,14 +57,14 @@ module Dodopayments
57
57
  def to_hash
58
58
  end
59
59
 
60
- module Body
60
+ module PaymentMethod
61
61
  extend Dodopayments::Internal::Type::Union
62
62
 
63
63
  Variants =
64
64
  T.type_alias do
65
65
  T.any(
66
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New,
67
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing
66
+ Dodopayments::SubscriptionUpdatePaymentMethodParams::PaymentMethod::New,
67
+ Dodopayments::SubscriptionUpdatePaymentMethodParams::PaymentMethod::Existing
68
68
  )
69
69
  end
70
70
 
@@ -72,78 +72,37 @@ module Dodopayments
72
72
  OrHash =
73
73
  T.type_alias do
74
74
  T.any(
75
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New,
75
+ Dodopayments::SubscriptionUpdatePaymentMethodParams::PaymentMethod::New,
76
76
  Dodopayments::Internal::AnyHash
77
77
  )
78
78
  end
79
79
 
80
- sig do
81
- returns(
82
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New::Type::OrSymbol
83
- )
84
- end
80
+ sig { returns(Symbol) }
85
81
  attr_accessor :type
86
82
 
87
83
  sig { returns(T.nilable(String)) }
88
84
  attr_accessor :return_url
89
85
 
90
86
  sig do
91
- params(
92
- type:
93
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New::Type::OrSymbol,
94
- return_url: T.nilable(String)
95
- ).returns(T.attached_class)
87
+ params(return_url: T.nilable(String), type: Symbol).returns(
88
+ T.attached_class
89
+ )
96
90
  end
97
- def self.new(type:, return_url: nil)
91
+ def self.new(return_url: nil, type: :new)
98
92
  end
99
93
 
100
94
  sig do
101
- override.returns(
102
- {
103
- type:
104
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New::Type::OrSymbol,
105
- return_url: T.nilable(String)
106
- }
107
- )
95
+ override.returns({ type: Symbol, return_url: T.nilable(String) })
108
96
  end
109
97
  def to_hash
110
98
  end
111
-
112
- module Type
113
- extend Dodopayments::Internal::Type::Enum
114
-
115
- TaggedSymbol =
116
- T.type_alias do
117
- T.all(
118
- Symbol,
119
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New::Type
120
- )
121
- end
122
- OrSymbol = T.type_alias { T.any(Symbol, String) }
123
-
124
- NEW =
125
- T.let(
126
- :new,
127
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New::Type::TaggedSymbol
128
- )
129
-
130
- sig do
131
- override.returns(
132
- T::Array[
133
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New::Type::TaggedSymbol
134
- ]
135
- )
136
- end
137
- def self.values
138
- end
139
- end
140
99
  end
141
100
 
142
101
  class Existing < Dodopayments::Internal::Type::BaseModel
143
102
  OrHash =
144
103
  T.type_alias do
145
104
  T.any(
146
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing,
105
+ Dodopayments::SubscriptionUpdatePaymentMethodParams::PaymentMethod::Existing,
147
106
  Dodopayments::Internal::AnyHash
148
107
  )
149
108
  end
@@ -151,69 +110,26 @@ module Dodopayments
151
110
  sig { returns(String) }
152
111
  attr_accessor :payment_method_id
153
112
 
154
- sig do
155
- returns(
156
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing::Type::OrSymbol
157
- )
158
- end
113
+ sig { returns(Symbol) }
159
114
  attr_accessor :type
160
115
 
161
116
  sig do
162
- params(
163
- payment_method_id: String,
164
- type:
165
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing::Type::OrSymbol
166
- ).returns(T.attached_class)
167
- end
168
- def self.new(payment_method_id:, type:)
169
- end
170
-
171
- sig do
172
- override.returns(
173
- {
174
- payment_method_id: String,
175
- type:
176
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing::Type::OrSymbol
177
- }
117
+ params(payment_method_id: String, type: Symbol).returns(
118
+ T.attached_class
178
119
  )
179
120
  end
180
- def to_hash
121
+ def self.new(payment_method_id:, type: :existing)
181
122
  end
182
123
 
183
- module Type
184
- extend Dodopayments::Internal::Type::Enum
185
-
186
- TaggedSymbol =
187
- T.type_alias do
188
- T.all(
189
- Symbol,
190
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing::Type
191
- )
192
- end
193
- OrSymbol = T.type_alias { T.any(Symbol, String) }
194
-
195
- EXISTING =
196
- T.let(
197
- :existing,
198
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing::Type::TaggedSymbol
199
- )
200
-
201
- sig do
202
- override.returns(
203
- T::Array[
204
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing::Type::TaggedSymbol
205
- ]
206
- )
207
- end
208
- def self.values
209
- end
124
+ sig { override.returns({ payment_method_id: String, type: Symbol }) }
125
+ def to_hash
210
126
  end
211
127
  end
212
128
 
213
129
  sig do
214
130
  override.returns(
215
131
  T::Array[
216
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Variants
132
+ Dodopayments::SubscriptionUpdatePaymentMethodParams::PaymentMethod::Variants
217
133
  ]
218
134
  )
219
135
  end
@@ -27,11 +27,7 @@ module Dodopayments
27
27
  attr_accessor :timestamp
28
28
 
29
29
  # The event type
30
- sig do
31
- returns(
32
- Dodopayments::SubscriptionUpdatedWebhookEvent::Type::TaggedSymbol
33
- )
34
- end
30
+ sig { returns(Symbol) }
35
31
  attr_accessor :type
36
32
 
37
33
  sig do
@@ -39,7 +35,7 @@ module Dodopayments
39
35
  business_id: String,
40
36
  data: Dodopayments::Subscription::OrHash,
41
37
  timestamp: Time,
42
- type: Dodopayments::SubscriptionUpdatedWebhookEvent::Type::OrSymbol
38
+ type: Symbol
43
39
  ).returns(T.attached_class)
44
40
  end
45
41
  def self.new(
@@ -50,7 +46,7 @@ module Dodopayments
50
46
  # The timestamp of when the event occurred
51
47
  timestamp:,
52
48
  # The event type
53
- type:
49
+ type: :"subscription.updated"
54
50
  )
55
51
  end
56
52
 
@@ -60,40 +56,12 @@ module Dodopayments
60
56
  business_id: String,
61
57
  data: Dodopayments::Subscription,
62
58
  timestamp: Time,
63
- type:
64
- Dodopayments::SubscriptionUpdatedWebhookEvent::Type::TaggedSymbol
59
+ type: Symbol
65
60
  }
66
61
  )
67
62
  end
68
63
  def to_hash
69
64
  end
70
-
71
- # The event type
72
- module Type
73
- extend Dodopayments::Internal::Type::Enum
74
-
75
- TaggedSymbol =
76
- T.type_alias do
77
- T.all(Symbol, Dodopayments::SubscriptionUpdatedWebhookEvent::Type)
78
- end
79
- OrSymbol = T.type_alias { T.any(Symbol, String) }
80
-
81
- SUBSCRIPTION_UPDATED =
82
- T.let(
83
- :"subscription.updated",
84
- Dodopayments::SubscriptionUpdatedWebhookEvent::Type::TaggedSymbol
85
- )
86
-
87
- sig do
88
- override.returns(
89
- T::Array[
90
- Dodopayments::SubscriptionUpdatedWebhookEvent::Type::TaggedSymbol
91
- ]
92
- )
93
- end
94
- def self.values
95
- end
96
- end
97
65
  end
98
66
  end
99
67
  end
@@ -37,13 +37,18 @@ module Dodopayments
37
37
  sig { returns(T.nilable(T::Array[Dodopayments::AttachAddon])) }
38
38
  attr_accessor :addons
39
39
 
40
- # Optional discount code to apply to the new plan. If provided, validates and
41
- # applies the discount to the plan change. If not provided and the subscription
42
- # has an existing discount with `preserve_on_plan_change=true`, the existing
43
- # discount will be preserved (if applicable to the new product).
40
+ # DEPRECATED: Use discount_codes instead. Cannot be used together with
41
+ # discount_codes.
44
42
  sig { returns(T.nilable(String)) }
45
43
  attr_accessor :discount_code
46
44
 
45
+ # Stacked discount codes to apply to the new plan. Max 20. Cannot be used together
46
+ # with discount_code. If provided, replaces any existing discount codes. Empty
47
+ # array removes all discounts. If not provided (None), existing discounts with
48
+ # preserve_on_plan_change=true are preserved.
49
+ sig { returns(T.nilable(T::Array[String])) }
50
+ attr_accessor :discount_codes
51
+
47
52
  # When to apply the plan change.
48
53
  #
49
54
  # - `immediately` (default): Apply the plan change right away
@@ -95,6 +100,7 @@ module Dodopayments
95
100
  adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
96
101
  addons: T.nilable(T::Array[Dodopayments::AttachAddon::OrHash]),
97
102
  discount_code: T.nilable(String),
103
+ discount_codes: T.nilable(T::Array[String]),
98
104
  effective_at:
99
105
  Dodopayments::UpdateSubscriptionPlanReq::EffectiveAt::OrSymbol,
100
106
  metadata: T.nilable(T::Hash[Symbol, String]),
@@ -117,11 +123,14 @@ module Dodopayments
117
123
  # Addons for the new plan. Note : Leaving this empty would remove any existing
118
124
  # addons
119
125
  addons: nil,
120
- # Optional discount code to apply to the new plan. If provided, validates and
121
- # applies the discount to the plan change. If not provided and the subscription
122
- # has an existing discount with `preserve_on_plan_change=true`, the existing
123
- # discount will be preserved (if applicable to the new product).
126
+ # DEPRECATED: Use discount_codes instead. Cannot be used together with
127
+ # discount_codes.
124
128
  discount_code: nil,
129
+ # Stacked discount codes to apply to the new plan. Max 20. Cannot be used together
130
+ # with discount_code. If provided, replaces any existing discount codes. Empty
131
+ # array removes all discounts. If not provided (None), existing discounts with
132
+ # preserve_on_plan_change=true are preserved.
133
+ discount_codes: nil,
125
134
  # When to apply the plan change.
126
135
  #
127
136
  # - `immediately` (default): Apply the plan change right away
@@ -151,6 +160,7 @@ module Dodopayments
151
160
  adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
152
161
  addons: T.nilable(T::Array[Dodopayments::AttachAddon]),
153
162
  discount_code: T.nilable(String),
163
+ discount_codes: T.nilable(T::Array[String]),
154
164
  effective_at:
155
165
  Dodopayments::UpdateSubscriptionPlanReq::EffectiveAt::OrSymbol,
156
166
  metadata: T.nilable(T::Hash[Symbol, String]),
@@ -66,6 +66,11 @@ module Dodopayments
66
66
  :"subscription.on_hold",
67
67
  Dodopayments::WebhookEventType::TaggedSymbol
68
68
  )
69
+ SUBSCRIPTION_PAUSED =
70
+ T.let(
71
+ :"subscription.paused",
72
+ Dodopayments::WebhookEventType::TaggedSymbol
73
+ )
69
74
  SUBSCRIPTION_CANCELLED =
70
75
  T.let(
71
76
  :"subscription.cancelled",
@@ -165,10 +170,6 @@ module Dodopayments
165
170
  :"dunning.recovered",
166
171
  Dodopayments::WebhookEventType::TaggedSymbol
167
172
  )
168
- ACR_EMAIL =
169
- T.let(:"acr.email", Dodopayments::WebhookEventType::TaggedSymbol)
170
- DUNNING_EMAIL =
171
- T.let(:"dunning.email", Dodopayments::WebhookEventType::TaggedSymbol)
172
173
  ENTITLEMENT_GRANT_CREATED =
173
174
  T.let(
174
175
  :"entitlement_grant.created",