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
@@ -5,35 +5,34 @@ module Dodopayments
5
5
  class Subscriptions
6
6
  sig do
7
7
  params(
8
- billing: T.any(Dodopayments::Models::BillingAddress, Dodopayments::Internal::AnyHash),
9
- customer: T.any(
10
- Dodopayments::Models::AttachExistingCustomer,
11
- Dodopayments::Internal::AnyHash,
12
- Dodopayments::Models::CreateNewCustomer
13
- ),
8
+ billing: Dodopayments::BillingAddress::OrHash,
9
+ customer:
10
+ T.any(
11
+ Dodopayments::AttachExistingCustomer::OrHash,
12
+ Dodopayments::NewCustomer::OrHash
13
+ ),
14
14
  product_id: String,
15
15
  quantity: Integer,
16
- addons: T.nilable(
17
- T::Array[T.any(Dodopayments::Models::SubscriptionCreateParams::Addon, Dodopayments::Internal::AnyHash)]
18
- ),
19
- allowed_payment_method_types: T.nilable(T::Array[Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::OrSymbol]),
20
- billing_currency: T.nilable(Dodopayments::Models::Currency::OrSymbol),
16
+ addons: T.nilable(T::Array[Dodopayments::AttachAddon::OrHash]),
17
+ allowed_payment_method_types:
18
+ T.nilable(T::Array[Dodopayments::PaymentMethodTypes::OrSymbol]),
19
+ billing_currency: T.nilable(Dodopayments::Currency::OrSymbol),
21
20
  discount_code: T.nilable(String),
22
21
  metadata: T::Hash[Symbol, String],
23
- on_demand: T.nilable(
24
- T.any(Dodopayments::Models::SubscriptionCreateParams::OnDemand, Dodopayments::Internal::AnyHash)
25
- ),
22
+ on_demand:
23
+ T.nilable(Dodopayments::SubscriptionCreateParams::OnDemand::OrHash),
26
24
  payment_link: T.nilable(T::Boolean),
27
25
  return_url: T.nilable(String),
28
26
  show_saved_payment_methods: T::Boolean,
29
27
  tax_id: T.nilable(String),
30
28
  trial_period_days: T.nilable(Integer),
31
- request_options: Dodopayments::RequestOpts
32
- )
33
- .returns(Dodopayments::Models::SubscriptionCreateResponse)
29
+ request_options: Dodopayments::RequestOptions::OrHash
30
+ ).returns(Dodopayments::Models::SubscriptionCreateResponse)
34
31
  end
35
32
  def create(
33
+ # Billing address information for the subscription
36
34
  billing:,
35
+ # Customer details for the subscription
37
36
  customer:,
38
37
  # Unique identifier of the product to subscribe to
39
38
  product_id:,
@@ -48,9 +47,12 @@ module Dodopayments
48
47
  # Availability still depends on other factors (e.g., customer location, merchant
49
48
  # settings).
50
49
  allowed_payment_method_types: nil,
50
+ # Fix the currency in which the end customer is billed. If Dodo Payments cannot
51
+ # support that currency for this transaction, it will not proceed
51
52
  billing_currency: nil,
52
53
  # Discount Code to apply to the subscription
53
54
  discount_code: nil,
55
+ # Additional metadata for the subscription Defaults to empty if not specified
54
56
  metadata: nil,
55
57
  on_demand: nil,
56
58
  # If true, generates a payment link. Defaults to false if not specified.
@@ -66,55 +68,69 @@ module Dodopayments
66
68
  # period set in the product's price Must be between 0 and 10000 days
67
69
  trial_period_days: nil,
68
70
  request_options: {}
69
- ); end
71
+ )
72
+ end
73
+
70
74
  sig do
71
- params(subscription_id: String, request_options: Dodopayments::RequestOpts)
72
- .returns(Dodopayments::Models::Subscription)
75
+ params(
76
+ subscription_id: String,
77
+ request_options: Dodopayments::RequestOptions::OrHash
78
+ ).returns(Dodopayments::Subscription)
73
79
  end
74
80
  def retrieve(
75
81
  # Subscription Id
76
82
  subscription_id,
77
83
  request_options: {}
78
- ); end
84
+ )
85
+ end
86
+
79
87
  sig do
80
88
  params(
81
89
  subscription_id: String,
82
- billing: T.nilable(T.any(Dodopayments::Models::BillingAddress, Dodopayments::Internal::AnyHash)),
83
- disable_on_demand: T.nilable(
84
- T.any(Dodopayments::Models::SubscriptionUpdateParams::DisableOnDemand, Dodopayments::Internal::AnyHash)
85
- ),
90
+ billing: T.nilable(Dodopayments::BillingAddress::OrHash),
91
+ cancel_at_next_billing_date: T.nilable(T::Boolean),
92
+ disable_on_demand:
93
+ T.nilable(
94
+ Dodopayments::SubscriptionUpdateParams::DisableOnDemand::OrHash
95
+ ),
86
96
  metadata: T.nilable(T::Hash[Symbol, String]),
87
- status: T.nilable(Dodopayments::Models::SubscriptionStatus::OrSymbol),
97
+ status: T.nilable(Dodopayments::SubscriptionStatus::OrSymbol),
88
98
  tax_id: T.nilable(String),
89
- request_options: Dodopayments::RequestOpts
90
- )
91
- .returns(Dodopayments::Models::Subscription)
99
+ request_options: Dodopayments::RequestOptions::OrHash
100
+ ).returns(Dodopayments::Subscription)
92
101
  end
93
102
  def update(
94
103
  # Subscription Id
95
104
  subscription_id,
96
105
  billing: nil,
106
+ cancel_at_next_billing_date: nil,
97
107
  disable_on_demand: nil,
98
108
  metadata: nil,
99
109
  status: nil,
100
110
  tax_id: nil,
101
111
  request_options: {}
102
- ); end
112
+ )
113
+ end
114
+
103
115
  sig do
104
116
  params(
105
- created_at_gte: T.nilable(Time),
106
- created_at_lte: T.nilable(Time),
107
- customer_id: T.nilable(String),
108
- page_number: T.nilable(Integer),
109
- page_size: T.nilable(Integer),
110
- status: T.nilable(Dodopayments::Models::SubscriptionStatus::OrSymbol),
111
- request_options: Dodopayments::RequestOpts
117
+ brand_id: String,
118
+ created_at_gte: Time,
119
+ created_at_lte: Time,
120
+ customer_id: String,
121
+ page_number: Integer,
122
+ page_size: Integer,
123
+ status: Dodopayments::SubscriptionListParams::Status::OrSymbol,
124
+ request_options: Dodopayments::RequestOptions::OrHash
125
+ ).returns(
126
+ Dodopayments::Internal::DefaultPageNumberPagination[
127
+ Dodopayments::Models::SubscriptionListResponse
128
+ ]
112
129
  )
113
- .returns(
114
- Dodopayments::Internal::DefaultPageNumberPagination[Dodopayments::Models::SubscriptionListResponse]
115
- )
116
130
  end
117
131
  def list(
132
+ # filter by Brand id
133
+ brand_id: nil,
118
134
  # Get events after this created time
119
135
  created_at_gte: nil,
120
136
  # Get events created before this time
@@ -128,30 +144,46 @@ module Dodopayments
128
144
  # Filter by status
129
145
  status: nil,
130
146
  request_options: {}
131
- ); end
147
+ )
148
+ end
149
+
132
150
  sig do
133
151
  params(
134
152
  subscription_id: String,
135
153
  product_id: String,
136
- proration_billing_mode: Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
154
+ proration_billing_mode:
155
+ Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
137
156
  quantity: Integer,
138
- request_options: Dodopayments::RequestOpts
139
- )
140
- .void
157
+ addons: T.nilable(T::Array[Dodopayments::AttachAddon::OrHash]),
158
+ request_options: Dodopayments::RequestOptions::OrHash
159
+ ).void
141
160
  end
142
161
  def change_plan(
143
162
  # Subscription Id
144
163
  subscription_id,
145
164
  # Unique identifier of the product to subscribe to
146
165
  product_id:,
166
+ # Proration Billing Mode
147
167
  proration_billing_mode:,
148
168
  # Number of units to subscribe for. Must be at least 1.
149
169
  quantity:,
170
+ # Addons for the new plan. Note : Leaving this empty would remove any existing
171
+ # addons
172
+ addons: nil,
150
173
  request_options: {}
151
- ); end
174
+ )
175
+ end
176
+
152
177
  sig do
153
- params(subscription_id: String, product_price: Integer, request_options: Dodopayments::RequestOpts)
154
- .returns(Dodopayments::Models::SubscriptionChargeResponse)
178
+ params(
179
+ subscription_id: String,
180
+ product_price: Integer,
181
+ adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
182
+ metadata: T.nilable(T::Hash[Symbol, String]),
183
+ product_currency: T.nilable(Dodopayments::Currency::OrSymbol),
184
+ product_description: T.nilable(String),
185
+ request_options: Dodopayments::RequestOptions::OrHash
186
+ ).returns(Dodopayments::Models::SubscriptionChargeResponse)
155
187
  end
156
188
  def charge(
157
189
  # Subscription Id
@@ -159,11 +191,27 @@ module Dodopayments
159
191
  # The product price. Represented in the lowest denomination of the currency (e.g.,
160
192
  # cents for USD). For example, to charge $1.00, pass `100`.
161
193
  product_price:,
194
+ # Whether adaptive currency fees should be included in the product_price (true) or
195
+ # added on top (false). This field is ignored if adaptive pricing is not enabled
196
+ # for the business.
197
+ adaptive_currency_fees_inclusive: nil,
198
+ # Metadata for the payment. If not passed, the metadata of the subscription will
199
+ # be taken
200
+ metadata: nil,
201
+ # Optional currency of the product price. If not specified, defaults to the
202
+ # currency of the product.
203
+ product_currency: nil,
204
+ # Optional product description override for billing and line items. If not
205
+ # specified, the stored description of the product will be used.
206
+ product_description: nil,
162
207
  request_options: {}
163
- ); end
208
+ )
209
+ end
210
+
164
211
  # @api private
165
212
  sig { params(client: Dodopayments::Client).returns(T.attached_class) }
166
- def self.new(client:); end
213
+ def self.new(client:)
214
+ end
167
215
  end
168
216
  end
169
217
  end
@@ -3,42 +3,10 @@
3
3
  module Dodopayments
4
4
  module Resources
5
5
  class WebhookEvents
6
- sig do
7
- params(webhook_event_id: String, request_options: Dodopayments::RequestOpts)
8
- .returns(Dodopayments::Models::WebhookEvent)
9
- end
10
- def retrieve(webhook_event_id, request_options: {}); end
11
-
12
- sig do
13
- params(
14
- created_at_gte: T.nilable(Time),
15
- created_at_lte: T.nilable(Time),
16
- limit: T.nilable(Integer),
17
- object_id_: T.nilable(String),
18
- page_number: T.nilable(Integer),
19
- page_size: T.nilable(Integer),
20
- request_options: Dodopayments::RequestOpts
21
- )
22
- .returns(Dodopayments::Internal::DefaultPageNumberPagination[Dodopayments::Models::WebhookEvent])
23
- end
24
- def list(
25
- # Get events after this created time
26
- created_at_gte: nil,
27
- # Get events created before this time
28
- created_at_lte: nil,
29
- # Min : 1, Max : 100, default 10
30
- limit: nil,
31
- # Get events history of a specific object like payment/subscription/refund/dispute
32
- object_id_: nil,
33
- # Page number default is 0
34
- page_number: nil,
35
- # Page size default is 10 max is 100
36
- page_size: nil,
37
- request_options: {}
38
- ); end
39
6
  # @api private
40
7
  sig { params(client: Dodopayments::Client).returns(T.attached_class) }
41
- def self.new(client:); end
8
+ def self.new(client:)
9
+ end
42
10
  end
43
11
  end
44
12
  end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Webhooks
6
+ class Headers
7
+ # Get a webhook by id
8
+ sig do
9
+ params(
10
+ webhook_id: String,
11
+ request_options: Dodopayments::RequestOptions::OrHash
12
+ ).returns(Dodopayments::Models::Webhooks::HeaderRetrieveResponse)
13
+ end
14
+ def retrieve(webhook_id, request_options: {})
15
+ end
16
+
17
+ # Patch a webhook by id
18
+ sig do
19
+ params(
20
+ webhook_id: String,
21
+ headers: T::Hash[Symbol, String],
22
+ request_options: Dodopayments::RequestOptions::OrHash
23
+ ).void
24
+ end
25
+ def update(
26
+ webhook_id,
27
+ # Object of header-value pair to update or add
28
+ headers:,
29
+ request_options: {}
30
+ )
31
+ end
32
+
33
+ # @api private
34
+ sig { params(client: Dodopayments::Client).returns(T.attached_class) }
35
+ def self.new(client:)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,127 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Webhooks
6
+ sig { returns(Dodopayments::Resources::Webhooks::Headers) }
7
+ attr_reader :headers
8
+
9
+ # Create a new webhook
10
+ sig do
11
+ params(
12
+ url: String,
13
+ description: T.nilable(String),
14
+ disabled: T.nilable(T::Boolean),
15
+ filter_types: T::Array[Dodopayments::WebhookEventType::OrSymbol],
16
+ headers: T.nilable(T::Hash[Symbol, String]),
17
+ idempotency_key: T.nilable(String),
18
+ metadata: T.nilable(T::Hash[Symbol, String]),
19
+ rate_limit: T.nilable(Integer),
20
+ request_options: Dodopayments::RequestOptions::OrHash
21
+ ).returns(Dodopayments::Models::WebhookCreateResponse)
22
+ end
23
+ def create(
24
+ # Url of the webhook
25
+ url:,
26
+ # Filter events to the webhook.
27
+ #
28
+ # Webhook event will only be sent for events in the list.
29
+ description: nil,
30
+ # Create the webhook in a disabled state.
31
+ #
32
+ # Default is false
33
+ disabled: nil,
34
+ filter_types: nil,
35
+ # Custom headers to be passed
36
+ headers: nil,
37
+ # The request's idempotency key
38
+ idempotency_key: nil,
39
+ # Metadata to be passed to the webhook Defaut is {}
40
+ metadata: nil,
41
+ rate_limit: nil,
42
+ request_options: {}
43
+ )
44
+ end
45
+
46
+ # Get a webhook by id
47
+ sig do
48
+ params(
49
+ webhook_id: String,
50
+ request_options: Dodopayments::RequestOptions::OrHash
51
+ ).returns(Dodopayments::Models::WebhookRetrieveResponse)
52
+ end
53
+ def retrieve(webhook_id, request_options: {})
54
+ end
55
+
56
+ # Patch a webhook by id
57
+ sig do
58
+ params(
59
+ webhook_id: String,
60
+ description: T.nilable(String),
61
+ disabled: T.nilable(T::Boolean),
62
+ filter_types:
63
+ T.nilable(T::Array[Dodopayments::WebhookEventType::OrSymbol]),
64
+ metadata: T.nilable(T::Hash[Symbol, String]),
65
+ rate_limit: T.nilable(Integer),
66
+ url: T.nilable(String),
67
+ request_options: Dodopayments::RequestOptions::OrHash
68
+ ).returns(Dodopayments::Models::WebhookUpdateResponse)
69
+ end
70
+ def update(
71
+ webhook_id,
72
+ # Description of the webhook
73
+ description: nil,
74
+ # To Disable the endpoint, set it to true.
75
+ disabled: nil,
76
+ # Filter events to the endpoint.
77
+ #
78
+ # Webhook event will only be sent for events in the list.
79
+ filter_types: nil,
80
+ # Metadata
81
+ metadata: nil,
82
+ # Rate limit
83
+ rate_limit: nil,
84
+ # Url endpoint
85
+ url: nil,
86
+ request_options: {}
87
+ )
88
+ end
89
+
90
+ # List all webhooks
91
+ sig do
92
+ params(
93
+ iterator: T.nilable(String),
94
+ limit: T.nilable(Integer),
95
+ request_options: Dodopayments::RequestOptions::OrHash
96
+ ).returns(
97
+ Dodopayments::Internal::CursorPagePagination[
98
+ Dodopayments::Models::WebhookListResponse
99
+ ]
100
+ )
101
+ end
102
+ def list(
103
+ # The iterator returned from a prior invocation
104
+ iterator: nil,
105
+ # Limit the number of returned items
106
+ limit: nil,
107
+ request_options: {}
108
+ )
109
+ end
110
+
111
+ # Delete a webhook by id
112
+ sig do
113
+ params(
114
+ webhook_id: String,
115
+ request_options: Dodopayments::RequestOptions::OrHash
116
+ ).void
117
+ end
118
+ def delete(webhook_id, request_options: {})
119
+ end
120
+
121
+ # @api private
122
+ sig { params(client: Dodopayments::Client).returns(T.attached_class) }
123
+ def self.new(client:)
124
+ end
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class YourWebhookURL
6
+ sig do
7
+ params(
8
+ business_id: String,
9
+ data:
10
+ T.any(
11
+ Dodopayments::WebhookPayload::Data::Payment::OrHash,
12
+ Dodopayments::WebhookPayload::Data::Subscription::OrHash,
13
+ Dodopayments::WebhookPayload::Data::Refund::OrHash,
14
+ Dodopayments::WebhookPayload::Data::Dispute::OrHash,
15
+ Dodopayments::WebhookPayload::Data::LicenseKey::OrHash
16
+ ),
17
+ timestamp: Time,
18
+ type: Dodopayments::WebhookEventType::OrSymbol,
19
+ webhook_id: String,
20
+ webhook_signature: String,
21
+ webhook_timestamp: String,
22
+ request_options: Dodopayments::RequestOptions::OrHash
23
+ ).void
24
+ end
25
+ def create(
26
+ # Body param:
27
+ business_id:,
28
+ # Body param: The latest data at the time of delivery attempt
29
+ data:,
30
+ # Body param: The timestamp of when the event occurred (not necessarily the same
31
+ # of when it was delivered)
32
+ timestamp:,
33
+ # Body param: Event types for Dodo events
34
+ type:,
35
+ # Header param: Unique identifier for the webhook
36
+ webhook_id:,
37
+ # Header param: Signature of the Webhook
38
+ webhook_signature:,
39
+ # Header param: Unix timestamp when the webhook was sent
40
+ webhook_timestamp:,
41
+ request_options: {}
42
+ )
43
+ end
44
+
45
+ # @api private
46
+ sig { params(client: Dodopayments::Client).returns(T.attached_class) }
47
+ def self.new(client:)
48
+ end
49
+ end
50
+ end
51
+ end
@@ -13,7 +13,7 @@ module Dodopayments
13
13
  test_mode: "https://test.dodopayments.com"
14
14
  }
15
15
 
16
- attr_reader api_key: String
16
+ attr_reader bearer_token: String
17
17
 
18
18
  attr_reader payments: Dodopayments::Resources::Payments
19
19
 
@@ -45,10 +45,16 @@ module Dodopayments
45
45
 
46
46
  attr_reader addons: Dodopayments::Resources::Addons
47
47
 
48
+ attr_reader brands: Dodopayments::Resources::Brands
49
+
50
+ attr_reader webhooks: Dodopayments::Resources::Webhooks
51
+
52
+ attr_reader your_webhook_url: Dodopayments::Resources::YourWebhookURL
53
+
48
54
  private def auth_headers: -> ::Hash[String, String]
49
55
 
50
56
  def initialize: (
51
- ?api_key: String?,
57
+ ?bearer_token: String?,
52
58
  ?environment: :live_mode | :test_mode | nil,
53
59
  ?base_url: String?,
54
60
  ?max_retries: Integer,
@@ -5,6 +5,15 @@ module Dodopayments
5
5
  end
6
6
 
7
7
  class ConversionError < Dodopayments::Errors::Error
8
+ def cause: -> StandardError?
9
+
10
+ def initialize: (
11
+ on: Class,
12
+ method: Symbol,
13
+ target: top,
14
+ value: top,
15
+ ?cause: StandardError?
16
+ ) -> void
8
17
  end
9
18
 
10
19
  class APIError < Dodopayments::Errors::Error
@@ -0,0 +1,15 @@
1
+ module Dodopayments
2
+ module Internal
3
+ class CursorPagePagination[Elem]
4
+ include Dodopayments::Internal::Type::BasePage[Elem]
5
+
6
+ attr_accessor data: ::Array[Elem]?
7
+
8
+ attr_accessor iterator: String
9
+
10
+ attr_accessor done: bool
11
+
12
+ def inspect: -> String
13
+ end
14
+ end
15
+ end
@@ -2,6 +2,8 @@ module Dodopayments
2
2
  module Internal
3
3
  module Transport
4
4
  class BaseClient
5
+ extend Dodopayments::Internal::Util::SorbetRuntimeSupport
6
+
5
7
  type request_components =
6
8
  {
7
9
  method: Symbol,
@@ -20,7 +22,6 @@ module Dodopayments
20
22
  model: Dodopayments::Internal::Type::Converter::input?,
21
23
  options: Dodopayments::request_opts?
22
24
  }
23
-
24
25
  type request_input =
25
26
  {
26
27
  method: Symbol,
@@ -55,6 +56,20 @@ module Dodopayments
55
56
  stream: Enumerable[String]?
56
57
  ) -> void
57
58
 
59
+ attr_reader base_url: URI::Generic
60
+
61
+ attr_reader timeout: Float
62
+
63
+ attr_reader max_retries: Integer
64
+
65
+ attr_reader initial_retry_delay: Float
66
+
67
+ attr_reader max_retry_delay: Float
68
+
69
+ attr_reader headers: ::Hash[String, String]
70
+
71
+ attr_reader idempotency_header: String?
72
+
58
73
  # @api private
59
74
  attr_reader requester: Dodopayments::Internal::Transport::PooledNetRequester
60
75
 
@@ -84,7 +99,7 @@ module Dodopayments
84
99
  retry_count: Integer
85
100
  ) -> Float
86
101
 
87
- private def send_request: (
102
+ def send_request: (
88
103
  Dodopayments::Internal::Transport::BaseClient::request_input request,
89
104
  redirect_count: Integer,
90
105
  retry_count: Integer,
@@ -2,6 +2,8 @@ module Dodopayments
2
2
  module Internal
3
3
  module Transport
4
4
  class PooledNetRequester
5
+ extend Dodopayments::Internal::Util::SorbetRuntimeSupport
6
+
5
7
  type request =
6
8
  {
7
9
  method: Symbol,
@@ -13,6 +15,8 @@ module Dodopayments
13
15
 
14
16
  KEEP_ALIVE_TIMEOUT: 30
15
17
 
18
+ DEFAULT_MAX_CONNECTIONS: Integer
19
+
16
20
  def self.connect: (URI::Generic url) -> top
17
21
 
18
22
  def self.calibrate_socket_timeout: (top conn, Float deadline) -> void
@@ -3,6 +3,7 @@ module Dodopayments
3
3
  module Type
4
4
  class ArrayOf[Elem]
5
5
  include Dodopayments::Internal::Type::Converter
6
+ include Dodopayments::Internal::Util::SorbetRuntimeSupport
6
7
 
7
8
  def self.[]: (
8
9
  ::Hash[Symbol, top]
@@ -27,6 +28,8 @@ module Dodopayments
27
28
  state: Dodopayments::Internal::Type::Converter::dump_state
28
29
  ) -> (::Array[top] | top)
29
30
 
31
+ def to_sorbet_type: -> top
32
+
30
33
  def item_type: -> Elem
31
34
 
32
35
  def nilable?: -> bool