dodopayments 1.22.0 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +143 -59
  4. data/SECURITY.md +2 -2
  5. data/lib/dodopayments/client.rb +16 -4
  6. data/lib/dodopayments/errors.rb +23 -1
  7. data/lib/dodopayments/file_part.rb +2 -2
  8. data/lib/dodopayments/internal/cursor_page_pagination.rb +90 -0
  9. data/lib/dodopayments/internal/transport/base_client.rb +88 -8
  10. data/lib/dodopayments/internal/transport/pooled_net_requester.rb +17 -1
  11. data/lib/dodopayments/internal/type/array_of.rb +16 -2
  12. data/lib/dodopayments/internal/type/base_model.rb +155 -54
  13. data/lib/dodopayments/internal/type/boolean.rb +15 -1
  14. data/lib/dodopayments/internal/type/converter.rb +86 -33
  15. data/lib/dodopayments/internal/type/enum.rb +30 -6
  16. data/lib/dodopayments/internal/type/file_input.rb +13 -1
  17. data/lib/dodopayments/internal/type/hash_of.rb +16 -2
  18. data/lib/dodopayments/internal/type/request_parameters.rb +4 -4
  19. data/lib/dodopayments/internal/type/union.rb +44 -31
  20. data/lib/dodopayments/internal/type/unknown.rb +15 -1
  21. data/lib/dodopayments/internal/util.rb +119 -11
  22. data/lib/dodopayments/internal.rb +9 -0
  23. data/lib/dodopayments/models/addon_create_params.rb +6 -10
  24. data/lib/dodopayments/models/addon_list_params.rb +4 -4
  25. data/lib/dodopayments/models/addon_response.rb +6 -10
  26. data/lib/dodopayments/models/addon_update_params.rb +6 -10
  27. data/lib/dodopayments/models/attach_addon.rb +21 -0
  28. data/lib/dodopayments/models/billing_address.rb +3 -3
  29. data/lib/dodopayments/models/brand.rb +107 -0
  30. data/lib/dodopayments/models/brand_create_params.rb +44 -0
  31. data/lib/dodopayments/models/{webhook_event_retrieve_params.rb → brand_list_params.rb} +2 -2
  32. data/lib/dodopayments/models/brand_list_response.rb +17 -0
  33. data/lib/dodopayments/models/brand_retrieve_params.rb +14 -0
  34. data/lib/dodopayments/models/brand_update_images_params.rb +14 -0
  35. data/lib/dodopayments/models/brand_update_images_response.rb +25 -0
  36. data/lib/dodopayments/models/brand_update_params.rb +43 -0
  37. data/lib/dodopayments/models/create_new_customer.rb +0 -1
  38. data/lib/dodopayments/models/customer_list_params.rb +13 -5
  39. data/lib/dodopayments/models/customer_request.rb +3 -3
  40. data/lib/dodopayments/models/customers/customer_portal_create_params.rb +2 -2
  41. data/lib/dodopayments/models/discount.rb +15 -4
  42. data/lib/dodopayments/models/discount_create_params.rb +17 -6
  43. data/lib/dodopayments/models/discount_list_params.rb +4 -4
  44. data/lib/dodopayments/models/discount_update_params.rb +16 -5
  45. data/lib/dodopayments/models/dispute.rb +6 -5
  46. data/lib/dodopayments/models/dispute_list_params.rb +44 -16
  47. data/lib/dodopayments/models/dispute_list_response.rb +6 -5
  48. data/lib/dodopayments/models/{dispute_retrieve_response.rb → get_dispute.rb} +11 -9
  49. data/lib/dodopayments/models/license_key.rb +3 -3
  50. data/lib/dodopayments/models/license_key_duration.rb +1 -1
  51. data/lib/dodopayments/models/license_key_list_params.rb +23 -11
  52. data/lib/dodopayments/models/license_key_update_params.rb +3 -3
  53. data/lib/dodopayments/models/misc_list_supported_countries_response.rb +1 -1
  54. data/lib/dodopayments/models/new_customer.rb +27 -0
  55. data/lib/dodopayments/models/one_time_product_cart_item.rb +0 -1
  56. data/lib/dodopayments/models/payment.rb +50 -21
  57. data/lib/dodopayments/models/payment_create_params.rb +22 -41
  58. data/lib/dodopayments/models/payment_create_response.rb +16 -6
  59. data/lib/dodopayments/models/payment_list_params.rb +44 -16
  60. data/lib/dodopayments/models/payment_list_response.rb +16 -4
  61. data/lib/dodopayments/models/payment_method_types.rb +31 -0
  62. data/lib/dodopayments/models/payment_retrieve_line_items_params.rb +14 -0
  63. data/lib/dodopayments/models/payment_retrieve_line_items_response.rb +63 -0
  64. data/lib/dodopayments/models/payout_list_params.rb +4 -4
  65. data/lib/dodopayments/models/payout_list_response.rb +7 -3
  66. data/lib/dodopayments/models/price.rb +57 -30
  67. data/lib/dodopayments/models/product.rb +85 -12
  68. data/lib/dodopayments/models/product_create_params.rb +61 -12
  69. data/lib/dodopayments/models/product_list_params.rb +15 -7
  70. data/lib/dodopayments/models/product_list_response.rb +19 -11
  71. data/lib/dodopayments/models/product_update_files_params.rb +20 -0
  72. data/lib/dodopayments/models/product_update_files_response.rb +22 -0
  73. data/lib/dodopayments/models/product_update_params.rb +70 -13
  74. data/lib/dodopayments/models/products/image_update_params.rb +2 -2
  75. data/lib/dodopayments/models/refund.rb +15 -5
  76. data/lib/dodopayments/models/refund_create_params.rb +38 -1
  77. data/lib/dodopayments/models/refund_list_params.rb +26 -13
  78. data/lib/dodopayments/models/subscription.rb +38 -18
  79. data/lib/dodopayments/models/subscription_change_plan_params.rb +9 -23
  80. data/lib/dodopayments/models/subscription_charge_params.rb +38 -2
  81. data/lib/dodopayments/models/subscription_create_params.rb +53 -66
  82. data/lib/dodopayments/models/subscription_create_response.rb +24 -8
  83. data/lib/dodopayments/models/subscription_list_params.rb +37 -14
  84. data/lib/dodopayments/models/subscription_list_response.rb +37 -16
  85. data/lib/dodopayments/models/subscription_status.rb +0 -1
  86. data/lib/dodopayments/models/subscription_update_params.rb +10 -6
  87. data/lib/dodopayments/models/webhook_create_params.rb +86 -0
  88. data/lib/dodopayments/models/webhook_create_response.rb +88 -0
  89. data/lib/dodopayments/models/webhook_delete_params.rb +14 -0
  90. data/lib/dodopayments/models/webhook_event_type.rb +35 -0
  91. data/lib/dodopayments/models/webhook_list_params.rb +30 -0
  92. data/lib/dodopayments/models/webhook_list_response.rb +88 -0
  93. data/lib/dodopayments/models/webhook_payload.rb +161 -0
  94. data/lib/dodopayments/models/webhook_retrieve_params.rb +14 -0
  95. data/lib/dodopayments/models/webhook_retrieve_response.rb +88 -0
  96. data/lib/dodopayments/models/webhook_update_params.rb +69 -0
  97. data/lib/dodopayments/models/webhook_update_response.rb +88 -0
  98. data/lib/dodopayments/models/webhooks/header_retrieve_params.rb +16 -0
  99. data/lib/dodopayments/models/webhooks/header_retrieve_response.rb +31 -0
  100. data/lib/dodopayments/models/webhooks/header_update_params.rb +24 -0
  101. data/lib/dodopayments/models/your_webhook_url_create_params.rb +32 -0
  102. data/lib/dodopayments/models.rb +77 -3
  103. data/lib/dodopayments/request_options.rb +4 -0
  104. data/lib/dodopayments/resources/addons.rb +13 -21
  105. data/lib/dodopayments/resources/brands.rb +119 -0
  106. data/lib/dodopayments/resources/customers/customer_portal.rb +3 -3
  107. data/lib/dodopayments/resources/customers.rb +12 -10
  108. data/lib/dodopayments/resources/discounts.rb +24 -19
  109. data/lib/dodopayments/resources/disputes.rb +10 -10
  110. data/lib/dodopayments/resources/license_key_instances.rb +5 -5
  111. data/lib/dodopayments/resources/license_keys.rb +13 -13
  112. data/lib/dodopayments/resources/licenses.rb +4 -4
  113. data/lib/dodopayments/resources/misc.rb +1 -1
  114. data/lib/dodopayments/resources/payments.rb +38 -19
  115. data/lib/dodopayments/resources/payouts.rb +3 -3
  116. data/lib/dodopayments/resources/products/images.rb +2 -2
  117. data/lib/dodopayments/resources/products.rb +58 -24
  118. data/lib/dodopayments/resources/refunds.rb +14 -12
  119. data/lib/dodopayments/resources/subscriptions.rb +39 -29
  120. data/lib/dodopayments/resources/webhook_events.rb +0 -52
  121. data/lib/dodopayments/resources/webhooks/headers.rb +59 -0
  122. data/lib/dodopayments/resources/webhooks.rb +157 -0
  123. data/lib/dodopayments/resources/your_webhook_url.rb +56 -0
  124. data/lib/dodopayments/version.rb +1 -1
  125. data/lib/dodopayments.rb +46 -9
  126. data/rbi/dodopayments/client.rbi +19 -6
  127. data/rbi/dodopayments/errors.rbi +51 -16
  128. data/rbi/dodopayments/file_part.rbi +9 -6
  129. data/rbi/dodopayments/internal/cursor_page_pagination.rbi +25 -0
  130. data/rbi/dodopayments/internal/default_page_number_pagination.rbi +2 -1
  131. data/rbi/dodopayments/internal/transport/base_client.rbi +165 -77
  132. data/rbi/dodopayments/internal/transport/pooled_net_requester.rbi +33 -13
  133. data/rbi/dodopayments/internal/type/array_of.rbi +40 -24
  134. data/rbi/dodopayments/internal/type/base_model.rbi +160 -70
  135. data/rbi/dodopayments/internal/type/base_page.rbi +13 -8
  136. data/rbi/dodopayments/internal/type/boolean.rbi +24 -14
  137. data/rbi/dodopayments/internal/type/converter.rbi +135 -33
  138. data/rbi/dodopayments/internal/type/enum.rbi +29 -13
  139. data/rbi/dodopayments/internal/type/file_input.rbi +13 -4
  140. data/rbi/dodopayments/internal/type/hash_of.rbi +40 -24
  141. data/rbi/dodopayments/internal/type/request_parameters.rbi +14 -4
  142. data/rbi/dodopayments/internal/type/union.rbi +71 -23
  143. data/rbi/dodopayments/internal/type/unknown.rbi +24 -6
  144. data/rbi/dodopayments/internal/util.rbi +272 -91
  145. data/rbi/dodopayments/internal.rbi +7 -0
  146. data/rbi/dodopayments/models/addon_cart_response_item.rbi +16 -4
  147. data/rbi/dodopayments/models/addon_create_params.rbi +33 -24
  148. data/rbi/dodopayments/models/addon_list_params.rbi +29 -17
  149. data/rbi/dodopayments/models/addon_response.rbi +33 -27
  150. data/rbi/dodopayments/models/addon_retrieve_params.rbi +18 -5
  151. data/rbi/dodopayments/models/addon_update_images_params.rbi +18 -5
  152. data/rbi/dodopayments/models/addon_update_images_response.rbi +13 -3
  153. data/rbi/dodopayments/models/addon_update_params.rbi +34 -25
  154. data/rbi/dodopayments/models/attach_addon.rbi +28 -0
  155. data/rbi/dodopayments/models/attach_existing_customer.rbi +13 -3
  156. data/rbi/dodopayments/models/billing_address.rbi +24 -12
  157. data/rbi/dodopayments/models/brand.rbi +132 -0
  158. data/rbi/dodopayments/models/brand_create_params.rbi +68 -0
  159. data/rbi/dodopayments/models/brand_list_params.rbi +29 -0
  160. data/rbi/dodopayments/models/brand_list_response.rbi +34 -0
  161. data/rbi/dodopayments/models/brand_retrieve_params.rbi +32 -0
  162. data/rbi/dodopayments/models/brand_update_images_params.rbi +32 -0
  163. data/rbi/dodopayments/models/brand_update_images_response.rbi +36 -0
  164. data/rbi/dodopayments/models/brand_update_params.rbi +64 -0
  165. data/rbi/dodopayments/models/country_code.rbi +255 -252
  166. data/rbi/dodopayments/models/create_new_customer.rbi +27 -11
  167. data/rbi/dodopayments/models/currency.rbi +149 -148
  168. data/rbi/dodopayments/models/customer.rbi +27 -15
  169. data/rbi/dodopayments/models/customer_create_params.rbi +22 -14
  170. data/rbi/dodopayments/models/customer_limited_details.rbi +21 -4
  171. data/rbi/dodopayments/models/customer_list_params.rbi +43 -17
  172. data/rbi/dodopayments/models/customer_portal_session.rbi +13 -3
  173. data/rbi/dodopayments/models/customer_request.rbi +10 -2
  174. data/rbi/dodopayments/models/customer_retrieve_params.rbi +18 -5
  175. data/rbi/dodopayments/models/customer_update_params.rbi +21 -13
  176. data/rbi/dodopayments/models/customers/customer_portal_create_params.rbi +26 -8
  177. data/rbi/dodopayments/models/discount.rbi +42 -22
  178. data/rbi/dodopayments/models/discount_create_params.rbi +43 -20
  179. data/rbi/dodopayments/models/discount_delete_params.rbi +18 -5
  180. data/rbi/dodopayments/models/discount_list_params.rbi +32 -17
  181. data/rbi/dodopayments/models/discount_retrieve_params.rbi +18 -5
  182. data/rbi/dodopayments/models/discount_type.rbi +7 -4
  183. data/rbi/dodopayments/models/discount_update_params.rbi +43 -20
  184. data/rbi/dodopayments/models/dispute.rbi +32 -22
  185. data/rbi/dodopayments/models/dispute_list_params.rbi +178 -33
  186. data/rbi/dodopayments/models/dispute_list_response.rbi +34 -21
  187. data/rbi/dodopayments/models/dispute_retrieve_params.rbi +18 -5
  188. data/rbi/dodopayments/models/dispute_stage.rbi +11 -6
  189. data/rbi/dodopayments/models/dispute_status.rbi +20 -10
  190. data/rbi/dodopayments/models/{dispute_retrieve_response.rbi → get_dispute.rbi} +40 -28
  191. data/rbi/dodopayments/models/intent_status.rbi +32 -14
  192. data/rbi/dodopayments/models/invoices/payment_retrieve_params.rbi +18 -5
  193. data/rbi/dodopayments/models/license_activate_params.rbi +21 -6
  194. data/rbi/dodopayments/models/license_deactivate_params.rbi +21 -13
  195. data/rbi/dodopayments/models/license_key.rbi +31 -23
  196. data/rbi/dodopayments/models/license_key_duration.rbi +24 -5
  197. data/rbi/dodopayments/models/license_key_instance.rbi +19 -4
  198. data/rbi/dodopayments/models/license_key_instance_list_params.rbi +23 -14
  199. data/rbi/dodopayments/models/license_key_instance_retrieve_params.rbi +18 -5
  200. data/rbi/dodopayments/models/license_key_instance_update_params.rbi +19 -6
  201. data/rbi/dodopayments/models/license_key_list_params.rbi +91 -26
  202. data/rbi/dodopayments/models/license_key_retrieve_params.rbi +18 -5
  203. data/rbi/dodopayments/models/license_key_status.rbi +10 -6
  204. data/rbi/dodopayments/models/license_key_update_params.rbi +23 -14
  205. data/rbi/dodopayments/models/license_validate_params.rbi +25 -13
  206. data/rbi/dodopayments/models/license_validate_response.rbi +13 -3
  207. data/rbi/dodopayments/models/misc_list_supported_countries_params.rbi +18 -5
  208. data/rbi/dodopayments/models/misc_list_supported_countries_response.rbi +1 -1
  209. data/rbi/dodopayments/models/new_customer.rbi +39 -0
  210. data/rbi/dodopayments/models/one_time_product_cart_item.rbi +23 -4
  211. data/rbi/dodopayments/models/payment.rbi +125 -62
  212. data/rbi/dodopayments/models/payment_create_params.rbi +67 -87
  213. data/rbi/dodopayments/models/payment_create_response.rbi +45 -22
  214. data/rbi/dodopayments/models/payment_list_params.rbi +149 -32
  215. data/rbi/dodopayments/models/payment_list_response.rbi +47 -26
  216. data/rbi/dodopayments/models/payment_method_types.rbi +52 -0
  217. data/rbi/dodopayments/models/payment_retrieve_line_items_params.rbi +32 -0
  218. data/rbi/dodopayments/models/payment_retrieve_line_items_response.rbi +114 -0
  219. data/rbi/dodopayments/models/payment_retrieve_params.rbi +18 -5
  220. data/rbi/dodopayments/models/payout_list_params.rbi +29 -17
  221. data/rbi/dodopayments/models/payout_list_response.rbi +82 -35
  222. data/rbi/dodopayments/models/price.rbi +142 -55
  223. data/rbi/dodopayments/models/product.rbi +177 -38
  224. data/rbi/dodopayments/models/product_create_params.rbi +151 -36
  225. data/rbi/dodopayments/models/product_delete_params.rbi +18 -5
  226. data/rbi/dodopayments/models/product_list_params.rbi +50 -21
  227. data/rbi/dodopayments/models/product_list_response.rbi +57 -42
  228. data/rbi/dodopayments/models/product_retrieve_params.rbi +18 -5
  229. data/rbi/dodopayments/models/product_unarchive_params.rbi +18 -5
  230. data/rbi/dodopayments/models/product_update_files_params.rbi +38 -0
  231. data/rbi/dodopayments/models/product_update_files_response.rbi +29 -0
  232. data/rbi/dodopayments/models/product_update_params.rbi +160 -37
  233. data/rbi/dodopayments/models/products/image_update_params.rbi +20 -8
  234. data/rbi/dodopayments/models/products/image_update_response.rbi +18 -4
  235. data/rbi/dodopayments/models/refund.rbi +39 -21
  236. data/rbi/dodopayments/models/refund_create_params.rbi +87 -11
  237. data/rbi/dodopayments/models/refund_list_params.rbi +86 -29
  238. data/rbi/dodopayments/models/refund_retrieve_params.rbi +18 -5
  239. data/rbi/dodopayments/models/refund_status.rbi +10 -7
  240. data/rbi/dodopayments/models/subscription.rbi +83 -47
  241. data/rbi/dodopayments/models/subscription_change_plan_params.rbi +61 -40
  242. data/rbi/dodopayments/models/subscription_charge_params.rbi +65 -6
  243. data/rbi/dodopayments/models/subscription_charge_response.rbi +13 -3
  244. data/rbi/dodopayments/models/subscription_create_params.rbi +136 -128
  245. data/rbi/dodopayments/models/subscription_create_response.rbi +51 -22
  246. data/rbi/dodopayments/models/subscription_list_params.rbi +125 -29
  247. data/rbi/dodopayments/models/subscription_list_response.rbi +85 -44
  248. data/rbi/dodopayments/models/subscription_retrieve_params.rbi +18 -5
  249. data/rbi/dodopayments/models/subscription_status.rbi +16 -10
  250. data/rbi/dodopayments/models/subscription_update_params.rbi +63 -33
  251. data/rbi/dodopayments/models/tax_category.rbi +11 -7
  252. data/rbi/dodopayments/models/time_interval.rbi +10 -7
  253. data/rbi/dodopayments/models/webhook_create_params.rbi +115 -0
  254. data/rbi/dodopayments/models/webhook_create_response.rbi +112 -0
  255. data/rbi/dodopayments/models/webhook_delete_params.rbi +32 -0
  256. data/rbi/dodopayments/models/webhook_event_type.rbi +102 -0
  257. data/rbi/dodopayments/models/webhook_list_params.rbi +54 -0
  258. data/rbi/dodopayments/models/webhook_list_response.rbi +112 -0
  259. data/rbi/dodopayments/models/webhook_payload.rbi +440 -0
  260. data/rbi/dodopayments/models/webhook_retrieve_params.rbi +32 -0
  261. data/rbi/dodopayments/models/webhook_retrieve_response.rbi +112 -0
  262. data/rbi/dodopayments/models/webhook_update_params.rbi +94 -0
  263. data/rbi/dodopayments/models/webhook_update_response.rbi +112 -0
  264. data/rbi/dodopayments/models/webhooks/header_retrieve_params.rbi +34 -0
  265. data/rbi/dodopayments/models/webhooks/header_retrieve_response.rbi +50 -0
  266. data/rbi/dodopayments/models/webhooks/header_update_params.rbi +48 -0
  267. data/rbi/dodopayments/models/your_webhook_url_create_params.rbi +56 -0
  268. data/rbi/dodopayments/models.rbi +50 -8
  269. data/rbi/dodopayments/request_options.rbi +18 -7
  270. data/rbi/dodopayments/resources/addons.rbi +44 -27
  271. data/rbi/dodopayments/resources/brands.rbi +89 -0
  272. data/rbi/dodopayments/resources/customers/customer_portal.rbi +8 -6
  273. data/rbi/dodopayments/resources/customers.rbi +31 -17
  274. data/rbi/dodopayments/resources/discounts.rbi +54 -22
  275. data/rbi/dodopayments/resources/disputes.rbi +26 -14
  276. data/rbi/dodopayments/resources/invoices/payments.rbi +10 -3
  277. data/rbi/dodopayments/resources/invoices.rbi +2 -1
  278. data/rbi/dodopayments/resources/license_key_instances.rbi +25 -10
  279. data/rbi/dodopayments/resources/license_keys.rbi +29 -15
  280. data/rbi/dodopayments/resources/licenses.rbi +25 -12
  281. data/rbi/dodopayments/resources/misc.rbi +7 -4
  282. data/rbi/dodopayments/resources/payments.rbi +61 -27
  283. data/rbi/dodopayments/resources/payouts.rbi +12 -6
  284. data/rbi/dodopayments/resources/products/images.rbi +10 -4
  285. data/rbi/dodopayments/resources/products.rbi +118 -41
  286. data/rbi/dodopayments/resources/refunds.rbi +35 -15
  287. data/rbi/dodopayments/resources/subscriptions.rbi +95 -53
  288. data/rbi/dodopayments/resources/webhook_events.rbi +2 -34
  289. data/rbi/dodopayments/resources/webhooks/headers.rbi +40 -0
  290. data/rbi/dodopayments/resources/webhooks.rbi +127 -0
  291. data/rbi/dodopayments/resources/your_webhook_url.rbi +51 -0
  292. data/sig/dodopayments/client.rbs +6 -0
  293. data/sig/dodopayments/errors.rbs +9 -0
  294. data/sig/dodopayments/internal/cursor_page_pagination.rbs +15 -0
  295. data/sig/dodopayments/internal/transport/base_client.rbs +17 -2
  296. data/sig/dodopayments/internal/transport/pooled_net_requester.rbs +4 -0
  297. data/sig/dodopayments/internal/type/array_of.rbs +3 -0
  298. data/sig/dodopayments/internal/type/base_model.rbs +13 -5
  299. data/sig/dodopayments/internal/type/base_page.rbs +1 -1
  300. data/sig/dodopayments/internal/type/boolean.rbs +3 -0
  301. data/sig/dodopayments/internal/type/converter.rbs +26 -1
  302. data/sig/dodopayments/internal/type/enum.rbs +3 -0
  303. data/sig/dodopayments/internal/type/file_input.rbs +2 -0
  304. data/sig/dodopayments/internal/type/hash_of.rbs +3 -0
  305. data/sig/dodopayments/internal/type/request_parameters.rbs +5 -1
  306. data/sig/dodopayments/internal/type/union.rbs +5 -2
  307. data/sig/dodopayments/internal/type/unknown.rbs +3 -0
  308. data/sig/dodopayments/internal/util.rbs +25 -0
  309. data/sig/dodopayments/internal.rbs +4 -0
  310. data/sig/dodopayments/models/addon_cart_response_item.rbs +1 -1
  311. data/sig/dodopayments/models/addon_create_params.rbs +8 -1
  312. data/sig/dodopayments/models/addon_list_params.rbs +14 -6
  313. data/sig/dodopayments/models/addon_response.rbs +12 -1
  314. data/sig/dodopayments/models/addon_retrieve_params.rbs +1 -1
  315. data/sig/dodopayments/models/addon_update_images_params.rbs +1 -1
  316. data/sig/dodopayments/models/addon_update_images_response.rbs +1 -1
  317. data/sig/dodopayments/models/addon_update_params.rbs +9 -1
  318. data/sig/dodopayments/models/attach_addon.rbs +15 -0
  319. data/sig/dodopayments/models/attach_existing_customer.rbs +1 -1
  320. data/sig/dodopayments/models/billing_address.rbs +7 -1
  321. data/sig/dodopayments/models/brand.rbs +88 -0
  322. data/sig/dodopayments/models/brand_create_params.rbs +46 -0
  323. data/sig/dodopayments/models/{webhook_event_retrieve_params.rbs → brand_list_params.rbs} +3 -3
  324. data/sig/dodopayments/models/brand_list_response.rbs +13 -0
  325. data/sig/dodopayments/models/brand_retrieve_params.rbs +15 -0
  326. data/sig/dodopayments/models/brand_update_images_params.rbs +15 -0
  327. data/sig/dodopayments/models/brand_update_images_response.rbs +15 -0
  328. data/sig/dodopayments/models/brand_update_params.rbs +41 -0
  329. data/sig/dodopayments/models/create_new_customer.rbs +6 -1
  330. data/sig/dodopayments/models/customer.rbs +8 -1
  331. data/sig/dodopayments/models/customer_create_params.rbs +6 -1
  332. data/sig/dodopayments/models/customer_limited_details.rbs +1 -1
  333. data/sig/dodopayments/models/customer_list_params.rbs +20 -6
  334. data/sig/dodopayments/models/customer_portal_session.rbs +1 -1
  335. data/sig/dodopayments/models/customer_request.rbs +2 -3
  336. data/sig/dodopayments/models/customer_retrieve_params.rbs +1 -1
  337. data/sig/dodopayments/models/customer_update_params.rbs +5 -1
  338. data/sig/dodopayments/models/customers/customer_portal_create_params.rbs +9 -4
  339. data/sig/dodopayments/models/discount.rbs +18 -1
  340. data/sig/dodopayments/models/discount_create_params.rbs +15 -1
  341. data/sig/dodopayments/models/discount_delete_params.rbs +1 -1
  342. data/sig/dodopayments/models/discount_list_params.rbs +14 -6
  343. data/sig/dodopayments/models/discount_retrieve_params.rbs +1 -1
  344. data/sig/dodopayments/models/discount_update_params.rbs +15 -1
  345. data/sig/dodopayments/models/dispute.rbs +11 -1
  346. data/sig/dodopayments/models/dispute_list_params.rbs +84 -22
  347. data/sig/dodopayments/models/dispute_list_response.rbs +10 -1
  348. data/sig/dodopayments/models/dispute_retrieve_params.rbs +1 -1
  349. data/sig/dodopayments/models/{dispute_retrieve_response.rbs → get_dispute.rbs} +18 -6
  350. data/sig/dodopayments/models/invoices/payment_retrieve_params.rbs +1 -1
  351. data/sig/dodopayments/models/license_activate_params.rbs +5 -1
  352. data/sig/dodopayments/models/license_deactivate_params.rbs +5 -1
  353. data/sig/dodopayments/models/license_key.rbs +14 -1
  354. data/sig/dodopayments/models/license_key_duration.rbs +4 -1
  355. data/sig/dodopayments/models/license_key_instance.rbs +7 -1
  356. data/sig/dodopayments/models/license_key_instance_list_params.rbs +6 -1
  357. data/sig/dodopayments/models/license_key_instance_retrieve_params.rbs +1 -1
  358. data/sig/dodopayments/models/license_key_instance_update_params.rbs +4 -1
  359. data/sig/dodopayments/models/license_key_list_params.rbs +47 -16
  360. data/sig/dodopayments/models/license_key_retrieve_params.rbs +1 -1
  361. data/sig/dodopayments/models/license_key_update_params.rbs +6 -1
  362. data/sig/dodopayments/models/license_validate_params.rbs +5 -1
  363. data/sig/dodopayments/models/license_validate_response.rbs +1 -1
  364. data/sig/dodopayments/models/misc_list_supported_countries_params.rbs +1 -1
  365. data/sig/dodopayments/models/new_customer.rbs +21 -0
  366. data/sig/dodopayments/models/one_time_product_cart_item.rbs +5 -1
  367. data/sig/dodopayments/models/payment.rbs +60 -17
  368. data/sig/dodopayments/models/payment_create_params.rbs +23 -55
  369. data/sig/dodopayments/models/payment_create_response.rbs +21 -7
  370. data/sig/dodopayments/models/payment_list_params.rbs +85 -22
  371. data/sig/dodopayments/models/payment_list_response.rbs +25 -4
  372. data/sig/dodopayments/models/payment_method_types.rbs +48 -0
  373. data/sig/dodopayments/models/payment_retrieve_line_items_params.rbs +15 -0
  374. data/sig/dodopayments/models/payment_retrieve_line_items_response.rbs +67 -0
  375. data/sig/dodopayments/models/payment_retrieve_params.rbs +1 -1
  376. data/sig/dodopayments/models/payout_list_params.rbs +14 -6
  377. data/sig/dodopayments/models/payout_list_response.rbs +17 -1
  378. data/sig/dodopayments/models/price.rbs +53 -13
  379. data/sig/dodopayments/models/product.rbs +80 -4
  380. data/sig/dodopayments/models/product_create_params.rbs +45 -4
  381. data/sig/dodopayments/models/product_delete_params.rbs +1 -1
  382. data/sig/dodopayments/models/product_list_params.rbs +29 -10
  383. data/sig/dodopayments/models/product_list_response.rbs +20 -1
  384. data/sig/dodopayments/models/product_retrieve_params.rbs +1 -1
  385. data/sig/dodopayments/models/product_unarchive_params.rbs +1 -1
  386. data/sig/dodopayments/models/product_update_files_params.rbs +23 -0
  387. data/sig/dodopayments/models/product_update_files_response.rbs +15 -0
  388. data/sig/dodopayments/models/product_update_params.rbs +58 -4
  389. data/sig/dodopayments/models/products/image_update_params.rbs +9 -4
  390. data/sig/dodopayments/models/products/image_update_response.rbs +1 -1
  391. data/sig/dodopayments/models/refund.rbs +15 -1
  392. data/sig/dodopayments/models/refund_create_params.rbs +38 -2
  393. data/sig/dodopayments/models/refund_list_params.rbs +54 -19
  394. data/sig/dodopayments/models/refund_retrieve_params.rbs +1 -1
  395. data/sig/dodopayments/models/subscription.rbs +43 -10
  396. data/sig/dodopayments/models/subscription_change_plan_params.rbs +14 -17
  397. data/sig/dodopayments/models/subscription_charge_params.rbs +27 -2
  398. data/sig/dodopayments/models/subscription_charge_response.rbs +1 -1
  399. data/sig/dodopayments/models/subscription_create_params.rbs +58 -73
  400. data/sig/dodopayments/models/subscription_create_response.rbs +26 -7
  401. data/sig/dodopayments/models/subscription_list_params.rbs +64 -19
  402. data/sig/dodopayments/models/subscription_list_response.rbs +39 -7
  403. data/sig/dodopayments/models/subscription_retrieve_params.rbs +1 -1
  404. data/sig/dodopayments/models/subscription_status.rbs +1 -2
  405. data/sig/dodopayments/models/subscription_update_params.rbs +20 -8
  406. data/sig/dodopayments/models/webhook_create_params.rbs +65 -0
  407. data/sig/dodopayments/models/webhook_create_response.rbs +60 -0
  408. data/sig/dodopayments/models/webhook_delete_params.rbs +15 -0
  409. data/sig/dodopayments/models/webhook_event_type.rbs +54 -0
  410. data/sig/dodopayments/models/webhook_list_params.rbs +28 -0
  411. data/sig/dodopayments/models/webhook_list_response.rbs +60 -0
  412. data/sig/dodopayments/models/webhook_payload.rbs +203 -0
  413. data/sig/dodopayments/models/webhook_retrieve_params.rbs +15 -0
  414. data/sig/dodopayments/models/webhook_retrieve_response.rbs +60 -0
  415. data/sig/dodopayments/models/webhook_update_params.rbs +51 -0
  416. data/sig/dodopayments/models/webhook_update_response.rbs +60 -0
  417. data/sig/dodopayments/models/webhooks/header_retrieve_params.rbs +17 -0
  418. data/sig/dodopayments/models/webhooks/header_retrieve_response.rbs +24 -0
  419. data/sig/dodopayments/models/webhooks/header_update_params.rbs +26 -0
  420. data/sig/dodopayments/models/your_webhook_url_create_params.rbs +42 -0
  421. data/sig/dodopayments/models.rbs +39 -3
  422. data/sig/dodopayments/request_options.rbs +1 -1
  423. data/sig/dodopayments/resources/addons.rbs +6 -6
  424. data/sig/dodopayments/resources/brands.rbs +39 -0
  425. data/sig/dodopayments/resources/customers/customer_portal.rbs +2 -2
  426. data/sig/dodopayments/resources/customers.rbs +7 -6
  427. data/sig/dodopayments/resources/discounts.rbs +8 -6
  428. data/sig/dodopayments/resources/disputes.rbs +8 -8
  429. data/sig/dodopayments/resources/license_key_instances.rbs +3 -3
  430. data/sig/dodopayments/resources/license_keys.rbs +8 -8
  431. data/sig/dodopayments/resources/licenses.rbs +1 -1
  432. data/sig/dodopayments/resources/payments.rbs +17 -11
  433. data/sig/dodopayments/resources/payouts.rbs +2 -2
  434. data/sig/dodopayments/resources/products/images.rbs +1 -1
  435. data/sig/dodopayments/resources/products.rbs +20 -7
  436. data/sig/dodopayments/resources/refunds.rbs +10 -9
  437. data/sig/dodopayments/resources/subscriptions.rbs +21 -15
  438. data/sig/dodopayments/resources/webhook_events.rbs +0 -15
  439. data/sig/dodopayments/resources/webhooks/headers.rbs +20 -0
  440. data/sig/dodopayments/resources/webhooks.rbs +48 -0
  441. data/sig/dodopayments/resources/your_webhook_url.rbs +18 -0
  442. metadata +110 -14
  443. data/lib/dodopayments/models/webhook_event.rb +0 -58
  444. data/lib/dodopayments/models/webhook_event_list_params.rb +0 -66
  445. data/rbi/dodopayments/models/webhook_event.rbi +0 -71
  446. data/rbi/dodopayments/models/webhook_event_list_params.rbi +0 -77
  447. data/rbi/dodopayments/models/webhook_event_retrieve_params.rbi +0 -19
  448. data/sig/dodopayments/models/webhook_event.rbs +0 -46
  449. data/sig/dodopayments/models/webhook_event_list_params.rbs +0 -43
@@ -6,26 +6,85 @@ module Dodopayments
6
6
  extend Dodopayments::Internal::Type::RequestParameters::Converter
7
7
  include Dodopayments::Internal::Type::RequestParameters
8
8
 
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Dodopayments::SubscriptionChargeParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
9
17
  # The product price. Represented in the lowest denomination of the currency (e.g.,
10
18
  # cents for USD). For example, to charge $1.00, pass `100`.
11
19
  sig { returns(Integer) }
12
20
  attr_accessor :product_price
13
21
 
22
+ # Whether adaptive currency fees should be included in the product_price (true) or
23
+ # added on top (false). This field is ignored if adaptive pricing is not enabled
24
+ # for the business.
25
+ sig { returns(T.nilable(T::Boolean)) }
26
+ attr_accessor :adaptive_currency_fees_inclusive
27
+
28
+ # Metadata for the payment. If not passed, the metadata of the subscription will
29
+ # be taken
30
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
31
+ attr_accessor :metadata
32
+
33
+ # Optional currency of the product price. If not specified, defaults to the
34
+ # currency of the product.
35
+ sig { returns(T.nilable(Dodopayments::Currency::OrSymbol)) }
36
+ attr_accessor :product_currency
37
+
38
+ # Optional product description override for billing and line items. If not
39
+ # specified, the stored description of the product will be used.
40
+ sig { returns(T.nilable(String)) }
41
+ attr_accessor :product_description
42
+
14
43
  sig do
15
44
  params(
16
45
  product_price: Integer,
17
- request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash)
18
- )
19
- .returns(T.attached_class)
46
+ adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
47
+ metadata: T.nilable(T::Hash[Symbol, String]),
48
+ product_currency: T.nilable(Dodopayments::Currency::OrSymbol),
49
+ product_description: T.nilable(String),
50
+ request_options: Dodopayments::RequestOptions::OrHash
51
+ ).returns(T.attached_class)
20
52
  end
21
53
  def self.new(
22
54
  # The product price. Represented in the lowest denomination of the currency (e.g.,
23
55
  # cents for USD). For example, to charge $1.00, pass `100`.
24
56
  product_price:,
57
+ # Whether adaptive currency fees should be included in the product_price (true) or
58
+ # added on top (false). This field is ignored if adaptive pricing is not enabled
59
+ # for the business.
60
+ adaptive_currency_fees_inclusive: nil,
61
+ # Metadata for the payment. If not passed, the metadata of the subscription will
62
+ # be taken
63
+ metadata: nil,
64
+ # Optional currency of the product price. If not specified, defaults to the
65
+ # currency of the product.
66
+ product_currency: nil,
67
+ # Optional product description override for billing and line items. If not
68
+ # specified, the stored description of the product will be used.
69
+ product_description: nil,
25
70
  request_options: {}
26
- ); end
27
- sig { override.returns({product_price: Integer, request_options: Dodopayments::RequestOptions}) }
28
- def to_hash; end
71
+ )
72
+ end
73
+
74
+ sig do
75
+ override.returns(
76
+ {
77
+ product_price: Integer,
78
+ adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
79
+ metadata: T.nilable(T::Hash[Symbol, String]),
80
+ product_currency: T.nilable(Dodopayments::Currency::OrSymbol),
81
+ product_description: T.nilable(String),
82
+ request_options: Dodopayments::RequestOptions
83
+ }
84
+ )
85
+ end
86
+ def to_hash
87
+ end
29
88
  end
30
89
  end
31
90
  end
@@ -3,14 +3,24 @@
3
3
  module Dodopayments
4
4
  module Models
5
5
  class SubscriptionChargeResponse < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::Models::SubscriptionChargeResponse,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
6
14
  sig { returns(String) }
7
15
  attr_accessor :payment_id
8
16
 
9
17
  sig { params(payment_id: String).returns(T.attached_class) }
10
- def self.new(payment_id:); end
18
+ def self.new(payment_id:)
19
+ end
11
20
 
12
- sig { override.returns({payment_id: String}) }
13
- def to_hash; end
21
+ sig { override.returns({ payment_id: String }) }
22
+ def to_hash
23
+ end
14
24
  end
15
25
  end
16
26
  end
@@ -6,13 +6,27 @@ module Dodopayments
6
6
  extend Dodopayments::Internal::Type::RequestParameters::Converter
7
7
  include Dodopayments::Internal::Type::RequestParameters
8
8
 
9
- sig { returns(Dodopayments::Models::BillingAddress) }
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Dodopayments::SubscriptionCreateParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Billing address information for the subscription
18
+ sig { returns(Dodopayments::BillingAddress) }
10
19
  attr_reader :billing
11
20
 
12
- sig { params(billing: T.any(Dodopayments::Models::BillingAddress, Dodopayments::Internal::AnyHash)).void }
21
+ sig { params(billing: Dodopayments::BillingAddress::OrHash).void }
13
22
  attr_writer :billing
14
23
 
15
- sig { returns(T.any(Dodopayments::Models::AttachExistingCustomer, Dodopayments::Models::CreateNewCustomer)) }
24
+ # Customer details for the subscription
25
+ sig do
26
+ returns(
27
+ T.any(Dodopayments::AttachExistingCustomer, Dodopayments::NewCustomer)
28
+ )
29
+ end
16
30
  attr_accessor :customer
17
31
 
18
32
  # Unique identifier of the product to subscribe to
@@ -24,7 +38,7 @@ module Dodopayments
24
38
  attr_accessor :quantity
25
39
 
26
40
  # Attach addons to this subscription
27
- sig { returns(T.nilable(T::Array[Dodopayments::Models::SubscriptionCreateParams::Addon])) }
41
+ sig { returns(T.nilable(T::Array[Dodopayments::AttachAddon])) }
28
42
  attr_accessor :addons
29
43
 
30
44
  # List of payment methods allowed during checkout.
@@ -34,35 +48,36 @@ module Dodopayments
34
48
  # Availability still depends on other factors (e.g., customer location, merchant
35
49
  # settings).
36
50
  sig do
37
- returns(
38
- T.nilable(T::Array[Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::OrSymbol])
39
- )
51
+ returns(T.nilable(T::Array[Dodopayments::PaymentMethodTypes::OrSymbol]))
40
52
  end
41
53
  attr_accessor :allowed_payment_method_types
42
54
 
43
- sig { returns(T.nilable(Dodopayments::Models::Currency::OrSymbol)) }
55
+ # Fix the currency in which the end customer is billed. If Dodo Payments cannot
56
+ # support that currency for this transaction, it will not proceed
57
+ sig { returns(T.nilable(Dodopayments::Currency::OrSymbol)) }
44
58
  attr_accessor :billing_currency
45
59
 
46
60
  # Discount Code to apply to the subscription
47
61
  sig { returns(T.nilable(String)) }
48
62
  attr_accessor :discount_code
49
63
 
64
+ # Additional metadata for the subscription Defaults to empty if not specified
50
65
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
51
66
  attr_reader :metadata
52
67
 
53
68
  sig { params(metadata: T::Hash[Symbol, String]).void }
54
69
  attr_writer :metadata
55
70
 
56
- sig { returns(T.nilable(Dodopayments::Models::SubscriptionCreateParams::OnDemand)) }
71
+ sig do
72
+ returns(T.nilable(Dodopayments::SubscriptionCreateParams::OnDemand))
73
+ end
57
74
  attr_reader :on_demand
58
75
 
59
76
  sig do
60
77
  params(
61
- on_demand: T.nilable(
62
- T.any(Dodopayments::Models::SubscriptionCreateParams::OnDemand, Dodopayments::Internal::AnyHash)
63
- )
64
- )
65
- .void
78
+ on_demand:
79
+ T.nilable(Dodopayments::SubscriptionCreateParams::OnDemand::OrHash)
80
+ ).void
66
81
  end
67
82
  attr_writer :on_demand
68
83
 
@@ -93,35 +108,34 @@ module Dodopayments
93
108
 
94
109
  sig do
95
110
  params(
96
- billing: T.any(Dodopayments::Models::BillingAddress, Dodopayments::Internal::AnyHash),
97
- customer: T.any(
98
- Dodopayments::Models::AttachExistingCustomer,
99
- Dodopayments::Internal::AnyHash,
100
- Dodopayments::Models::CreateNewCustomer
101
- ),
111
+ billing: Dodopayments::BillingAddress::OrHash,
112
+ customer:
113
+ T.any(
114
+ Dodopayments::AttachExistingCustomer::OrHash,
115
+ Dodopayments::NewCustomer::OrHash
116
+ ),
102
117
  product_id: String,
103
118
  quantity: Integer,
104
- addons: T.nilable(
105
- T::Array[T.any(Dodopayments::Models::SubscriptionCreateParams::Addon, Dodopayments::Internal::AnyHash)]
106
- ),
107
- allowed_payment_method_types: T.nilable(T::Array[Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::OrSymbol]),
108
- billing_currency: T.nilable(Dodopayments::Models::Currency::OrSymbol),
119
+ addons: T.nilable(T::Array[Dodopayments::AttachAddon::OrHash]),
120
+ allowed_payment_method_types:
121
+ T.nilable(T::Array[Dodopayments::PaymentMethodTypes::OrSymbol]),
122
+ billing_currency: T.nilable(Dodopayments::Currency::OrSymbol),
109
123
  discount_code: T.nilable(String),
110
124
  metadata: T::Hash[Symbol, String],
111
- on_demand: T.nilable(
112
- T.any(Dodopayments::Models::SubscriptionCreateParams::OnDemand, Dodopayments::Internal::AnyHash)
113
- ),
125
+ on_demand:
126
+ T.nilable(Dodopayments::SubscriptionCreateParams::OnDemand::OrHash),
114
127
  payment_link: T.nilable(T::Boolean),
115
128
  return_url: T.nilable(String),
116
129
  show_saved_payment_methods: T::Boolean,
117
130
  tax_id: T.nilable(String),
118
131
  trial_period_days: T.nilable(Integer),
119
- request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash)
120
- )
121
- .returns(T.attached_class)
132
+ request_options: Dodopayments::RequestOptions::OrHash
133
+ ).returns(T.attached_class)
122
134
  end
123
135
  def self.new(
136
+ # Billing address information for the subscription
124
137
  billing:,
138
+ # Customer details for the subscription
125
139
  customer:,
126
140
  # Unique identifier of the product to subscribe to
127
141
  product_id:,
@@ -136,9 +150,12 @@ module Dodopayments
136
150
  # Availability still depends on other factors (e.g., customer location, merchant
137
151
  # settings).
138
152
  allowed_payment_method_types: nil,
153
+ # Fix the currency in which the end customer is billed. If Dodo Payments cannot
154
+ # support that currency for this transaction, it will not proceed
139
155
  billing_currency: nil,
140
156
  # Discount Code to apply to the subscription
141
157
  discount_code: nil,
158
+ # Additional metadata for the subscription Defaults to empty if not specified
142
159
  metadata: nil,
143
160
  on_demand: nil,
144
161
  # If true, generates a payment link. Defaults to false if not specified.
@@ -154,128 +171,119 @@ module Dodopayments
154
171
  # period set in the product's price Must be between 0 and 10000 days
155
172
  trial_period_days: nil,
156
173
  request_options: {}
157
- ); end
158
- sig do
159
- override
160
- .returns(
161
- {
162
- billing: Dodopayments::Models::BillingAddress,
163
- customer: T.any(Dodopayments::Models::AttachExistingCustomer, Dodopayments::Models::CreateNewCustomer),
164
- product_id: String,
165
- quantity: Integer,
166
- addons: T.nilable(T::Array[Dodopayments::Models::SubscriptionCreateParams::Addon]),
167
- allowed_payment_method_types: T.nilable(T::Array[Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::OrSymbol]),
168
- billing_currency: T.nilable(Dodopayments::Models::Currency::OrSymbol),
169
- discount_code: T.nilable(String),
170
- metadata: T::Hash[Symbol, String],
171
- on_demand: T.nilable(Dodopayments::Models::SubscriptionCreateParams::OnDemand),
172
- payment_link: T.nilable(T::Boolean),
173
- return_url: T.nilable(String),
174
- show_saved_payment_methods: T::Boolean,
175
- tax_id: T.nilable(String),
176
- trial_period_days: T.nilable(Integer),
177
- request_options: Dodopayments::RequestOptions
178
- }
179
- )
174
+ )
180
175
  end
181
- def to_hash; end
182
176
 
183
- class Addon < Dodopayments::Internal::Type::BaseModel
184
- sig { returns(String) }
185
- attr_accessor :addon_id
186
-
187
- sig { returns(Integer) }
188
- attr_accessor :quantity
189
-
190
- sig { params(addon_id: String, quantity: Integer).returns(T.attached_class) }
191
- def self.new(addon_id:, quantity:); end
192
-
193
- sig { override.returns({addon_id: String, quantity: Integer}) }
194
- def to_hash; end
177
+ sig do
178
+ override.returns(
179
+ {
180
+ billing: Dodopayments::BillingAddress,
181
+ customer:
182
+ T.any(
183
+ Dodopayments::AttachExistingCustomer,
184
+ Dodopayments::NewCustomer
185
+ ),
186
+ product_id: String,
187
+ quantity: Integer,
188
+ addons: T.nilable(T::Array[Dodopayments::AttachAddon]),
189
+ allowed_payment_method_types:
190
+ T.nilable(T::Array[Dodopayments::PaymentMethodTypes::OrSymbol]),
191
+ billing_currency: T.nilable(Dodopayments::Currency::OrSymbol),
192
+ discount_code: T.nilable(String),
193
+ metadata: T::Hash[Symbol, String],
194
+ on_demand:
195
+ T.nilable(Dodopayments::SubscriptionCreateParams::OnDemand),
196
+ payment_link: T.nilable(T::Boolean),
197
+ return_url: T.nilable(String),
198
+ show_saved_payment_methods: T::Boolean,
199
+ tax_id: T.nilable(String),
200
+ trial_period_days: T.nilable(Integer),
201
+ request_options: Dodopayments::RequestOptions
202
+ }
203
+ )
195
204
  end
196
-
197
- module AllowedPaymentMethodType
198
- extend Dodopayments::Internal::Type::Enum
199
-
200
- TaggedSymbol =
201
- T.type_alias { T.all(Symbol, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType) }
202
- OrSymbol = T.type_alias { T.any(Symbol, String) }
203
-
204
- CREDIT =
205
- T.let(:credit, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
206
- DEBIT =
207
- T.let(:debit, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
208
- UPI_COLLECT =
209
- T.let(
210
- :upi_collect,
211
- Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol
212
- )
213
- UPI_INTENT =
214
- T.let(:upi_intent, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
215
- APPLE_PAY =
216
- T.let(:apple_pay, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
217
- CASHAPP =
218
- T.let(:cashapp, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
219
- GOOGLE_PAY =
220
- T.let(:google_pay, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
221
- MULTIBANCO =
222
- T.let(:multibanco, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
223
- BANCONTACT_CARD =
224
- T.let(
225
- :bancontact_card,
226
- Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol
227
- )
228
- EPS = T.let(:eps, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
229
- IDEAL =
230
- T.let(:ideal, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
231
- PRZELEWY24 =
232
- T.let(:przelewy24, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
233
- AFFIRM =
234
- T.let(:affirm, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
235
- KLARNA =
236
- T.let(:klarna, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
237
- SEPA =
238
- T.let(:sepa, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
239
- ACH = T.let(:ach, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
240
- AMAZON_PAY =
241
- T.let(:amazon_pay, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
242
- AFTERPAY_CLEARPAY =
243
- T.let(
244
- :afterpay_clearpay,
245
- Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol
246
- )
247
-
248
- sig do
249
- override
250
- .returns(T::Array[Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol])
251
- end
252
- def self.values; end
205
+ def to_hash
253
206
  end
254
207
 
255
208
  class OnDemand < Dodopayments::Internal::Type::BaseModel
209
+ OrHash =
210
+ T.type_alias do
211
+ T.any(
212
+ Dodopayments::SubscriptionCreateParams::OnDemand,
213
+ Dodopayments::Internal::AnyHash
214
+ )
215
+ end
216
+
256
217
  # If set as True, does not perform any charge and only authorizes payment method
257
218
  # details for future use.
258
219
  sig { returns(T::Boolean) }
259
220
  attr_accessor :mandate_only
260
221
 
222
+ # Whether adaptive currency fees should be included in the product_price (true) or
223
+ # added on top (false). This field is ignored if adaptive pricing is not enabled
224
+ # for the business.
225
+ sig { returns(T.nilable(T::Boolean)) }
226
+ attr_accessor :adaptive_currency_fees_inclusive
227
+
228
+ # Optional currency of the product price. If not specified, defaults to the
229
+ # currency of the product.
230
+ sig { returns(T.nilable(Dodopayments::Currency::OrSymbol)) }
231
+ attr_accessor :product_currency
232
+
233
+ # Optional product description override for billing and line items. If not
234
+ # specified, the stored description of the product will be used.
235
+ sig { returns(T.nilable(String)) }
236
+ attr_accessor :product_description
237
+
261
238
  # Product price for the initial charge to customer If not specified the stored
262
239
  # price of the product will be used Represented in the lowest denomination of the
263
240
  # currency (e.g., cents for USD). For example, to charge $1.00, pass `100`.
264
241
  sig { returns(T.nilable(Integer)) }
265
242
  attr_accessor :product_price
266
243
 
267
- sig { params(mandate_only: T::Boolean, product_price: T.nilable(Integer)).returns(T.attached_class) }
244
+ sig do
245
+ params(
246
+ mandate_only: T::Boolean,
247
+ adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
248
+ product_currency: T.nilable(Dodopayments::Currency::OrSymbol),
249
+ product_description: T.nilable(String),
250
+ product_price: T.nilable(Integer)
251
+ ).returns(T.attached_class)
252
+ end
268
253
  def self.new(
269
254
  # If set as True, does not perform any charge and only authorizes payment method
270
255
  # details for future use.
271
256
  mandate_only:,
257
+ # Whether adaptive currency fees should be included in the product_price (true) or
258
+ # added on top (false). This field is ignored if adaptive pricing is not enabled
259
+ # for the business.
260
+ adaptive_currency_fees_inclusive: nil,
261
+ # Optional currency of the product price. If not specified, defaults to the
262
+ # currency of the product.
263
+ product_currency: nil,
264
+ # Optional product description override for billing and line items. If not
265
+ # specified, the stored description of the product will be used.
266
+ product_description: nil,
272
267
  # Product price for the initial charge to customer If not specified the stored
273
268
  # price of the product will be used Represented in the lowest denomination of the
274
269
  # currency (e.g., cents for USD). For example, to charge $1.00, pass `100`.
275
270
  product_price: nil
276
- ); end
277
- sig { override.returns({mandate_only: T::Boolean, product_price: T.nilable(Integer)}) }
278
- def to_hash; end
271
+ )
272
+ end
273
+
274
+ sig do
275
+ override.returns(
276
+ {
277
+ mandate_only: T::Boolean,
278
+ adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
279
+ product_currency: T.nilable(Dodopayments::Currency::OrSymbol),
280
+ product_description: T.nilable(String),
281
+ product_price: T.nilable(Integer)
282
+ }
283
+ )
284
+ end
285
+ def to_hash
286
+ end
279
287
  end
280
288
  end
281
289
  end
@@ -3,21 +3,35 @@
3
3
  module Dodopayments
4
4
  module Models
5
5
  class SubscriptionCreateResponse < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::Models::SubscriptionCreateResponse,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
6
14
  # Addons associated with this subscription
7
- sig { returns(T::Array[Dodopayments::Models::AddonCartResponseItem]) }
15
+ sig { returns(T::Array[Dodopayments::AddonCartResponseItem]) }
8
16
  attr_accessor :addons
9
17
 
10
- sig { returns(Dodopayments::Models::CustomerLimitedDetails) }
18
+ # Customer details associated with this subscription
19
+ sig { returns(Dodopayments::CustomerLimitedDetails) }
11
20
  attr_reader :customer
12
21
 
13
22
  sig do
14
- params(customer: T.any(Dodopayments::Models::CustomerLimitedDetails, Dodopayments::Internal::AnyHash)).void
23
+ params(customer: Dodopayments::CustomerLimitedDetails::OrHash).void
15
24
  end
16
25
  attr_writer :customer
17
26
 
27
+ # Additional metadata associated with the subscription
18
28
  sig { returns(T::Hash[Symbol, String]) }
19
29
  attr_accessor :metadata
20
30
 
31
+ # First payment id for the subscription
32
+ sig { returns(String) }
33
+ attr_accessor :payment_id
34
+
21
35
  # Tax will be added to the amount and charged to the customer on each billing
22
36
  # cycle
23
37
  sig { returns(Integer) }
@@ -36,28 +50,37 @@ module Dodopayments
36
50
  sig { returns(T.nilable(String)) }
37
51
  attr_accessor :discount_id
38
52
 
53
+ # Expiry timestamp of the payment link
54
+ sig { returns(T.nilable(Time)) }
55
+ attr_accessor :expires_on
56
+
39
57
  # URL to checkout page
40
58
  sig { returns(T.nilable(String)) }
41
59
  attr_accessor :payment_link
42
60
 
43
61
  sig do
44
62
  params(
45
- addons: T::Array[T.any(Dodopayments::Models::AddonCartResponseItem, Dodopayments::Internal::AnyHash)],
46
- customer: T.any(Dodopayments::Models::CustomerLimitedDetails, Dodopayments::Internal::AnyHash),
63
+ addons: T::Array[Dodopayments::AddonCartResponseItem::OrHash],
64
+ customer: Dodopayments::CustomerLimitedDetails::OrHash,
47
65
  metadata: T::Hash[Symbol, String],
66
+ payment_id: String,
48
67
  recurring_pre_tax_amount: Integer,
49
68
  subscription_id: String,
50
69
  client_secret: T.nilable(String),
51
70
  discount_id: T.nilable(String),
71
+ expires_on: T.nilable(Time),
52
72
  payment_link: T.nilable(String)
53
- )
54
- .returns(T.attached_class)
73
+ ).returns(T.attached_class)
55
74
  end
56
75
  def self.new(
57
76
  # Addons associated with this subscription
58
77
  addons:,
78
+ # Customer details associated with this subscription
59
79
  customer:,
80
+ # Additional metadata associated with the subscription
60
81
  metadata:,
82
+ # First payment id for the subscription
83
+ payment_id:,
61
84
  # Tax will be added to the amount and charged to the customer on each billing
62
85
  # cycle
63
86
  recurring_pre_tax_amount:,
@@ -68,25 +91,31 @@ module Dodopayments
68
91
  client_secret: nil,
69
92
  # The discount id if discount is applied
70
93
  discount_id: nil,
94
+ # Expiry timestamp of the payment link
95
+ expires_on: nil,
71
96
  # URL to checkout page
72
97
  payment_link: nil
73
- ); end
98
+ )
99
+ end
100
+
74
101
  sig do
75
- override
76
- .returns(
77
- {
78
- addons: T::Array[Dodopayments::Models::AddonCartResponseItem],
79
- customer: Dodopayments::Models::CustomerLimitedDetails,
80
- metadata: T::Hash[Symbol, String],
81
- recurring_pre_tax_amount: Integer,
82
- subscription_id: String,
83
- client_secret: T.nilable(String),
84
- discount_id: T.nilable(String),
85
- payment_link: T.nilable(String)
86
- }
87
- )
102
+ override.returns(
103
+ {
104
+ addons: T::Array[Dodopayments::AddonCartResponseItem],
105
+ customer: Dodopayments::CustomerLimitedDetails,
106
+ metadata: T::Hash[Symbol, String],
107
+ payment_id: String,
108
+ recurring_pre_tax_amount: Integer,
109
+ subscription_id: String,
110
+ client_secret: T.nilable(String),
111
+ discount_id: T.nilable(String),
112
+ expires_on: T.nilable(Time),
113
+ payment_link: T.nilable(String)
114
+ }
115
+ )
116
+ end
117
+ def to_hash
88
118
  end
89
- def to_hash; end
90
119
  end
91
120
  end
92
121
  end