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
@@ -25,10 +25,10 @@ module Dodopayments
25
25
  # @!attribute type
26
26
  # The event type
27
27
  #
28
- # @return [Symbol, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent::Type]
29
- required :type, enum: -> { Dodopayments::EntitlementGrantRevokedWebhookEvent::Type }
28
+ # @return [Symbol, :"entitlement_grant.revoked"]
29
+ required :type, const: :"entitlement_grant.revoked"
30
30
 
31
- # @!method initialize(business_id:, data:, timestamp:, type:)
31
+ # @!method initialize(business_id:, data:, timestamp:, type: :"entitlement_grant.revoked")
32
32
  # Some parameter documentations has been truncated, see
33
33
  # {Dodopayments::Models::EntitlementGrantRevokedWebhookEvent} for more details.
34
34
  #
@@ -38,19 +38,7 @@ module Dodopayments
38
38
  #
39
39
  # @param timestamp [Time] The timestamp of when the event occurred
40
40
  #
41
- # @param type [Symbol, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent::Type] The event type
42
-
43
- # The event type
44
- #
45
- # @see Dodopayments::Models::EntitlementGrantRevokedWebhookEvent#type
46
- module Type
47
- extend Dodopayments::Internal::Type::Enum
48
-
49
- ENTITLEMENT_GRANT_REVOKED = :"entitlement_grant.revoked"
50
-
51
- # @!method self.values
52
- # @return [Array<Symbol>]
53
- end
41
+ # @param type [Symbol, :"entitlement_grant.revoked"] The event type
54
42
  end
55
43
  end
56
44
  end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # Filter clauses — either a flat list of `MeterFilterCondition`s or a list of
6
+ # nested `MeterFilter`s. Up to 3 levels of nesting are accepted; the limit is
7
+ # enforced at runtime.
8
+ module FilterType
9
+ extend Dodopayments::Internal::Type::Union
10
+
11
+ # Array of filter conditions.
12
+ variant -> { Dodopayments::Models::FilterType::MeterFilterConditionListArray }
13
+
14
+ # Array of nested filters.
15
+ variant -> { Dodopayments::Models::FilterType::MeterFilterArray }
16
+
17
+ class MeterFilterConditionList < Dodopayments::Internal::Type::BaseModel
18
+ # @!attribute key
19
+ # Filter key to apply
20
+ #
21
+ # @return [String]
22
+ required :key, String
23
+
24
+ # @!attribute operator
25
+ # Filter operator
26
+ #
27
+ # @return [Symbol, Dodopayments::Models::FilterOperator]
28
+ required :operator, enum: -> { Dodopayments::FilterOperator }
29
+
30
+ # @!attribute value
31
+ # Filter value - can be string, number, or boolean
32
+ #
33
+ # @return [String, Float, Boolean]
34
+ required :value, union: -> { Dodopayments::FilterType::MeterFilterConditionList::Value }
35
+
36
+ # @!method initialize(key:, operator:, value:)
37
+ # @param key [String] Filter key to apply
38
+ #
39
+ # @param operator [Symbol, Dodopayments::Models::FilterOperator] Filter operator
40
+ #
41
+ # @param value [String, Float, Boolean] Filter value - can be string, number, or boolean
42
+
43
+ # Filter value - can be string, number, or boolean
44
+ #
45
+ # @see Dodopayments::Models::FilterType::MeterFilterConditionList#value
46
+ module Value
47
+ extend Dodopayments::Internal::Type::Union
48
+
49
+ variant String
50
+
51
+ variant Float
52
+
53
+ variant Dodopayments::Internal::Type::Boolean
54
+
55
+ # @!method self.variants
56
+ # @return [Array(String, Float, Boolean)]
57
+ end
58
+ end
59
+
60
+ # @!method self.variants
61
+ # @return [Array(Array<Dodopayments::Models::FilterType::MeterFilterConditionList>, Array<Dodopayments::Models::MeterFilter>)]
62
+
63
+ # @type [Dodopayments::Internal::Type::Converter]
64
+ MeterFilterConditionListArray =
65
+ Dodopayments::Internal::Type::ArrayOf[-> { Dodopayments::FilterType::MeterFilterConditionList }]
66
+
67
+ # @type [Dodopayments::Internal::Type::Converter]
68
+ MeterFilterArray = Dodopayments::Internal::Type::ArrayOf[-> { Dodopayments::MeterFilter }]
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # Repository permission to grant on a `github` entitlement.
6
+ module GitHubPermission
7
+ extend Dodopayments::Internal::Type::Enum
8
+
9
+ PULL = :pull
10
+ PUSH = :push
11
+ ADMIN = :admin
12
+ MAINTAIN = :maintain
13
+ TRIAGE = :triage
14
+
15
+ # @!method self.values
16
+ # @return [Array<Symbol>]
17
+ end
18
+ end
19
+ end
@@ -27,8 +27,8 @@ module Dodopayments
27
27
  # @!attribute permission
28
28
  # Permission to grant on the repository.
29
29
  #
30
- # @return [Symbol, Dodopayments::Models::IntegrationConfig::GitHubConfig::Permission]
31
- required :permission, enum: -> { Dodopayments::IntegrationConfig::GitHubConfig::Permission }
30
+ # @return [Symbol, Dodopayments::Models::GitHubPermission]
31
+ required :permission, enum: -> { Dodopayments::GitHubPermission }
32
32
 
33
33
  # @!attribute target_id
34
34
  # Repository or organisation slug to grant access to.
@@ -37,25 +37,9 @@ module Dodopayments
37
37
  required :target_id, String
38
38
 
39
39
  # @!method initialize(permission:, target_id:)
40
- # @param permission [Symbol, Dodopayments::Models::IntegrationConfig::GitHubConfig::Permission] Permission to grant on the repository.
40
+ # @param permission [Symbol, Dodopayments::Models::GitHubPermission] Permission to grant on the repository.
41
41
  #
42
42
  # @param target_id [String] Repository or organisation slug to grant access to.
43
-
44
- # Permission to grant on the repository.
45
- #
46
- # @see Dodopayments::Models::IntegrationConfig::GitHubConfig#permission
47
- module Permission
48
- extend Dodopayments::Internal::Type::Enum
49
-
50
- PULL = :pull
51
- PUSH = :push
52
- ADMIN = :admin
53
- MAINTAIN = :maintain
54
- TRIAGE = :triage
55
-
56
- # @!method self.values
57
- # @return [Array<Symbol>]
58
- end
59
43
  end
60
44
 
61
45
  class DiscordConfig < Dodopayments::Internal::Type::BaseModel
@@ -29,8 +29,8 @@ module Dodopayments
29
29
  # @!attribute permission
30
30
  # Permission to grant on the repository.
31
31
  #
32
- # @return [Symbol, Dodopayments::Models::IntegrationConfigResponse::GitHubConfig::Permission]
33
- required :permission, enum: -> { Dodopayments::IntegrationConfigResponse::GitHubConfig::Permission }
32
+ # @return [Symbol, Dodopayments::Models::GitHubPermission]
33
+ required :permission, enum: -> { Dodopayments::GitHubPermission }
34
34
 
35
35
  # @!attribute target_id
36
36
  # Repository or organisation slug to grant access to.
@@ -39,25 +39,9 @@ module Dodopayments
39
39
  required :target_id, String
40
40
 
41
41
  # @!method initialize(permission:, target_id:)
42
- # @param permission [Symbol, Dodopayments::Models::IntegrationConfigResponse::GitHubConfig::Permission] Permission to grant on the repository.
42
+ # @param permission [Symbol, Dodopayments::Models::GitHubPermission] Permission to grant on the repository.
43
43
  #
44
44
  # @param target_id [String] Repository or organisation slug to grant access to.
45
-
46
- # Permission to grant on the repository.
47
- #
48
- # @see Dodopayments::Models::IntegrationConfigResponse::GitHubConfig#permission
49
- module Permission
50
- extend Dodopayments::Internal::Type::Enum
51
-
52
- PULL = :pull
53
- PUSH = :push
54
- ADMIN = :admin
55
- MAINTAIN = :maintain
56
- TRIAGE = :triage
57
-
58
- # @!method self.values
59
- # @return [Array<Symbol>]
60
- end
61
45
  end
62
46
 
63
47
  class DiscordConfig < Dodopayments::Internal::Type::BaseModel
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ module Invoices
6
+ # @see Dodopayments::Resources::Invoices::Payments#retrieve_payout
7
+ class PaymentRetrievePayoutParams < Dodopayments::Internal::Type::BaseModel
8
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
9
+ include Dodopayments::Internal::Type::RequestParameters
10
+
11
+ # @!attribute payout_id
12
+ #
13
+ # @return [String]
14
+ required :payout_id, String
15
+
16
+ # @!method initialize(payout_id:, request_options: {})
17
+ # @param payout_id [String]
18
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
19
+ end
20
+ end
21
+ end
22
+ end
@@ -23,29 +23,17 @@ module Dodopayments
23
23
  # @!attribute type
24
24
  # The event type
25
25
  #
26
- # @return [Symbol, Dodopayments::Models::LicenseKeyCreatedWebhookEvent::Type]
27
- required :type, enum: -> { Dodopayments::LicenseKeyCreatedWebhookEvent::Type }
26
+ # @return [Symbol, :"license_key.created"]
27
+ required :type, const: :"license_key.created"
28
28
 
29
- # @!method initialize(business_id:, data:, timestamp:, type:)
29
+ # @!method initialize(business_id:, data:, timestamp:, type: :"license_key.created")
30
30
  # @param business_id [String] The business identifier
31
31
  #
32
32
  # @param data [Dodopayments::Models::LicenseKey]
33
33
  #
34
34
  # @param timestamp [Time] The timestamp of when the event occurred
35
35
  #
36
- # @param type [Symbol, Dodopayments::Models::LicenseKeyCreatedWebhookEvent::Type] The event type
37
-
38
- # The event type
39
- #
40
- # @see Dodopayments::Models::LicenseKeyCreatedWebhookEvent#type
41
- module Type
42
- extend Dodopayments::Internal::Type::Enum
43
-
44
- LICENSE_KEY_CREATED = :"license_key.created"
45
-
46
- # @!method self.values
47
- # @return [Array<Symbol>]
48
- end
36
+ # @param type [Symbol, :"license_key.created"] The event type
49
37
  end
50
38
  end
51
39
  end
@@ -7,8 +7,8 @@ module Dodopayments
7
7
  # Filter clauses - can be direct conditions or nested filters (up to 3 levels
8
8
  # deep)
9
9
  #
10
- # @return [Array<Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter>]
11
- required :clauses, union: -> { Dodopayments::MeterFilter::Clauses }
10
+ # @return [Dodopayments::Models::FilterType]
11
+ required :clauses, union: -> { Dodopayments::FilterType }
12
12
 
13
13
  # @!attribute conjunction
14
14
  # Logical conjunction to apply between clauses (and/or)
@@ -27,337 +27,9 @@ module Dodopayments
27
27
  # filter has a conjunction (and/or) and clauses that can be either direct
28
28
  # conditions or nested filters.
29
29
  #
30
- # @param clauses [Array<Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter>] Filter clauses - can be direct conditions or nested filters (up to 3 levels deep
30
+ # @param clauses [Dodopayments::Models::FilterType] Filter clauses - can be direct conditions or nested filters (up to 3 levels deep
31
31
  #
32
32
  # @param conjunction [Symbol, Dodopayments::Models::Conjunction] Logical conjunction to apply between clauses (and/or)
33
-
34
- # Filter clauses - can be direct conditions or nested filters (up to 3 levels
35
- # deep)
36
- #
37
- # @see Dodopayments::Models::MeterFilter#clauses
38
- module Clauses
39
- extend Dodopayments::Internal::Type::Union
40
-
41
- # Direct filter conditions - array of condition objects with key, operator, and value
42
- variant -> { Dodopayments::Models::MeterFilter::Clauses::DirectFilterConditionArray }
43
-
44
- # Nested filters - supports up to 3 levels deep
45
- variant -> { Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilterArray }
46
-
47
- class DirectFilterCondition < Dodopayments::Internal::Type::BaseModel
48
- # @!attribute key
49
- # Filter key to apply
50
- #
51
- # @return [String]
52
- required :key, String
53
-
54
- # @!attribute operator
55
- #
56
- # @return [Symbol, Dodopayments::Models::FilterOperator]
57
- required :operator, enum: -> { Dodopayments::FilterOperator }
58
-
59
- # @!attribute value
60
- # Filter value - can be string, number, or boolean
61
- #
62
- # @return [String, Float, Boolean]
63
- required :value, union: -> { Dodopayments::MeterFilter::Clauses::DirectFilterCondition::Value }
64
-
65
- # @!method initialize(key:, operator:, value:)
66
- # Filter condition with key, operator, and value
67
- #
68
- # @param key [String] Filter key to apply
69
- #
70
- # @param operator [Symbol, Dodopayments::Models::FilterOperator]
71
- #
72
- # @param value [String, Float, Boolean] Filter value - can be string, number, or boolean
73
-
74
- # Filter value - can be string, number, or boolean
75
- #
76
- # @see Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition#value
77
- module Value
78
- extend Dodopayments::Internal::Type::Union
79
-
80
- variant String
81
-
82
- variant Float
83
-
84
- variant Dodopayments::Internal::Type::Boolean
85
-
86
- # @!method self.variants
87
- # @return [Array(String, Float, Boolean)]
88
- end
89
- end
90
-
91
- class NestedMeterFilter < Dodopayments::Internal::Type::BaseModel
92
- # @!attribute clauses
93
- # Level 1: Can be conditions or nested filters (2 more levels allowed)
94
- #
95
- # @return [Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter>]
96
- required :clauses, union: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses }
97
-
98
- # @!attribute conjunction
99
- #
100
- # @return [Symbol, Dodopayments::Models::Conjunction]
101
- required :conjunction, enum: -> { Dodopayments::Conjunction }
102
-
103
- # @!method initialize(clauses:, conjunction:)
104
- # Level 1 nested filter - can contain Level 2 filters
105
- #
106
- # @param clauses [Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter>] Level 1: Can be conditions or nested filters (2 more levels allowed)
107
- #
108
- # @param conjunction [Symbol, Dodopayments::Models::Conjunction]
109
-
110
- # Level 1: Can be conditions or nested filters (2 more levels allowed)
111
- #
112
- # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter#clauses
113
- module Clauses
114
- extend Dodopayments::Internal::Type::Union
115
-
116
- # Array of filter conditions
117
- variant -> { Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterConditionArray }
118
-
119
- # Array of level 2 nested filters
120
- variant -> { Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilterArray }
121
-
122
- class Level1FilterCondition < Dodopayments::Internal::Type::BaseModel
123
- # @!attribute key
124
- # Filter key to apply
125
- #
126
- # @return [String]
127
- required :key, String
128
-
129
- # @!attribute operator
130
- #
131
- # @return [Symbol, Dodopayments::Models::FilterOperator]
132
- required :operator, enum: -> { Dodopayments::FilterOperator }
133
-
134
- # @!attribute value
135
- # Filter value - can be string, number, or boolean
136
- #
137
- # @return [String, Float, Boolean]
138
- required :value,
139
- union: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::Value }
140
-
141
- # @!method initialize(key:, operator:, value:)
142
- # Filter condition with key, operator, and value
143
- #
144
- # @param key [String] Filter key to apply
145
- #
146
- # @param operator [Symbol, Dodopayments::Models::FilterOperator]
147
- #
148
- # @param value [String, Float, Boolean] Filter value - can be string, number, or boolean
149
-
150
- # Filter value - can be string, number, or boolean
151
- #
152
- # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition#value
153
- module Value
154
- extend Dodopayments::Internal::Type::Union
155
-
156
- variant String
157
-
158
- variant Float
159
-
160
- variant Dodopayments::Internal::Type::Boolean
161
-
162
- # @!method self.variants
163
- # @return [Array(String, Float, Boolean)]
164
- end
165
- end
166
-
167
- class Level1NestedFilter < Dodopayments::Internal::Type::BaseModel
168
- # @!attribute clauses
169
- # Level 2: Can be conditions or nested filters (1 more level allowed)
170
- #
171
- # @return [Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter>]
172
- required :clauses,
173
- union: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses }
174
-
175
- # @!attribute conjunction
176
- #
177
- # @return [Symbol, Dodopayments::Models::Conjunction]
178
- required :conjunction, enum: -> { Dodopayments::Conjunction }
179
-
180
- # @!method initialize(clauses:, conjunction:)
181
- # Level 2 nested filter
182
- #
183
- # @param clauses [Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter>] Level 2: Can be conditions or nested filters (1 more level allowed)
184
- #
185
- # @param conjunction [Symbol, Dodopayments::Models::Conjunction]
186
-
187
- # Level 2: Can be conditions or nested filters (1 more level allowed)
188
- #
189
- # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter#clauses
190
- module Clauses
191
- extend Dodopayments::Internal::Type::Union
192
-
193
- # Array of filter conditions
194
- variant -> { Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterConditionArray }
195
-
196
- # Array of level 3 nested filters (final level)
197
- variant -> { Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilterArray }
198
-
199
- class Level2FilterCondition < Dodopayments::Internal::Type::BaseModel
200
- # @!attribute key
201
- # Filter key to apply
202
- #
203
- # @return [String]
204
- required :key, String
205
-
206
- # @!attribute operator
207
- #
208
- # @return [Symbol, Dodopayments::Models::FilterOperator]
209
- required :operator, enum: -> { Dodopayments::FilterOperator }
210
-
211
- # @!attribute value
212
- # Filter value - can be string, number, or boolean
213
- #
214
- # @return [String, Float, Boolean]
215
- required :value,
216
- union: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::Value }
217
-
218
- # @!method initialize(key:, operator:, value:)
219
- # Filter condition with key, operator, and value
220
- #
221
- # @param key [String] Filter key to apply
222
- #
223
- # @param operator [Symbol, Dodopayments::Models::FilterOperator]
224
- #
225
- # @param value [String, Float, Boolean] Filter value - can be string, number, or boolean
226
-
227
- # Filter value - can be string, number, or boolean
228
- #
229
- # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition#value
230
- module Value
231
- extend Dodopayments::Internal::Type::Union
232
-
233
- variant String
234
-
235
- variant Float
236
-
237
- variant Dodopayments::Internal::Type::Boolean
238
-
239
- # @!method self.variants
240
- # @return [Array(String, Float, Boolean)]
241
- end
242
- end
243
-
244
- class Level2NestedFilter < Dodopayments::Internal::Type::BaseModel
245
- # @!attribute clauses
246
- # Level 3: Filter conditions only (max depth reached)
247
- #
248
- # @return [Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause>]
249
- required :clauses,
250
- -> do
251
- Dodopayments::Internal::Type::ArrayOf[
252
- Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause
253
- ]
254
- end
255
-
256
- # @!attribute conjunction
257
- #
258
- # @return [Symbol, Dodopayments::Models::Conjunction]
259
- required :conjunction, enum: -> { Dodopayments::Conjunction }
260
-
261
- # @!method initialize(clauses:, conjunction:)
262
- # Level 3 nested filter (final nesting level)
263
- #
264
- # @param clauses [Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause>] Level 3: Filter conditions only (max depth reached)
265
- #
266
- # @param conjunction [Symbol, Dodopayments::Models::Conjunction]
267
-
268
- class Clause < Dodopayments::Internal::Type::BaseModel
269
- # @!attribute key
270
- # Filter key to apply
271
- #
272
- # @return [String]
273
- required :key, String
274
-
275
- # @!attribute operator
276
- #
277
- # @return [Symbol, Dodopayments::Models::FilterOperator]
278
- required :operator, enum: -> { Dodopayments::FilterOperator }
279
-
280
- # @!attribute value
281
- # Filter value - can be string, number, or boolean
282
- #
283
- # @return [String, Float, Boolean]
284
- required :value,
285
- union: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::Value }
286
-
287
- # @!method initialize(key:, operator:, value:)
288
- # Filter condition with key, operator, and value
289
- #
290
- # @param key [String] Filter key to apply
291
- #
292
- # @param operator [Symbol, Dodopayments::Models::FilterOperator]
293
- #
294
- # @param value [String, Float, Boolean] Filter value - can be string, number, or boolean
295
-
296
- # Filter value - can be string, number, or boolean
297
- #
298
- # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause#value
299
- module Value
300
- extend Dodopayments::Internal::Type::Union
301
-
302
- variant String
303
-
304
- variant Float
305
-
306
- variant Dodopayments::Internal::Type::Boolean
307
-
308
- # @!method self.variants
309
- # @return [Array(String, Float, Boolean)]
310
- end
311
- end
312
- end
313
-
314
- # @!method self.variants
315
- # @return [Array(Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter>)]
316
-
317
- # @type [Dodopayments::Internal::Type::Converter]
318
- Level2FilterConditionArray =
319
- Dodopayments::Internal::Type::ArrayOf[
320
- -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition }
321
- ]
322
-
323
- # @type [Dodopayments::Internal::Type::Converter]
324
- Level2NestedFilterArray =
325
- Dodopayments::Internal::Type::ArrayOf[
326
- -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter }
327
- ]
328
- end
329
- end
330
-
331
- # @!method self.variants
332
- # @return [Array(Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter>)]
333
-
334
- # @type [Dodopayments::Internal::Type::Converter]
335
- Level1FilterConditionArray =
336
- Dodopayments::Internal::Type::ArrayOf[-> {
337
- Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition
338
- }]
339
-
340
- # @type [Dodopayments::Internal::Type::Converter]
341
- Level1NestedFilterArray =
342
- Dodopayments::Internal::Type::ArrayOf[-> {
343
- Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter
344
- }]
345
- end
346
- end
347
-
348
- # @!method self.variants
349
- # @return [Array(Array<Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter>)]
350
-
351
- # @type [Dodopayments::Internal::Type::Converter]
352
- DirectFilterConditionArray =
353
- Dodopayments::Internal::Type::ArrayOf[-> {
354
- Dodopayments::MeterFilter::Clauses::DirectFilterCondition
355
- }]
356
-
357
- # @type [Dodopayments::Internal::Type::Converter]
358
- NestedMeterFilterArray =
359
- Dodopayments::Internal::Type::ArrayOf[-> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter }]
360
- end
361
33
  end
362
34
  end
363
35
  end
@@ -139,11 +139,21 @@ module Dodopayments
139
139
  nil?: true
140
140
 
141
141
  # @!attribute discount_id
142
- # The discount id if discount is applied
142
+ # @deprecated Use `discounts` instead.
143
+ #
144
+ # DEPRECATED: Use discounts instead. Returns the first discount's ID if present.
143
145
  #
144
146
  # @return [String, nil]
145
147
  optional :discount_id, String, nil?: true
146
148
 
149
+ # @!attribute discounts
150
+ # All stacked discounts applied, ordered by position
151
+ #
152
+ # @return [Array<Dodopayments::Models::DiscountDetail>, nil]
153
+ optional :discounts,
154
+ -> { Dodopayments::Internal::Type::ArrayOf[Dodopayments::DiscountDetail] },
155
+ nil?: true
156
+
147
157
  # @!attribute error_code
148
158
  # An error code if the payment failed
149
159
  #
@@ -233,7 +243,7 @@ module Dodopayments
233
243
  # @return [Time, nil]
234
244
  optional :updated_at, Time, nil?: true
235
245
 
236
- # @!method initialize(billing:, brand_id:, business_id:, created_at:, currency:, customer:, digital_products_delivered:, disputes:, metadata:, payment_id:, refunds:, settlement_amount:, settlement_currency:, total_amount:, card_holder_name: nil, card_issuing_country: nil, card_last_four: nil, card_network: nil, card_type: nil, checkout_session_id: nil, custom_field_responses: nil, discount_id: nil, error_code: nil, error_message: nil, invoice_id: nil, invoice_url: nil, payment_link: nil, payment_method: nil, payment_method_type: nil, product_cart: nil, refund_status: nil, settlement_tax: nil, status: nil, subscription_id: nil, tax: nil, updated_at: nil)
246
+ # @!method initialize(billing:, brand_id:, business_id:, created_at:, currency:, customer:, digital_products_delivered:, disputes:, metadata:, payment_id:, refunds:, settlement_amount:, settlement_currency:, total_amount:, card_holder_name: nil, card_issuing_country: nil, card_last_four: nil, card_network: nil, card_type: nil, checkout_session_id: nil, custom_field_responses: nil, discount_id: nil, discounts: nil, error_code: nil, error_message: nil, invoice_id: nil, invoice_url: nil, payment_link: nil, payment_method: nil, payment_method_type: nil, product_cart: nil, refund_status: nil, settlement_tax: nil, status: nil, subscription_id: nil, tax: nil, updated_at: nil)
237
247
  # Some parameter documentations has been truncated, see
238
248
  # {Dodopayments::Models::Payment} for more details.
239
249
  #
@@ -279,7 +289,9 @@ module Dodopayments
279
289
  #
280
290
  # @param custom_field_responses [Array<Dodopayments::Models::CustomFieldResponse>, nil] Customer's responses to custom fields collected during checkout
281
291
  #
282
- # @param discount_id [String, nil] The discount id if discount is applied
292
+ # @param discount_id [String, nil] DEPRECATED: Use discounts instead. Returns the first discount's ID if present.
293
+ #
294
+ # @param discounts [Array<Dodopayments::Models::DiscountDetail>, nil] All stacked discounts applied, ordered by position
283
295
  #
284
296
  # @param error_code [String, nil] An error code if the payment failed
285
297
  #