dodopayments 1.20.0 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +45 -0
  3. data/README.md +144 -60
  4. data/SECURITY.md +2 -2
  5. data/lib/dodopayments/client.rb +25 -12
  6. data/lib/dodopayments/errors.rb +23 -1
  7. data/lib/dodopayments/file_part.rb +2 -2
  8. data/lib/dodopayments/internal/cursor_page_pagination.rb +90 -0
  9. data/lib/dodopayments/internal/default_page_number_pagination.rb +2 -2
  10. data/lib/dodopayments/internal/transport/base_client.rb +90 -10
  11. data/lib/dodopayments/internal/transport/pooled_net_requester.rb +17 -1
  12. data/lib/dodopayments/internal/type/array_of.rb +16 -2
  13. data/lib/dodopayments/internal/type/base_model.rb +152 -59
  14. data/lib/dodopayments/internal/type/boolean.rb +15 -1
  15. data/lib/dodopayments/internal/type/converter.rb +86 -33
  16. data/lib/dodopayments/internal/type/enum.rb +30 -6
  17. data/lib/dodopayments/internal/type/file_input.rb +13 -1
  18. data/lib/dodopayments/internal/type/hash_of.rb +16 -2
  19. data/lib/dodopayments/internal/type/request_parameters.rb +6 -12
  20. data/lib/dodopayments/internal/type/union.rb +44 -31
  21. data/lib/dodopayments/internal/type/unknown.rb +15 -1
  22. data/lib/dodopayments/internal/util.rb +136 -12
  23. data/lib/dodopayments/internal.rb +9 -0
  24. data/lib/dodopayments/models/addon_create_params.rb +6 -10
  25. data/lib/dodopayments/models/addon_list_params.rb +4 -4
  26. data/lib/dodopayments/models/addon_response.rb +6 -10
  27. data/lib/dodopayments/models/addon_update_params.rb +6 -10
  28. data/lib/dodopayments/models/attach_addon.rb +21 -0
  29. data/lib/dodopayments/models/billing_address.rb +3 -3
  30. data/lib/dodopayments/models/brand.rb +107 -0
  31. data/lib/dodopayments/models/brand_create_params.rb +44 -0
  32. data/lib/dodopayments/models/{webhook_event_retrieve_params.rb → brand_list_params.rb} +2 -2
  33. data/lib/dodopayments/models/brand_list_response.rb +17 -0
  34. data/lib/dodopayments/models/brand_retrieve_params.rb +14 -0
  35. data/lib/dodopayments/models/brand_update_images_params.rb +14 -0
  36. data/lib/dodopayments/models/brand_update_images_response.rb +25 -0
  37. data/lib/dodopayments/models/brand_update_params.rb +43 -0
  38. data/lib/dodopayments/models/create_new_customer.rb +0 -1
  39. data/lib/dodopayments/models/customer_list_params.rb +13 -5
  40. data/lib/dodopayments/models/customer_request.rb +3 -3
  41. data/lib/dodopayments/models/customers/customer_portal_create_params.rb +2 -2
  42. data/lib/dodopayments/models/discount.rb +15 -4
  43. data/lib/dodopayments/models/discount_create_params.rb +17 -6
  44. data/lib/dodopayments/models/discount_list_params.rb +4 -4
  45. data/lib/dodopayments/models/discount_update_params.rb +16 -5
  46. data/lib/dodopayments/models/dispute.rb +15 -7
  47. data/lib/dodopayments/models/dispute_list_params.rb +44 -16
  48. data/lib/dodopayments/models/dispute_list_response.rb +77 -0
  49. data/lib/dodopayments/models/get_dispute.rb +101 -0
  50. data/lib/dodopayments/models/license_key.rb +3 -3
  51. data/lib/dodopayments/models/license_key_duration.rb +1 -1
  52. data/lib/dodopayments/models/license_key_list_params.rb +23 -11
  53. data/lib/dodopayments/models/license_key_update_params.rb +3 -3
  54. data/lib/dodopayments/models/misc_list_supported_countries_response.rb +1 -1
  55. data/lib/dodopayments/models/new_customer.rb +27 -0
  56. data/lib/dodopayments/models/one_time_product_cart_item.rb +0 -1
  57. data/lib/dodopayments/models/payment.rb +79 -18
  58. data/lib/dodopayments/models/payment_create_params.rb +22 -41
  59. data/lib/dodopayments/models/payment_create_response.rb +16 -6
  60. data/lib/dodopayments/models/payment_list_params.rb +44 -16
  61. data/lib/dodopayments/models/payment_list_response.rb +16 -4
  62. data/lib/dodopayments/models/payment_method_types.rb +31 -0
  63. data/lib/dodopayments/models/payment_retrieve_line_items_params.rb +14 -0
  64. data/lib/dodopayments/models/payment_retrieve_line_items_response.rb +63 -0
  65. data/lib/dodopayments/models/payout_list_params.rb +4 -4
  66. data/lib/dodopayments/models/payout_list_response.rb +7 -3
  67. data/lib/dodopayments/models/price.rb +57 -30
  68. data/lib/dodopayments/models/product.rb +85 -12
  69. data/lib/dodopayments/models/product_create_params.rb +61 -12
  70. data/lib/dodopayments/models/product_list_params.rb +15 -7
  71. data/lib/dodopayments/models/product_list_response.rb +19 -11
  72. data/lib/dodopayments/models/product_update_files_params.rb +20 -0
  73. data/lib/dodopayments/models/product_update_files_response.rb +22 -0
  74. data/lib/dodopayments/models/product_update_params.rb +70 -13
  75. data/lib/dodopayments/models/products/image_update_params.rb +2 -2
  76. data/lib/dodopayments/models/refund.rb +15 -5
  77. data/lib/dodopayments/models/refund_create_params.rb +38 -1
  78. data/lib/dodopayments/models/refund_list_params.rb +26 -13
  79. data/lib/dodopayments/models/subscription.rb +38 -18
  80. data/lib/dodopayments/models/subscription_change_plan_params.rb +19 -3
  81. data/lib/dodopayments/models/subscription_charge_params.rb +38 -2
  82. data/lib/dodopayments/models/subscription_create_params.rb +53 -66
  83. data/lib/dodopayments/models/subscription_create_response.rb +24 -8
  84. data/lib/dodopayments/models/subscription_list_params.rb +37 -14
  85. data/lib/dodopayments/models/subscription_list_response.rb +37 -16
  86. data/lib/dodopayments/models/subscription_status.rb +0 -1
  87. data/lib/dodopayments/models/subscription_update_params.rb +10 -6
  88. data/lib/dodopayments/models/webhook_create_params.rb +86 -0
  89. data/lib/dodopayments/models/webhook_create_response.rb +88 -0
  90. data/lib/dodopayments/models/webhook_delete_params.rb +14 -0
  91. data/lib/dodopayments/models/webhook_event_type.rb +35 -0
  92. data/lib/dodopayments/models/webhook_list_params.rb +30 -0
  93. data/lib/dodopayments/models/webhook_list_response.rb +88 -0
  94. data/lib/dodopayments/models/webhook_payload.rb +161 -0
  95. data/lib/dodopayments/models/webhook_retrieve_params.rb +14 -0
  96. data/lib/dodopayments/models/webhook_retrieve_response.rb +88 -0
  97. data/lib/dodopayments/models/webhook_update_params.rb +69 -0
  98. data/lib/dodopayments/models/webhook_update_response.rb +88 -0
  99. data/lib/dodopayments/models/webhooks/header_retrieve_params.rb +16 -0
  100. data/lib/dodopayments/models/webhooks/header_retrieve_response.rb +31 -0
  101. data/lib/dodopayments/models/webhooks/header_update_params.rb +24 -0
  102. data/lib/dodopayments/models/your_webhook_url_create_params.rb +32 -0
  103. data/lib/dodopayments/models.rb +241 -0
  104. data/lib/dodopayments/request_options.rb +4 -0
  105. data/lib/dodopayments/resources/addons.rb +13 -21
  106. data/lib/dodopayments/resources/brands.rb +119 -0
  107. data/lib/dodopayments/resources/customers/customer_portal.rb +3 -3
  108. data/lib/dodopayments/resources/customers.rb +12 -10
  109. data/lib/dodopayments/resources/discounts.rb +24 -19
  110. data/lib/dodopayments/resources/disputes.rb +12 -12
  111. data/lib/dodopayments/resources/invoices/payments.rb +3 -2
  112. data/lib/dodopayments/resources/license_key_instances.rb +5 -5
  113. data/lib/dodopayments/resources/license_keys.rb +13 -13
  114. data/lib/dodopayments/resources/licenses.rb +4 -4
  115. data/lib/dodopayments/resources/misc.rb +1 -1
  116. data/lib/dodopayments/resources/payments.rb +38 -19
  117. data/lib/dodopayments/resources/payouts.rb +3 -3
  118. data/lib/dodopayments/resources/products/images.rb +2 -2
  119. data/lib/dodopayments/resources/products.rb +58 -24
  120. data/lib/dodopayments/resources/refunds.rb +14 -12
  121. data/lib/dodopayments/resources/subscriptions.rb +44 -29
  122. data/lib/dodopayments/resources/webhook_events.rb +0 -52
  123. data/lib/dodopayments/resources/webhooks/headers.rb +59 -0
  124. data/lib/dodopayments/resources/webhooks.rb +157 -0
  125. data/lib/dodopayments/resources/your_webhook_url.rb +56 -0
  126. data/lib/dodopayments/version.rb +1 -1
  127. data/lib/dodopayments.rb +47 -8
  128. data/rbi/dodopayments/client.rbi +24 -10
  129. data/rbi/dodopayments/errors.rbi +51 -16
  130. data/rbi/dodopayments/file_part.rbi +9 -6
  131. data/rbi/dodopayments/internal/cursor_page_pagination.rbi +25 -0
  132. data/rbi/dodopayments/internal/default_page_number_pagination.rbi +2 -1
  133. data/rbi/dodopayments/internal/transport/base_client.rbi +165 -77
  134. data/rbi/dodopayments/internal/transport/pooled_net_requester.rbi +33 -13
  135. data/rbi/dodopayments/internal/type/array_of.rbi +40 -24
  136. data/rbi/dodopayments/internal/type/base_model.rbi +160 -70
  137. data/rbi/dodopayments/internal/type/base_page.rbi +13 -8
  138. data/rbi/dodopayments/internal/type/boolean.rbi +24 -14
  139. data/rbi/dodopayments/internal/type/converter.rbi +135 -33
  140. data/rbi/dodopayments/internal/type/enum.rbi +29 -13
  141. data/rbi/dodopayments/internal/type/file_input.rbi +13 -4
  142. data/rbi/dodopayments/internal/type/hash_of.rbi +40 -24
  143. data/rbi/dodopayments/internal/type/request_parameters.rbi +14 -4
  144. data/rbi/dodopayments/internal/type/union.rbi +71 -23
  145. data/rbi/dodopayments/internal/type/unknown.rbi +24 -6
  146. data/rbi/dodopayments/internal/util.rbi +274 -89
  147. data/rbi/dodopayments/internal.rbi +7 -0
  148. data/rbi/dodopayments/models/addon_cart_response_item.rbi +16 -4
  149. data/rbi/dodopayments/models/addon_create_params.rbi +33 -24
  150. data/rbi/dodopayments/models/addon_list_params.rbi +29 -17
  151. data/rbi/dodopayments/models/addon_response.rbi +33 -27
  152. data/rbi/dodopayments/models/addon_retrieve_params.rbi +18 -5
  153. data/rbi/dodopayments/models/addon_update_images_params.rbi +18 -5
  154. data/rbi/dodopayments/models/addon_update_images_response.rbi +13 -3
  155. data/rbi/dodopayments/models/addon_update_params.rbi +34 -25
  156. data/rbi/dodopayments/models/attach_addon.rbi +28 -0
  157. data/rbi/dodopayments/models/attach_existing_customer.rbi +13 -3
  158. data/rbi/dodopayments/models/billing_address.rbi +24 -12
  159. data/rbi/dodopayments/models/brand.rbi +132 -0
  160. data/rbi/dodopayments/models/brand_create_params.rbi +68 -0
  161. data/rbi/dodopayments/models/brand_list_params.rbi +29 -0
  162. data/rbi/dodopayments/models/brand_list_response.rbi +34 -0
  163. data/rbi/dodopayments/models/brand_retrieve_params.rbi +32 -0
  164. data/rbi/dodopayments/models/brand_update_images_params.rbi +32 -0
  165. data/rbi/dodopayments/models/brand_update_images_response.rbi +36 -0
  166. data/rbi/dodopayments/models/brand_update_params.rbi +64 -0
  167. data/rbi/dodopayments/models/country_code.rbi +255 -252
  168. data/rbi/dodopayments/models/create_new_customer.rbi +27 -11
  169. data/rbi/dodopayments/models/currency.rbi +149 -148
  170. data/rbi/dodopayments/models/customer.rbi +27 -15
  171. data/rbi/dodopayments/models/customer_create_params.rbi +22 -14
  172. data/rbi/dodopayments/models/customer_limited_details.rbi +21 -4
  173. data/rbi/dodopayments/models/customer_list_params.rbi +43 -17
  174. data/rbi/dodopayments/models/customer_portal_session.rbi +13 -3
  175. data/rbi/dodopayments/models/customer_request.rbi +10 -2
  176. data/rbi/dodopayments/models/customer_retrieve_params.rbi +18 -5
  177. data/rbi/dodopayments/models/customer_update_params.rbi +21 -13
  178. data/rbi/dodopayments/models/customers/customer_portal_create_params.rbi +26 -8
  179. data/rbi/dodopayments/models/discount.rbi +42 -22
  180. data/rbi/dodopayments/models/discount_create_params.rbi +43 -20
  181. data/rbi/dodopayments/models/discount_delete_params.rbi +18 -5
  182. data/rbi/dodopayments/models/discount_list_params.rbi +32 -17
  183. data/rbi/dodopayments/models/discount_retrieve_params.rbi +18 -5
  184. data/rbi/dodopayments/models/discount_type.rbi +7 -4
  185. data/rbi/dodopayments/models/discount_update_params.rbi +43 -20
  186. data/rbi/dodopayments/models/dispute.rbi +41 -23
  187. data/rbi/dodopayments/models/dispute_list_params.rbi +178 -33
  188. data/rbi/dodopayments/models/dispute_list_response.rbi +98 -0
  189. data/rbi/dodopayments/models/dispute_retrieve_params.rbi +18 -5
  190. data/rbi/dodopayments/models/dispute_stage.rbi +11 -6
  191. data/rbi/dodopayments/models/dispute_status.rbi +20 -10
  192. data/rbi/dodopayments/models/get_dispute.rbi +124 -0
  193. data/rbi/dodopayments/models/intent_status.rbi +32 -14
  194. data/rbi/dodopayments/models/invoices/payment_retrieve_params.rbi +18 -5
  195. data/rbi/dodopayments/models/license_activate_params.rbi +21 -6
  196. data/rbi/dodopayments/models/license_deactivate_params.rbi +21 -13
  197. data/rbi/dodopayments/models/license_key.rbi +31 -23
  198. data/rbi/dodopayments/models/license_key_duration.rbi +24 -5
  199. data/rbi/dodopayments/models/license_key_instance.rbi +19 -4
  200. data/rbi/dodopayments/models/license_key_instance_list_params.rbi +23 -14
  201. data/rbi/dodopayments/models/license_key_instance_retrieve_params.rbi +18 -5
  202. data/rbi/dodopayments/models/license_key_instance_update_params.rbi +19 -6
  203. data/rbi/dodopayments/models/license_key_list_params.rbi +91 -26
  204. data/rbi/dodopayments/models/license_key_retrieve_params.rbi +18 -5
  205. data/rbi/dodopayments/models/license_key_status.rbi +10 -6
  206. data/rbi/dodopayments/models/license_key_update_params.rbi +23 -14
  207. data/rbi/dodopayments/models/license_validate_params.rbi +25 -13
  208. data/rbi/dodopayments/models/license_validate_response.rbi +13 -3
  209. data/rbi/dodopayments/models/misc_list_supported_countries_params.rbi +18 -5
  210. data/rbi/dodopayments/models/misc_list_supported_countries_response.rbi +1 -1
  211. data/rbi/dodopayments/models/new_customer.rbi +39 -0
  212. data/rbi/dodopayments/models/one_time_product_cart_item.rbi +23 -4
  213. data/rbi/dodopayments/models/payment.rbi +149 -54
  214. data/rbi/dodopayments/models/payment_create_params.rbi +67 -87
  215. data/rbi/dodopayments/models/payment_create_response.rbi +45 -22
  216. data/rbi/dodopayments/models/payment_list_params.rbi +149 -32
  217. data/rbi/dodopayments/models/payment_list_response.rbi +47 -26
  218. data/rbi/dodopayments/models/payment_method_types.rbi +52 -0
  219. data/rbi/dodopayments/models/payment_retrieve_line_items_params.rbi +32 -0
  220. data/rbi/dodopayments/models/payment_retrieve_line_items_response.rbi +114 -0
  221. data/rbi/dodopayments/models/payment_retrieve_params.rbi +18 -5
  222. data/rbi/dodopayments/models/payout_list_params.rbi +29 -17
  223. data/rbi/dodopayments/models/payout_list_response.rbi +82 -35
  224. data/rbi/dodopayments/models/price.rbi +142 -55
  225. data/rbi/dodopayments/models/product.rbi +177 -38
  226. data/rbi/dodopayments/models/product_create_params.rbi +151 -36
  227. data/rbi/dodopayments/models/product_delete_params.rbi +18 -5
  228. data/rbi/dodopayments/models/product_list_params.rbi +50 -21
  229. data/rbi/dodopayments/models/product_list_response.rbi +57 -42
  230. data/rbi/dodopayments/models/product_retrieve_params.rbi +18 -5
  231. data/rbi/dodopayments/models/product_unarchive_params.rbi +18 -5
  232. data/rbi/dodopayments/models/product_update_files_params.rbi +38 -0
  233. data/rbi/dodopayments/models/product_update_files_response.rbi +29 -0
  234. data/rbi/dodopayments/models/product_update_params.rbi +160 -37
  235. data/rbi/dodopayments/models/products/image_update_params.rbi +20 -8
  236. data/rbi/dodopayments/models/products/image_update_response.rbi +18 -4
  237. data/rbi/dodopayments/models/refund.rbi +39 -21
  238. data/rbi/dodopayments/models/refund_create_params.rbi +87 -11
  239. data/rbi/dodopayments/models/refund_list_params.rbi +86 -29
  240. data/rbi/dodopayments/models/refund_retrieve_params.rbi +18 -5
  241. data/rbi/dodopayments/models/refund_status.rbi +10 -7
  242. data/rbi/dodopayments/models/subscription.rbi +83 -47
  243. data/rbi/dodopayments/models/subscription_change_plan_params.rbi +68 -21
  244. data/rbi/dodopayments/models/subscription_charge_params.rbi +65 -6
  245. data/rbi/dodopayments/models/subscription_charge_response.rbi +13 -3
  246. data/rbi/dodopayments/models/subscription_create_params.rbi +136 -128
  247. data/rbi/dodopayments/models/subscription_create_response.rbi +51 -22
  248. data/rbi/dodopayments/models/subscription_list_params.rbi +125 -29
  249. data/rbi/dodopayments/models/subscription_list_response.rbi +85 -44
  250. data/rbi/dodopayments/models/subscription_retrieve_params.rbi +18 -5
  251. data/rbi/dodopayments/models/subscription_status.rbi +16 -10
  252. data/rbi/dodopayments/models/subscription_update_params.rbi +63 -33
  253. data/rbi/dodopayments/models/tax_category.rbi +11 -7
  254. data/rbi/dodopayments/models/time_interval.rbi +10 -7
  255. data/rbi/dodopayments/models/webhook_create_params.rbi +115 -0
  256. data/rbi/dodopayments/models/webhook_create_response.rbi +112 -0
  257. data/rbi/dodopayments/models/webhook_delete_params.rbi +32 -0
  258. data/rbi/dodopayments/models/webhook_event_type.rbi +102 -0
  259. data/rbi/dodopayments/models/webhook_list_params.rbi +54 -0
  260. data/rbi/dodopayments/models/webhook_list_response.rbi +112 -0
  261. data/rbi/dodopayments/models/webhook_payload.rbi +440 -0
  262. data/rbi/dodopayments/models/webhook_retrieve_params.rbi +32 -0
  263. data/rbi/dodopayments/models/webhook_retrieve_response.rbi +112 -0
  264. data/rbi/dodopayments/models/webhook_update_params.rbi +94 -0
  265. data/rbi/dodopayments/models/webhook_update_response.rbi +112 -0
  266. data/rbi/dodopayments/models/webhooks/header_retrieve_params.rbi +34 -0
  267. data/rbi/dodopayments/models/webhooks/header_retrieve_response.rbi +50 -0
  268. data/rbi/dodopayments/models/webhooks/header_update_params.rbi +48 -0
  269. data/rbi/dodopayments/models/your_webhook_url_create_params.rbi +56 -0
  270. data/rbi/dodopayments/models.rbi +209 -0
  271. data/rbi/dodopayments/request_options.rbi +18 -7
  272. data/rbi/dodopayments/resources/addons.rbi +44 -27
  273. data/rbi/dodopayments/resources/brands.rbi +89 -0
  274. data/rbi/dodopayments/resources/customers/customer_portal.rbi +8 -6
  275. data/rbi/dodopayments/resources/customers.rbi +31 -17
  276. data/rbi/dodopayments/resources/discounts.rbi +54 -22
  277. data/rbi/dodopayments/resources/disputes.rbi +26 -14
  278. data/rbi/dodopayments/resources/invoices/payments.rbi +10 -3
  279. data/rbi/dodopayments/resources/invoices.rbi +2 -1
  280. data/rbi/dodopayments/resources/license_key_instances.rbi +25 -10
  281. data/rbi/dodopayments/resources/license_keys.rbi +29 -15
  282. data/rbi/dodopayments/resources/licenses.rbi +25 -12
  283. data/rbi/dodopayments/resources/misc.rbi +7 -4
  284. data/rbi/dodopayments/resources/payments.rbi +61 -27
  285. data/rbi/dodopayments/resources/payouts.rbi +12 -6
  286. data/rbi/dodopayments/resources/products/images.rbi +10 -4
  287. data/rbi/dodopayments/resources/products.rbi +118 -41
  288. data/rbi/dodopayments/resources/refunds.rbi +35 -15
  289. data/rbi/dodopayments/resources/subscriptions.rbi +98 -50
  290. data/rbi/dodopayments/resources/webhook_events.rbi +2 -34
  291. data/rbi/dodopayments/resources/webhooks/headers.rbi +40 -0
  292. data/rbi/dodopayments/resources/webhooks.rbi +127 -0
  293. data/rbi/dodopayments/resources/your_webhook_url.rbi +51 -0
  294. data/sig/dodopayments/client.rbs +8 -2
  295. data/sig/dodopayments/errors.rbs +9 -0
  296. data/sig/dodopayments/internal/cursor_page_pagination.rbs +15 -0
  297. data/sig/dodopayments/internal/transport/base_client.rbs +17 -2
  298. data/sig/dodopayments/internal/transport/pooled_net_requester.rbs +4 -0
  299. data/sig/dodopayments/internal/type/array_of.rbs +3 -0
  300. data/sig/dodopayments/internal/type/base_model.rbs +13 -5
  301. data/sig/dodopayments/internal/type/base_page.rbs +1 -1
  302. data/sig/dodopayments/internal/type/boolean.rbs +3 -0
  303. data/sig/dodopayments/internal/type/converter.rbs +26 -1
  304. data/sig/dodopayments/internal/type/enum.rbs +3 -0
  305. data/sig/dodopayments/internal/type/file_input.rbs +2 -0
  306. data/sig/dodopayments/internal/type/hash_of.rbs +3 -0
  307. data/sig/dodopayments/internal/type/request_parameters.rbs +5 -1
  308. data/sig/dodopayments/internal/type/union.rbs +5 -2
  309. data/sig/dodopayments/internal/type/unknown.rbs +3 -0
  310. data/sig/dodopayments/internal/util.rbs +27 -0
  311. data/sig/dodopayments/internal.rbs +4 -0
  312. data/sig/dodopayments/models/addon_cart_response_item.rbs +1 -1
  313. data/sig/dodopayments/models/addon_create_params.rbs +8 -1
  314. data/sig/dodopayments/models/addon_list_params.rbs +14 -6
  315. data/sig/dodopayments/models/addon_response.rbs +12 -1
  316. data/sig/dodopayments/models/addon_retrieve_params.rbs +1 -1
  317. data/sig/dodopayments/models/addon_update_images_params.rbs +1 -1
  318. data/sig/dodopayments/models/addon_update_images_response.rbs +1 -1
  319. data/sig/dodopayments/models/addon_update_params.rbs +9 -1
  320. data/sig/dodopayments/models/attach_addon.rbs +15 -0
  321. data/sig/dodopayments/models/attach_existing_customer.rbs +1 -1
  322. data/sig/dodopayments/models/billing_address.rbs +7 -1
  323. data/sig/dodopayments/models/brand.rbs +88 -0
  324. data/sig/dodopayments/models/brand_create_params.rbs +46 -0
  325. data/sig/dodopayments/models/{webhook_event_retrieve_params.rbs → brand_list_params.rbs} +3 -3
  326. data/sig/dodopayments/models/brand_list_response.rbs +13 -0
  327. data/sig/dodopayments/models/brand_retrieve_params.rbs +15 -0
  328. data/sig/dodopayments/models/brand_update_images_params.rbs +15 -0
  329. data/sig/dodopayments/models/brand_update_images_response.rbs +15 -0
  330. data/sig/dodopayments/models/brand_update_params.rbs +41 -0
  331. data/sig/dodopayments/models/create_new_customer.rbs +6 -1
  332. data/sig/dodopayments/models/customer.rbs +8 -1
  333. data/sig/dodopayments/models/customer_create_params.rbs +6 -1
  334. data/sig/dodopayments/models/customer_limited_details.rbs +1 -1
  335. data/sig/dodopayments/models/customer_list_params.rbs +20 -6
  336. data/sig/dodopayments/models/customer_portal_session.rbs +1 -1
  337. data/sig/dodopayments/models/customer_request.rbs +2 -3
  338. data/sig/dodopayments/models/customer_retrieve_params.rbs +1 -1
  339. data/sig/dodopayments/models/customer_update_params.rbs +5 -1
  340. data/sig/dodopayments/models/customers/customer_portal_create_params.rbs +9 -4
  341. data/sig/dodopayments/models/discount.rbs +18 -1
  342. data/sig/dodopayments/models/discount_create_params.rbs +15 -1
  343. data/sig/dodopayments/models/discount_delete_params.rbs +1 -1
  344. data/sig/dodopayments/models/discount_list_params.rbs +14 -6
  345. data/sig/dodopayments/models/discount_retrieve_params.rbs +1 -1
  346. data/sig/dodopayments/models/discount_update_params.rbs +15 -1
  347. data/sig/dodopayments/models/dispute.rbs +17 -3
  348. data/sig/dodopayments/models/dispute_list_params.rbs +84 -22
  349. data/sig/dodopayments/models/dispute_list_response.rbs +55 -0
  350. data/sig/dodopayments/models/dispute_retrieve_params.rbs +1 -1
  351. data/sig/dodopayments/models/get_dispute.rbs +70 -0
  352. data/sig/dodopayments/models/invoices/payment_retrieve_params.rbs +1 -1
  353. data/sig/dodopayments/models/license_activate_params.rbs +5 -1
  354. data/sig/dodopayments/models/license_deactivate_params.rbs +5 -1
  355. data/sig/dodopayments/models/license_key.rbs +14 -1
  356. data/sig/dodopayments/models/license_key_duration.rbs +4 -1
  357. data/sig/dodopayments/models/license_key_instance.rbs +7 -1
  358. data/sig/dodopayments/models/license_key_instance_list_params.rbs +6 -1
  359. data/sig/dodopayments/models/license_key_instance_retrieve_params.rbs +1 -1
  360. data/sig/dodopayments/models/license_key_instance_update_params.rbs +4 -1
  361. data/sig/dodopayments/models/license_key_list_params.rbs +47 -16
  362. data/sig/dodopayments/models/license_key_retrieve_params.rbs +1 -1
  363. data/sig/dodopayments/models/license_key_update_params.rbs +6 -1
  364. data/sig/dodopayments/models/license_validate_params.rbs +5 -1
  365. data/sig/dodopayments/models/license_validate_response.rbs +1 -1
  366. data/sig/dodopayments/models/misc_list_supported_countries_params.rbs +1 -1
  367. data/sig/dodopayments/models/new_customer.rbs +21 -0
  368. data/sig/dodopayments/models/one_time_product_cart_item.rbs +5 -1
  369. data/sig/dodopayments/models/payment.rbs +76 -17
  370. data/sig/dodopayments/models/payment_create_params.rbs +23 -55
  371. data/sig/dodopayments/models/payment_create_response.rbs +21 -7
  372. data/sig/dodopayments/models/payment_list_params.rbs +85 -22
  373. data/sig/dodopayments/models/payment_list_response.rbs +25 -4
  374. data/sig/dodopayments/models/payment_method_types.rbs +48 -0
  375. data/sig/dodopayments/models/payment_retrieve_line_items_params.rbs +15 -0
  376. data/sig/dodopayments/models/payment_retrieve_line_items_response.rbs +67 -0
  377. data/sig/dodopayments/models/payment_retrieve_params.rbs +1 -1
  378. data/sig/dodopayments/models/payout_list_params.rbs +14 -6
  379. data/sig/dodopayments/models/payout_list_response.rbs +17 -1
  380. data/sig/dodopayments/models/price.rbs +53 -13
  381. data/sig/dodopayments/models/product.rbs +80 -4
  382. data/sig/dodopayments/models/product_create_params.rbs +45 -4
  383. data/sig/dodopayments/models/product_delete_params.rbs +1 -1
  384. data/sig/dodopayments/models/product_list_params.rbs +29 -10
  385. data/sig/dodopayments/models/product_list_response.rbs +20 -1
  386. data/sig/dodopayments/models/product_retrieve_params.rbs +1 -1
  387. data/sig/dodopayments/models/product_unarchive_params.rbs +1 -1
  388. data/sig/dodopayments/models/product_update_files_params.rbs +23 -0
  389. data/sig/dodopayments/models/product_update_files_response.rbs +15 -0
  390. data/sig/dodopayments/models/product_update_params.rbs +58 -4
  391. data/sig/dodopayments/models/products/image_update_params.rbs +9 -4
  392. data/sig/dodopayments/models/products/image_update_response.rbs +1 -1
  393. data/sig/dodopayments/models/refund.rbs +15 -1
  394. data/sig/dodopayments/models/refund_create_params.rbs +38 -2
  395. data/sig/dodopayments/models/refund_list_params.rbs +54 -19
  396. data/sig/dodopayments/models/refund_retrieve_params.rbs +1 -1
  397. data/sig/dodopayments/models/subscription.rbs +43 -10
  398. data/sig/dodopayments/models/subscription_change_plan_params.rbs +16 -3
  399. data/sig/dodopayments/models/subscription_charge_params.rbs +27 -2
  400. data/sig/dodopayments/models/subscription_charge_response.rbs +1 -1
  401. data/sig/dodopayments/models/subscription_create_params.rbs +58 -73
  402. data/sig/dodopayments/models/subscription_create_response.rbs +26 -7
  403. data/sig/dodopayments/models/subscription_list_params.rbs +64 -19
  404. data/sig/dodopayments/models/subscription_list_response.rbs +39 -7
  405. data/sig/dodopayments/models/subscription_retrieve_params.rbs +1 -1
  406. data/sig/dodopayments/models/subscription_status.rbs +1 -2
  407. data/sig/dodopayments/models/subscription_update_params.rbs +20 -8
  408. data/sig/dodopayments/models/webhook_create_params.rbs +65 -0
  409. data/sig/dodopayments/models/webhook_create_response.rbs +60 -0
  410. data/sig/dodopayments/models/webhook_delete_params.rbs +15 -0
  411. data/sig/dodopayments/models/webhook_event_type.rbs +54 -0
  412. data/sig/dodopayments/models/webhook_list_params.rbs +28 -0
  413. data/sig/dodopayments/models/webhook_list_response.rbs +60 -0
  414. data/sig/dodopayments/models/webhook_payload.rbs +203 -0
  415. data/sig/dodopayments/models/webhook_retrieve_params.rbs +15 -0
  416. data/sig/dodopayments/models/webhook_retrieve_response.rbs +60 -0
  417. data/sig/dodopayments/models/webhook_update_params.rbs +51 -0
  418. data/sig/dodopayments/models/webhook_update_response.rbs +60 -0
  419. data/sig/dodopayments/models/webhooks/header_retrieve_params.rbs +17 -0
  420. data/sig/dodopayments/models/webhooks/header_retrieve_response.rbs +24 -0
  421. data/sig/dodopayments/models/webhooks/header_update_params.rbs +26 -0
  422. data/sig/dodopayments/models/your_webhook_url_create_params.rbs +42 -0
  423. data/sig/dodopayments/models.rbs +201 -0
  424. data/sig/dodopayments/request_options.rbs +1 -1
  425. data/sig/dodopayments/resources/addons.rbs +6 -6
  426. data/sig/dodopayments/resources/brands.rbs +39 -0
  427. data/sig/dodopayments/resources/customers/customer_portal.rbs +2 -2
  428. data/sig/dodopayments/resources/customers.rbs +7 -6
  429. data/sig/dodopayments/resources/discounts.rbs +8 -6
  430. data/sig/dodopayments/resources/disputes.rbs +9 -9
  431. data/sig/dodopayments/resources/invoices/payments.rbs +1 -1
  432. data/sig/dodopayments/resources/license_key_instances.rbs +3 -3
  433. data/sig/dodopayments/resources/license_keys.rbs +8 -8
  434. data/sig/dodopayments/resources/licenses.rbs +1 -1
  435. data/sig/dodopayments/resources/payments.rbs +17 -11
  436. data/sig/dodopayments/resources/payouts.rbs +2 -2
  437. data/sig/dodopayments/resources/products/images.rbs +1 -1
  438. data/sig/dodopayments/resources/products.rbs +20 -7
  439. data/sig/dodopayments/resources/refunds.rbs +10 -9
  440. data/sig/dodopayments/resources/subscriptions.rbs +21 -14
  441. data/sig/dodopayments/resources/webhook_events.rbs +0 -15
  442. data/sig/dodopayments/resources/webhooks/headers.rbs +20 -0
  443. data/sig/dodopayments/resources/webhooks.rbs +48 -0
  444. data/sig/dodopayments/resources/your_webhook_url.rbs +18 -0
  445. metadata +116 -11
  446. data/lib/dodopayments/models/webhook_event.rb +0 -58
  447. data/lib/dodopayments/models/webhook_event_list_params.rb +0 -66
  448. data/rbi/dodopayments/models/webhook_event.rbi +0 -71
  449. data/rbi/dodopayments/models/webhook_event_list_params.rbi +0 -77
  450. data/rbi/dodopayments/models/webhook_event_retrieve_params.rbi +0 -19
  451. data/sig/dodopayments/models/webhook_event.rbs +0 -46
  452. data/sig/dodopayments/models/webhook_event_list_params.rbs +0 -43
@@ -9,6 +9,23 @@ module Dodopayments
9
9
  # @return [Float]
10
10
  def self.monotonic_secs = Process.clock_gettime(Process::CLOCK_MONOTONIC)
11
11
 
12
+ # @api private
13
+ #
14
+ # @param ns [Module, Class]
15
+ #
16
+ # @return [Enumerable<Module, Class>]
17
+ def self.walk_namespaces(ns)
18
+ ns.constants(false).lazy.flat_map do
19
+ case (c = ns.const_get(_1, false))
20
+ in Module | Class
21
+ walk_namespaces(c)
22
+ else
23
+ []
24
+ end
25
+ end
26
+ .chain([ns])
27
+ end
28
+
12
29
  class << self
13
30
  # @api private
14
31
  #
@@ -128,6 +145,22 @@ module Dodopayments
128
145
  input.respond_to?(:to_h) ? input.to_h : input
129
146
  end
130
147
  end
148
+
149
+ # @api private
150
+ #
151
+ # @param input [Object]
152
+ #
153
+ # @raise [ArgumentError]
154
+ # @return [Hash{Object=>Object}, nil]
155
+ def coerce_hash!(input)
156
+ case coerce_hash(input)
157
+ in Hash | nil => coerced
158
+ coerced
159
+ else
160
+ message = "Expected a #{Hash} or #{Dodopayments::Internal::Type::BaseModel}, got #{data.inspect}"
161
+ raise ArgumentError.new(message)
162
+ end
163
+ end
131
164
  end
132
165
 
133
166
  class << self
@@ -454,7 +487,7 @@ module Dodopayments
454
487
  # @type [Regexp]
455
488
  JSON_CONTENT = %r{^application/(?:vnd(?:\.[^.]+)*\+)?json(?!l)}
456
489
  # @type [Regexp]
457
- JSONL_CONTENT = %r{^application/(?:x-)?jsonl}
490
+ JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
458
491
 
459
492
  class << self
460
493
  # @api private
@@ -464,7 +497,7 @@ module Dodopayments
464
497
  # @param closing [Array<Proc>]
465
498
  # @param content_type [String, nil]
466
499
  private def write_multipart_content(y, val:, closing:, content_type: nil)
467
- content_type ||= "application/octet-stream"
500
+ content_line = "Content-Type: %s\r\n\r\n"
468
501
 
469
502
  case val
470
503
  in Dodopayments::FilePart
@@ -475,24 +508,21 @@ module Dodopayments
475
508
  content_type: val.content_type
476
509
  )
477
510
  in Pathname
478
- y << "Content-Type: #{content_type}\r\n\r\n"
511
+ y << format(content_line, content_type || "application/octet-stream")
479
512
  io = val.open(binmode: true)
480
513
  closing << io.method(:close)
481
514
  IO.copy_stream(io, y)
482
515
  in IO
483
- y << "Content-Type: #{content_type}\r\n\r\n"
516
+ y << format(content_line, content_type || "application/octet-stream")
484
517
  IO.copy_stream(val, y)
485
518
  in StringIO
486
- y << "Content-Type: #{content_type}\r\n\r\n"
519
+ y << format(content_line, content_type || "application/octet-stream")
487
520
  y << val.string
488
- in String
489
- y << "Content-Type: #{content_type}\r\n\r\n"
490
- y << val.to_s
491
521
  in -> { primitive?(_1) }
492
- y << "Content-Type: text/plain\r\n\r\n"
522
+ y << format(content_line, content_type || "text/plain")
493
523
  y << val.to_s
494
524
  else
495
- y << "Content-Type: application/json\r\n\r\n"
525
+ y << format(content_line, content_type || "application/json")
496
526
  y << JSON.generate(val)
497
527
  end
498
528
  y << "\r\n"
@@ -519,7 +549,7 @@ module Dodopayments
519
549
  filename = ERB::Util.url_encode(val.filename)
520
550
  y << "; filename=\"#{filename}\""
521
551
  in Pathname | IO
522
- filename = ERB::Util.url_encode(File.basename(val.to_path))
552
+ filename = ERB::Util.url_encode(::File.basename(val.to_path))
523
553
  y << "; filename=\"#{filename}\""
524
554
  else
525
555
  end
@@ -530,6 +560,8 @@ module Dodopayments
530
560
 
531
561
  # @api private
532
562
  #
563
+ # https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.1.md#special-considerations-for-multipart-content
564
+ #
533
565
  # @param body [Object]
534
566
  #
535
567
  # @return [Array(String, Enumerable<String>)]
@@ -567,11 +599,13 @@ module Dodopayments
567
599
  #
568
600
  # @return [Object]
569
601
  def encode_content(headers, body)
602
+ # rubocop:disable Style/CaseEquality
603
+ # rubocop:disable Layout/LineLength
570
604
  content_type = headers["content-type"]
571
605
  case [content_type, body]
572
606
  in [Dodopayments::Internal::Util::JSON_CONTENT, Hash | Array | -> { primitive?(_1) }]
573
607
  [headers, JSON.generate(body)]
574
- in [Dodopayments::Internal::Util::JSONL_CONTENT, Enumerable] unless body.is_a?(Dodopayments::Internal::Type::FileInput)
608
+ in [Dodopayments::Internal::Util::JSONL_CONTENT, Enumerable] unless Dodopayments::Internal::Type::FileInput === body
575
609
  [headers, body.lazy.map { JSON.generate(_1) }]
576
610
  in [%r{^multipart/form-data}, Hash | Dodopayments::Internal::Type::FileInput]
577
611
  boundary, strio = encode_multipart_streaming(body)
@@ -586,6 +620,8 @@ module Dodopayments
586
620
  else
587
621
  [headers, body]
588
622
  end
623
+ # rubocop:enable Layout/LineLength
624
+ # rubocop:enable Style/CaseEquality
589
625
  end
590
626
 
591
627
  # @api private
@@ -785,6 +821,94 @@ module Dodopayments
785
821
  end
786
822
  end
787
823
  end
824
+
825
+ # @api private
826
+ module SorbetRuntimeSupport
827
+ class MissingSorbetRuntimeError < ::RuntimeError
828
+ end
829
+
830
+ # @api private
831
+ #
832
+ # @return [Hash{Symbol=>Object}]
833
+ private def sorbet_runtime_constants = @sorbet_runtime_constants ||= {}
834
+
835
+ # @api private
836
+ #
837
+ # @param name [Symbol]
838
+ def const_missing(name)
839
+ super unless sorbet_runtime_constants.key?(name)
840
+
841
+ unless Object.const_defined?(:T)
842
+ message = "Trying to access a Sorbet constant #{name.inspect} without `sorbet-runtime`."
843
+ raise MissingSorbetRuntimeError.new(message)
844
+ end
845
+
846
+ sorbet_runtime_constants.fetch(name).call
847
+ end
848
+
849
+ # @api private
850
+ #
851
+ # @param name [Symbol]
852
+ #
853
+ # @return [Boolean]
854
+ def sorbet_constant_defined?(name) = sorbet_runtime_constants.key?(name)
855
+
856
+ # @api private
857
+ #
858
+ # @param name [Symbol]
859
+ # @param blk [Proc]
860
+ def define_sorbet_constant!(name, &blk) = sorbet_runtime_constants.store(name, blk)
861
+
862
+ # @api private
863
+ #
864
+ # @return [Object]
865
+ def to_sorbet_type = raise NotImplementedError
866
+
867
+ class << self
868
+ # @api private
869
+ #
870
+ # @param type [Dodopayments::Internal::Util::SorbetRuntimeSupport, Object]
871
+ #
872
+ # @return [Object]
873
+ def to_sorbet_type(type)
874
+ case type
875
+ in Dodopayments::Internal::Util::SorbetRuntimeSupport
876
+ type.to_sorbet_type
877
+ in Class | Module
878
+ type
879
+ in true | false
880
+ T::Boolean
881
+ else
882
+ type.class
883
+ end
884
+ end
885
+ end
886
+ end
887
+
888
+ extend Dodopayments::Internal::Util::SorbetRuntimeSupport
889
+
890
+ define_sorbet_constant!(:ParsedUri) do
891
+ T.type_alias do
892
+ {
893
+ scheme: T.nilable(String),
894
+ host: T.nilable(String),
895
+ port: T.nilable(Integer),
896
+ path: T.nilable(String),
897
+ query: T::Hash[String, T::Array[String]]
898
+ }
899
+ end
900
+ end
901
+
902
+ define_sorbet_constant!(:ServerSentEvent) do
903
+ T.type_alias do
904
+ {
905
+ event: T.nilable(String),
906
+ data: T.nilable(String),
907
+ id: T.nilable(String),
908
+ retry: T.nilable(Integer)
909
+ }
910
+ end
911
+ end
788
912
  end
789
913
  end
790
914
  end
@@ -2,10 +2,19 @@
2
2
 
3
3
  module Dodopayments
4
4
  module Internal
5
+ extend Dodopayments::Internal::Util::SorbetRuntimeSupport
6
+
5
7
  OMIT =
6
8
  Object.new.tap do
7
9
  _1.define_singleton_method(:inspect) { "#<#{Dodopayments::Internal}::OMIT>" }
8
10
  end
9
11
  .freeze
12
+
13
+ define_sorbet_constant!(:AnyHash) do
14
+ T.type_alias { T::Hash[Symbol, T.anything] }
15
+ end
16
+ define_sorbet_constant!(:FileInput) do
17
+ T.type_alias { T.any(Pathname, StringIO, IO, String, Dodopayments::FilePart) }
18
+ end
10
19
  end
11
20
  end
@@ -8,9 +8,10 @@ module Dodopayments
8
8
  include Dodopayments::Internal::Type::RequestParameters
9
9
 
10
10
  # @!attribute currency
11
+ # The currency of the Addon
11
12
  #
12
13
  # @return [Symbol, Dodopayments::Models::Currency]
13
- required :currency, enum: -> { Dodopayments::Models::Currency }
14
+ required :currency, enum: -> { Dodopayments::Currency }
14
15
 
15
16
  # @!attribute name
16
17
  # Name of the Addon
@@ -25,11 +26,10 @@ module Dodopayments
25
26
  required :price, Integer
26
27
 
27
28
  # @!attribute tax_category
28
- # Represents the different categories of taxation applicable to various products
29
- # and services.
29
+ # Tax category applied to this Addon
30
30
  #
31
31
  # @return [Symbol, Dodopayments::Models::TaxCategory]
32
- required :tax_category, enum: -> { Dodopayments::Models::TaxCategory }
32
+ required :tax_category, enum: -> { Dodopayments::TaxCategory }
33
33
 
34
34
  # @!attribute description
35
35
  # Optional description of the Addon
@@ -38,17 +38,13 @@ module Dodopayments
38
38
  optional :description, String, nil?: true
39
39
 
40
40
  # @!method initialize(currency:, name:, price:, tax_category:, description: nil, request_options: {})
41
- # Some parameter documentations has been truncated, see
42
- # {Dodopayments::Models::AddonCreateParams} for more details.
43
- #
44
- # @param currency [Symbol, Dodopayments::Models::Currency]
41
+ # @param currency [Symbol, Dodopayments::Models::Currency] The currency of the Addon
45
42
  #
46
43
  # @param name [String] Name of the Addon
47
44
  #
48
45
  # @param price [Integer] Amount of the addon
49
46
  #
50
- # @param tax_category [Symbol, Dodopayments::Models::TaxCategory] Represents the different categories of taxation applicable to various products a
51
- # ...
47
+ # @param tax_category [Symbol, Dodopayments::Models::TaxCategory] Tax category applied to this Addon
52
48
  #
53
49
  # @param description [String, nil] Optional description of the Addon
54
50
  #
@@ -11,18 +11,18 @@ module Dodopayments
11
11
  # Page number default is 0
12
12
  #
13
13
  # @return [Integer, nil]
14
- optional :page_number, Integer, nil?: true
14
+ optional :page_number, Integer
15
15
 
16
16
  # @!attribute page_size
17
17
  # Page size default is 10 max is 100
18
18
  #
19
19
  # @return [Integer, nil]
20
- optional :page_size, Integer, nil?: true
20
+ optional :page_size, Integer
21
21
 
22
22
  # @!method initialize(page_number: nil, page_size: nil, request_options: {})
23
- # @param page_number [Integer, nil] Page number default is 0
23
+ # @param page_number [Integer] Page number default is 0
24
24
  #
25
- # @param page_size [Integer, nil] Page size default is 10 max is 100
25
+ # @param page_size [Integer] Page size default is 10 max is 100
26
26
  #
27
27
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
28
28
  end
@@ -23,9 +23,10 @@ module Dodopayments
23
23
  required :created_at, Time
24
24
 
25
25
  # @!attribute currency
26
+ # Currency of the Addon
26
27
  #
27
28
  # @return [Symbol, Dodopayments::Models::Currency]
28
- required :currency, enum: -> { Dodopayments::Models::Currency }
29
+ required :currency, enum: -> { Dodopayments::Currency }
29
30
 
30
31
  # @!attribute name
31
32
  # Name of the Addon
@@ -40,11 +41,10 @@ module Dodopayments
40
41
  required :price, Integer
41
42
 
42
43
  # @!attribute tax_category
43
- # Represents the different categories of taxation applicable to various products
44
- # and services.
44
+ # Tax category applied to this Addon
45
45
  #
46
46
  # @return [Symbol, Dodopayments::Models::TaxCategory]
47
- required :tax_category, enum: -> { Dodopayments::Models::TaxCategory }
47
+ required :tax_category, enum: -> { Dodopayments::TaxCategory }
48
48
 
49
49
  # @!attribute updated_at
50
50
  # Updated time
@@ -65,23 +65,19 @@ module Dodopayments
65
65
  optional :image, String, nil?: true
66
66
 
67
67
  # @!method initialize(id:, business_id:, created_at:, currency:, name:, price:, tax_category:, updated_at:, description: nil, image: nil)
68
- # Some parameter documentations has been truncated, see
69
- # {Dodopayments::Models::AddonResponse} for more details.
70
- #
71
68
  # @param id [String] id of the Addon
72
69
  #
73
70
  # @param business_id [String] Unique identifier for the business to which the addon belongs.
74
71
  #
75
72
  # @param created_at [Time] Created time
76
73
  #
77
- # @param currency [Symbol, Dodopayments::Models::Currency]
74
+ # @param currency [Symbol, Dodopayments::Models::Currency] Currency of the Addon
78
75
  #
79
76
  # @param name [String] Name of the Addon
80
77
  #
81
78
  # @param price [Integer] Amount of the addon
82
79
  #
83
- # @param tax_category [Symbol, Dodopayments::Models::TaxCategory] Represents the different categories of taxation applicable to various products a
84
- # ...
80
+ # @param tax_category [Symbol, Dodopayments::Models::TaxCategory] Tax category applied to this Addon
85
81
  #
86
82
  # @param updated_at [Time] Updated time
87
83
  #
@@ -8,9 +8,10 @@ module Dodopayments
8
8
  include Dodopayments::Internal::Type::RequestParameters
9
9
 
10
10
  # @!attribute currency
11
+ # The currency of the Addon
11
12
  #
12
13
  # @return [Symbol, Dodopayments::Models::Currency, nil]
13
- optional :currency, enum: -> { Dodopayments::Models::Currency }, nil?: true
14
+ optional :currency, enum: -> { Dodopayments::Currency }, nil?: true
14
15
 
15
16
  # @!attribute description
16
17
  # Description of the Addon, optional and must be at most 1000 characters.
@@ -37,17 +38,13 @@ module Dodopayments
37
38
  optional :price, Integer, nil?: true
38
39
 
39
40
  # @!attribute tax_category
40
- # Represents the different categories of taxation applicable to various products
41
- # and services.
41
+ # Tax category of the Addon.
42
42
  #
43
43
  # @return [Symbol, Dodopayments::Models::TaxCategory, nil]
44
- optional :tax_category, enum: -> { Dodopayments::Models::TaxCategory }, nil?: true
44
+ optional :tax_category, enum: -> { Dodopayments::TaxCategory }, nil?: true
45
45
 
46
46
  # @!method initialize(currency: nil, description: nil, image_id: nil, name: nil, price: nil, tax_category: nil, request_options: {})
47
- # Some parameter documentations has been truncated, see
48
- # {Dodopayments::Models::AddonUpdateParams} for more details.
49
- #
50
- # @param currency [Symbol, Dodopayments::Models::Currency, nil]
47
+ # @param currency [Symbol, Dodopayments::Models::Currency, nil] The currency of the Addon
51
48
  #
52
49
  # @param description [String, nil] Description of the Addon, optional and must be at most 1000 characters.
53
50
  #
@@ -57,8 +54,7 @@ module Dodopayments
57
54
  #
58
55
  # @param price [Integer, nil] Amount of the addon
59
56
  #
60
- # @param tax_category [Symbol, Dodopayments::Models::TaxCategory, nil] Represents the different categories of taxation applicable to various products a
61
- # ...
57
+ # @param tax_category [Symbol, Dodopayments::Models::TaxCategory, nil] Tax category of the Addon.
62
58
  #
63
59
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
64
60
  end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class AttachAddon < Dodopayments::Internal::Type::BaseModel
6
+ # @!attribute addon_id
7
+ #
8
+ # @return [String]
9
+ required :addon_id, String
10
+
11
+ # @!attribute quantity
12
+ #
13
+ # @return [Integer]
14
+ required :quantity, Integer
15
+
16
+ # @!method initialize(addon_id:, quantity:)
17
+ # @param addon_id [String]
18
+ # @param quantity [Integer]
19
+ end
20
+ end
21
+ end
@@ -10,10 +10,10 @@ module Dodopayments
10
10
  required :city, String
11
11
 
12
12
  # @!attribute country
13
- # ISO country code alpha2 variant
13
+ # Two-letter ISO country code (ISO 3166-1 alpha-2)
14
14
  #
15
15
  # @return [Symbol, Dodopayments::Models::CountryCode]
16
- required :country, enum: -> { Dodopayments::Models::CountryCode }
16
+ required :country, enum: -> { Dodopayments::CountryCode }
17
17
 
18
18
  # @!attribute state
19
19
  # State or province name
@@ -36,7 +36,7 @@ module Dodopayments
36
36
  # @!method initialize(city:, country:, state:, street:, zipcode:)
37
37
  # @param city [String] City name
38
38
  #
39
- # @param country [Symbol, Dodopayments::Models::CountryCode] ISO country code alpha2 variant
39
+ # @param country [Symbol, Dodopayments::Models::CountryCode] Two-letter ISO country code (ISO 3166-1 alpha-2)
40
40
  #
41
41
  # @param state [String] State or province name
42
42
  #
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Brands#create
6
+ class Brand < Dodopayments::Internal::Type::BaseModel
7
+ # @!attribute brand_id
8
+ #
9
+ # @return [String]
10
+ required :brand_id, String
11
+
12
+ # @!attribute business_id
13
+ #
14
+ # @return [String]
15
+ required :business_id, String
16
+
17
+ # @!attribute enabled
18
+ #
19
+ # @return [Boolean]
20
+ required :enabled, Dodopayments::Internal::Type::Boolean
21
+
22
+ # @!attribute statement_descriptor
23
+ #
24
+ # @return [String]
25
+ required :statement_descriptor, String
26
+
27
+ # @!attribute verification_enabled
28
+ #
29
+ # @return [Boolean]
30
+ required :verification_enabled, Dodopayments::Internal::Type::Boolean
31
+
32
+ # @!attribute verification_status
33
+ #
34
+ # @return [Symbol, Dodopayments::Models::Brand::VerificationStatus]
35
+ required :verification_status, enum: -> { Dodopayments::Brand::VerificationStatus }
36
+
37
+ # @!attribute description
38
+ #
39
+ # @return [String, nil]
40
+ optional :description, String, nil?: true
41
+
42
+ # @!attribute image
43
+ #
44
+ # @return [String, nil]
45
+ optional :image, String, nil?: true
46
+
47
+ # @!attribute name
48
+ #
49
+ # @return [String, nil]
50
+ optional :name, String, nil?: true
51
+
52
+ # @!attribute reason_for_hold
53
+ # Incase the brand verification fails or is put on hold
54
+ #
55
+ # @return [String, nil]
56
+ optional :reason_for_hold, String, nil?: true
57
+
58
+ # @!attribute support_email
59
+ #
60
+ # @return [String, nil]
61
+ optional :support_email, String, nil?: true
62
+
63
+ # @!attribute url
64
+ #
65
+ # @return [String, nil]
66
+ optional :url, String, nil?: true
67
+
68
+ # @!method initialize(brand_id:, business_id:, enabled:, statement_descriptor:, verification_enabled:, verification_status:, description: nil, image: nil, name: nil, reason_for_hold: nil, support_email: nil, url: nil)
69
+ # @param brand_id [String]
70
+ #
71
+ # @param business_id [String]
72
+ #
73
+ # @param enabled [Boolean]
74
+ #
75
+ # @param statement_descriptor [String]
76
+ #
77
+ # @param verification_enabled [Boolean]
78
+ #
79
+ # @param verification_status [Symbol, Dodopayments::Models::Brand::VerificationStatus]
80
+ #
81
+ # @param description [String, nil]
82
+ #
83
+ # @param image [String, nil]
84
+ #
85
+ # @param name [String, nil]
86
+ #
87
+ # @param reason_for_hold [String, nil] Incase the brand verification fails or is put on hold
88
+ #
89
+ # @param support_email [String, nil]
90
+ #
91
+ # @param url [String, nil]
92
+
93
+ # @see Dodopayments::Models::Brand#verification_status
94
+ module VerificationStatus
95
+ extend Dodopayments::Internal::Type::Enum
96
+
97
+ SUCCESS = :Success
98
+ FAIL = :Fail
99
+ REVIEW = :Review
100
+ HOLD = :Hold
101
+
102
+ # @!method self.values
103
+ # @return [Array<Symbol>]
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Brands#create
6
+ class BrandCreateParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!attribute description
11
+ #
12
+ # @return [String, nil]
13
+ optional :description, String, nil?: true
14
+
15
+ # @!attribute name
16
+ #
17
+ # @return [String, nil]
18
+ optional :name, String, nil?: true
19
+
20
+ # @!attribute statement_descriptor
21
+ #
22
+ # @return [String, nil]
23
+ optional :statement_descriptor, String, nil?: true
24
+
25
+ # @!attribute support_email
26
+ #
27
+ # @return [String, nil]
28
+ optional :support_email, String, nil?: true
29
+
30
+ # @!attribute url
31
+ #
32
+ # @return [String, nil]
33
+ optional :url, String, nil?: true
34
+
35
+ # @!method initialize(description: nil, name: nil, statement_descriptor: nil, support_email: nil, url: nil, request_options: {})
36
+ # @param description [String, nil]
37
+ # @param name [String, nil]
38
+ # @param statement_descriptor [String, nil]
39
+ # @param support_email [String, nil]
40
+ # @param url [String, nil]
41
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
42
+ end
43
+ end
44
+ end
@@ -2,8 +2,8 @@
2
2
 
3
3
  module Dodopayments
4
4
  module Models
5
- # @see Dodopayments::Resources::WebhookEvents#retrieve
6
- class WebhookEventRetrieveParams < Dodopayments::Internal::Type::BaseModel
5
+ # @see Dodopayments::Resources::Brands#list
6
+ class BrandListParams < Dodopayments::Internal::Type::BaseModel
7
7
  extend Dodopayments::Internal::Type::RequestParameters::Converter
8
8
  include Dodopayments::Internal::Type::RequestParameters
9
9
 
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Brands#list
6
+ class BrandListResponse < Dodopayments::Internal::Type::BaseModel
7
+ # @!attribute items
8
+ # List of brands for this business
9
+ #
10
+ # @return [Array<Dodopayments::Models::Brand>]
11
+ required :items, -> { Dodopayments::Internal::Type::ArrayOf[Dodopayments::Brand] }
12
+
13
+ # @!method initialize(items:)
14
+ # @param items [Array<Dodopayments::Models::Brand>] List of brands for this business
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Brands#retrieve
6
+ class BrandRetrieveParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Brands#update_images
6
+ class BrandUpdateImagesParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end