dodopayments 1.22.0 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +143 -59
  4. data/SECURITY.md +2 -2
  5. data/lib/dodopayments/client.rb +16 -4
  6. data/lib/dodopayments/errors.rb +23 -1
  7. data/lib/dodopayments/file_part.rb +2 -2
  8. data/lib/dodopayments/internal/cursor_page_pagination.rb +90 -0
  9. data/lib/dodopayments/internal/transport/base_client.rb +88 -8
  10. data/lib/dodopayments/internal/transport/pooled_net_requester.rb +17 -1
  11. data/lib/dodopayments/internal/type/array_of.rb +16 -2
  12. data/lib/dodopayments/internal/type/base_model.rb +155 -54
  13. data/lib/dodopayments/internal/type/boolean.rb +15 -1
  14. data/lib/dodopayments/internal/type/converter.rb +86 -33
  15. data/lib/dodopayments/internal/type/enum.rb +30 -6
  16. data/lib/dodopayments/internal/type/file_input.rb +13 -1
  17. data/lib/dodopayments/internal/type/hash_of.rb +16 -2
  18. data/lib/dodopayments/internal/type/request_parameters.rb +4 -4
  19. data/lib/dodopayments/internal/type/union.rb +44 -31
  20. data/lib/dodopayments/internal/type/unknown.rb +15 -1
  21. data/lib/dodopayments/internal/util.rb +119 -11
  22. data/lib/dodopayments/internal.rb +9 -0
  23. data/lib/dodopayments/models/addon_create_params.rb +6 -10
  24. data/lib/dodopayments/models/addon_list_params.rb +4 -4
  25. data/lib/dodopayments/models/addon_response.rb +6 -10
  26. data/lib/dodopayments/models/addon_update_params.rb +6 -10
  27. data/lib/dodopayments/models/attach_addon.rb +21 -0
  28. data/lib/dodopayments/models/billing_address.rb +3 -3
  29. data/lib/dodopayments/models/brand.rb +107 -0
  30. data/lib/dodopayments/models/brand_create_params.rb +44 -0
  31. data/lib/dodopayments/models/{webhook_event_retrieve_params.rb → brand_list_params.rb} +2 -2
  32. data/lib/dodopayments/models/brand_list_response.rb +17 -0
  33. data/lib/dodopayments/models/brand_retrieve_params.rb +14 -0
  34. data/lib/dodopayments/models/brand_update_images_params.rb +14 -0
  35. data/lib/dodopayments/models/brand_update_images_response.rb +25 -0
  36. data/lib/dodopayments/models/brand_update_params.rb +43 -0
  37. data/lib/dodopayments/models/create_new_customer.rb +0 -1
  38. data/lib/dodopayments/models/customer_list_params.rb +13 -5
  39. data/lib/dodopayments/models/customer_request.rb +3 -3
  40. data/lib/dodopayments/models/customers/customer_portal_create_params.rb +2 -2
  41. data/lib/dodopayments/models/discount.rb +15 -4
  42. data/lib/dodopayments/models/discount_create_params.rb +17 -6
  43. data/lib/dodopayments/models/discount_list_params.rb +4 -4
  44. data/lib/dodopayments/models/discount_update_params.rb +16 -5
  45. data/lib/dodopayments/models/dispute.rb +6 -5
  46. data/lib/dodopayments/models/dispute_list_params.rb +44 -16
  47. data/lib/dodopayments/models/dispute_list_response.rb +6 -5
  48. data/lib/dodopayments/models/{dispute_retrieve_response.rb → get_dispute.rb} +11 -9
  49. data/lib/dodopayments/models/license_key.rb +3 -3
  50. data/lib/dodopayments/models/license_key_duration.rb +1 -1
  51. data/lib/dodopayments/models/license_key_list_params.rb +23 -11
  52. data/lib/dodopayments/models/license_key_update_params.rb +3 -3
  53. data/lib/dodopayments/models/misc_list_supported_countries_response.rb +1 -1
  54. data/lib/dodopayments/models/new_customer.rb +27 -0
  55. data/lib/dodopayments/models/one_time_product_cart_item.rb +0 -1
  56. data/lib/dodopayments/models/payment.rb +50 -21
  57. data/lib/dodopayments/models/payment_create_params.rb +22 -41
  58. data/lib/dodopayments/models/payment_create_response.rb +16 -6
  59. data/lib/dodopayments/models/payment_list_params.rb +44 -16
  60. data/lib/dodopayments/models/payment_list_response.rb +16 -4
  61. data/lib/dodopayments/models/payment_method_types.rb +31 -0
  62. data/lib/dodopayments/models/payment_retrieve_line_items_params.rb +14 -0
  63. data/lib/dodopayments/models/payment_retrieve_line_items_response.rb +63 -0
  64. data/lib/dodopayments/models/payout_list_params.rb +4 -4
  65. data/lib/dodopayments/models/payout_list_response.rb +7 -3
  66. data/lib/dodopayments/models/price.rb +57 -30
  67. data/lib/dodopayments/models/product.rb +85 -12
  68. data/lib/dodopayments/models/product_create_params.rb +61 -12
  69. data/lib/dodopayments/models/product_list_params.rb +15 -7
  70. data/lib/dodopayments/models/product_list_response.rb +19 -11
  71. data/lib/dodopayments/models/product_update_files_params.rb +20 -0
  72. data/lib/dodopayments/models/product_update_files_response.rb +22 -0
  73. data/lib/dodopayments/models/product_update_params.rb +70 -13
  74. data/lib/dodopayments/models/products/image_update_params.rb +2 -2
  75. data/lib/dodopayments/models/refund.rb +15 -5
  76. data/lib/dodopayments/models/refund_create_params.rb +38 -1
  77. data/lib/dodopayments/models/refund_list_params.rb +26 -13
  78. data/lib/dodopayments/models/subscription.rb +38 -18
  79. data/lib/dodopayments/models/subscription_change_plan_params.rb +9 -23
  80. data/lib/dodopayments/models/subscription_charge_params.rb +38 -2
  81. data/lib/dodopayments/models/subscription_create_params.rb +53 -66
  82. data/lib/dodopayments/models/subscription_create_response.rb +24 -8
  83. data/lib/dodopayments/models/subscription_list_params.rb +37 -14
  84. data/lib/dodopayments/models/subscription_list_response.rb +37 -16
  85. data/lib/dodopayments/models/subscription_status.rb +0 -1
  86. data/lib/dodopayments/models/subscription_update_params.rb +10 -6
  87. data/lib/dodopayments/models/webhook_create_params.rb +86 -0
  88. data/lib/dodopayments/models/webhook_create_response.rb +88 -0
  89. data/lib/dodopayments/models/webhook_delete_params.rb +14 -0
  90. data/lib/dodopayments/models/webhook_event_type.rb +35 -0
  91. data/lib/dodopayments/models/webhook_list_params.rb +30 -0
  92. data/lib/dodopayments/models/webhook_list_response.rb +88 -0
  93. data/lib/dodopayments/models/webhook_payload.rb +161 -0
  94. data/lib/dodopayments/models/webhook_retrieve_params.rb +14 -0
  95. data/lib/dodopayments/models/webhook_retrieve_response.rb +88 -0
  96. data/lib/dodopayments/models/webhook_update_params.rb +69 -0
  97. data/lib/dodopayments/models/webhook_update_response.rb +88 -0
  98. data/lib/dodopayments/models/webhooks/header_retrieve_params.rb +16 -0
  99. data/lib/dodopayments/models/webhooks/header_retrieve_response.rb +31 -0
  100. data/lib/dodopayments/models/webhooks/header_update_params.rb +24 -0
  101. data/lib/dodopayments/models/your_webhook_url_create_params.rb +32 -0
  102. data/lib/dodopayments/models.rb +77 -3
  103. data/lib/dodopayments/request_options.rb +4 -0
  104. data/lib/dodopayments/resources/addons.rb +13 -21
  105. data/lib/dodopayments/resources/brands.rb +119 -0
  106. data/lib/dodopayments/resources/customers/customer_portal.rb +3 -3
  107. data/lib/dodopayments/resources/customers.rb +12 -10
  108. data/lib/dodopayments/resources/discounts.rb +24 -19
  109. data/lib/dodopayments/resources/disputes.rb +10 -10
  110. data/lib/dodopayments/resources/license_key_instances.rb +5 -5
  111. data/lib/dodopayments/resources/license_keys.rb +13 -13
  112. data/lib/dodopayments/resources/licenses.rb +4 -4
  113. data/lib/dodopayments/resources/misc.rb +1 -1
  114. data/lib/dodopayments/resources/payments.rb +38 -19
  115. data/lib/dodopayments/resources/payouts.rb +3 -3
  116. data/lib/dodopayments/resources/products/images.rb +2 -2
  117. data/lib/dodopayments/resources/products.rb +58 -24
  118. data/lib/dodopayments/resources/refunds.rb +14 -12
  119. data/lib/dodopayments/resources/subscriptions.rb +39 -29
  120. data/lib/dodopayments/resources/webhook_events.rb +0 -52
  121. data/lib/dodopayments/resources/webhooks/headers.rb +59 -0
  122. data/lib/dodopayments/resources/webhooks.rb +157 -0
  123. data/lib/dodopayments/resources/your_webhook_url.rb +56 -0
  124. data/lib/dodopayments/version.rb +1 -1
  125. data/lib/dodopayments.rb +46 -9
  126. data/rbi/dodopayments/client.rbi +19 -6
  127. data/rbi/dodopayments/errors.rbi +51 -16
  128. data/rbi/dodopayments/file_part.rbi +9 -6
  129. data/rbi/dodopayments/internal/cursor_page_pagination.rbi +25 -0
  130. data/rbi/dodopayments/internal/default_page_number_pagination.rbi +2 -1
  131. data/rbi/dodopayments/internal/transport/base_client.rbi +165 -77
  132. data/rbi/dodopayments/internal/transport/pooled_net_requester.rbi +33 -13
  133. data/rbi/dodopayments/internal/type/array_of.rbi +40 -24
  134. data/rbi/dodopayments/internal/type/base_model.rbi +160 -70
  135. data/rbi/dodopayments/internal/type/base_page.rbi +13 -8
  136. data/rbi/dodopayments/internal/type/boolean.rbi +24 -14
  137. data/rbi/dodopayments/internal/type/converter.rbi +135 -33
  138. data/rbi/dodopayments/internal/type/enum.rbi +29 -13
  139. data/rbi/dodopayments/internal/type/file_input.rbi +13 -4
  140. data/rbi/dodopayments/internal/type/hash_of.rbi +40 -24
  141. data/rbi/dodopayments/internal/type/request_parameters.rbi +14 -4
  142. data/rbi/dodopayments/internal/type/union.rbi +71 -23
  143. data/rbi/dodopayments/internal/type/unknown.rbi +24 -6
  144. data/rbi/dodopayments/internal/util.rbi +272 -91
  145. data/rbi/dodopayments/internal.rbi +7 -0
  146. data/rbi/dodopayments/models/addon_cart_response_item.rbi +16 -4
  147. data/rbi/dodopayments/models/addon_create_params.rbi +33 -24
  148. data/rbi/dodopayments/models/addon_list_params.rbi +29 -17
  149. data/rbi/dodopayments/models/addon_response.rbi +33 -27
  150. data/rbi/dodopayments/models/addon_retrieve_params.rbi +18 -5
  151. data/rbi/dodopayments/models/addon_update_images_params.rbi +18 -5
  152. data/rbi/dodopayments/models/addon_update_images_response.rbi +13 -3
  153. data/rbi/dodopayments/models/addon_update_params.rbi +34 -25
  154. data/rbi/dodopayments/models/attach_addon.rbi +28 -0
  155. data/rbi/dodopayments/models/attach_existing_customer.rbi +13 -3
  156. data/rbi/dodopayments/models/billing_address.rbi +24 -12
  157. data/rbi/dodopayments/models/brand.rbi +132 -0
  158. data/rbi/dodopayments/models/brand_create_params.rbi +68 -0
  159. data/rbi/dodopayments/models/brand_list_params.rbi +29 -0
  160. data/rbi/dodopayments/models/brand_list_response.rbi +34 -0
  161. data/rbi/dodopayments/models/brand_retrieve_params.rbi +32 -0
  162. data/rbi/dodopayments/models/brand_update_images_params.rbi +32 -0
  163. data/rbi/dodopayments/models/brand_update_images_response.rbi +36 -0
  164. data/rbi/dodopayments/models/brand_update_params.rbi +64 -0
  165. data/rbi/dodopayments/models/country_code.rbi +255 -252
  166. data/rbi/dodopayments/models/create_new_customer.rbi +27 -11
  167. data/rbi/dodopayments/models/currency.rbi +149 -148
  168. data/rbi/dodopayments/models/customer.rbi +27 -15
  169. data/rbi/dodopayments/models/customer_create_params.rbi +22 -14
  170. data/rbi/dodopayments/models/customer_limited_details.rbi +21 -4
  171. data/rbi/dodopayments/models/customer_list_params.rbi +43 -17
  172. data/rbi/dodopayments/models/customer_portal_session.rbi +13 -3
  173. data/rbi/dodopayments/models/customer_request.rbi +10 -2
  174. data/rbi/dodopayments/models/customer_retrieve_params.rbi +18 -5
  175. data/rbi/dodopayments/models/customer_update_params.rbi +21 -13
  176. data/rbi/dodopayments/models/customers/customer_portal_create_params.rbi +26 -8
  177. data/rbi/dodopayments/models/discount.rbi +42 -22
  178. data/rbi/dodopayments/models/discount_create_params.rbi +43 -20
  179. data/rbi/dodopayments/models/discount_delete_params.rbi +18 -5
  180. data/rbi/dodopayments/models/discount_list_params.rbi +32 -17
  181. data/rbi/dodopayments/models/discount_retrieve_params.rbi +18 -5
  182. data/rbi/dodopayments/models/discount_type.rbi +7 -4
  183. data/rbi/dodopayments/models/discount_update_params.rbi +43 -20
  184. data/rbi/dodopayments/models/dispute.rbi +32 -22
  185. data/rbi/dodopayments/models/dispute_list_params.rbi +178 -33
  186. data/rbi/dodopayments/models/dispute_list_response.rbi +34 -21
  187. data/rbi/dodopayments/models/dispute_retrieve_params.rbi +18 -5
  188. data/rbi/dodopayments/models/dispute_stage.rbi +11 -6
  189. data/rbi/dodopayments/models/dispute_status.rbi +20 -10
  190. data/rbi/dodopayments/models/{dispute_retrieve_response.rbi → get_dispute.rbi} +40 -28
  191. data/rbi/dodopayments/models/intent_status.rbi +32 -14
  192. data/rbi/dodopayments/models/invoices/payment_retrieve_params.rbi +18 -5
  193. data/rbi/dodopayments/models/license_activate_params.rbi +21 -6
  194. data/rbi/dodopayments/models/license_deactivate_params.rbi +21 -13
  195. data/rbi/dodopayments/models/license_key.rbi +31 -23
  196. data/rbi/dodopayments/models/license_key_duration.rbi +24 -5
  197. data/rbi/dodopayments/models/license_key_instance.rbi +19 -4
  198. data/rbi/dodopayments/models/license_key_instance_list_params.rbi +23 -14
  199. data/rbi/dodopayments/models/license_key_instance_retrieve_params.rbi +18 -5
  200. data/rbi/dodopayments/models/license_key_instance_update_params.rbi +19 -6
  201. data/rbi/dodopayments/models/license_key_list_params.rbi +91 -26
  202. data/rbi/dodopayments/models/license_key_retrieve_params.rbi +18 -5
  203. data/rbi/dodopayments/models/license_key_status.rbi +10 -6
  204. data/rbi/dodopayments/models/license_key_update_params.rbi +23 -14
  205. data/rbi/dodopayments/models/license_validate_params.rbi +25 -13
  206. data/rbi/dodopayments/models/license_validate_response.rbi +13 -3
  207. data/rbi/dodopayments/models/misc_list_supported_countries_params.rbi +18 -5
  208. data/rbi/dodopayments/models/misc_list_supported_countries_response.rbi +1 -1
  209. data/rbi/dodopayments/models/new_customer.rbi +39 -0
  210. data/rbi/dodopayments/models/one_time_product_cart_item.rbi +23 -4
  211. data/rbi/dodopayments/models/payment.rbi +125 -62
  212. data/rbi/dodopayments/models/payment_create_params.rbi +67 -87
  213. data/rbi/dodopayments/models/payment_create_response.rbi +45 -22
  214. data/rbi/dodopayments/models/payment_list_params.rbi +149 -32
  215. data/rbi/dodopayments/models/payment_list_response.rbi +47 -26
  216. data/rbi/dodopayments/models/payment_method_types.rbi +52 -0
  217. data/rbi/dodopayments/models/payment_retrieve_line_items_params.rbi +32 -0
  218. data/rbi/dodopayments/models/payment_retrieve_line_items_response.rbi +114 -0
  219. data/rbi/dodopayments/models/payment_retrieve_params.rbi +18 -5
  220. data/rbi/dodopayments/models/payout_list_params.rbi +29 -17
  221. data/rbi/dodopayments/models/payout_list_response.rbi +82 -35
  222. data/rbi/dodopayments/models/price.rbi +142 -55
  223. data/rbi/dodopayments/models/product.rbi +177 -38
  224. data/rbi/dodopayments/models/product_create_params.rbi +151 -36
  225. data/rbi/dodopayments/models/product_delete_params.rbi +18 -5
  226. data/rbi/dodopayments/models/product_list_params.rbi +50 -21
  227. data/rbi/dodopayments/models/product_list_response.rbi +57 -42
  228. data/rbi/dodopayments/models/product_retrieve_params.rbi +18 -5
  229. data/rbi/dodopayments/models/product_unarchive_params.rbi +18 -5
  230. data/rbi/dodopayments/models/product_update_files_params.rbi +38 -0
  231. data/rbi/dodopayments/models/product_update_files_response.rbi +29 -0
  232. data/rbi/dodopayments/models/product_update_params.rbi +160 -37
  233. data/rbi/dodopayments/models/products/image_update_params.rbi +20 -8
  234. data/rbi/dodopayments/models/products/image_update_response.rbi +18 -4
  235. data/rbi/dodopayments/models/refund.rbi +39 -21
  236. data/rbi/dodopayments/models/refund_create_params.rbi +87 -11
  237. data/rbi/dodopayments/models/refund_list_params.rbi +86 -29
  238. data/rbi/dodopayments/models/refund_retrieve_params.rbi +18 -5
  239. data/rbi/dodopayments/models/refund_status.rbi +10 -7
  240. data/rbi/dodopayments/models/subscription.rbi +83 -47
  241. data/rbi/dodopayments/models/subscription_change_plan_params.rbi +61 -40
  242. data/rbi/dodopayments/models/subscription_charge_params.rbi +65 -6
  243. data/rbi/dodopayments/models/subscription_charge_response.rbi +13 -3
  244. data/rbi/dodopayments/models/subscription_create_params.rbi +136 -128
  245. data/rbi/dodopayments/models/subscription_create_response.rbi +51 -22
  246. data/rbi/dodopayments/models/subscription_list_params.rbi +125 -29
  247. data/rbi/dodopayments/models/subscription_list_response.rbi +85 -44
  248. data/rbi/dodopayments/models/subscription_retrieve_params.rbi +18 -5
  249. data/rbi/dodopayments/models/subscription_status.rbi +16 -10
  250. data/rbi/dodopayments/models/subscription_update_params.rbi +63 -33
  251. data/rbi/dodopayments/models/tax_category.rbi +11 -7
  252. data/rbi/dodopayments/models/time_interval.rbi +10 -7
  253. data/rbi/dodopayments/models/webhook_create_params.rbi +115 -0
  254. data/rbi/dodopayments/models/webhook_create_response.rbi +112 -0
  255. data/rbi/dodopayments/models/webhook_delete_params.rbi +32 -0
  256. data/rbi/dodopayments/models/webhook_event_type.rbi +102 -0
  257. data/rbi/dodopayments/models/webhook_list_params.rbi +54 -0
  258. data/rbi/dodopayments/models/webhook_list_response.rbi +112 -0
  259. data/rbi/dodopayments/models/webhook_payload.rbi +440 -0
  260. data/rbi/dodopayments/models/webhook_retrieve_params.rbi +32 -0
  261. data/rbi/dodopayments/models/webhook_retrieve_response.rbi +112 -0
  262. data/rbi/dodopayments/models/webhook_update_params.rbi +94 -0
  263. data/rbi/dodopayments/models/webhook_update_response.rbi +112 -0
  264. data/rbi/dodopayments/models/webhooks/header_retrieve_params.rbi +34 -0
  265. data/rbi/dodopayments/models/webhooks/header_retrieve_response.rbi +50 -0
  266. data/rbi/dodopayments/models/webhooks/header_update_params.rbi +48 -0
  267. data/rbi/dodopayments/models/your_webhook_url_create_params.rbi +56 -0
  268. data/rbi/dodopayments/models.rbi +50 -8
  269. data/rbi/dodopayments/request_options.rbi +18 -7
  270. data/rbi/dodopayments/resources/addons.rbi +44 -27
  271. data/rbi/dodopayments/resources/brands.rbi +89 -0
  272. data/rbi/dodopayments/resources/customers/customer_portal.rbi +8 -6
  273. data/rbi/dodopayments/resources/customers.rbi +31 -17
  274. data/rbi/dodopayments/resources/discounts.rbi +54 -22
  275. data/rbi/dodopayments/resources/disputes.rbi +26 -14
  276. data/rbi/dodopayments/resources/invoices/payments.rbi +10 -3
  277. data/rbi/dodopayments/resources/invoices.rbi +2 -1
  278. data/rbi/dodopayments/resources/license_key_instances.rbi +25 -10
  279. data/rbi/dodopayments/resources/license_keys.rbi +29 -15
  280. data/rbi/dodopayments/resources/licenses.rbi +25 -12
  281. data/rbi/dodopayments/resources/misc.rbi +7 -4
  282. data/rbi/dodopayments/resources/payments.rbi +61 -27
  283. data/rbi/dodopayments/resources/payouts.rbi +12 -6
  284. data/rbi/dodopayments/resources/products/images.rbi +10 -4
  285. data/rbi/dodopayments/resources/products.rbi +118 -41
  286. data/rbi/dodopayments/resources/refunds.rbi +35 -15
  287. data/rbi/dodopayments/resources/subscriptions.rbi +95 -53
  288. data/rbi/dodopayments/resources/webhook_events.rbi +2 -34
  289. data/rbi/dodopayments/resources/webhooks/headers.rbi +40 -0
  290. data/rbi/dodopayments/resources/webhooks.rbi +127 -0
  291. data/rbi/dodopayments/resources/your_webhook_url.rbi +51 -0
  292. data/sig/dodopayments/client.rbs +6 -0
  293. data/sig/dodopayments/errors.rbs +9 -0
  294. data/sig/dodopayments/internal/cursor_page_pagination.rbs +15 -0
  295. data/sig/dodopayments/internal/transport/base_client.rbs +17 -2
  296. data/sig/dodopayments/internal/transport/pooled_net_requester.rbs +4 -0
  297. data/sig/dodopayments/internal/type/array_of.rbs +3 -0
  298. data/sig/dodopayments/internal/type/base_model.rbs +13 -5
  299. data/sig/dodopayments/internal/type/base_page.rbs +1 -1
  300. data/sig/dodopayments/internal/type/boolean.rbs +3 -0
  301. data/sig/dodopayments/internal/type/converter.rbs +26 -1
  302. data/sig/dodopayments/internal/type/enum.rbs +3 -0
  303. data/sig/dodopayments/internal/type/file_input.rbs +2 -0
  304. data/sig/dodopayments/internal/type/hash_of.rbs +3 -0
  305. data/sig/dodopayments/internal/type/request_parameters.rbs +5 -1
  306. data/sig/dodopayments/internal/type/union.rbs +5 -2
  307. data/sig/dodopayments/internal/type/unknown.rbs +3 -0
  308. data/sig/dodopayments/internal/util.rbs +25 -0
  309. data/sig/dodopayments/internal.rbs +4 -0
  310. data/sig/dodopayments/models/addon_cart_response_item.rbs +1 -1
  311. data/sig/dodopayments/models/addon_create_params.rbs +8 -1
  312. data/sig/dodopayments/models/addon_list_params.rbs +14 -6
  313. data/sig/dodopayments/models/addon_response.rbs +12 -1
  314. data/sig/dodopayments/models/addon_retrieve_params.rbs +1 -1
  315. data/sig/dodopayments/models/addon_update_images_params.rbs +1 -1
  316. data/sig/dodopayments/models/addon_update_images_response.rbs +1 -1
  317. data/sig/dodopayments/models/addon_update_params.rbs +9 -1
  318. data/sig/dodopayments/models/attach_addon.rbs +15 -0
  319. data/sig/dodopayments/models/attach_existing_customer.rbs +1 -1
  320. data/sig/dodopayments/models/billing_address.rbs +7 -1
  321. data/sig/dodopayments/models/brand.rbs +88 -0
  322. data/sig/dodopayments/models/brand_create_params.rbs +46 -0
  323. data/sig/dodopayments/models/{webhook_event_retrieve_params.rbs → brand_list_params.rbs} +3 -3
  324. data/sig/dodopayments/models/brand_list_response.rbs +13 -0
  325. data/sig/dodopayments/models/brand_retrieve_params.rbs +15 -0
  326. data/sig/dodopayments/models/brand_update_images_params.rbs +15 -0
  327. data/sig/dodopayments/models/brand_update_images_response.rbs +15 -0
  328. data/sig/dodopayments/models/brand_update_params.rbs +41 -0
  329. data/sig/dodopayments/models/create_new_customer.rbs +6 -1
  330. data/sig/dodopayments/models/customer.rbs +8 -1
  331. data/sig/dodopayments/models/customer_create_params.rbs +6 -1
  332. data/sig/dodopayments/models/customer_limited_details.rbs +1 -1
  333. data/sig/dodopayments/models/customer_list_params.rbs +20 -6
  334. data/sig/dodopayments/models/customer_portal_session.rbs +1 -1
  335. data/sig/dodopayments/models/customer_request.rbs +2 -3
  336. data/sig/dodopayments/models/customer_retrieve_params.rbs +1 -1
  337. data/sig/dodopayments/models/customer_update_params.rbs +5 -1
  338. data/sig/dodopayments/models/customers/customer_portal_create_params.rbs +9 -4
  339. data/sig/dodopayments/models/discount.rbs +18 -1
  340. data/sig/dodopayments/models/discount_create_params.rbs +15 -1
  341. data/sig/dodopayments/models/discount_delete_params.rbs +1 -1
  342. data/sig/dodopayments/models/discount_list_params.rbs +14 -6
  343. data/sig/dodopayments/models/discount_retrieve_params.rbs +1 -1
  344. data/sig/dodopayments/models/discount_update_params.rbs +15 -1
  345. data/sig/dodopayments/models/dispute.rbs +11 -1
  346. data/sig/dodopayments/models/dispute_list_params.rbs +84 -22
  347. data/sig/dodopayments/models/dispute_list_response.rbs +10 -1
  348. data/sig/dodopayments/models/dispute_retrieve_params.rbs +1 -1
  349. data/sig/dodopayments/models/{dispute_retrieve_response.rbs → get_dispute.rbs} +18 -6
  350. data/sig/dodopayments/models/invoices/payment_retrieve_params.rbs +1 -1
  351. data/sig/dodopayments/models/license_activate_params.rbs +5 -1
  352. data/sig/dodopayments/models/license_deactivate_params.rbs +5 -1
  353. data/sig/dodopayments/models/license_key.rbs +14 -1
  354. data/sig/dodopayments/models/license_key_duration.rbs +4 -1
  355. data/sig/dodopayments/models/license_key_instance.rbs +7 -1
  356. data/sig/dodopayments/models/license_key_instance_list_params.rbs +6 -1
  357. data/sig/dodopayments/models/license_key_instance_retrieve_params.rbs +1 -1
  358. data/sig/dodopayments/models/license_key_instance_update_params.rbs +4 -1
  359. data/sig/dodopayments/models/license_key_list_params.rbs +47 -16
  360. data/sig/dodopayments/models/license_key_retrieve_params.rbs +1 -1
  361. data/sig/dodopayments/models/license_key_update_params.rbs +6 -1
  362. data/sig/dodopayments/models/license_validate_params.rbs +5 -1
  363. data/sig/dodopayments/models/license_validate_response.rbs +1 -1
  364. data/sig/dodopayments/models/misc_list_supported_countries_params.rbs +1 -1
  365. data/sig/dodopayments/models/new_customer.rbs +21 -0
  366. data/sig/dodopayments/models/one_time_product_cart_item.rbs +5 -1
  367. data/sig/dodopayments/models/payment.rbs +60 -17
  368. data/sig/dodopayments/models/payment_create_params.rbs +23 -55
  369. data/sig/dodopayments/models/payment_create_response.rbs +21 -7
  370. data/sig/dodopayments/models/payment_list_params.rbs +85 -22
  371. data/sig/dodopayments/models/payment_list_response.rbs +25 -4
  372. data/sig/dodopayments/models/payment_method_types.rbs +48 -0
  373. data/sig/dodopayments/models/payment_retrieve_line_items_params.rbs +15 -0
  374. data/sig/dodopayments/models/payment_retrieve_line_items_response.rbs +67 -0
  375. data/sig/dodopayments/models/payment_retrieve_params.rbs +1 -1
  376. data/sig/dodopayments/models/payout_list_params.rbs +14 -6
  377. data/sig/dodopayments/models/payout_list_response.rbs +17 -1
  378. data/sig/dodopayments/models/price.rbs +53 -13
  379. data/sig/dodopayments/models/product.rbs +80 -4
  380. data/sig/dodopayments/models/product_create_params.rbs +45 -4
  381. data/sig/dodopayments/models/product_delete_params.rbs +1 -1
  382. data/sig/dodopayments/models/product_list_params.rbs +29 -10
  383. data/sig/dodopayments/models/product_list_response.rbs +20 -1
  384. data/sig/dodopayments/models/product_retrieve_params.rbs +1 -1
  385. data/sig/dodopayments/models/product_unarchive_params.rbs +1 -1
  386. data/sig/dodopayments/models/product_update_files_params.rbs +23 -0
  387. data/sig/dodopayments/models/product_update_files_response.rbs +15 -0
  388. data/sig/dodopayments/models/product_update_params.rbs +58 -4
  389. data/sig/dodopayments/models/products/image_update_params.rbs +9 -4
  390. data/sig/dodopayments/models/products/image_update_response.rbs +1 -1
  391. data/sig/dodopayments/models/refund.rbs +15 -1
  392. data/sig/dodopayments/models/refund_create_params.rbs +38 -2
  393. data/sig/dodopayments/models/refund_list_params.rbs +54 -19
  394. data/sig/dodopayments/models/refund_retrieve_params.rbs +1 -1
  395. data/sig/dodopayments/models/subscription.rbs +43 -10
  396. data/sig/dodopayments/models/subscription_change_plan_params.rbs +14 -17
  397. data/sig/dodopayments/models/subscription_charge_params.rbs +27 -2
  398. data/sig/dodopayments/models/subscription_charge_response.rbs +1 -1
  399. data/sig/dodopayments/models/subscription_create_params.rbs +58 -73
  400. data/sig/dodopayments/models/subscription_create_response.rbs +26 -7
  401. data/sig/dodopayments/models/subscription_list_params.rbs +64 -19
  402. data/sig/dodopayments/models/subscription_list_response.rbs +39 -7
  403. data/sig/dodopayments/models/subscription_retrieve_params.rbs +1 -1
  404. data/sig/dodopayments/models/subscription_status.rbs +1 -2
  405. data/sig/dodopayments/models/subscription_update_params.rbs +20 -8
  406. data/sig/dodopayments/models/webhook_create_params.rbs +65 -0
  407. data/sig/dodopayments/models/webhook_create_response.rbs +60 -0
  408. data/sig/dodopayments/models/webhook_delete_params.rbs +15 -0
  409. data/sig/dodopayments/models/webhook_event_type.rbs +54 -0
  410. data/sig/dodopayments/models/webhook_list_params.rbs +28 -0
  411. data/sig/dodopayments/models/webhook_list_response.rbs +60 -0
  412. data/sig/dodopayments/models/webhook_payload.rbs +203 -0
  413. data/sig/dodopayments/models/webhook_retrieve_params.rbs +15 -0
  414. data/sig/dodopayments/models/webhook_retrieve_response.rbs +60 -0
  415. data/sig/dodopayments/models/webhook_update_params.rbs +51 -0
  416. data/sig/dodopayments/models/webhook_update_response.rbs +60 -0
  417. data/sig/dodopayments/models/webhooks/header_retrieve_params.rbs +17 -0
  418. data/sig/dodopayments/models/webhooks/header_retrieve_response.rbs +24 -0
  419. data/sig/dodopayments/models/webhooks/header_update_params.rbs +26 -0
  420. data/sig/dodopayments/models/your_webhook_url_create_params.rbs +42 -0
  421. data/sig/dodopayments/models.rbs +39 -3
  422. data/sig/dodopayments/request_options.rbs +1 -1
  423. data/sig/dodopayments/resources/addons.rbs +6 -6
  424. data/sig/dodopayments/resources/brands.rbs +39 -0
  425. data/sig/dodopayments/resources/customers/customer_portal.rbs +2 -2
  426. data/sig/dodopayments/resources/customers.rbs +7 -6
  427. data/sig/dodopayments/resources/discounts.rbs +8 -6
  428. data/sig/dodopayments/resources/disputes.rbs +8 -8
  429. data/sig/dodopayments/resources/license_key_instances.rbs +3 -3
  430. data/sig/dodopayments/resources/license_keys.rbs +8 -8
  431. data/sig/dodopayments/resources/licenses.rbs +1 -1
  432. data/sig/dodopayments/resources/payments.rbs +17 -11
  433. data/sig/dodopayments/resources/payouts.rbs +2 -2
  434. data/sig/dodopayments/resources/products/images.rbs +1 -1
  435. data/sig/dodopayments/resources/products.rbs +20 -7
  436. data/sig/dodopayments/resources/refunds.rbs +10 -9
  437. data/sig/dodopayments/resources/subscriptions.rbs +21 -15
  438. data/sig/dodopayments/resources/webhook_events.rbs +0 -15
  439. data/sig/dodopayments/resources/webhooks/headers.rbs +20 -0
  440. data/sig/dodopayments/resources/webhooks.rbs +48 -0
  441. data/sig/dodopayments/resources/your_webhook_url.rbs +18 -0
  442. metadata +110 -14
  443. data/lib/dodopayments/models/webhook_event.rb +0 -58
  444. data/lib/dodopayments/models/webhook_event_list_params.rb +0 -66
  445. data/rbi/dodopayments/models/webhook_event.rbi +0 -71
  446. data/rbi/dodopayments/models/webhook_event_list_params.rbi +0 -77
  447. data/rbi/dodopayments/models/webhook_event_retrieve_params.rbi +0 -19
  448. data/sig/dodopayments/models/webhook_event.rbs +0 -46
  449. data/sig/dodopayments/models/webhook_event_list_params.rbs +0 -43
@@ -10,14 +10,17 @@ module Dodopayments
10
10
  # @!attribute billing
11
11
  #
12
12
  # @return [Dodopayments::Models::BillingAddress, nil]
13
- optional :billing, -> { Dodopayments::Models::BillingAddress }, nil?: true
13
+ optional :billing, -> { Dodopayments::BillingAddress }, nil?: true
14
+
15
+ # @!attribute cancel_at_next_billing_date
16
+ #
17
+ # @return [Boolean, nil]
18
+ optional :cancel_at_next_billing_date, Dodopayments::Internal::Type::Boolean, nil?: true
14
19
 
15
20
  # @!attribute disable_on_demand
16
21
  #
17
22
  # @return [Dodopayments::Models::SubscriptionUpdateParams::DisableOnDemand, nil]
18
- optional :disable_on_demand,
19
- -> { Dodopayments::Models::SubscriptionUpdateParams::DisableOnDemand },
20
- nil?: true
23
+ optional :disable_on_demand, -> { Dodopayments::SubscriptionUpdateParams::DisableOnDemand }, nil?: true
21
24
 
22
25
  # @!attribute metadata
23
26
  #
@@ -27,15 +30,16 @@ module Dodopayments
27
30
  # @!attribute status
28
31
  #
29
32
  # @return [Symbol, Dodopayments::Models::SubscriptionStatus, nil]
30
- optional :status, enum: -> { Dodopayments::Models::SubscriptionStatus }, nil?: true
33
+ optional :status, enum: -> { Dodopayments::SubscriptionStatus }, nil?: true
31
34
 
32
35
  # @!attribute tax_id
33
36
  #
34
37
  # @return [String, nil]
35
38
  optional :tax_id, String, nil?: true
36
39
 
37
- # @!method initialize(billing: nil, disable_on_demand: nil, metadata: nil, status: nil, tax_id: nil, request_options: {})
40
+ # @!method initialize(billing: nil, cancel_at_next_billing_date: nil, disable_on_demand: nil, metadata: nil, status: nil, tax_id: nil, request_options: {})
38
41
  # @param billing [Dodopayments::Models::BillingAddress, nil]
42
+ # @param cancel_at_next_billing_date [Boolean, nil]
39
43
  # @param disable_on_demand [Dodopayments::Models::SubscriptionUpdateParams::DisableOnDemand, nil]
40
44
  # @param metadata [Hash{Symbol=>String}, nil]
41
45
  # @param status [Symbol, Dodopayments::Models::SubscriptionStatus, nil]
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Webhooks#create
6
+ class WebhookCreateParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!attribute url
11
+ # Url of the webhook
12
+ #
13
+ # @return [String]
14
+ required :url, String
15
+
16
+ # @!attribute description
17
+ # Filter events to the webhook.
18
+ #
19
+ # Webhook event will only be sent for events in the list.
20
+ #
21
+ # @return [String, nil]
22
+ optional :description, String, nil?: true
23
+
24
+ # @!attribute disabled
25
+ # Create the webhook in a disabled state.
26
+ #
27
+ # Default is false
28
+ #
29
+ # @return [Boolean, nil]
30
+ optional :disabled, Dodopayments::Internal::Type::Boolean, nil?: true
31
+
32
+ # @!attribute filter_types
33
+ #
34
+ # @return [Array<Symbol, Dodopayments::Models::WebhookEventType>, nil]
35
+ optional :filter_types,
36
+ -> {
37
+ Dodopayments::Internal::Type::ArrayOf[enum: Dodopayments::WebhookEventType]
38
+ }
39
+
40
+ # @!attribute headers
41
+ # Custom headers to be passed
42
+ #
43
+ # @return [Hash{Symbol=>String}, nil]
44
+ optional :headers, Dodopayments::Internal::Type::HashOf[String], nil?: true
45
+
46
+ # @!attribute idempotency_key
47
+ # The request's idempotency key
48
+ #
49
+ # @return [String, nil]
50
+ optional :idempotency_key, String, nil?: true
51
+
52
+ # @!attribute metadata
53
+ # Metadata to be passed to the webhook Defaut is {}
54
+ #
55
+ # @return [Hash{Symbol=>String}, nil]
56
+ optional :metadata, Dodopayments::Internal::Type::HashOf[String], nil?: true
57
+
58
+ # @!attribute rate_limit
59
+ #
60
+ # @return [Integer, nil]
61
+ optional :rate_limit, Integer, nil?: true
62
+
63
+ # @!method initialize(url:, description: nil, disabled: nil, filter_types: nil, headers: nil, idempotency_key: nil, metadata: nil, rate_limit: nil, request_options: {})
64
+ # Some parameter documentations has been truncated, see
65
+ # {Dodopayments::Models::WebhookCreateParams} for more details.
66
+ #
67
+ # @param url [String] Url of the webhook
68
+ #
69
+ # @param description [String, nil] Filter events to the webhook.
70
+ #
71
+ # @param disabled [Boolean, nil] Create the webhook in a disabled state.
72
+ #
73
+ # @param filter_types [Array<Symbol, Dodopayments::Models::WebhookEventType>]
74
+ #
75
+ # @param headers [Hash{Symbol=>String}, nil] Custom headers to be passed
76
+ #
77
+ # @param idempotency_key [String, nil] The request's idempotency key
78
+ #
79
+ # @param metadata [Hash{Symbol=>String}, nil] Metadata to be passed to the webhook
80
+ #
81
+ # @param rate_limit [Integer, nil]
82
+ #
83
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Webhooks#create
6
+ class WebhookCreateResponse < Dodopayments::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The webhook's ID.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created_at
14
+ # Created at timestamp
15
+ #
16
+ # @return [String]
17
+ required :created_at, String
18
+
19
+ # @!attribute description
20
+ # An example webhook name.
21
+ #
22
+ # @return [String]
23
+ required :description, String
24
+
25
+ # @!attribute metadata
26
+ # Metadata of the webhook
27
+ #
28
+ # @return [Hash{Symbol=>String}]
29
+ required :metadata, Dodopayments::Internal::Type::HashOf[String]
30
+
31
+ # @!attribute updated_at
32
+ # Updated at timestamp
33
+ #
34
+ # @return [String]
35
+ required :updated_at, String
36
+
37
+ # @!attribute url
38
+ # Url endpoint of the webhook
39
+ #
40
+ # @return [String]
41
+ required :url, String
42
+
43
+ # @!attribute disabled
44
+ # Status of the webhook.
45
+ #
46
+ # If true, events are not sent
47
+ #
48
+ # @return [Boolean, nil]
49
+ optional :disabled, Dodopayments::Internal::Type::Boolean, nil?: true
50
+
51
+ # @!attribute filter_types
52
+ # Filter events to the webhook.
53
+ #
54
+ # Webhook event will only be sent for events in the list.
55
+ #
56
+ # @return [Array<String>, nil]
57
+ optional :filter_types, Dodopayments::Internal::Type::ArrayOf[String], nil?: true
58
+
59
+ # @!attribute rate_limit
60
+ # Configured rate limit
61
+ #
62
+ # @return [Integer, nil]
63
+ optional :rate_limit, Integer, nil?: true
64
+
65
+ # @!method initialize(id:, created_at:, description:, metadata:, updated_at:, url:, disabled: nil, filter_types: nil, rate_limit: nil)
66
+ # Some parameter documentations has been truncated, see
67
+ # {Dodopayments::Models::WebhookCreateResponse} for more details.
68
+ #
69
+ # @param id [String] The webhook's ID.
70
+ #
71
+ # @param created_at [String] Created at timestamp
72
+ #
73
+ # @param description [String] An example webhook name.
74
+ #
75
+ # @param metadata [Hash{Symbol=>String}] Metadata of the webhook
76
+ #
77
+ # @param updated_at [String] Updated at timestamp
78
+ #
79
+ # @param url [String] Url endpoint of the webhook
80
+ #
81
+ # @param disabled [Boolean, nil] Status of the webhook.
82
+ #
83
+ # @param filter_types [Array<String>, nil] Filter events to the webhook.
84
+ #
85
+ # @param rate_limit [Integer, nil] Configured rate limit
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Webhooks#delete
6
+ class WebhookDeleteParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # Event types for Dodo events
6
+ module WebhookEventType
7
+ extend Dodopayments::Internal::Type::Enum
8
+
9
+ PAYMENT_SUCCEEDED = :"payment.succeeded"
10
+ PAYMENT_FAILED = :"payment.failed"
11
+ PAYMENT_PROCESSING = :"payment.processing"
12
+ PAYMENT_CANCELLED = :"payment.cancelled"
13
+ REFUND_SUCCEEDED = :"refund.succeeded"
14
+ REFUND_FAILED = :"refund.failed"
15
+ DISPUTE_OPENED = :"dispute.opened"
16
+ DISPUTE_EXPIRED = :"dispute.expired"
17
+ DISPUTE_ACCEPTED = :"dispute.accepted"
18
+ DISPUTE_CANCELLED = :"dispute.cancelled"
19
+ DISPUTE_CHALLENGED = :"dispute.challenged"
20
+ DISPUTE_WON = :"dispute.won"
21
+ DISPUTE_LOST = :"dispute.lost"
22
+ SUBSCRIPTION_ACTIVE = :"subscription.active"
23
+ SUBSCRIPTION_RENEWED = :"subscription.renewed"
24
+ SUBSCRIPTION_ON_HOLD = :"subscription.on_hold"
25
+ SUBSCRIPTION_CANCELLED = :"subscription.cancelled"
26
+ SUBSCRIPTION_FAILED = :"subscription.failed"
27
+ SUBSCRIPTION_EXPIRED = :"subscription.expired"
28
+ SUBSCRIPTION_PLAN_CHANGED = :"subscription.plan_changed"
29
+ LICENSE_KEY_CREATED = :"license_key.created"
30
+
31
+ # @!method self.values
32
+ # @return [Array<Symbol>]
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Webhooks#list
6
+ class WebhookListParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!attribute iterator
11
+ # The iterator returned from a prior invocation
12
+ #
13
+ # @return [String, nil]
14
+ optional :iterator, String, nil?: true
15
+
16
+ # @!attribute limit
17
+ # Limit the number of returned items
18
+ #
19
+ # @return [Integer, nil]
20
+ optional :limit, Integer, nil?: true
21
+
22
+ # @!method initialize(iterator: nil, limit: nil, request_options: {})
23
+ # @param iterator [String, nil] The iterator returned from a prior invocation
24
+ #
25
+ # @param limit [Integer, nil] Limit the number of returned items
26
+ #
27
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Webhooks#list
6
+ class WebhookListResponse < Dodopayments::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The webhook's ID.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created_at
14
+ # Created at timestamp
15
+ #
16
+ # @return [String]
17
+ required :created_at, String
18
+
19
+ # @!attribute description
20
+ # An example webhook name.
21
+ #
22
+ # @return [String]
23
+ required :description, String
24
+
25
+ # @!attribute metadata
26
+ # Metadata of the webhook
27
+ #
28
+ # @return [Hash{Symbol=>String}]
29
+ required :metadata, Dodopayments::Internal::Type::HashOf[String]
30
+
31
+ # @!attribute updated_at
32
+ # Updated at timestamp
33
+ #
34
+ # @return [String]
35
+ required :updated_at, String
36
+
37
+ # @!attribute url
38
+ # Url endpoint of the webhook
39
+ #
40
+ # @return [String]
41
+ required :url, String
42
+
43
+ # @!attribute disabled
44
+ # Status of the webhook.
45
+ #
46
+ # If true, events are not sent
47
+ #
48
+ # @return [Boolean, nil]
49
+ optional :disabled, Dodopayments::Internal::Type::Boolean, nil?: true
50
+
51
+ # @!attribute filter_types
52
+ # Filter events to the webhook.
53
+ #
54
+ # Webhook event will only be sent for events in the list.
55
+ #
56
+ # @return [Array<String>, nil]
57
+ optional :filter_types, Dodopayments::Internal::Type::ArrayOf[String], nil?: true
58
+
59
+ # @!attribute rate_limit
60
+ # Configured rate limit
61
+ #
62
+ # @return [Integer, nil]
63
+ optional :rate_limit, Integer, nil?: true
64
+
65
+ # @!method initialize(id:, created_at:, description:, metadata:, updated_at:, url:, disabled: nil, filter_types: nil, rate_limit: nil)
66
+ # Some parameter documentations has been truncated, see
67
+ # {Dodopayments::Models::WebhookListResponse} for more details.
68
+ #
69
+ # @param id [String] The webhook's ID.
70
+ #
71
+ # @param created_at [String] Created at timestamp
72
+ #
73
+ # @param description [String] An example webhook name.
74
+ #
75
+ # @param metadata [Hash{Symbol=>String}] Metadata of the webhook
76
+ #
77
+ # @param updated_at [String] Updated at timestamp
78
+ #
79
+ # @param url [String] Url endpoint of the webhook
80
+ #
81
+ # @param disabled [Boolean, nil] Status of the webhook.
82
+ #
83
+ # @param filter_types [Array<String>, nil] Filter events to the webhook.
84
+ #
85
+ # @param rate_limit [Integer, nil] Configured rate limit
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,161 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class WebhookPayload < Dodopayments::Internal::Type::BaseModel
6
+ # @!attribute business_id
7
+ #
8
+ # @return [String]
9
+ required :business_id, String
10
+
11
+ # @!attribute data
12
+ # The latest data at the time of delivery attempt
13
+ #
14
+ # @return [Dodopayments::Models::WebhookPayload::Data::Payment, Dodopayments::Models::WebhookPayload::Data::Subscription, Dodopayments::Models::WebhookPayload::Data::Refund, Dodopayments::Models::WebhookPayload::Data::Dispute, Dodopayments::Models::WebhookPayload::Data::LicenseKey]
15
+ required :data, union: -> { Dodopayments::WebhookPayload::Data }
16
+
17
+ # @!attribute timestamp
18
+ # The timestamp of when the event occurred (not necessarily the same of when it
19
+ # was delivered)
20
+ #
21
+ # @return [Time]
22
+ required :timestamp, Time
23
+
24
+ # @!attribute type
25
+ # Event types for Dodo events
26
+ #
27
+ # @return [Symbol, Dodopayments::Models::WebhookEventType]
28
+ required :type, enum: -> { Dodopayments::WebhookEventType }
29
+
30
+ # @!method initialize(business_id:, data:, timestamp:, type:)
31
+ # Some parameter documentations has been truncated, see
32
+ # {Dodopayments::Models::WebhookPayload} for more details.
33
+ #
34
+ # @param business_id [String]
35
+ #
36
+ # @param data [Dodopayments::Models::WebhookPayload::Data::Payment, Dodopayments::Models::WebhookPayload::Data::Subscription, Dodopayments::Models::WebhookPayload::Data::Refund, Dodopayments::Models::WebhookPayload::Data::Dispute, Dodopayments::Models::WebhookPayload::Data::LicenseKey] The latest data at the time of delivery attempt
37
+ #
38
+ # @param timestamp [Time] The timestamp of when the event occurred (not necessarily the same of when it wa
39
+ #
40
+ # @param type [Symbol, Dodopayments::Models::WebhookEventType] Event types for Dodo events
41
+
42
+ # The latest data at the time of delivery attempt
43
+ #
44
+ # @see Dodopayments::Models::WebhookPayload#data
45
+ module Data
46
+ extend Dodopayments::Internal::Type::Union
47
+
48
+ variant -> { Dodopayments::WebhookPayload::Data::Payment }
49
+
50
+ # Response struct representing subscription details
51
+ variant -> { Dodopayments::WebhookPayload::Data::Subscription }
52
+
53
+ variant -> { Dodopayments::WebhookPayload::Data::Refund }
54
+
55
+ variant -> { Dodopayments::WebhookPayload::Data::Dispute }
56
+
57
+ variant -> { Dodopayments::WebhookPayload::Data::LicenseKey }
58
+
59
+ class Payment < Dodopayments::Models::Payment
60
+ # @!attribute payload_type
61
+ #
62
+ # @return [Symbol, Dodopayments::Models::WebhookPayload::Data::Payment::PayloadType]
63
+ required :payload_type, enum: -> { Dodopayments::WebhookPayload::Data::Payment::PayloadType }
64
+
65
+ # @!method initialize(payload_type:)
66
+ # @param payload_type [Symbol, Dodopayments::Models::WebhookPayload::Data::Payment::PayloadType]
67
+
68
+ module PayloadType
69
+ extend Dodopayments::Internal::Type::Enum
70
+
71
+ PAYMENT = :Payment
72
+
73
+ # @!method self.values
74
+ # @return [Array<Symbol>]
75
+ end
76
+ end
77
+
78
+ class Subscription < Dodopayments::Models::Subscription
79
+ # @!attribute payload_type
80
+ #
81
+ # @return [Symbol, Dodopayments::Models::WebhookPayload::Data::Subscription::PayloadType]
82
+ required :payload_type, enum: -> { Dodopayments::WebhookPayload::Data::Subscription::PayloadType }
83
+
84
+ # @!method initialize(payload_type:)
85
+ # Response struct representing subscription details
86
+ #
87
+ # @param payload_type [Symbol, Dodopayments::Models::WebhookPayload::Data::Subscription::PayloadType]
88
+
89
+ module PayloadType
90
+ extend Dodopayments::Internal::Type::Enum
91
+
92
+ SUBSCRIPTION = :Subscription
93
+
94
+ # @!method self.values
95
+ # @return [Array<Symbol>]
96
+ end
97
+ end
98
+
99
+ class Refund < Dodopayments::Models::Refund
100
+ # @!attribute payload_type
101
+ #
102
+ # @return [Symbol, Dodopayments::Models::WebhookPayload::Data::Refund::PayloadType]
103
+ required :payload_type, enum: -> { Dodopayments::WebhookPayload::Data::Refund::PayloadType }
104
+
105
+ # @!method initialize(payload_type:)
106
+ # @param payload_type [Symbol, Dodopayments::Models::WebhookPayload::Data::Refund::PayloadType]
107
+
108
+ module PayloadType
109
+ extend Dodopayments::Internal::Type::Enum
110
+
111
+ REFUND = :Refund
112
+
113
+ # @!method self.values
114
+ # @return [Array<Symbol>]
115
+ end
116
+ end
117
+
118
+ class Dispute < Dodopayments::Models::GetDispute
119
+ # @!attribute payload_type
120
+ #
121
+ # @return [Symbol, Dodopayments::Models::WebhookPayload::Data::Dispute::PayloadType]
122
+ required :payload_type, enum: -> { Dodopayments::WebhookPayload::Data::Dispute::PayloadType }
123
+
124
+ # @!method initialize(payload_type:)
125
+ # @param payload_type [Symbol, Dodopayments::Models::WebhookPayload::Data::Dispute::PayloadType]
126
+
127
+ module PayloadType
128
+ extend Dodopayments::Internal::Type::Enum
129
+
130
+ DISPUTE = :Dispute
131
+
132
+ # @!method self.values
133
+ # @return [Array<Symbol>]
134
+ end
135
+ end
136
+
137
+ class LicenseKey < Dodopayments::Models::LicenseKey
138
+ # @!attribute payload_type
139
+ #
140
+ # @return [Symbol, Dodopayments::Models::WebhookPayload::Data::LicenseKey::PayloadType]
141
+ required :payload_type, enum: -> { Dodopayments::WebhookPayload::Data::LicenseKey::PayloadType }
142
+
143
+ # @!method initialize(payload_type:)
144
+ # @param payload_type [Symbol, Dodopayments::Models::WebhookPayload::Data::LicenseKey::PayloadType]
145
+
146
+ module PayloadType
147
+ extend Dodopayments::Internal::Type::Enum
148
+
149
+ LICENSE_KEY = :LicenseKey
150
+
151
+ # @!method self.values
152
+ # @return [Array<Symbol>]
153
+ end
154
+ end
155
+
156
+ # @!method self.variants
157
+ # @return [Array(Dodopayments::Models::WebhookPayload::Data::Payment, Dodopayments::Models::WebhookPayload::Data::Subscription, Dodopayments::Models::WebhookPayload::Data::Refund, Dodopayments::Models::WebhookPayload::Data::Dispute, Dodopayments::Models::WebhookPayload::Data::LicenseKey)]
158
+ end
159
+ end
160
+ end
161
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Webhooks#retrieve
6
+ class WebhookRetrieveParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Webhooks#retrieve
6
+ class WebhookRetrieveResponse < Dodopayments::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The webhook's ID.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created_at
14
+ # Created at timestamp
15
+ #
16
+ # @return [String]
17
+ required :created_at, String
18
+
19
+ # @!attribute description
20
+ # An example webhook name.
21
+ #
22
+ # @return [String]
23
+ required :description, String
24
+
25
+ # @!attribute metadata
26
+ # Metadata of the webhook
27
+ #
28
+ # @return [Hash{Symbol=>String}]
29
+ required :metadata, Dodopayments::Internal::Type::HashOf[String]
30
+
31
+ # @!attribute updated_at
32
+ # Updated at timestamp
33
+ #
34
+ # @return [String]
35
+ required :updated_at, String
36
+
37
+ # @!attribute url
38
+ # Url endpoint of the webhook
39
+ #
40
+ # @return [String]
41
+ required :url, String
42
+
43
+ # @!attribute disabled
44
+ # Status of the webhook.
45
+ #
46
+ # If true, events are not sent
47
+ #
48
+ # @return [Boolean, nil]
49
+ optional :disabled, Dodopayments::Internal::Type::Boolean, nil?: true
50
+
51
+ # @!attribute filter_types
52
+ # Filter events to the webhook.
53
+ #
54
+ # Webhook event will only be sent for events in the list.
55
+ #
56
+ # @return [Array<String>, nil]
57
+ optional :filter_types, Dodopayments::Internal::Type::ArrayOf[String], nil?: true
58
+
59
+ # @!attribute rate_limit
60
+ # Configured rate limit
61
+ #
62
+ # @return [Integer, nil]
63
+ optional :rate_limit, Integer, nil?: true
64
+
65
+ # @!method initialize(id:, created_at:, description:, metadata:, updated_at:, url:, disabled: nil, filter_types: nil, rate_limit: nil)
66
+ # Some parameter documentations has been truncated, see
67
+ # {Dodopayments::Models::WebhookRetrieveResponse} for more details.
68
+ #
69
+ # @param id [String] The webhook's ID.
70
+ #
71
+ # @param created_at [String] Created at timestamp
72
+ #
73
+ # @param description [String] An example webhook name.
74
+ #
75
+ # @param metadata [Hash{Symbol=>String}] Metadata of the webhook
76
+ #
77
+ # @param updated_at [String] Updated at timestamp
78
+ #
79
+ # @param url [String] Url endpoint of the webhook
80
+ #
81
+ # @param disabled [Boolean, nil] Status of the webhook.
82
+ #
83
+ # @param filter_types [Array<String>, nil] Filter events to the webhook.
84
+ #
85
+ # @param rate_limit [Integer, nil] Configured rate limit
86
+ end
87
+ end
88
+ end