dodopayments 1.20.0 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/README.md +144 -60
  4. data/SECURITY.md +2 -2
  5. data/lib/dodopayments/client.rb +25 -12
  6. data/lib/dodopayments/errors.rb +23 -1
  7. data/lib/dodopayments/file_part.rb +2 -2
  8. data/lib/dodopayments/internal/cursor_page_pagination.rb +90 -0
  9. data/lib/dodopayments/internal/default_page_number_pagination.rb +2 -2
  10. data/lib/dodopayments/internal/transport/base_client.rb +90 -10
  11. data/lib/dodopayments/internal/transport/pooled_net_requester.rb +17 -1
  12. data/lib/dodopayments/internal/type/array_of.rb +16 -2
  13. data/lib/dodopayments/internal/type/base_model.rb +152 -59
  14. data/lib/dodopayments/internal/type/boolean.rb +15 -1
  15. data/lib/dodopayments/internal/type/converter.rb +86 -33
  16. data/lib/dodopayments/internal/type/enum.rb +30 -6
  17. data/lib/dodopayments/internal/type/file_input.rb +13 -1
  18. data/lib/dodopayments/internal/type/hash_of.rb +16 -2
  19. data/lib/dodopayments/internal/type/request_parameters.rb +6 -12
  20. data/lib/dodopayments/internal/type/union.rb +44 -31
  21. data/lib/dodopayments/internal/type/unknown.rb +15 -1
  22. data/lib/dodopayments/internal/util.rb +136 -12
  23. data/lib/dodopayments/internal.rb +9 -0
  24. data/lib/dodopayments/models/addon_create_params.rb +6 -10
  25. data/lib/dodopayments/models/addon_list_params.rb +4 -4
  26. data/lib/dodopayments/models/addon_response.rb +6 -10
  27. data/lib/dodopayments/models/addon_update_params.rb +6 -10
  28. data/lib/dodopayments/models/attach_addon.rb +21 -0
  29. data/lib/dodopayments/models/billing_address.rb +3 -3
  30. data/lib/dodopayments/models/brand.rb +107 -0
  31. data/lib/dodopayments/models/brand_create_params.rb +44 -0
  32. data/lib/dodopayments/models/{webhook_event_retrieve_params.rb → brand_list_params.rb} +2 -2
  33. data/lib/dodopayments/models/brand_list_response.rb +17 -0
  34. data/lib/dodopayments/models/brand_retrieve_params.rb +14 -0
  35. data/lib/dodopayments/models/brand_update_images_params.rb +14 -0
  36. data/lib/dodopayments/models/brand_update_images_response.rb +25 -0
  37. data/lib/dodopayments/models/brand_update_params.rb +43 -0
  38. data/lib/dodopayments/models/create_new_customer.rb +0 -1
  39. data/lib/dodopayments/models/customer_list_params.rb +13 -5
  40. data/lib/dodopayments/models/customer_request.rb +3 -3
  41. data/lib/dodopayments/models/customers/customer_portal_create_params.rb +2 -2
  42. data/lib/dodopayments/models/discount.rb +15 -4
  43. data/lib/dodopayments/models/discount_create_params.rb +17 -6
  44. data/lib/dodopayments/models/discount_list_params.rb +4 -4
  45. data/lib/dodopayments/models/discount_update_params.rb +16 -5
  46. data/lib/dodopayments/models/dispute.rb +15 -7
  47. data/lib/dodopayments/models/dispute_list_params.rb +44 -16
  48. data/lib/dodopayments/models/dispute_list_response.rb +77 -0
  49. data/lib/dodopayments/models/get_dispute.rb +101 -0
  50. data/lib/dodopayments/models/license_key.rb +3 -3
  51. data/lib/dodopayments/models/license_key_duration.rb +1 -1
  52. data/lib/dodopayments/models/license_key_list_params.rb +23 -11
  53. data/lib/dodopayments/models/license_key_update_params.rb +3 -3
  54. data/lib/dodopayments/models/misc_list_supported_countries_response.rb +1 -1
  55. data/lib/dodopayments/models/new_customer.rb +27 -0
  56. data/lib/dodopayments/models/one_time_product_cart_item.rb +0 -1
  57. data/lib/dodopayments/models/payment.rb +79 -18
  58. data/lib/dodopayments/models/payment_create_params.rb +22 -41
  59. data/lib/dodopayments/models/payment_create_response.rb +16 -6
  60. data/lib/dodopayments/models/payment_list_params.rb +44 -16
  61. data/lib/dodopayments/models/payment_list_response.rb +16 -4
  62. data/lib/dodopayments/models/payment_method_types.rb +31 -0
  63. data/lib/dodopayments/models/payment_retrieve_line_items_params.rb +14 -0
  64. data/lib/dodopayments/models/payment_retrieve_line_items_response.rb +63 -0
  65. data/lib/dodopayments/models/payout_list_params.rb +4 -4
  66. data/lib/dodopayments/models/payout_list_response.rb +7 -3
  67. data/lib/dodopayments/models/price.rb +57 -30
  68. data/lib/dodopayments/models/product.rb +85 -12
  69. data/lib/dodopayments/models/product_create_params.rb +61 -12
  70. data/lib/dodopayments/models/product_list_params.rb +15 -7
  71. data/lib/dodopayments/models/product_list_response.rb +19 -11
  72. data/lib/dodopayments/models/product_update_files_params.rb +20 -0
  73. data/lib/dodopayments/models/product_update_files_response.rb +22 -0
  74. data/lib/dodopayments/models/product_update_params.rb +70 -13
  75. data/lib/dodopayments/models/products/image_update_params.rb +2 -2
  76. data/lib/dodopayments/models/refund.rb +15 -5
  77. data/lib/dodopayments/models/refund_create_params.rb +38 -1
  78. data/lib/dodopayments/models/refund_list_params.rb +26 -13
  79. data/lib/dodopayments/models/subscription.rb +38 -18
  80. data/lib/dodopayments/models/subscription_change_plan_params.rb +19 -3
  81. data/lib/dodopayments/models/subscription_charge_params.rb +38 -2
  82. data/lib/dodopayments/models/subscription_create_params.rb +53 -66
  83. data/lib/dodopayments/models/subscription_create_response.rb +24 -8
  84. data/lib/dodopayments/models/subscription_list_params.rb +37 -14
  85. data/lib/dodopayments/models/subscription_list_response.rb +37 -16
  86. data/lib/dodopayments/models/subscription_status.rb +0 -1
  87. data/lib/dodopayments/models/subscription_update_params.rb +10 -6
  88. data/lib/dodopayments/models/webhook_create_params.rb +86 -0
  89. data/lib/dodopayments/models/webhook_create_response.rb +88 -0
  90. data/lib/dodopayments/models/webhook_delete_params.rb +14 -0
  91. data/lib/dodopayments/models/webhook_event_type.rb +35 -0
  92. data/lib/dodopayments/models/webhook_list_params.rb +30 -0
  93. data/lib/dodopayments/models/webhook_list_response.rb +88 -0
  94. data/lib/dodopayments/models/webhook_payload.rb +161 -0
  95. data/lib/dodopayments/models/webhook_retrieve_params.rb +14 -0
  96. data/lib/dodopayments/models/webhook_retrieve_response.rb +88 -0
  97. data/lib/dodopayments/models/webhook_update_params.rb +69 -0
  98. data/lib/dodopayments/models/webhook_update_response.rb +88 -0
  99. data/lib/dodopayments/models/webhooks/header_retrieve_params.rb +16 -0
  100. data/lib/dodopayments/models/webhooks/header_retrieve_response.rb +31 -0
  101. data/lib/dodopayments/models/webhooks/header_update_params.rb +24 -0
  102. data/lib/dodopayments/models/your_webhook_url_create_params.rb +32 -0
  103. data/lib/dodopayments/models.rb +241 -0
  104. data/lib/dodopayments/request_options.rb +4 -0
  105. data/lib/dodopayments/resources/addons.rb +13 -21
  106. data/lib/dodopayments/resources/brands.rb +119 -0
  107. data/lib/dodopayments/resources/customers/customer_portal.rb +3 -3
  108. data/lib/dodopayments/resources/customers.rb +12 -10
  109. data/lib/dodopayments/resources/discounts.rb +24 -19
  110. data/lib/dodopayments/resources/disputes.rb +12 -12
  111. data/lib/dodopayments/resources/invoices/payments.rb +3 -2
  112. data/lib/dodopayments/resources/license_key_instances.rb +5 -5
  113. data/lib/dodopayments/resources/license_keys.rb +13 -13
  114. data/lib/dodopayments/resources/licenses.rb +4 -4
  115. data/lib/dodopayments/resources/misc.rb +1 -1
  116. data/lib/dodopayments/resources/payments.rb +38 -19
  117. data/lib/dodopayments/resources/payouts.rb +3 -3
  118. data/lib/dodopayments/resources/products/images.rb +2 -2
  119. data/lib/dodopayments/resources/products.rb +58 -24
  120. data/lib/dodopayments/resources/refunds.rb +14 -12
  121. data/lib/dodopayments/resources/subscriptions.rb +44 -29
  122. data/lib/dodopayments/resources/webhook_events.rb +0 -52
  123. data/lib/dodopayments/resources/webhooks/headers.rb +59 -0
  124. data/lib/dodopayments/resources/webhooks.rb +157 -0
  125. data/lib/dodopayments/resources/your_webhook_url.rb +56 -0
  126. data/lib/dodopayments/version.rb +1 -1
  127. data/lib/dodopayments.rb +47 -8
  128. data/rbi/dodopayments/client.rbi +24 -10
  129. data/rbi/dodopayments/errors.rbi +51 -16
  130. data/rbi/dodopayments/file_part.rbi +9 -6
  131. data/rbi/dodopayments/internal/cursor_page_pagination.rbi +25 -0
  132. data/rbi/dodopayments/internal/default_page_number_pagination.rbi +2 -1
  133. data/rbi/dodopayments/internal/transport/base_client.rbi +165 -77
  134. data/rbi/dodopayments/internal/transport/pooled_net_requester.rbi +33 -13
  135. data/rbi/dodopayments/internal/type/array_of.rbi +40 -24
  136. data/rbi/dodopayments/internal/type/base_model.rbi +160 -70
  137. data/rbi/dodopayments/internal/type/base_page.rbi +13 -8
  138. data/rbi/dodopayments/internal/type/boolean.rbi +24 -14
  139. data/rbi/dodopayments/internal/type/converter.rbi +135 -33
  140. data/rbi/dodopayments/internal/type/enum.rbi +29 -13
  141. data/rbi/dodopayments/internal/type/file_input.rbi +13 -4
  142. data/rbi/dodopayments/internal/type/hash_of.rbi +40 -24
  143. data/rbi/dodopayments/internal/type/request_parameters.rbi +14 -4
  144. data/rbi/dodopayments/internal/type/union.rbi +71 -23
  145. data/rbi/dodopayments/internal/type/unknown.rbi +24 -6
  146. data/rbi/dodopayments/internal/util.rbi +274 -89
  147. data/rbi/dodopayments/internal.rbi +7 -0
  148. data/rbi/dodopayments/models/addon_cart_response_item.rbi +16 -4
  149. data/rbi/dodopayments/models/addon_create_params.rbi +33 -24
  150. data/rbi/dodopayments/models/addon_list_params.rbi +29 -17
  151. data/rbi/dodopayments/models/addon_response.rbi +33 -27
  152. data/rbi/dodopayments/models/addon_retrieve_params.rbi +18 -5
  153. data/rbi/dodopayments/models/addon_update_images_params.rbi +18 -5
  154. data/rbi/dodopayments/models/addon_update_images_response.rbi +13 -3
  155. data/rbi/dodopayments/models/addon_update_params.rbi +34 -25
  156. data/rbi/dodopayments/models/attach_addon.rbi +28 -0
  157. data/rbi/dodopayments/models/attach_existing_customer.rbi +13 -3
  158. data/rbi/dodopayments/models/billing_address.rbi +24 -12
  159. data/rbi/dodopayments/models/brand.rbi +132 -0
  160. data/rbi/dodopayments/models/brand_create_params.rbi +68 -0
  161. data/rbi/dodopayments/models/brand_list_params.rbi +29 -0
  162. data/rbi/dodopayments/models/brand_list_response.rbi +34 -0
  163. data/rbi/dodopayments/models/brand_retrieve_params.rbi +32 -0
  164. data/rbi/dodopayments/models/brand_update_images_params.rbi +32 -0
  165. data/rbi/dodopayments/models/brand_update_images_response.rbi +36 -0
  166. data/rbi/dodopayments/models/brand_update_params.rbi +64 -0
  167. data/rbi/dodopayments/models/country_code.rbi +255 -252
  168. data/rbi/dodopayments/models/create_new_customer.rbi +27 -11
  169. data/rbi/dodopayments/models/currency.rbi +149 -148
  170. data/rbi/dodopayments/models/customer.rbi +27 -15
  171. data/rbi/dodopayments/models/customer_create_params.rbi +22 -14
  172. data/rbi/dodopayments/models/customer_limited_details.rbi +21 -4
  173. data/rbi/dodopayments/models/customer_list_params.rbi +43 -17
  174. data/rbi/dodopayments/models/customer_portal_session.rbi +13 -3
  175. data/rbi/dodopayments/models/customer_request.rbi +10 -2
  176. data/rbi/dodopayments/models/customer_retrieve_params.rbi +18 -5
  177. data/rbi/dodopayments/models/customer_update_params.rbi +21 -13
  178. data/rbi/dodopayments/models/customers/customer_portal_create_params.rbi +26 -8
  179. data/rbi/dodopayments/models/discount.rbi +42 -22
  180. data/rbi/dodopayments/models/discount_create_params.rbi +43 -20
  181. data/rbi/dodopayments/models/discount_delete_params.rbi +18 -5
  182. data/rbi/dodopayments/models/discount_list_params.rbi +32 -17
  183. data/rbi/dodopayments/models/discount_retrieve_params.rbi +18 -5
  184. data/rbi/dodopayments/models/discount_type.rbi +7 -4
  185. data/rbi/dodopayments/models/discount_update_params.rbi +43 -20
  186. data/rbi/dodopayments/models/dispute.rbi +41 -23
  187. data/rbi/dodopayments/models/dispute_list_params.rbi +178 -33
  188. data/rbi/dodopayments/models/dispute_list_response.rbi +98 -0
  189. data/rbi/dodopayments/models/dispute_retrieve_params.rbi +18 -5
  190. data/rbi/dodopayments/models/dispute_stage.rbi +11 -6
  191. data/rbi/dodopayments/models/dispute_status.rbi +20 -10
  192. data/rbi/dodopayments/models/get_dispute.rbi +124 -0
  193. data/rbi/dodopayments/models/intent_status.rbi +32 -14
  194. data/rbi/dodopayments/models/invoices/payment_retrieve_params.rbi +18 -5
  195. data/rbi/dodopayments/models/license_activate_params.rbi +21 -6
  196. data/rbi/dodopayments/models/license_deactivate_params.rbi +21 -13
  197. data/rbi/dodopayments/models/license_key.rbi +31 -23
  198. data/rbi/dodopayments/models/license_key_duration.rbi +24 -5
  199. data/rbi/dodopayments/models/license_key_instance.rbi +19 -4
  200. data/rbi/dodopayments/models/license_key_instance_list_params.rbi +23 -14
  201. data/rbi/dodopayments/models/license_key_instance_retrieve_params.rbi +18 -5
  202. data/rbi/dodopayments/models/license_key_instance_update_params.rbi +19 -6
  203. data/rbi/dodopayments/models/license_key_list_params.rbi +91 -26
  204. data/rbi/dodopayments/models/license_key_retrieve_params.rbi +18 -5
  205. data/rbi/dodopayments/models/license_key_status.rbi +10 -6
  206. data/rbi/dodopayments/models/license_key_update_params.rbi +23 -14
  207. data/rbi/dodopayments/models/license_validate_params.rbi +25 -13
  208. data/rbi/dodopayments/models/license_validate_response.rbi +13 -3
  209. data/rbi/dodopayments/models/misc_list_supported_countries_params.rbi +18 -5
  210. data/rbi/dodopayments/models/misc_list_supported_countries_response.rbi +1 -1
  211. data/rbi/dodopayments/models/new_customer.rbi +39 -0
  212. data/rbi/dodopayments/models/one_time_product_cart_item.rbi +23 -4
  213. data/rbi/dodopayments/models/payment.rbi +149 -54
  214. data/rbi/dodopayments/models/payment_create_params.rbi +67 -87
  215. data/rbi/dodopayments/models/payment_create_response.rbi +45 -22
  216. data/rbi/dodopayments/models/payment_list_params.rbi +149 -32
  217. data/rbi/dodopayments/models/payment_list_response.rbi +47 -26
  218. data/rbi/dodopayments/models/payment_method_types.rbi +52 -0
  219. data/rbi/dodopayments/models/payment_retrieve_line_items_params.rbi +32 -0
  220. data/rbi/dodopayments/models/payment_retrieve_line_items_response.rbi +114 -0
  221. data/rbi/dodopayments/models/payment_retrieve_params.rbi +18 -5
  222. data/rbi/dodopayments/models/payout_list_params.rbi +29 -17
  223. data/rbi/dodopayments/models/payout_list_response.rbi +82 -35
  224. data/rbi/dodopayments/models/price.rbi +142 -55
  225. data/rbi/dodopayments/models/product.rbi +177 -38
  226. data/rbi/dodopayments/models/product_create_params.rbi +151 -36
  227. data/rbi/dodopayments/models/product_delete_params.rbi +18 -5
  228. data/rbi/dodopayments/models/product_list_params.rbi +50 -21
  229. data/rbi/dodopayments/models/product_list_response.rbi +57 -42
  230. data/rbi/dodopayments/models/product_retrieve_params.rbi +18 -5
  231. data/rbi/dodopayments/models/product_unarchive_params.rbi +18 -5
  232. data/rbi/dodopayments/models/product_update_files_params.rbi +38 -0
  233. data/rbi/dodopayments/models/product_update_files_response.rbi +29 -0
  234. data/rbi/dodopayments/models/product_update_params.rbi +160 -37
  235. data/rbi/dodopayments/models/products/image_update_params.rbi +20 -8
  236. data/rbi/dodopayments/models/products/image_update_response.rbi +18 -4
  237. data/rbi/dodopayments/models/refund.rbi +39 -21
  238. data/rbi/dodopayments/models/refund_create_params.rbi +87 -11
  239. data/rbi/dodopayments/models/refund_list_params.rbi +86 -29
  240. data/rbi/dodopayments/models/refund_retrieve_params.rbi +18 -5
  241. data/rbi/dodopayments/models/refund_status.rbi +10 -7
  242. data/rbi/dodopayments/models/subscription.rbi +83 -47
  243. data/rbi/dodopayments/models/subscription_change_plan_params.rbi +68 -21
  244. data/rbi/dodopayments/models/subscription_charge_params.rbi +65 -6
  245. data/rbi/dodopayments/models/subscription_charge_response.rbi +13 -3
  246. data/rbi/dodopayments/models/subscription_create_params.rbi +136 -128
  247. data/rbi/dodopayments/models/subscription_create_response.rbi +51 -22
  248. data/rbi/dodopayments/models/subscription_list_params.rbi +125 -29
  249. data/rbi/dodopayments/models/subscription_list_response.rbi +85 -44
  250. data/rbi/dodopayments/models/subscription_retrieve_params.rbi +18 -5
  251. data/rbi/dodopayments/models/subscription_status.rbi +16 -10
  252. data/rbi/dodopayments/models/subscription_update_params.rbi +63 -33
  253. data/rbi/dodopayments/models/tax_category.rbi +11 -7
  254. data/rbi/dodopayments/models/time_interval.rbi +10 -7
  255. data/rbi/dodopayments/models/webhook_create_params.rbi +115 -0
  256. data/rbi/dodopayments/models/webhook_create_response.rbi +112 -0
  257. data/rbi/dodopayments/models/webhook_delete_params.rbi +32 -0
  258. data/rbi/dodopayments/models/webhook_event_type.rbi +102 -0
  259. data/rbi/dodopayments/models/webhook_list_params.rbi +54 -0
  260. data/rbi/dodopayments/models/webhook_list_response.rbi +112 -0
  261. data/rbi/dodopayments/models/webhook_payload.rbi +440 -0
  262. data/rbi/dodopayments/models/webhook_retrieve_params.rbi +32 -0
  263. data/rbi/dodopayments/models/webhook_retrieve_response.rbi +112 -0
  264. data/rbi/dodopayments/models/webhook_update_params.rbi +94 -0
  265. data/rbi/dodopayments/models/webhook_update_response.rbi +112 -0
  266. data/rbi/dodopayments/models/webhooks/header_retrieve_params.rbi +34 -0
  267. data/rbi/dodopayments/models/webhooks/header_retrieve_response.rbi +50 -0
  268. data/rbi/dodopayments/models/webhooks/header_update_params.rbi +48 -0
  269. data/rbi/dodopayments/models/your_webhook_url_create_params.rbi +56 -0
  270. data/rbi/dodopayments/models.rbi +209 -0
  271. data/rbi/dodopayments/request_options.rbi +18 -7
  272. data/rbi/dodopayments/resources/addons.rbi +44 -27
  273. data/rbi/dodopayments/resources/brands.rbi +89 -0
  274. data/rbi/dodopayments/resources/customers/customer_portal.rbi +8 -6
  275. data/rbi/dodopayments/resources/customers.rbi +31 -17
  276. data/rbi/dodopayments/resources/discounts.rbi +54 -22
  277. data/rbi/dodopayments/resources/disputes.rbi +26 -14
  278. data/rbi/dodopayments/resources/invoices/payments.rbi +10 -3
  279. data/rbi/dodopayments/resources/invoices.rbi +2 -1
  280. data/rbi/dodopayments/resources/license_key_instances.rbi +25 -10
  281. data/rbi/dodopayments/resources/license_keys.rbi +29 -15
  282. data/rbi/dodopayments/resources/licenses.rbi +25 -12
  283. data/rbi/dodopayments/resources/misc.rbi +7 -4
  284. data/rbi/dodopayments/resources/payments.rbi +61 -27
  285. data/rbi/dodopayments/resources/payouts.rbi +12 -6
  286. data/rbi/dodopayments/resources/products/images.rbi +10 -4
  287. data/rbi/dodopayments/resources/products.rbi +118 -41
  288. data/rbi/dodopayments/resources/refunds.rbi +35 -15
  289. data/rbi/dodopayments/resources/subscriptions.rbi +98 -50
  290. data/rbi/dodopayments/resources/webhook_events.rbi +2 -34
  291. data/rbi/dodopayments/resources/webhooks/headers.rbi +40 -0
  292. data/rbi/dodopayments/resources/webhooks.rbi +127 -0
  293. data/rbi/dodopayments/resources/your_webhook_url.rbi +51 -0
  294. data/sig/dodopayments/client.rbs +8 -2
  295. data/sig/dodopayments/errors.rbs +9 -0
  296. data/sig/dodopayments/internal/cursor_page_pagination.rbs +15 -0
  297. data/sig/dodopayments/internal/transport/base_client.rbs +17 -2
  298. data/sig/dodopayments/internal/transport/pooled_net_requester.rbs +4 -0
  299. data/sig/dodopayments/internal/type/array_of.rbs +3 -0
  300. data/sig/dodopayments/internal/type/base_model.rbs +13 -5
  301. data/sig/dodopayments/internal/type/base_page.rbs +1 -1
  302. data/sig/dodopayments/internal/type/boolean.rbs +3 -0
  303. data/sig/dodopayments/internal/type/converter.rbs +26 -1
  304. data/sig/dodopayments/internal/type/enum.rbs +3 -0
  305. data/sig/dodopayments/internal/type/file_input.rbs +2 -0
  306. data/sig/dodopayments/internal/type/hash_of.rbs +3 -0
  307. data/sig/dodopayments/internal/type/request_parameters.rbs +5 -1
  308. data/sig/dodopayments/internal/type/union.rbs +5 -2
  309. data/sig/dodopayments/internal/type/unknown.rbs +3 -0
  310. data/sig/dodopayments/internal/util.rbs +27 -0
  311. data/sig/dodopayments/internal.rbs +4 -0
  312. data/sig/dodopayments/models/addon_cart_response_item.rbs +1 -1
  313. data/sig/dodopayments/models/addon_create_params.rbs +8 -1
  314. data/sig/dodopayments/models/addon_list_params.rbs +14 -6
  315. data/sig/dodopayments/models/addon_response.rbs +12 -1
  316. data/sig/dodopayments/models/addon_retrieve_params.rbs +1 -1
  317. data/sig/dodopayments/models/addon_update_images_params.rbs +1 -1
  318. data/sig/dodopayments/models/addon_update_images_response.rbs +1 -1
  319. data/sig/dodopayments/models/addon_update_params.rbs +9 -1
  320. data/sig/dodopayments/models/attach_addon.rbs +15 -0
  321. data/sig/dodopayments/models/attach_existing_customer.rbs +1 -1
  322. data/sig/dodopayments/models/billing_address.rbs +7 -1
  323. data/sig/dodopayments/models/brand.rbs +88 -0
  324. data/sig/dodopayments/models/brand_create_params.rbs +46 -0
  325. data/sig/dodopayments/models/{webhook_event_retrieve_params.rbs → brand_list_params.rbs} +3 -3
  326. data/sig/dodopayments/models/brand_list_response.rbs +13 -0
  327. data/sig/dodopayments/models/brand_retrieve_params.rbs +15 -0
  328. data/sig/dodopayments/models/brand_update_images_params.rbs +15 -0
  329. data/sig/dodopayments/models/brand_update_images_response.rbs +15 -0
  330. data/sig/dodopayments/models/brand_update_params.rbs +41 -0
  331. data/sig/dodopayments/models/create_new_customer.rbs +6 -1
  332. data/sig/dodopayments/models/customer.rbs +8 -1
  333. data/sig/dodopayments/models/customer_create_params.rbs +6 -1
  334. data/sig/dodopayments/models/customer_limited_details.rbs +1 -1
  335. data/sig/dodopayments/models/customer_list_params.rbs +20 -6
  336. data/sig/dodopayments/models/customer_portal_session.rbs +1 -1
  337. data/sig/dodopayments/models/customer_request.rbs +2 -3
  338. data/sig/dodopayments/models/customer_retrieve_params.rbs +1 -1
  339. data/sig/dodopayments/models/customer_update_params.rbs +5 -1
  340. data/sig/dodopayments/models/customers/customer_portal_create_params.rbs +9 -4
  341. data/sig/dodopayments/models/discount.rbs +18 -1
  342. data/sig/dodopayments/models/discount_create_params.rbs +15 -1
  343. data/sig/dodopayments/models/discount_delete_params.rbs +1 -1
  344. data/sig/dodopayments/models/discount_list_params.rbs +14 -6
  345. data/sig/dodopayments/models/discount_retrieve_params.rbs +1 -1
  346. data/sig/dodopayments/models/discount_update_params.rbs +15 -1
  347. data/sig/dodopayments/models/dispute.rbs +17 -3
  348. data/sig/dodopayments/models/dispute_list_params.rbs +84 -22
  349. data/sig/dodopayments/models/dispute_list_response.rbs +55 -0
  350. data/sig/dodopayments/models/dispute_retrieve_params.rbs +1 -1
  351. data/sig/dodopayments/models/get_dispute.rbs +70 -0
  352. data/sig/dodopayments/models/invoices/payment_retrieve_params.rbs +1 -1
  353. data/sig/dodopayments/models/license_activate_params.rbs +5 -1
  354. data/sig/dodopayments/models/license_deactivate_params.rbs +5 -1
  355. data/sig/dodopayments/models/license_key.rbs +14 -1
  356. data/sig/dodopayments/models/license_key_duration.rbs +4 -1
  357. data/sig/dodopayments/models/license_key_instance.rbs +7 -1
  358. data/sig/dodopayments/models/license_key_instance_list_params.rbs +6 -1
  359. data/sig/dodopayments/models/license_key_instance_retrieve_params.rbs +1 -1
  360. data/sig/dodopayments/models/license_key_instance_update_params.rbs +4 -1
  361. data/sig/dodopayments/models/license_key_list_params.rbs +47 -16
  362. data/sig/dodopayments/models/license_key_retrieve_params.rbs +1 -1
  363. data/sig/dodopayments/models/license_key_update_params.rbs +6 -1
  364. data/sig/dodopayments/models/license_validate_params.rbs +5 -1
  365. data/sig/dodopayments/models/license_validate_response.rbs +1 -1
  366. data/sig/dodopayments/models/misc_list_supported_countries_params.rbs +1 -1
  367. data/sig/dodopayments/models/new_customer.rbs +21 -0
  368. data/sig/dodopayments/models/one_time_product_cart_item.rbs +5 -1
  369. data/sig/dodopayments/models/payment.rbs +76 -17
  370. data/sig/dodopayments/models/payment_create_params.rbs +23 -55
  371. data/sig/dodopayments/models/payment_create_response.rbs +21 -7
  372. data/sig/dodopayments/models/payment_list_params.rbs +85 -22
  373. data/sig/dodopayments/models/payment_list_response.rbs +25 -4
  374. data/sig/dodopayments/models/payment_method_types.rbs +48 -0
  375. data/sig/dodopayments/models/payment_retrieve_line_items_params.rbs +15 -0
  376. data/sig/dodopayments/models/payment_retrieve_line_items_response.rbs +67 -0
  377. data/sig/dodopayments/models/payment_retrieve_params.rbs +1 -1
  378. data/sig/dodopayments/models/payout_list_params.rbs +14 -6
  379. data/sig/dodopayments/models/payout_list_response.rbs +17 -1
  380. data/sig/dodopayments/models/price.rbs +53 -13
  381. data/sig/dodopayments/models/product.rbs +80 -4
  382. data/sig/dodopayments/models/product_create_params.rbs +45 -4
  383. data/sig/dodopayments/models/product_delete_params.rbs +1 -1
  384. data/sig/dodopayments/models/product_list_params.rbs +29 -10
  385. data/sig/dodopayments/models/product_list_response.rbs +20 -1
  386. data/sig/dodopayments/models/product_retrieve_params.rbs +1 -1
  387. data/sig/dodopayments/models/product_unarchive_params.rbs +1 -1
  388. data/sig/dodopayments/models/product_update_files_params.rbs +23 -0
  389. data/sig/dodopayments/models/product_update_files_response.rbs +15 -0
  390. data/sig/dodopayments/models/product_update_params.rbs +58 -4
  391. data/sig/dodopayments/models/products/image_update_params.rbs +9 -4
  392. data/sig/dodopayments/models/products/image_update_response.rbs +1 -1
  393. data/sig/dodopayments/models/refund.rbs +15 -1
  394. data/sig/dodopayments/models/refund_create_params.rbs +38 -2
  395. data/sig/dodopayments/models/refund_list_params.rbs +54 -19
  396. data/sig/dodopayments/models/refund_retrieve_params.rbs +1 -1
  397. data/sig/dodopayments/models/subscription.rbs +43 -10
  398. data/sig/dodopayments/models/subscription_change_plan_params.rbs +16 -3
  399. data/sig/dodopayments/models/subscription_charge_params.rbs +27 -2
  400. data/sig/dodopayments/models/subscription_charge_response.rbs +1 -1
  401. data/sig/dodopayments/models/subscription_create_params.rbs +58 -73
  402. data/sig/dodopayments/models/subscription_create_response.rbs +26 -7
  403. data/sig/dodopayments/models/subscription_list_params.rbs +64 -19
  404. data/sig/dodopayments/models/subscription_list_response.rbs +39 -7
  405. data/sig/dodopayments/models/subscription_retrieve_params.rbs +1 -1
  406. data/sig/dodopayments/models/subscription_status.rbs +1 -2
  407. data/sig/dodopayments/models/subscription_update_params.rbs +20 -8
  408. data/sig/dodopayments/models/webhook_create_params.rbs +65 -0
  409. data/sig/dodopayments/models/webhook_create_response.rbs +60 -0
  410. data/sig/dodopayments/models/webhook_delete_params.rbs +15 -0
  411. data/sig/dodopayments/models/webhook_event_type.rbs +54 -0
  412. data/sig/dodopayments/models/webhook_list_params.rbs +28 -0
  413. data/sig/dodopayments/models/webhook_list_response.rbs +60 -0
  414. data/sig/dodopayments/models/webhook_payload.rbs +203 -0
  415. data/sig/dodopayments/models/webhook_retrieve_params.rbs +15 -0
  416. data/sig/dodopayments/models/webhook_retrieve_response.rbs +60 -0
  417. data/sig/dodopayments/models/webhook_update_params.rbs +51 -0
  418. data/sig/dodopayments/models/webhook_update_response.rbs +60 -0
  419. data/sig/dodopayments/models/webhooks/header_retrieve_params.rbs +17 -0
  420. data/sig/dodopayments/models/webhooks/header_retrieve_response.rbs +24 -0
  421. data/sig/dodopayments/models/webhooks/header_update_params.rbs +26 -0
  422. data/sig/dodopayments/models/your_webhook_url_create_params.rbs +42 -0
  423. data/sig/dodopayments/models.rbs +201 -0
  424. data/sig/dodopayments/request_options.rbs +1 -1
  425. data/sig/dodopayments/resources/addons.rbs +6 -6
  426. data/sig/dodopayments/resources/brands.rbs +39 -0
  427. data/sig/dodopayments/resources/customers/customer_portal.rbs +2 -2
  428. data/sig/dodopayments/resources/customers.rbs +7 -6
  429. data/sig/dodopayments/resources/discounts.rbs +8 -6
  430. data/sig/dodopayments/resources/disputes.rbs +9 -9
  431. data/sig/dodopayments/resources/invoices/payments.rbs +1 -1
  432. data/sig/dodopayments/resources/license_key_instances.rbs +3 -3
  433. data/sig/dodopayments/resources/license_keys.rbs +8 -8
  434. data/sig/dodopayments/resources/licenses.rbs +1 -1
  435. data/sig/dodopayments/resources/payments.rbs +17 -11
  436. data/sig/dodopayments/resources/payouts.rbs +2 -2
  437. data/sig/dodopayments/resources/products/images.rbs +1 -1
  438. data/sig/dodopayments/resources/products.rbs +20 -7
  439. data/sig/dodopayments/resources/refunds.rbs +10 -9
  440. data/sig/dodopayments/resources/subscriptions.rbs +21 -14
  441. data/sig/dodopayments/resources/webhook_events.rbs +0 -15
  442. data/sig/dodopayments/resources/webhooks/headers.rbs +20 -0
  443. data/sig/dodopayments/resources/webhooks.rbs +48 -0
  444. data/sig/dodopayments/resources/your_webhook_url.rbs +18 -0
  445. metadata +116 -11
  446. data/lib/dodopayments/models/webhook_event.rb +0 -58
  447. data/lib/dodopayments/models/webhook_event_list_params.rb +0 -66
  448. data/rbi/dodopayments/models/webhook_event.rbi +0 -71
  449. data/rbi/dodopayments/models/webhook_event_list_params.rbi +0 -77
  450. data/rbi/dodopayments/models/webhook_event_retrieve_params.rbi +0 -19
  451. data/sig/dodopayments/models/webhook_event.rbs +0 -46
  452. data/sig/dodopayments/models/webhook_event_list_params.rbs +0 -43
@@ -9,24 +9,29 @@ module Dodopayments
9
9
  # Some parameter documentations has been truncated, see
10
10
  # {Dodopayments::Models::ProductCreateParams} for more details.
11
11
  #
12
- # @overload create(price:, tax_category:, addons: nil, description: nil, license_key_activation_message: nil, license_key_activations_limit: nil, license_key_duration: nil, license_key_enabled: nil, name: nil, request_options: {})
12
+ # @overload create(price:, tax_category:, addons: nil, brand_id: nil, description: nil, digital_product_delivery: nil, license_key_activation_message: nil, license_key_activations_limit: nil, license_key_duration: nil, license_key_enabled: nil, metadata: nil, name: nil, request_options: {})
13
13
  #
14
- # @param price [Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice]
14
+ # @param price [Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice] Price configuration for the product
15
15
  #
16
- # @param tax_category [Symbol, Dodopayments::Models::TaxCategory] Represents the different categories of taxation applicable to various products a
17
- # ...
16
+ # @param tax_category [Symbol, Dodopayments::Models::TaxCategory] Tax category applied to this product
18
17
  #
19
18
  # @param addons [Array<String>, nil] Addons available for subscription product
20
19
  #
20
+ # @param brand_id [String, nil] Brand id for the product, if not provided will default to primary brand
21
+ #
21
22
  # @param description [String, nil] Optional description of the product
22
23
  #
24
+ # @param digital_product_delivery [Dodopayments::Models::ProductCreateParams::DigitalProductDelivery, nil] Choose how you would like you digital product delivered
25
+ #
23
26
  # @param license_key_activation_message [String, nil] Optional message displayed during license key activation
24
27
  #
25
- # @param license_key_activations_limit [Integer, nil] The number of times the license key can be activated. ...
28
+ # @param license_key_activations_limit [Integer, nil] The number of times the license key can be activated.
29
+ #
30
+ # @param license_key_duration [Dodopayments::Models::LicenseKeyDuration, nil] Duration configuration for the license key.
26
31
  #
27
- # @param license_key_duration [Dodopayments::Models::LicenseKeyDuration, nil]
32
+ # @param license_key_enabled [Boolean, nil] When true, generates and sends a license key to your customer.
28
33
  #
29
- # @param license_key_enabled [Boolean, nil] When true, generates and sends a license key to your customer. ...
34
+ # @param metadata [Hash{Symbol=>String}] Additional metadata for the product
30
35
  #
31
36
  # @param name [String, nil] Optional name of the product
32
37
  #
@@ -36,12 +41,12 @@ module Dodopayments
36
41
  #
37
42
  # @see Dodopayments::Models::ProductCreateParams
38
43
  def create(params)
39
- parsed, options = Dodopayments::Models::ProductCreateParams.dump_request(params)
44
+ parsed, options = Dodopayments::ProductCreateParams.dump_request(params)
40
45
  @client.request(
41
46
  method: :post,
42
47
  path: "products",
43
48
  body: parsed,
44
- model: Dodopayments::Models::Product,
49
+ model: Dodopayments::Product,
45
50
  options: options
46
51
  )
47
52
  end
@@ -59,7 +64,7 @@ module Dodopayments
59
64
  @client.request(
60
65
  method: :get,
61
66
  path: ["products/%1$s", id],
62
- model: Dodopayments::Models::Product,
67
+ model: Dodopayments::Product,
63
68
  options: params[:request_options]
64
69
  )
65
70
  end
@@ -67,30 +72,35 @@ module Dodopayments
67
72
  # Some parameter documentations has been truncated, see
68
73
  # {Dodopayments::Models::ProductUpdateParams} for more details.
69
74
  #
70
- # @overload update(id, addons: nil, description: nil, image_id: nil, license_key_activation_message: nil, license_key_activations_limit: nil, license_key_duration: nil, license_key_enabled: nil, name: nil, price: nil, tax_category: nil, request_options: {})
75
+ # @overload update(id, addons: nil, brand_id: nil, description: nil, digital_product_delivery: nil, image_id: nil, license_key_activation_message: nil, license_key_activations_limit: nil, license_key_duration: nil, license_key_enabled: nil, metadata: nil, name: nil, price: nil, tax_category: nil, request_options: {})
71
76
  #
72
77
  # @param id [String]
73
78
  #
74
79
  # @param addons [Array<String>, nil] Available Addons for subscription products
75
80
  #
81
+ # @param brand_id [String, nil]
82
+ #
76
83
  # @param description [String, nil] Description of the product, optional and must be at most 1000 characters.
77
84
  #
85
+ # @param digital_product_delivery [Dodopayments::Models::ProductUpdateParams::DigitalProductDelivery, nil] Choose how you would like you digital product delivered
86
+ #
78
87
  # @param image_id [String, nil] Product image id after its uploaded to S3
79
88
  #
80
- # @param license_key_activation_message [String, nil] Message sent to the customer upon license key activation. ...
89
+ # @param license_key_activation_message [String, nil] Message sent to the customer upon license key activation.
81
90
  #
82
- # @param license_key_activations_limit [Integer, nil] Limit for the number of activations for the license key. ...
91
+ # @param license_key_activations_limit [Integer, nil] Limit for the number of activations for the license key.
83
92
  #
84
- # @param license_key_duration [Dodopayments::Models::LicenseKeyDuration, nil]
93
+ # @param license_key_duration [Dodopayments::Models::LicenseKeyDuration, nil] Duration of the license key if enabled.
85
94
  #
86
- # @param license_key_enabled [Boolean, nil] Whether the product requires a license key. ...
95
+ # @param license_key_enabled [Boolean, nil] Whether the product requires a license key.
96
+ #
97
+ # @param metadata [Hash{Symbol=>String}, nil] Additional metadata for the product
87
98
  #
88
99
  # @param name [String, nil] Name of the product, optional and must be at most 100 characters.
89
100
  #
90
- # @param price [Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice, nil]
101
+ # @param price [Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice, nil] Price details of the product.
91
102
  #
92
- # @param tax_category [Symbol, Dodopayments::Models::TaxCategory, nil] Represents the different categories of taxation applicable to various products a
93
- # ...
103
+ # @param tax_category [Symbol, Dodopayments::Models::TaxCategory, nil] Tax category of the product.
94
104
  #
95
105
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
96
106
  #
@@ -98,7 +108,7 @@ module Dodopayments
98
108
  #
99
109
  # @see Dodopayments::Models::ProductUpdateParams
100
110
  def update(id, params = {})
101
- parsed, options = Dodopayments::Models::ProductUpdateParams.dump_request(params)
111
+ parsed, options = Dodopayments::ProductUpdateParams.dump_request(params)
102
112
  @client.request(
103
113
  method: :patch,
104
114
  path: ["products/%1$s", id],
@@ -111,15 +121,17 @@ module Dodopayments
111
121
  # Some parameter documentations has been truncated, see
112
122
  # {Dodopayments::Models::ProductListParams} for more details.
113
123
  #
114
- # @overload list(archived: nil, page_number: nil, page_size: nil, recurring: nil, request_options: {})
124
+ # @overload list(archived: nil, brand_id: nil, page_number: nil, page_size: nil, recurring: nil, request_options: {})
115
125
  #
116
126
  # @param archived [Boolean] List archived products
117
127
  #
118
- # @param page_number [Integer, nil] Page number default is 0
128
+ # @param brand_id [String] filter by Brand id
129
+ #
130
+ # @param page_number [Integer] Page number default is 0
119
131
  #
120
- # @param page_size [Integer, nil] Page size default is 10 max is 100
132
+ # @param page_size [Integer] Page size default is 10 max is 100
121
133
  #
122
- # @param recurring [Boolean, nil] Filter products by pricing type: ...
134
+ # @param recurring [Boolean] Filter products by pricing type:
123
135
  #
124
136
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
125
137
  #
@@ -127,7 +139,7 @@ module Dodopayments
127
139
  #
128
140
  # @see Dodopayments::Models::ProductListParams
129
141
  def list(params = {})
130
- parsed, options = Dodopayments::Models::ProductListParams.dump_request(params)
142
+ parsed, options = Dodopayments::ProductListParams.dump_request(params)
131
143
  @client.request(
132
144
  method: :get,
133
145
  path: "products",
@@ -172,6 +184,28 @@ module Dodopayments
172
184
  )
173
185
  end
174
186
 
187
+ # @overload update_files(id, file_name:, request_options: {})
188
+ #
189
+ # @param id [String] Product Id
190
+ #
191
+ # @param file_name [String]
192
+ #
193
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
194
+ #
195
+ # @return [Dodopayments::Models::ProductUpdateFilesResponse]
196
+ #
197
+ # @see Dodopayments::Models::ProductUpdateFilesParams
198
+ def update_files(id, params)
199
+ parsed, options = Dodopayments::ProductUpdateFilesParams.dump_request(params)
200
+ @client.request(
201
+ method: :put,
202
+ path: ["products/%1$s/files", id],
203
+ body: parsed,
204
+ model: Dodopayments::Models::ProductUpdateFilesResponse,
205
+ options: options
206
+ )
207
+ end
208
+
175
209
  # @api private
176
210
  #
177
211
  # @param client [Dodopayments::Client]
@@ -3,10 +3,12 @@
3
3
  module Dodopayments
4
4
  module Resources
5
5
  class Refunds
6
- # @overload create(payment_id:, reason: nil, request_options: {})
6
+ # @overload create(payment_id:, items: nil, reason: nil, request_options: {})
7
7
  #
8
8
  # @param payment_id [String] The unique identifier of the payment to be refunded.
9
9
  #
10
+ # @param items [Array<Dodopayments::Models::RefundCreateParams::Item>, nil] Partially Refund an Individual Item
11
+ #
10
12
  # @param reason [String, nil] The reason for the refund, if any. Maximum length is 3000 characters. Optional.
11
13
  #
12
14
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -15,12 +17,12 @@ module Dodopayments
15
17
  #
16
18
  # @see Dodopayments::Models::RefundCreateParams
17
19
  def create(params)
18
- parsed, options = Dodopayments::Models::RefundCreateParams.dump_request(params)
20
+ parsed, options = Dodopayments::RefundCreateParams.dump_request(params)
19
21
  @client.request(
20
22
  method: :post,
21
23
  path: "refunds",
22
24
  body: parsed,
23
- model: Dodopayments::Models::Refund,
25
+ model: Dodopayments::Refund,
24
26
  options: options
25
27
  )
26
28
  end
@@ -38,24 +40,24 @@ module Dodopayments
38
40
  @client.request(
39
41
  method: :get,
40
42
  path: ["refunds/%1$s", refund_id],
41
- model: Dodopayments::Models::Refund,
43
+ model: Dodopayments::Refund,
42
44
  options: params[:request_options]
43
45
  )
44
46
  end
45
47
 
46
48
  # @overload list(created_at_gte: nil, created_at_lte: nil, customer_id: nil, page_number: nil, page_size: nil, status: nil, request_options: {})
47
49
  #
48
- # @param created_at_gte [Time, nil] Get events after this created time
50
+ # @param created_at_gte [Time] Get events after this created time
49
51
  #
50
- # @param created_at_lte [Time, nil] Get events created before this time
52
+ # @param created_at_lte [Time] Get events created before this time
51
53
  #
52
- # @param customer_id [String, nil] Filter by customer_id
54
+ # @param customer_id [String] Filter by customer_id
53
55
  #
54
- # @param page_number [Integer, nil] Page number default is 0
56
+ # @param page_number [Integer] Page number default is 0
55
57
  #
56
- # @param page_size [Integer, nil] Page size default is 10 max is 100
58
+ # @param page_size [Integer] Page size default is 10 max is 100
57
59
  #
58
- # @param status [Symbol, Dodopayments::Models::RefundStatus, nil] Filter by status
60
+ # @param status [Symbol, Dodopayments::Models::RefundListParams::Status] Filter by status
59
61
  #
60
62
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
61
63
  #
@@ -63,13 +65,13 @@ module Dodopayments
63
65
  #
64
66
  # @see Dodopayments::Models::RefundListParams
65
67
  def list(params = {})
66
- parsed, options = Dodopayments::Models::RefundListParams.dump_request(params)
68
+ parsed, options = Dodopayments::RefundListParams.dump_request(params)
67
69
  @client.request(
68
70
  method: :get,
69
71
  path: "refunds",
70
72
  query: parsed,
71
73
  page: Dodopayments::Internal::DefaultPageNumberPagination,
72
- model: Dodopayments::Models::Refund,
74
+ model: Dodopayments::Refund,
73
75
  options: options
74
76
  )
75
77
  end
@@ -8,36 +8,35 @@ module Dodopayments
8
8
  #
9
9
  # @overload create(billing:, customer:, product_id:, quantity:, addons: nil, allowed_payment_method_types: nil, billing_currency: nil, discount_code: nil, metadata: nil, on_demand: nil, payment_link: nil, return_url: nil, show_saved_payment_methods: nil, tax_id: nil, trial_period_days: nil, request_options: {})
10
10
  #
11
- # @param billing [Dodopayments::Models::BillingAddress]
11
+ # @param billing [Dodopayments::Models::BillingAddress] Billing address information for the subscription
12
12
  #
13
- # @param customer [Dodopayments::Models::AttachExistingCustomer, Dodopayments::Models::CreateNewCustomer]
13
+ # @param customer [Dodopayments::Models::AttachExistingCustomer, Dodopayments::Models::NewCustomer] Customer details for the subscription
14
14
  #
15
15
  # @param product_id [String] Unique identifier of the product to subscribe to
16
16
  #
17
17
  # @param quantity [Integer] Number of units to subscribe for. Must be at least 1.
18
18
  #
19
- # @param addons [Array<Dodopayments::Models::SubscriptionCreateParams::Addon>, nil] Attach addons to this subscription
19
+ # @param addons [Array<Dodopayments::Models::AttachAddon>, nil] Attach addons to this subscription
20
20
  #
21
- # @param allowed_payment_method_types [Array<Symbol, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType>, nil] List of payment methods allowed during checkout. ...
21
+ # @param allowed_payment_method_types [Array<Symbol, Dodopayments::Models::PaymentMethodTypes>, nil] List of payment methods allowed during checkout.
22
22
  #
23
- # @param billing_currency [Symbol, Dodopayments::Models::Currency, nil]
23
+ # @param billing_currency [Symbol, Dodopayments::Models::Currency, nil] Fix the currency in which the end customer is billed.
24
24
  #
25
25
  # @param discount_code [String, nil] Discount Code to apply to the subscription
26
26
  #
27
- # @param metadata [Hash{Symbol=>String}]
27
+ # @param metadata [Hash{Symbol=>String}] Additional metadata for the subscription
28
28
  #
29
29
  # @param on_demand [Dodopayments::Models::SubscriptionCreateParams::OnDemand, nil]
30
30
  #
31
- # @param payment_link [Boolean, nil] If true, generates a payment link. ...
31
+ # @param payment_link [Boolean, nil] If true, generates a payment link.
32
32
  #
33
33
  # @param return_url [String, nil] Optional URL to redirect after successful subscription creation
34
34
  #
35
- # @param show_saved_payment_methods [Boolean] Display saved payment methods of a returning customer ...
35
+ # @param show_saved_payment_methods [Boolean] Display saved payment methods of a returning customer
36
36
  #
37
37
  # @param tax_id [String, nil] Tax ID in case the payment is B2B. If tax id validation fails the payment creati
38
- # ...
39
38
  #
40
- # @param trial_period_days [Integer, nil] Optional trial period in days ...
39
+ # @param trial_period_days [Integer, nil] Optional trial period in days
41
40
  #
42
41
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
43
42
  #
@@ -45,7 +44,7 @@ module Dodopayments
45
44
  #
46
45
  # @see Dodopayments::Models::SubscriptionCreateParams
47
46
  def create(params)
48
- parsed, options = Dodopayments::Models::SubscriptionCreateParams.dump_request(params)
47
+ parsed, options = Dodopayments::SubscriptionCreateParams.dump_request(params)
49
48
  @client.request(
50
49
  method: :post,
51
50
  path: "subscriptions",
@@ -68,17 +67,19 @@ module Dodopayments
68
67
  @client.request(
69
68
  method: :get,
70
69
  path: ["subscriptions/%1$s", subscription_id],
71
- model: Dodopayments::Models::Subscription,
70
+ model: Dodopayments::Subscription,
72
71
  options: params[:request_options]
73
72
  )
74
73
  end
75
74
 
76
- # @overload update(subscription_id, billing: nil, disable_on_demand: nil, metadata: nil, status: nil, tax_id: nil, request_options: {})
75
+ # @overload update(subscription_id, billing: nil, cancel_at_next_billing_date: nil, disable_on_demand: nil, metadata: nil, status: nil, tax_id: nil, request_options: {})
77
76
  #
78
77
  # @param subscription_id [String] Subscription Id
79
78
  #
80
79
  # @param billing [Dodopayments::Models::BillingAddress, nil]
81
80
  #
81
+ # @param cancel_at_next_billing_date [Boolean, nil]
82
+ #
82
83
  # @param disable_on_demand [Dodopayments::Models::SubscriptionUpdateParams::DisableOnDemand, nil]
83
84
  #
84
85
  # @param metadata [Hash{Symbol=>String}, nil]
@@ -93,29 +94,31 @@ module Dodopayments
93
94
  #
94
95
  # @see Dodopayments::Models::SubscriptionUpdateParams
95
96
  def update(subscription_id, params = {})
96
- parsed, options = Dodopayments::Models::SubscriptionUpdateParams.dump_request(params)
97
+ parsed, options = Dodopayments::SubscriptionUpdateParams.dump_request(params)
97
98
  @client.request(
98
99
  method: :patch,
99
100
  path: ["subscriptions/%1$s", subscription_id],
100
101
  body: parsed,
101
- model: Dodopayments::Models::Subscription,
102
+ model: Dodopayments::Subscription,
102
103
  options: options
103
104
  )
104
105
  end
105
106
 
106
- # @overload list(created_at_gte: nil, created_at_lte: nil, customer_id: nil, page_number: nil, page_size: nil, status: nil, request_options: {})
107
+ # @overload list(brand_id: nil, created_at_gte: nil, created_at_lte: nil, customer_id: nil, page_number: nil, page_size: nil, status: nil, request_options: {})
108
+ #
109
+ # @param brand_id [String] filter by Brand id
107
110
  #
108
- # @param created_at_gte [Time, nil] Get events after this created time
111
+ # @param created_at_gte [Time] Get events after this created time
109
112
  #
110
- # @param created_at_lte [Time, nil] Get events created before this time
113
+ # @param created_at_lte [Time] Get events created before this time
111
114
  #
112
- # @param customer_id [String, nil] Filter by customer id
115
+ # @param customer_id [String] Filter by customer id
113
116
  #
114
- # @param page_number [Integer, nil] Page number default is 0
117
+ # @param page_number [Integer] Page number default is 0
115
118
  #
116
- # @param page_size [Integer, nil] Page size default is 10 max is 100
119
+ # @param page_size [Integer] Page size default is 10 max is 100
117
120
  #
118
- # @param status [Symbol, Dodopayments::Models::SubscriptionStatus, nil] Filter by status
121
+ # @param status [Symbol, Dodopayments::Models::SubscriptionListParams::Status] Filter by status
119
122
  #
120
123
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
121
124
  #
@@ -123,7 +126,7 @@ module Dodopayments
123
126
  #
124
127
  # @see Dodopayments::Models::SubscriptionListParams
125
128
  def list(params = {})
126
- parsed, options = Dodopayments::Models::SubscriptionListParams.dump_request(params)
129
+ parsed, options = Dodopayments::SubscriptionListParams.dump_request(params)
127
130
  @client.request(
128
131
  method: :get,
129
132
  path: "subscriptions",
@@ -134,23 +137,28 @@ module Dodopayments
134
137
  )
135
138
  end
136
139
 
137
- # @overload change_plan(subscription_id, product_id:, proration_billing_mode:, quantity:, request_options: {})
140
+ # Some parameter documentations has been truncated, see
141
+ # {Dodopayments::Models::SubscriptionChangePlanParams} for more details.
142
+ #
143
+ # @overload change_plan(subscription_id, product_id:, proration_billing_mode:, quantity:, addons: nil, request_options: {})
138
144
  #
139
145
  # @param subscription_id [String] Subscription Id
140
146
  #
141
147
  # @param product_id [String] Unique identifier of the product to subscribe to
142
148
  #
143
- # @param proration_billing_mode [Symbol, Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode]
149
+ # @param proration_billing_mode [Symbol, Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode] Proration Billing Mode
144
150
  #
145
151
  # @param quantity [Integer] Number of units to subscribe for. Must be at least 1.
146
152
  #
153
+ # @param addons [Array<Dodopayments::Models::AttachAddon>, nil] Addons for the new plan.
154
+ #
147
155
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
148
156
  #
149
157
  # @return [nil]
150
158
  #
151
159
  # @see Dodopayments::Models::SubscriptionChangePlanParams
152
160
  def change_plan(subscription_id, params)
153
- parsed, options = Dodopayments::Models::SubscriptionChangePlanParams.dump_request(params)
161
+ parsed, options = Dodopayments::SubscriptionChangePlanParams.dump_request(params)
154
162
  @client.request(
155
163
  method: :post,
156
164
  path: ["subscriptions/%1$s/change-plan", subscription_id],
@@ -163,12 +171,19 @@ module Dodopayments
163
171
  # Some parameter documentations has been truncated, see
164
172
  # {Dodopayments::Models::SubscriptionChargeParams} for more details.
165
173
  #
166
- # @overload charge(subscription_id, product_price:, request_options: {})
174
+ # @overload charge(subscription_id, product_price:, adaptive_currency_fees_inclusive: nil, metadata: nil, product_currency: nil, product_description: nil, request_options: {})
167
175
  #
168
176
  # @param subscription_id [String] Subscription Id
169
177
  #
170
178
  # @param product_price [Integer] The product price. Represented in the lowest denomination of the currency (e.g.,
171
- # ...
179
+ #
180
+ # @param adaptive_currency_fees_inclusive [Boolean, nil] Whether adaptive currency fees should be included in the product_price (true) or
181
+ #
182
+ # @param metadata [Hash{Symbol=>String}, nil] Metadata for the payment. If not passed, the metadata of the subscription will b
183
+ #
184
+ # @param product_currency [Symbol, Dodopayments::Models::Currency, nil] Optional currency of the product price. If not specified, defaults to the curren
185
+ #
186
+ # @param product_description [String, nil] Optional product description override for billing and line items.
172
187
  #
173
188
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
174
189
  #
@@ -176,7 +191,7 @@ module Dodopayments
176
191
  #
177
192
  # @see Dodopayments::Models::SubscriptionChargeParams
178
193
  def charge(subscription_id, params)
179
- parsed, options = Dodopayments::Models::SubscriptionChargeParams.dump_request(params)
194
+ parsed, options = Dodopayments::SubscriptionChargeParams.dump_request(params)
180
195
  @client.request(
181
196
  method: :post,
182
197
  path: ["subscriptions/%1$s/charge", subscription_id],
@@ -3,58 +3,6 @@
3
3
  module Dodopayments
4
4
  module Resources
5
5
  class WebhookEvents
6
- # @overload retrieve(webhook_event_id, request_options: {})
7
- #
8
- # @param webhook_event_id [String]
9
- # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
10
- #
11
- # @return [Dodopayments::Models::WebhookEvent]
12
- #
13
- # @see Dodopayments::Models::WebhookEventRetrieveParams
14
- def retrieve(webhook_event_id, params = {})
15
- @client.request(
16
- method: :get,
17
- path: ["webhook_events/%1$s", webhook_event_id],
18
- model: Dodopayments::Models::WebhookEvent,
19
- options: params[:request_options]
20
- )
21
- end
22
-
23
- # Some parameter documentations has been truncated, see
24
- # {Dodopayments::Models::WebhookEventListParams} for more details.
25
- #
26
- # @overload list(created_at_gte: nil, created_at_lte: nil, limit: nil, object_id_: nil, page_number: nil, page_size: nil, request_options: {})
27
- #
28
- # @param created_at_gte [Time, nil] Get events after this created time
29
- #
30
- # @param created_at_lte [Time, nil] Get events created before this time
31
- #
32
- # @param limit [Integer, nil] Min : 1, Max : 100, default 10
33
- #
34
- # @param object_id_ [String, nil] Get events history of a specific object like payment/subscription/refund/dispute
35
- # ...
36
- #
37
- # @param page_number [Integer, nil] Page number default is 0
38
- #
39
- # @param page_size [Integer, nil] Page size default is 10 max is 100
40
- #
41
- # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
42
- #
43
- # @return [Dodopayments::Internal::DefaultPageNumberPagination<Dodopayments::Models::WebhookEvent>]
44
- #
45
- # @see Dodopayments::Models::WebhookEventListParams
46
- def list(params = {})
47
- parsed, options = Dodopayments::Models::WebhookEventListParams.dump_request(params)
48
- @client.request(
49
- method: :get,
50
- path: "webhook_events",
51
- query: parsed.transform_keys(object_id_: "object_id"),
52
- page: Dodopayments::Internal::DefaultPageNumberPagination,
53
- model: Dodopayments::Models::WebhookEvent,
54
- options: options
55
- )
56
- end
57
-
58
6
  # @api private
59
7
  #
60
8
  # @param client [Dodopayments::Client]
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Webhooks
6
+ class Headers
7
+ # Get a webhook by id
8
+ #
9
+ # @overload retrieve(webhook_id, request_options: {})
10
+ #
11
+ # @param webhook_id [String]
12
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
13
+ #
14
+ # @return [Dodopayments::Models::Webhooks::HeaderRetrieveResponse]
15
+ #
16
+ # @see Dodopayments::Models::Webhooks::HeaderRetrieveParams
17
+ def retrieve(webhook_id, params = {})
18
+ @client.request(
19
+ method: :get,
20
+ path: ["webhooks/%1$s/headers", webhook_id],
21
+ model: Dodopayments::Models::Webhooks::HeaderRetrieveResponse,
22
+ options: params[:request_options]
23
+ )
24
+ end
25
+
26
+ # Patch a webhook by id
27
+ #
28
+ # @overload update(webhook_id, headers:, request_options: {})
29
+ #
30
+ # @param webhook_id [String]
31
+ #
32
+ # @param headers [Hash{Symbol=>String}] Object of header-value pair to update or add
33
+ #
34
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
35
+ #
36
+ # @return [nil]
37
+ #
38
+ # @see Dodopayments::Models::Webhooks::HeaderUpdateParams
39
+ def update(webhook_id, params)
40
+ parsed, options = Dodopayments::Webhooks::HeaderUpdateParams.dump_request(params)
41
+ @client.request(
42
+ method: :patch,
43
+ path: ["webhooks/%1$s/headers", webhook_id],
44
+ body: parsed,
45
+ model: NilClass,
46
+ options: options
47
+ )
48
+ end
49
+
50
+ # @api private
51
+ #
52
+ # @param client [Dodopayments::Client]
53
+ def initialize(client:)
54
+ @client = client
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end