dodopayments 1.22.0 → 1.49.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 (455) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +143 -59
  4. data/SECURITY.md +2 -2
  5. data/lib/dodopayments/client.rb +16 -4
  6. data/lib/dodopayments/errors.rb +23 -1
  7. data/lib/dodopayments/file_part.rb +2 -2
  8. data/lib/dodopayments/internal/cursor_page_pagination.rb +90 -0
  9. data/lib/dodopayments/internal/transport/base_client.rb +88 -8
  10. data/lib/dodopayments/internal/transport/pooled_net_requester.rb +17 -1
  11. data/lib/dodopayments/internal/type/array_of.rb +16 -2
  12. data/lib/dodopayments/internal/type/base_model.rb +155 -54
  13. data/lib/dodopayments/internal/type/boolean.rb +15 -1
  14. data/lib/dodopayments/internal/type/converter.rb +86 -33
  15. data/lib/dodopayments/internal/type/enum.rb +30 -6
  16. data/lib/dodopayments/internal/type/file_input.rb +13 -1
  17. data/lib/dodopayments/internal/type/hash_of.rb +16 -2
  18. data/lib/dodopayments/internal/type/request_parameters.rb +4 -4
  19. data/lib/dodopayments/internal/type/union.rb +44 -31
  20. data/lib/dodopayments/internal/type/unknown.rb +15 -1
  21. data/lib/dodopayments/internal/util.rb +119 -11
  22. data/lib/dodopayments/internal.rb +9 -0
  23. data/lib/dodopayments/models/addon_create_params.rb +6 -10
  24. data/lib/dodopayments/models/addon_list_params.rb +4 -4
  25. data/lib/dodopayments/models/addon_response.rb +6 -10
  26. data/lib/dodopayments/models/addon_update_params.rb +6 -10
  27. data/lib/dodopayments/models/attach_addon.rb +21 -0
  28. data/lib/dodopayments/models/billing_address.rb +3 -3
  29. data/lib/dodopayments/models/brand.rb +107 -0
  30. data/lib/dodopayments/models/brand_create_params.rb +44 -0
  31. data/lib/dodopayments/models/{webhook_event_retrieve_params.rb → brand_list_params.rb} +2 -2
  32. data/lib/dodopayments/models/brand_list_response.rb +17 -0
  33. data/lib/dodopayments/models/brand_retrieve_params.rb +14 -0
  34. data/lib/dodopayments/models/brand_update_images_params.rb +14 -0
  35. data/lib/dodopayments/models/brand_update_images_response.rb +25 -0
  36. data/lib/dodopayments/models/brand_update_params.rb +43 -0
  37. data/lib/dodopayments/models/create_new_customer.rb +0 -1
  38. data/lib/dodopayments/models/customer_list_params.rb +13 -5
  39. data/lib/dodopayments/models/customer_request.rb +3 -3
  40. data/lib/dodopayments/models/customers/customer_portal_create_params.rb +2 -2
  41. data/lib/dodopayments/models/discount.rb +15 -4
  42. data/lib/dodopayments/models/discount_create_params.rb +17 -6
  43. data/lib/dodopayments/models/discount_list_params.rb +4 -4
  44. data/lib/dodopayments/models/discount_update_params.rb +16 -5
  45. data/lib/dodopayments/models/dispute.rb +6 -5
  46. data/lib/dodopayments/models/dispute_list_params.rb +44 -16
  47. data/lib/dodopayments/models/dispute_list_response.rb +6 -5
  48. data/lib/dodopayments/models/{dispute_retrieve_response.rb → get_dispute.rb} +11 -9
  49. data/lib/dodopayments/models/license_key.rb +3 -3
  50. data/lib/dodopayments/models/license_key_duration.rb +1 -1
  51. data/lib/dodopayments/models/license_key_list_params.rb +23 -11
  52. data/lib/dodopayments/models/license_key_update_params.rb +3 -3
  53. data/lib/dodopayments/models/misc_list_supported_countries_response.rb +1 -1
  54. data/lib/dodopayments/models/new_customer.rb +27 -0
  55. data/lib/dodopayments/models/one_time_product_cart_item.rb +0 -1
  56. data/lib/dodopayments/models/payment.rb +50 -21
  57. data/lib/dodopayments/models/payment_create_params.rb +22 -41
  58. data/lib/dodopayments/models/payment_create_response.rb +16 -6
  59. data/lib/dodopayments/models/payment_list_params.rb +44 -16
  60. data/lib/dodopayments/models/payment_list_response.rb +16 -4
  61. data/lib/dodopayments/models/payment_method_types.rb +31 -0
  62. data/lib/dodopayments/models/payment_retrieve_line_items_params.rb +14 -0
  63. data/lib/dodopayments/models/payment_retrieve_line_items_response.rb +63 -0
  64. data/lib/dodopayments/models/payout_list_params.rb +4 -4
  65. data/lib/dodopayments/models/payout_list_response.rb +7 -3
  66. data/lib/dodopayments/models/price.rb +57 -30
  67. data/lib/dodopayments/models/product.rb +85 -12
  68. data/lib/dodopayments/models/product_create_params.rb +61 -12
  69. data/lib/dodopayments/models/product_list_params.rb +15 -7
  70. data/lib/dodopayments/models/product_list_response.rb +19 -11
  71. data/lib/dodopayments/models/product_update_files_params.rb +20 -0
  72. data/lib/dodopayments/models/product_update_files_response.rb +22 -0
  73. data/lib/dodopayments/models/product_update_params.rb +70 -13
  74. data/lib/dodopayments/models/products/image_update_params.rb +2 -2
  75. data/lib/dodopayments/models/refund.rb +15 -5
  76. data/lib/dodopayments/models/refund_create_params.rb +38 -1
  77. data/lib/dodopayments/models/refund_list_params.rb +26 -13
  78. data/lib/dodopayments/models/subscription.rb +38 -18
  79. data/lib/dodopayments/models/subscription_change_plan_params.rb +9 -23
  80. data/lib/dodopayments/models/subscription_charge_params.rb +38 -2
  81. data/lib/dodopayments/models/subscription_create_params.rb +53 -66
  82. data/lib/dodopayments/models/subscription_create_response.rb +24 -8
  83. data/lib/dodopayments/models/subscription_list_params.rb +37 -14
  84. data/lib/dodopayments/models/subscription_list_response.rb +37 -16
  85. data/lib/dodopayments/models/subscription_status.rb +0 -1
  86. data/lib/dodopayments/models/subscription_update_params.rb +16 -6
  87. data/lib/dodopayments/models/webhook_create_params.rb +86 -0
  88. data/lib/dodopayments/models/webhook_create_response.rb +88 -0
  89. data/lib/dodopayments/models/webhook_delete_params.rb +14 -0
  90. data/lib/dodopayments/models/webhook_event_type.rb +35 -0
  91. data/lib/dodopayments/models/webhook_list_params.rb +30 -0
  92. data/lib/dodopayments/models/webhook_list_response.rb +88 -0
  93. data/lib/dodopayments/models/webhook_payload.rb +161 -0
  94. data/lib/dodopayments/models/webhook_retrieve_params.rb +14 -0
  95. data/lib/dodopayments/models/webhook_retrieve_response.rb +88 -0
  96. data/lib/dodopayments/models/webhook_retrieve_secret_params.rb +14 -0
  97. data/lib/dodopayments/models/webhook_retrieve_secret_response.rb +16 -0
  98. data/lib/dodopayments/models/webhook_update_params.rb +69 -0
  99. data/lib/dodopayments/models/webhook_update_response.rb +88 -0
  100. data/lib/dodopayments/models/webhooks/header_retrieve_params.rb +16 -0
  101. data/lib/dodopayments/models/webhooks/header_retrieve_response.rb +31 -0
  102. data/lib/dodopayments/models/webhooks/header_update_params.rb +24 -0
  103. data/lib/dodopayments/models/your_webhook_url_create_params.rb +32 -0
  104. data/lib/dodopayments/models.rb +79 -3
  105. data/lib/dodopayments/request_options.rb +4 -0
  106. data/lib/dodopayments/resources/addons.rb +13 -21
  107. data/lib/dodopayments/resources/brands.rb +119 -0
  108. data/lib/dodopayments/resources/customers/customer_portal.rb +3 -3
  109. data/lib/dodopayments/resources/customers.rb +12 -10
  110. data/lib/dodopayments/resources/discounts.rb +24 -19
  111. data/lib/dodopayments/resources/disputes.rb +10 -10
  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 +41 -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 +176 -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 +48 -9
  128. data/rbi/dodopayments/client.rbi +19 -6
  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 +272 -91
  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 +32 -22
  187. data/rbi/dodopayments/models/dispute_list_params.rbi +178 -33
  188. data/rbi/dodopayments/models/dispute_list_response.rbi +34 -21
  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/{dispute_retrieve_response.rbi → get_dispute.rbi} +40 -28
  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 +125 -62
  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 +61 -40
  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 +69 -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_retrieve_secret_params.rbi +32 -0
  265. data/rbi/dodopayments/models/webhook_retrieve_secret_response.rbi +26 -0
  266. data/rbi/dodopayments/models/webhook_update_params.rbi +94 -0
  267. data/rbi/dodopayments/models/webhook_update_response.rbi +112 -0
  268. data/rbi/dodopayments/models/webhooks/header_retrieve_params.rbi +34 -0
  269. data/rbi/dodopayments/models/webhooks/header_retrieve_response.rbi +50 -0
  270. data/rbi/dodopayments/models/webhooks/header_update_params.rbi +48 -0
  271. data/rbi/dodopayments/models/your_webhook_url_create_params.rbi +56 -0
  272. data/rbi/dodopayments/models.rbi +53 -8
  273. data/rbi/dodopayments/request_options.rbi +18 -7
  274. data/rbi/dodopayments/resources/addons.rbi +44 -27
  275. data/rbi/dodopayments/resources/brands.rbi +89 -0
  276. data/rbi/dodopayments/resources/customers/customer_portal.rbi +8 -6
  277. data/rbi/dodopayments/resources/customers.rbi +31 -17
  278. data/rbi/dodopayments/resources/discounts.rbi +54 -22
  279. data/rbi/dodopayments/resources/disputes.rbi +26 -14
  280. data/rbi/dodopayments/resources/invoices/payments.rbi +10 -3
  281. data/rbi/dodopayments/resources/invoices.rbi +2 -1
  282. data/rbi/dodopayments/resources/license_key_instances.rbi +25 -10
  283. data/rbi/dodopayments/resources/license_keys.rbi +29 -15
  284. data/rbi/dodopayments/resources/licenses.rbi +25 -12
  285. data/rbi/dodopayments/resources/misc.rbi +7 -4
  286. data/rbi/dodopayments/resources/payments.rbi +61 -27
  287. data/rbi/dodopayments/resources/payouts.rbi +12 -6
  288. data/rbi/dodopayments/resources/products/images.rbi +10 -4
  289. data/rbi/dodopayments/resources/products.rbi +118 -41
  290. data/rbi/dodopayments/resources/refunds.rbi +35 -15
  291. data/rbi/dodopayments/resources/subscriptions.rbi +97 -53
  292. data/rbi/dodopayments/resources/webhook_events.rbi +2 -34
  293. data/rbi/dodopayments/resources/webhooks/headers.rbi +40 -0
  294. data/rbi/dodopayments/resources/webhooks.rbi +137 -0
  295. data/rbi/dodopayments/resources/your_webhook_url.rbi +51 -0
  296. data/sig/dodopayments/client.rbs +6 -0
  297. data/sig/dodopayments/errors.rbs +9 -0
  298. data/sig/dodopayments/internal/cursor_page_pagination.rbs +15 -0
  299. data/sig/dodopayments/internal/transport/base_client.rbs +17 -2
  300. data/sig/dodopayments/internal/transport/pooled_net_requester.rbs +4 -0
  301. data/sig/dodopayments/internal/type/array_of.rbs +3 -0
  302. data/sig/dodopayments/internal/type/base_model.rbs +13 -5
  303. data/sig/dodopayments/internal/type/base_page.rbs +1 -1
  304. data/sig/dodopayments/internal/type/boolean.rbs +3 -0
  305. data/sig/dodopayments/internal/type/converter.rbs +26 -1
  306. data/sig/dodopayments/internal/type/enum.rbs +3 -0
  307. data/sig/dodopayments/internal/type/file_input.rbs +2 -0
  308. data/sig/dodopayments/internal/type/hash_of.rbs +3 -0
  309. data/sig/dodopayments/internal/type/request_parameters.rbs +5 -1
  310. data/sig/dodopayments/internal/type/union.rbs +5 -2
  311. data/sig/dodopayments/internal/type/unknown.rbs +3 -0
  312. data/sig/dodopayments/internal/util.rbs +25 -0
  313. data/sig/dodopayments/internal.rbs +4 -0
  314. data/sig/dodopayments/models/addon_cart_response_item.rbs +1 -1
  315. data/sig/dodopayments/models/addon_create_params.rbs +8 -1
  316. data/sig/dodopayments/models/addon_list_params.rbs +14 -6
  317. data/sig/dodopayments/models/addon_response.rbs +12 -1
  318. data/sig/dodopayments/models/addon_retrieve_params.rbs +1 -1
  319. data/sig/dodopayments/models/addon_update_images_params.rbs +1 -1
  320. data/sig/dodopayments/models/addon_update_images_response.rbs +1 -1
  321. data/sig/dodopayments/models/addon_update_params.rbs +9 -1
  322. data/sig/dodopayments/models/attach_addon.rbs +15 -0
  323. data/sig/dodopayments/models/attach_existing_customer.rbs +1 -1
  324. data/sig/dodopayments/models/billing_address.rbs +7 -1
  325. data/sig/dodopayments/models/brand.rbs +88 -0
  326. data/sig/dodopayments/models/brand_create_params.rbs +46 -0
  327. data/sig/dodopayments/models/{webhook_event_retrieve_params.rbs → brand_list_params.rbs} +3 -3
  328. data/sig/dodopayments/models/brand_list_response.rbs +13 -0
  329. data/sig/dodopayments/models/brand_retrieve_params.rbs +15 -0
  330. data/sig/dodopayments/models/brand_update_images_params.rbs +15 -0
  331. data/sig/dodopayments/models/brand_update_images_response.rbs +15 -0
  332. data/sig/dodopayments/models/brand_update_params.rbs +41 -0
  333. data/sig/dodopayments/models/create_new_customer.rbs +6 -1
  334. data/sig/dodopayments/models/customer.rbs +8 -1
  335. data/sig/dodopayments/models/customer_create_params.rbs +6 -1
  336. data/sig/dodopayments/models/customer_limited_details.rbs +1 -1
  337. data/sig/dodopayments/models/customer_list_params.rbs +20 -6
  338. data/sig/dodopayments/models/customer_portal_session.rbs +1 -1
  339. data/sig/dodopayments/models/customer_request.rbs +2 -3
  340. data/sig/dodopayments/models/customer_retrieve_params.rbs +1 -1
  341. data/sig/dodopayments/models/customer_update_params.rbs +5 -1
  342. data/sig/dodopayments/models/customers/customer_portal_create_params.rbs +9 -4
  343. data/sig/dodopayments/models/discount.rbs +18 -1
  344. data/sig/dodopayments/models/discount_create_params.rbs +15 -1
  345. data/sig/dodopayments/models/discount_delete_params.rbs +1 -1
  346. data/sig/dodopayments/models/discount_list_params.rbs +14 -6
  347. data/sig/dodopayments/models/discount_retrieve_params.rbs +1 -1
  348. data/sig/dodopayments/models/discount_update_params.rbs +15 -1
  349. data/sig/dodopayments/models/dispute.rbs +11 -1
  350. data/sig/dodopayments/models/dispute_list_params.rbs +84 -22
  351. data/sig/dodopayments/models/dispute_list_response.rbs +10 -1
  352. data/sig/dodopayments/models/dispute_retrieve_params.rbs +1 -1
  353. data/sig/dodopayments/models/{dispute_retrieve_response.rbs → get_dispute.rbs} +18 -6
  354. data/sig/dodopayments/models/invoices/payment_retrieve_params.rbs +1 -1
  355. data/sig/dodopayments/models/license_activate_params.rbs +5 -1
  356. data/sig/dodopayments/models/license_deactivate_params.rbs +5 -1
  357. data/sig/dodopayments/models/license_key.rbs +14 -1
  358. data/sig/dodopayments/models/license_key_duration.rbs +4 -1
  359. data/sig/dodopayments/models/license_key_instance.rbs +7 -1
  360. data/sig/dodopayments/models/license_key_instance_list_params.rbs +6 -1
  361. data/sig/dodopayments/models/license_key_instance_retrieve_params.rbs +1 -1
  362. data/sig/dodopayments/models/license_key_instance_update_params.rbs +4 -1
  363. data/sig/dodopayments/models/license_key_list_params.rbs +47 -16
  364. data/sig/dodopayments/models/license_key_retrieve_params.rbs +1 -1
  365. data/sig/dodopayments/models/license_key_update_params.rbs +6 -1
  366. data/sig/dodopayments/models/license_validate_params.rbs +5 -1
  367. data/sig/dodopayments/models/license_validate_response.rbs +1 -1
  368. data/sig/dodopayments/models/misc_list_supported_countries_params.rbs +1 -1
  369. data/sig/dodopayments/models/new_customer.rbs +21 -0
  370. data/sig/dodopayments/models/one_time_product_cart_item.rbs +5 -1
  371. data/sig/dodopayments/models/payment.rbs +60 -17
  372. data/sig/dodopayments/models/payment_create_params.rbs +23 -55
  373. data/sig/dodopayments/models/payment_create_response.rbs +21 -7
  374. data/sig/dodopayments/models/payment_list_params.rbs +85 -22
  375. data/sig/dodopayments/models/payment_list_response.rbs +25 -4
  376. data/sig/dodopayments/models/payment_method_types.rbs +48 -0
  377. data/sig/dodopayments/models/payment_retrieve_line_items_params.rbs +15 -0
  378. data/sig/dodopayments/models/payment_retrieve_line_items_response.rbs +67 -0
  379. data/sig/dodopayments/models/payment_retrieve_params.rbs +1 -1
  380. data/sig/dodopayments/models/payout_list_params.rbs +14 -6
  381. data/sig/dodopayments/models/payout_list_response.rbs +17 -1
  382. data/sig/dodopayments/models/price.rbs +53 -13
  383. data/sig/dodopayments/models/product.rbs +80 -4
  384. data/sig/dodopayments/models/product_create_params.rbs +45 -4
  385. data/sig/dodopayments/models/product_delete_params.rbs +1 -1
  386. data/sig/dodopayments/models/product_list_params.rbs +29 -10
  387. data/sig/dodopayments/models/product_list_response.rbs +20 -1
  388. data/sig/dodopayments/models/product_retrieve_params.rbs +1 -1
  389. data/sig/dodopayments/models/product_unarchive_params.rbs +1 -1
  390. data/sig/dodopayments/models/product_update_files_params.rbs +23 -0
  391. data/sig/dodopayments/models/product_update_files_response.rbs +15 -0
  392. data/sig/dodopayments/models/product_update_params.rbs +58 -4
  393. data/sig/dodopayments/models/products/image_update_params.rbs +9 -4
  394. data/sig/dodopayments/models/products/image_update_response.rbs +1 -1
  395. data/sig/dodopayments/models/refund.rbs +15 -1
  396. data/sig/dodopayments/models/refund_create_params.rbs +38 -2
  397. data/sig/dodopayments/models/refund_list_params.rbs +54 -19
  398. data/sig/dodopayments/models/refund_retrieve_params.rbs +1 -1
  399. data/sig/dodopayments/models/subscription.rbs +43 -10
  400. data/sig/dodopayments/models/subscription_change_plan_params.rbs +14 -17
  401. data/sig/dodopayments/models/subscription_charge_params.rbs +27 -2
  402. data/sig/dodopayments/models/subscription_charge_response.rbs +1 -1
  403. data/sig/dodopayments/models/subscription_create_params.rbs +58 -73
  404. data/sig/dodopayments/models/subscription_create_response.rbs +26 -7
  405. data/sig/dodopayments/models/subscription_list_params.rbs +64 -19
  406. data/sig/dodopayments/models/subscription_list_response.rbs +39 -7
  407. data/sig/dodopayments/models/subscription_retrieve_params.rbs +1 -1
  408. data/sig/dodopayments/models/subscription_status.rbs +1 -2
  409. data/sig/dodopayments/models/subscription_update_params.rbs +25 -8
  410. data/sig/dodopayments/models/webhook_create_params.rbs +65 -0
  411. data/sig/dodopayments/models/webhook_create_response.rbs +60 -0
  412. data/sig/dodopayments/models/webhook_delete_params.rbs +15 -0
  413. data/sig/dodopayments/models/webhook_event_type.rbs +54 -0
  414. data/sig/dodopayments/models/webhook_list_params.rbs +28 -0
  415. data/sig/dodopayments/models/webhook_list_response.rbs +60 -0
  416. data/sig/dodopayments/models/webhook_payload.rbs +203 -0
  417. data/sig/dodopayments/models/webhook_retrieve_params.rbs +15 -0
  418. data/sig/dodopayments/models/webhook_retrieve_response.rbs +60 -0
  419. data/sig/dodopayments/models/webhook_retrieve_secret_params.rbs +15 -0
  420. data/sig/dodopayments/models/webhook_retrieve_secret_response.rbs +13 -0
  421. data/sig/dodopayments/models/webhook_update_params.rbs +51 -0
  422. data/sig/dodopayments/models/webhook_update_response.rbs +60 -0
  423. data/sig/dodopayments/models/webhooks/header_retrieve_params.rbs +17 -0
  424. data/sig/dodopayments/models/webhooks/header_retrieve_response.rbs +24 -0
  425. data/sig/dodopayments/models/webhooks/header_update_params.rbs +26 -0
  426. data/sig/dodopayments/models/your_webhook_url_create_params.rbs +42 -0
  427. data/sig/dodopayments/models.rbs +41 -3
  428. data/sig/dodopayments/request_options.rbs +1 -1
  429. data/sig/dodopayments/resources/addons.rbs +6 -6
  430. data/sig/dodopayments/resources/brands.rbs +39 -0
  431. data/sig/dodopayments/resources/customers/customer_portal.rbs +2 -2
  432. data/sig/dodopayments/resources/customers.rbs +7 -6
  433. data/sig/dodopayments/resources/discounts.rbs +8 -6
  434. data/sig/dodopayments/resources/disputes.rbs +8 -8
  435. data/sig/dodopayments/resources/license_key_instances.rbs +3 -3
  436. data/sig/dodopayments/resources/license_keys.rbs +8 -8
  437. data/sig/dodopayments/resources/licenses.rbs +1 -1
  438. data/sig/dodopayments/resources/payments.rbs +17 -11
  439. data/sig/dodopayments/resources/payouts.rbs +2 -2
  440. data/sig/dodopayments/resources/products/images.rbs +1 -1
  441. data/sig/dodopayments/resources/products.rbs +20 -7
  442. data/sig/dodopayments/resources/refunds.rbs +10 -9
  443. data/sig/dodopayments/resources/subscriptions.rbs +22 -15
  444. data/sig/dodopayments/resources/webhook_events.rbs +0 -15
  445. data/sig/dodopayments/resources/webhooks/headers.rbs +20 -0
  446. data/sig/dodopayments/resources/webhooks.rbs +53 -0
  447. data/sig/dodopayments/resources/your_webhook_url.rbs +18 -0
  448. metadata +116 -14
  449. data/lib/dodopayments/models/webhook_event.rb +0 -58
  450. data/lib/dodopayments/models/webhook_event_list_params.rb +0 -66
  451. data/rbi/dodopayments/models/webhook_event.rbi +0 -71
  452. data/rbi/dodopayments/models/webhook_event_list_params.rbi +0 -77
  453. data/rbi/dodopayments/models/webhook_event_retrieve_params.rbi +0 -19
  454. data/sig/dodopayments/models/webhook_event.rbs +0 -46
  455. 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,71 @@ 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
+ next_billing_date: T.nilable(Time),
98
+ status: T.nilable(Dodopayments::SubscriptionStatus::OrSymbol),
88
99
  tax_id: T.nilable(String),
89
- request_options: Dodopayments::RequestOpts
90
- )
91
- .returns(Dodopayments::Models::Subscription)
100
+ request_options: Dodopayments::RequestOptions::OrHash
101
+ ).returns(Dodopayments::Subscription)
92
102
  end
93
103
  def update(
94
104
  # Subscription Id
95
105
  subscription_id,
96
106
  billing: nil,
107
+ cancel_at_next_billing_date: nil,
97
108
  disable_on_demand: nil,
98
109
  metadata: nil,
110
+ next_billing_date: nil,
99
111
  status: nil,
100
112
  tax_id: nil,
101
113
  request_options: {}
102
- ); end
114
+ )
115
+ end
116
+
103
117
  sig do
104
118
  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
119
+ brand_id: String,
120
+ created_at_gte: Time,
121
+ created_at_lte: Time,
122
+ customer_id: String,
123
+ page_number: Integer,
124
+ page_size: Integer,
125
+ status: Dodopayments::SubscriptionListParams::Status::OrSymbol,
126
+ request_options: Dodopayments::RequestOptions::OrHash
127
+ ).returns(
128
+ Dodopayments::Internal::DefaultPageNumberPagination[
129
+ Dodopayments::Models::SubscriptionListResponse
130
+ ]
112
131
  )
113
- .returns(
114
- Dodopayments::Internal::DefaultPageNumberPagination[Dodopayments::Models::SubscriptionListResponse]
115
- )
116
132
  end
117
133
  def list(
134
+ # filter by Brand id
135
+ brand_id: nil,
118
136
  # Get events after this created time
119
137
  created_at_gte: nil,
120
138
  # Get events created before this time
@@ -128,25 +146,26 @@ module Dodopayments
128
146
  # Filter by status
129
147
  status: nil,
130
148
  request_options: {}
131
- ); end
149
+ )
150
+ end
151
+
132
152
  sig do
133
153
  params(
134
154
  subscription_id: String,
135
155
  product_id: String,
136
- proration_billing_mode: Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
156
+ proration_billing_mode:
157
+ Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
137
158
  quantity: Integer,
138
- addons: T.nilable(
139
- T::Array[T.any(Dodopayments::Models::SubscriptionChangePlanParams::Addon, Dodopayments::Internal::AnyHash)]
140
- ),
141
- request_options: Dodopayments::RequestOpts
142
- )
143
- .void
159
+ addons: T.nilable(T::Array[Dodopayments::AttachAddon::OrHash]),
160
+ request_options: Dodopayments::RequestOptions::OrHash
161
+ ).void
144
162
  end
145
163
  def change_plan(
146
164
  # Subscription Id
147
165
  subscription_id,
148
166
  # Unique identifier of the product to subscribe to
149
167
  product_id:,
168
+ # Proration Billing Mode
150
169
  proration_billing_mode:,
151
170
  # Number of units to subscribe for. Must be at least 1.
152
171
  quantity:,
@@ -154,10 +173,19 @@ module Dodopayments
154
173
  # addons
155
174
  addons: nil,
156
175
  request_options: {}
157
- ); end
176
+ )
177
+ end
178
+
158
179
  sig do
159
- params(subscription_id: String, product_price: Integer, request_options: Dodopayments::RequestOpts)
160
- .returns(Dodopayments::Models::SubscriptionChargeResponse)
180
+ params(
181
+ subscription_id: String,
182
+ product_price: Integer,
183
+ adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
184
+ metadata: T.nilable(T::Hash[Symbol, String]),
185
+ product_currency: T.nilable(Dodopayments::Currency::OrSymbol),
186
+ product_description: T.nilable(String),
187
+ request_options: Dodopayments::RequestOptions::OrHash
188
+ ).returns(Dodopayments::Models::SubscriptionChargeResponse)
161
189
  end
162
190
  def charge(
163
191
  # Subscription Id
@@ -165,11 +193,27 @@ module Dodopayments
165
193
  # The product price. Represented in the lowest denomination of the currency (e.g.,
166
194
  # cents for USD). For example, to charge $1.00, pass `100`.
167
195
  product_price:,
196
+ # Whether adaptive currency fees should be included in the product_price (true) or
197
+ # added on top (false). This field is ignored if adaptive pricing is not enabled
198
+ # for the business.
199
+ adaptive_currency_fees_inclusive: nil,
200
+ # Metadata for the payment. If not passed, the metadata of the subscription will
201
+ # be taken
202
+ metadata: nil,
203
+ # Optional currency of the product price. If not specified, defaults to the
204
+ # currency of the product.
205
+ product_currency: nil,
206
+ # Optional product description override for billing and line items. If not
207
+ # specified, the stored description of the product will be used.
208
+ product_description: nil,
168
209
  request_options: {}
169
- ); end
210
+ )
211
+ end
212
+
170
213
  # @api private
171
214
  sig { params(client: Dodopayments::Client).returns(T.attached_class) }
172
- def self.new(client:); end
215
+ def self.new(client:)
216
+ end
173
217
  end
174
218
  end
175
219
  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,137 @@
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
+ description: nil,
27
+ # Create the webhook in a disabled state.
28
+ #
29
+ # Default is false
30
+ disabled: nil,
31
+ # Filter events to the webhook.
32
+ #
33
+ # Webhook event will only be sent for events in the list.
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
+ # Get webhook secret by id
122
+ sig do
123
+ params(
124
+ webhook_id: String,
125
+ request_options: Dodopayments::RequestOptions::OrHash
126
+ ).returns(Dodopayments::Models::WebhookRetrieveSecretResponse)
127
+ end
128
+ def retrieve_secret(webhook_id, request_options: {})
129
+ end
130
+
131
+ # @api private
132
+ sig { params(client: Dodopayments::Client).returns(T.attached_class) }
133
+ def self.new(client:)
134
+ end
135
+ end
136
+ end
137
+ 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
@@ -45,6 +45,12 @@ 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: (
@@ -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