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
@@ -14,10 +14,11 @@ module Dodopayments
14
14
  required :product_id, String
15
15
 
16
16
  # @!attribute proration_billing_mode
17
+ # Proration Billing Mode
17
18
  #
18
19
  # @return [Symbol, Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode]
19
20
  required :proration_billing_mode,
20
- enum: -> { Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode }
21
+ enum: -> { Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode }
21
22
 
22
23
  # @!attribute quantity
23
24
  # Number of units to subscribe for. Must be at least 1.
@@ -29,10 +30,8 @@ module Dodopayments
29
30
  # Addons for the new plan. Note : Leaving this empty would remove any existing
30
31
  # addons
31
32
  #
32
- # @return [Array<Dodopayments::Models::SubscriptionChangePlanParams::Addon>, nil]
33
- optional :addons,
34
- -> { Dodopayments::Internal::Type::ArrayOf[Dodopayments::Models::SubscriptionChangePlanParams::Addon] },
35
- nil?: true
33
+ # @return [Array<Dodopayments::Models::AttachAddon>, nil]
34
+ optional :addons, -> { Dodopayments::Internal::Type::ArrayOf[Dodopayments::AttachAddon] }, nil?: true
36
35
 
37
36
  # @!method initialize(product_id:, proration_billing_mode:, quantity:, addons: nil, request_options: {})
38
37
  # Some parameter documentations has been truncated, see
@@ -40,38 +39,25 @@ module Dodopayments
40
39
  #
41
40
  # @param product_id [String] Unique identifier of the product to subscribe to
42
41
  #
43
- # @param proration_billing_mode [Symbol, Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode]
42
+ # @param proration_billing_mode [Symbol, Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode] Proration Billing Mode
44
43
  #
45
44
  # @param quantity [Integer] Number of units to subscribe for. Must be at least 1.
46
45
  #
47
- # @param addons [Array<Dodopayments::Models::SubscriptionChangePlanParams::Addon>, nil] Addons for the new plan. ...
46
+ # @param addons [Array<Dodopayments::Models::AttachAddon>, nil] Addons for the new plan.
48
47
  #
49
48
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
50
49
 
50
+ # Proration Billing Mode
51
51
  module ProrationBillingMode
52
52
  extend Dodopayments::Internal::Type::Enum
53
53
 
54
54
  PRORATED_IMMEDIATELY = :prorated_immediately
55
+ FULL_IMMEDIATELY = :full_immediately
56
+ DIFFERENCE_IMMEDIATELY = :difference_immediately
55
57
 
56
58
  # @!method self.values
57
59
  # @return [Array<Symbol>]
58
60
  end
59
-
60
- class Addon < Dodopayments::Internal::Type::BaseModel
61
- # @!attribute addon_id
62
- #
63
- # @return [String]
64
- required :addon_id, String
65
-
66
- # @!attribute quantity
67
- #
68
- # @return [Integer]
69
- required :quantity, Integer
70
-
71
- # @!method initialize(addon_id:, quantity:)
72
- # @param addon_id [String]
73
- # @param quantity [Integer]
74
- end
75
61
  end
76
62
  end
77
63
  end
@@ -14,12 +14,48 @@ module Dodopayments
14
14
  # @return [Integer]
15
15
  required :product_price, Integer
16
16
 
17
- # @!method initialize(product_price:, request_options: {})
17
+ # @!attribute adaptive_currency_fees_inclusive
18
+ # Whether adaptive currency fees should be included in the product_price (true) or
19
+ # added on top (false). This field is ignored if adaptive pricing is not enabled
20
+ # for the business.
21
+ #
22
+ # @return [Boolean, nil]
23
+ optional :adaptive_currency_fees_inclusive, Dodopayments::Internal::Type::Boolean, nil?: true
24
+
25
+ # @!attribute metadata
26
+ # Metadata for the payment. If not passed, the metadata of the subscription will
27
+ # be taken
28
+ #
29
+ # @return [Hash{Symbol=>String}, nil]
30
+ optional :metadata, Dodopayments::Internal::Type::HashOf[String], nil?: true
31
+
32
+ # @!attribute product_currency
33
+ # Optional currency of the product price. If not specified, defaults to the
34
+ # currency of the product.
35
+ #
36
+ # @return [Symbol, Dodopayments::Models::Currency, nil]
37
+ optional :product_currency, enum: -> { Dodopayments::Currency }, nil?: true
38
+
39
+ # @!attribute product_description
40
+ # Optional product description override for billing and line items. If not
41
+ # specified, the stored description of the product will be used.
42
+ #
43
+ # @return [String, nil]
44
+ optional :product_description, String, nil?: true
45
+
46
+ # @!method initialize(product_price:, adaptive_currency_fees_inclusive: nil, metadata: nil, product_currency: nil, product_description: nil, request_options: {})
18
47
  # Some parameter documentations has been truncated, see
19
48
  # {Dodopayments::Models::SubscriptionChargeParams} for more details.
20
49
  #
21
50
  # @param product_price [Integer] The product price. Represented in the lowest denomination of the currency (e.g.,
22
- # ...
51
+ #
52
+ # @param adaptive_currency_fees_inclusive [Boolean, nil] Whether adaptive currency fees should be included in the product_price (true) or
53
+ #
54
+ # @param metadata [Hash{Symbol=>String}, nil] Metadata for the payment. If not passed, the metadata of the subscription will b
55
+ #
56
+ # @param product_currency [Symbol, Dodopayments::Models::Currency, nil] Optional currency of the product price. If not specified, defaults to the curren
57
+ #
58
+ # @param product_description [String, nil] Optional product description override for billing and line items.
23
59
  #
24
60
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
25
61
  end
@@ -8,14 +8,16 @@ module Dodopayments
8
8
  include Dodopayments::Internal::Type::RequestParameters
9
9
 
10
10
  # @!attribute billing
11
+ # Billing address information for the subscription
11
12
  #
12
13
  # @return [Dodopayments::Models::BillingAddress]
13
- required :billing, -> { Dodopayments::Models::BillingAddress }
14
+ required :billing, -> { Dodopayments::BillingAddress }
14
15
 
15
16
  # @!attribute customer
17
+ # Customer details for the subscription
16
18
  #
17
- # @return [Dodopayments::Models::AttachExistingCustomer, Dodopayments::Models::CreateNewCustomer]
18
- required :customer, union: -> { Dodopayments::Models::CustomerRequest }
19
+ # @return [Dodopayments::Models::AttachExistingCustomer, Dodopayments::Models::NewCustomer]
20
+ required :customer, union: -> { Dodopayments::CustomerRequest }
19
21
 
20
22
  # @!attribute product_id
21
23
  # Unique identifier of the product to subscribe to
@@ -32,10 +34,8 @@ module Dodopayments
32
34
  # @!attribute addons
33
35
  # Attach addons to this subscription
34
36
  #
35
- # @return [Array<Dodopayments::Models::SubscriptionCreateParams::Addon>, nil]
36
- optional :addons,
37
- -> { Dodopayments::Internal::Type::ArrayOf[Dodopayments::Models::SubscriptionCreateParams::Addon] },
38
- nil?: true
37
+ # @return [Array<Dodopayments::Models::AttachAddon>, nil]
38
+ optional :addons, -> { Dodopayments::Internal::Type::ArrayOf[Dodopayments::AttachAddon] }, nil?: true
39
39
 
40
40
  # @!attribute allowed_payment_method_types
41
41
  # List of payment methods allowed during checkout.
@@ -45,15 +45,17 @@ module Dodopayments
45
45
  # Availability still depends on other factors (e.g., customer location, merchant
46
46
  # settings).
47
47
  #
48
- # @return [Array<Symbol, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType>, nil]
48
+ # @return [Array<Symbol, Dodopayments::Models::PaymentMethodTypes>, nil]
49
49
  optional :allowed_payment_method_types,
50
- -> { Dodopayments::Internal::Type::ArrayOf[enum: Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType] },
50
+ -> { Dodopayments::Internal::Type::ArrayOf[enum: Dodopayments::PaymentMethodTypes] },
51
51
  nil?: true
52
52
 
53
53
  # @!attribute billing_currency
54
+ # Fix the currency in which the end customer is billed. If Dodo Payments cannot
55
+ # support that currency for this transaction, it will not proceed
54
56
  #
55
57
  # @return [Symbol, Dodopayments::Models::Currency, nil]
56
- optional :billing_currency, enum: -> { Dodopayments::Models::Currency }, nil?: true
58
+ optional :billing_currency, enum: -> { Dodopayments::Currency }, nil?: true
57
59
 
58
60
  # @!attribute discount_code
59
61
  # Discount Code to apply to the subscription
@@ -62,6 +64,7 @@ module Dodopayments
62
64
  optional :discount_code, String, nil?: true
63
65
 
64
66
  # @!attribute metadata
67
+ # Additional metadata for the subscription Defaults to empty if not specified
65
68
  #
66
69
  # @return [Hash{Symbol=>String}, nil]
67
70
  optional :metadata, Dodopayments::Internal::Type::HashOf[String]
@@ -69,7 +72,7 @@ module Dodopayments
69
72
  # @!attribute on_demand
70
73
  #
71
74
  # @return [Dodopayments::Models::SubscriptionCreateParams::OnDemand, nil]
72
- optional :on_demand, -> { Dodopayments::Models::SubscriptionCreateParams::OnDemand }, nil?: true
75
+ optional :on_demand, -> { Dodopayments::SubscriptionCreateParams::OnDemand }, nil?: true
73
76
 
74
77
  # @!attribute payment_link
75
78
  # If true, generates a payment link. Defaults to false if not specified.
@@ -107,81 +110,38 @@ module Dodopayments
107
110
  # Some parameter documentations has been truncated, see
108
111
  # {Dodopayments::Models::SubscriptionCreateParams} for more details.
109
112
  #
110
- # @param billing [Dodopayments::Models::BillingAddress]
113
+ # @param billing [Dodopayments::Models::BillingAddress] Billing address information for the subscription
111
114
  #
112
- # @param customer [Dodopayments::Models::AttachExistingCustomer, Dodopayments::Models::CreateNewCustomer]
115
+ # @param customer [Dodopayments::Models::AttachExistingCustomer, Dodopayments::Models::NewCustomer] Customer details for the subscription
113
116
  #
114
117
  # @param product_id [String] Unique identifier of the product to subscribe to
115
118
  #
116
119
  # @param quantity [Integer] Number of units to subscribe for. Must be at least 1.
117
120
  #
118
- # @param addons [Array<Dodopayments::Models::SubscriptionCreateParams::Addon>, nil] Attach addons to this subscription
121
+ # @param addons [Array<Dodopayments::Models::AttachAddon>, nil] Attach addons to this subscription
119
122
  #
120
- # @param allowed_payment_method_types [Array<Symbol, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType>, nil] List of payment methods allowed during checkout. ...
123
+ # @param allowed_payment_method_types [Array<Symbol, Dodopayments::Models::PaymentMethodTypes>, nil] List of payment methods allowed during checkout.
121
124
  #
122
- # @param billing_currency [Symbol, Dodopayments::Models::Currency, nil]
125
+ # @param billing_currency [Symbol, Dodopayments::Models::Currency, nil] Fix the currency in which the end customer is billed.
123
126
  #
124
127
  # @param discount_code [String, nil] Discount Code to apply to the subscription
125
128
  #
126
- # @param metadata [Hash{Symbol=>String}]
129
+ # @param metadata [Hash{Symbol=>String}] Additional metadata for the subscription
127
130
  #
128
131
  # @param on_demand [Dodopayments::Models::SubscriptionCreateParams::OnDemand, nil]
129
132
  #
130
- # @param payment_link [Boolean, nil] If true, generates a payment link. ...
133
+ # @param payment_link [Boolean, nil] If true, generates a payment link.
131
134
  #
132
135
  # @param return_url [String, nil] Optional URL to redirect after successful subscription creation
133
136
  #
134
- # @param show_saved_payment_methods [Boolean] Display saved payment methods of a returning customer ...
137
+ # @param show_saved_payment_methods [Boolean] Display saved payment methods of a returning customer
135
138
  #
136
139
  # @param tax_id [String, nil] Tax ID in case the payment is B2B. If tax id validation fails the payment creati
137
- # ...
138
140
  #
139
- # @param trial_period_days [Integer, nil] Optional trial period in days ...
141
+ # @param trial_period_days [Integer, nil] Optional trial period in days
140
142
  #
141
143
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
142
144
 
143
- class Addon < Dodopayments::Internal::Type::BaseModel
144
- # @!attribute addon_id
145
- #
146
- # @return [String]
147
- required :addon_id, String
148
-
149
- # @!attribute quantity
150
- #
151
- # @return [Integer]
152
- required :quantity, Integer
153
-
154
- # @!method initialize(addon_id:, quantity:)
155
- # @param addon_id [String]
156
- # @param quantity [Integer]
157
- end
158
-
159
- module AllowedPaymentMethodType
160
- extend Dodopayments::Internal::Type::Enum
161
-
162
- CREDIT = :credit
163
- DEBIT = :debit
164
- UPI_COLLECT = :upi_collect
165
- UPI_INTENT = :upi_intent
166
- APPLE_PAY = :apple_pay
167
- CASHAPP = :cashapp
168
- GOOGLE_PAY = :google_pay
169
- MULTIBANCO = :multibanco
170
- BANCONTACT_CARD = :bancontact_card
171
- EPS = :eps
172
- IDEAL = :ideal
173
- PRZELEWY24 = :przelewy24
174
- AFFIRM = :affirm
175
- KLARNA = :klarna
176
- SEPA = :sepa
177
- ACH = :ach
178
- AMAZON_PAY = :amazon_pay
179
- AFTERPAY_CLEARPAY = :afterpay_clearpay
180
-
181
- # @!method self.values
182
- # @return [Array<Symbol>]
183
- end
184
-
185
145
  class OnDemand < Dodopayments::Internal::Type::BaseModel
186
146
  # @!attribute mandate_only
187
147
  # If set as True, does not perform any charge and only authorizes payment method
@@ -190,6 +150,28 @@ module Dodopayments
190
150
  # @return [Boolean]
191
151
  required :mandate_only, Dodopayments::Internal::Type::Boolean
192
152
 
153
+ # @!attribute adaptive_currency_fees_inclusive
154
+ # Whether adaptive currency fees should be included in the product_price (true) or
155
+ # added on top (false). This field is ignored if adaptive pricing is not enabled
156
+ # for the business.
157
+ #
158
+ # @return [Boolean, nil]
159
+ optional :adaptive_currency_fees_inclusive, Dodopayments::Internal::Type::Boolean, nil?: true
160
+
161
+ # @!attribute product_currency
162
+ # Optional currency of the product price. If not specified, defaults to the
163
+ # currency of the product.
164
+ #
165
+ # @return [Symbol, Dodopayments::Models::Currency, nil]
166
+ optional :product_currency, enum: -> { Dodopayments::Currency }, nil?: true
167
+
168
+ # @!attribute product_description
169
+ # Optional product description override for billing and line items. If not
170
+ # specified, the stored description of the product will be used.
171
+ #
172
+ # @return [String, nil]
173
+ optional :product_description, String, nil?: true
174
+
193
175
  # @!attribute product_price
194
176
  # Product price for the initial charge to customer If not specified the stored
195
177
  # price of the product will be used Represented in the lowest denomination of the
@@ -198,14 +180,19 @@ module Dodopayments
198
180
  # @return [Integer, nil]
199
181
  optional :product_price, Integer, nil?: true
200
182
 
201
- # @!method initialize(mandate_only:, product_price: nil)
183
+ # @!method initialize(mandate_only:, adaptive_currency_fees_inclusive: nil, product_currency: nil, product_description: nil, product_price: nil)
202
184
  # Some parameter documentations has been truncated, see
203
185
  # {Dodopayments::Models::SubscriptionCreateParams::OnDemand} for more details.
204
186
  #
205
187
  # @param mandate_only [Boolean] If set as True, does not perform any charge and only authorizes payment method d
206
- # ...
207
188
  #
208
- # @param product_price [Integer, nil] Product price for the initial charge to customer ...
189
+ # @param adaptive_currency_fees_inclusive [Boolean, nil] Whether adaptive currency fees should be included in the product_price (true) or
190
+ #
191
+ # @param product_currency [Symbol, Dodopayments::Models::Currency, nil] Optional currency of the product price. If not specified, defaults to the curren
192
+ #
193
+ # @param product_description [String, nil] Optional product description override for billing and line items.
194
+ #
195
+ # @param product_price [Integer, nil] Product price for the initial charge to customer
209
196
  end
210
197
  end
211
198
  end
@@ -8,19 +8,26 @@ module Dodopayments
8
8
  # Addons associated with this subscription
9
9
  #
10
10
  # @return [Array<Dodopayments::Models::AddonCartResponseItem>]
11
- required :addons,
12
- -> { Dodopayments::Internal::Type::ArrayOf[Dodopayments::Models::AddonCartResponseItem] }
11
+ required :addons, -> { Dodopayments::Internal::Type::ArrayOf[Dodopayments::AddonCartResponseItem] }
13
12
 
14
13
  # @!attribute customer
14
+ # Customer details associated with this subscription
15
15
  #
16
16
  # @return [Dodopayments::Models::CustomerLimitedDetails]
17
- required :customer, -> { Dodopayments::Models::CustomerLimitedDetails }
17
+ required :customer, -> { Dodopayments::CustomerLimitedDetails }
18
18
 
19
19
  # @!attribute metadata
20
+ # Additional metadata associated with the subscription
20
21
  #
21
22
  # @return [Hash{Symbol=>String}]
22
23
  required :metadata, Dodopayments::Internal::Type::HashOf[String]
23
24
 
25
+ # @!attribute payment_id
26
+ # First payment id for the subscription
27
+ #
28
+ # @return [String]
29
+ required :payment_id, String
30
+
24
31
  # @!attribute recurring_pre_tax_amount
25
32
  # Tax will be added to the amount and charged to the customer on each billing
26
33
  # cycle
@@ -47,31 +54,40 @@ module Dodopayments
47
54
  # @return [String, nil]
48
55
  optional :discount_id, String, nil?: true
49
56
 
57
+ # @!attribute expires_on
58
+ # Expiry timestamp of the payment link
59
+ #
60
+ # @return [Time, nil]
61
+ optional :expires_on, Time, nil?: true
62
+
50
63
  # @!attribute payment_link
51
64
  # URL to checkout page
52
65
  #
53
66
  # @return [String, nil]
54
67
  optional :payment_link, String, nil?: true
55
68
 
56
- # @!method initialize(addons:, customer:, metadata:, recurring_pre_tax_amount:, subscription_id:, client_secret: nil, discount_id: nil, payment_link: nil)
69
+ # @!method initialize(addons:, customer:, metadata:, payment_id:, recurring_pre_tax_amount:, subscription_id:, client_secret: nil, discount_id: nil, expires_on: nil, payment_link: nil)
57
70
  # Some parameter documentations has been truncated, see
58
71
  # {Dodopayments::Models::SubscriptionCreateResponse} for more details.
59
72
  #
60
73
  # @param addons [Array<Dodopayments::Models::AddonCartResponseItem>] Addons associated with this subscription
61
74
  #
62
- # @param customer [Dodopayments::Models::CustomerLimitedDetails]
75
+ # @param customer [Dodopayments::Models::CustomerLimitedDetails] Customer details associated with this subscription
76
+ #
77
+ # @param metadata [Hash{Symbol=>String}] Additional metadata associated with the subscription
63
78
  #
64
- # @param metadata [Hash{Symbol=>String}]
79
+ # @param payment_id [String] First payment id for the subscription
65
80
  #
66
81
  # @param recurring_pre_tax_amount [Integer] Tax will be added to the amount and charged to the customer on each billing cycl
67
- # ...
68
82
  #
69
83
  # @param subscription_id [String] Unique identifier for the subscription
70
84
  #
71
- # @param client_secret [String, nil] Client secret used to load Dodo checkout SDK ...
85
+ # @param client_secret [String, nil] Client secret used to load Dodo checkout SDK
72
86
  #
73
87
  # @param discount_id [String, nil] The discount id if discount is applied
74
88
  #
89
+ # @param expires_on [Time, nil] Expiry timestamp of the payment link
90
+ #
75
91
  # @param payment_link [String, nil] URL to checkout page
76
92
  end
77
93
  end
@@ -7,56 +7,79 @@ module Dodopayments
7
7
  extend Dodopayments::Internal::Type::RequestParameters::Converter
8
8
  include Dodopayments::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute brand_id
11
+ # filter by Brand id
12
+ #
13
+ # @return [String, nil]
14
+ optional :brand_id, String
15
+
10
16
  # @!attribute created_at_gte
11
17
  # Get events after this created time
12
18
  #
13
19
  # @return [Time, nil]
14
- optional :created_at_gte, Time, nil?: true
20
+ optional :created_at_gte, Time
15
21
 
16
22
  # @!attribute created_at_lte
17
23
  # Get events created before this time
18
24
  #
19
25
  # @return [Time, nil]
20
- optional :created_at_lte, Time, nil?: true
26
+ optional :created_at_lte, Time
21
27
 
22
28
  # @!attribute customer_id
23
29
  # Filter by customer id
24
30
  #
25
31
  # @return [String, nil]
26
- optional :customer_id, String, nil?: true
32
+ optional :customer_id, String
27
33
 
28
34
  # @!attribute page_number
29
35
  # Page number default is 0
30
36
  #
31
37
  # @return [Integer, nil]
32
- optional :page_number, Integer, nil?: true
38
+ optional :page_number, Integer
33
39
 
34
40
  # @!attribute page_size
35
41
  # Page size default is 10 max is 100
36
42
  #
37
43
  # @return [Integer, nil]
38
- optional :page_size, Integer, nil?: true
44
+ optional :page_size, Integer
39
45
 
40
46
  # @!attribute status
41
47
  # Filter by status
42
48
  #
43
- # @return [Symbol, Dodopayments::Models::SubscriptionStatus, nil]
44
- optional :status, enum: -> { Dodopayments::Models::SubscriptionStatus }, nil?: true
49
+ # @return [Symbol, Dodopayments::Models::SubscriptionListParams::Status, nil]
50
+ optional :status, enum: -> { Dodopayments::SubscriptionListParams::Status }
45
51
 
46
- # @!method initialize(created_at_gte: nil, created_at_lte: nil, customer_id: nil, page_number: nil, page_size: nil, status: nil, request_options: {})
47
- # @param created_at_gte [Time, nil] Get events after this created time
52
+ # @!method initialize(brand_id: nil, created_at_gte: nil, created_at_lte: nil, customer_id: nil, page_number: nil, page_size: nil, status: nil, request_options: {})
53
+ # @param brand_id [String] filter by Brand id
54
+ #
55
+ # @param created_at_gte [Time] Get events after this created time
48
56
  #
49
- # @param created_at_lte [Time, nil] Get events created before this time
57
+ # @param created_at_lte [Time] Get events created before this time
50
58
  #
51
- # @param customer_id [String, nil] Filter by customer id
59
+ # @param customer_id [String] Filter by customer id
52
60
  #
53
- # @param page_number [Integer, nil] Page number default is 0
61
+ # @param page_number [Integer] Page number default is 0
54
62
  #
55
- # @param page_size [Integer, nil] Page size default is 10 max is 100
63
+ # @param page_size [Integer] Page size default is 10 max is 100
56
64
  #
57
- # @param status [Symbol, Dodopayments::Models::SubscriptionStatus, nil] Filter by status
65
+ # @param status [Symbol, Dodopayments::Models::SubscriptionListParams::Status] Filter by status
58
66
  #
59
67
  # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
68
+
69
+ # Filter by status
70
+ module Status
71
+ extend Dodopayments::Internal::Type::Enum
72
+
73
+ PENDING = :pending
74
+ ACTIVE = :active
75
+ ON_HOLD = :on_hold
76
+ CANCELLED = :cancelled
77
+ FAILED = :failed
78
+ EXPIRED = :expired
79
+
80
+ # @!method self.values
81
+ # @return [Array<Symbol>]
82
+ end
60
83
  end
61
84
  end
62
85
  end
@@ -5,9 +5,16 @@ module Dodopayments
5
5
  # @see Dodopayments::Resources::Subscriptions#list
6
6
  class SubscriptionListResponse < Dodopayments::Internal::Type::BaseModel
7
7
  # @!attribute billing
8
+ # Billing address details for payments
8
9
  #
9
10
  # @return [Dodopayments::Models::BillingAddress]
10
- required :billing, -> { Dodopayments::Models::BillingAddress }
11
+ required :billing, -> { Dodopayments::BillingAddress }
12
+
13
+ # @!attribute cancel_at_next_billing_date
14
+ # Indicates if the subscription will cancel at the next billing date
15
+ #
16
+ # @return [Boolean]
17
+ required :cancel_at_next_billing_date, Dodopayments::Internal::Type::Boolean
11
18
 
12
19
  # @!attribute created_at
13
20
  # Timestamp when the subscription was created
@@ -16,16 +23,19 @@ module Dodopayments
16
23
  required :created_at, Time
17
24
 
18
25
  # @!attribute currency
26
+ # Currency used for the subscription payments
19
27
  #
20
28
  # @return [Symbol, Dodopayments::Models::Currency]
21
- required :currency, enum: -> { Dodopayments::Models::Currency }
29
+ required :currency, enum: -> { Dodopayments::Currency }
22
30
 
23
31
  # @!attribute customer
32
+ # Customer details associated with the subscription
24
33
  #
25
34
  # @return [Dodopayments::Models::CustomerLimitedDetails]
26
- required :customer, -> { Dodopayments::Models::CustomerLimitedDetails }
35
+ required :customer, -> { Dodopayments::CustomerLimitedDetails }
27
36
 
28
37
  # @!attribute metadata
38
+ # Additional custom data associated with the subscription
29
39
  #
30
40
  # @return [Hash{Symbol=>String}]
31
41
  required :metadata, Dodopayments::Internal::Type::HashOf[String]
@@ -50,9 +60,10 @@ module Dodopayments
50
60
  required :payment_frequency_count, Integer
51
61
 
52
62
  # @!attribute payment_frequency_interval
63
+ # Time interval for payment frequency (e.g. month, year)
53
64
  #
54
65
  # @return [Symbol, Dodopayments::Models::TimeInterval]
55
- required :payment_frequency_interval, enum: -> { Dodopayments::Models::TimeInterval }
66
+ required :payment_frequency_interval, enum: -> { Dodopayments::TimeInterval }
56
67
 
57
68
  # @!attribute previous_billing_date
58
69
  # Timestamp of the last payment. Indicates the start of current billing period
@@ -80,9 +91,10 @@ module Dodopayments
80
91
  required :recurring_pre_tax_amount, Integer
81
92
 
82
93
  # @!attribute status
94
+ # Current status of the subscription
83
95
  #
84
96
  # @return [Symbol, Dodopayments::Models::SubscriptionStatus]
85
- required :status, enum: -> { Dodopayments::Models::SubscriptionStatus }
97
+ required :status, enum: -> { Dodopayments::SubscriptionStatus }
86
98
 
87
99
  # @!attribute subscription_id
88
100
  # Unique identifier for the subscription
@@ -97,9 +109,10 @@ module Dodopayments
97
109
  required :subscription_period_count, Integer
98
110
 
99
111
  # @!attribute subscription_period_interval
112
+ # Time interval for the subscription period (e.g. month, year)
100
113
  #
101
114
  # @return [Symbol, Dodopayments::Models::TimeInterval]
102
- required :subscription_period_interval, enum: -> { Dodopayments::Models::TimeInterval }
115
+ required :subscription_period_interval, enum: -> { Dodopayments::TimeInterval }
103
116
 
104
117
  # @!attribute tax_inclusive
105
118
  # Indicates if the recurring_pre_tax_amount is tax inclusive
@@ -119,36 +132,43 @@ module Dodopayments
119
132
  # @return [Time, nil]
120
133
  optional :cancelled_at, Time, nil?: true
121
134
 
135
+ # @!attribute discount_cycles_remaining
136
+ # Number of remaining discount cycles if discount is applied
137
+ #
138
+ # @return [Integer, nil]
139
+ optional :discount_cycles_remaining, Integer, nil?: true
140
+
122
141
  # @!attribute discount_id
123
142
  # The discount id if discount is applied
124
143
  #
125
144
  # @return [String, nil]
126
145
  optional :discount_id, String, nil?: true
127
146
 
128
- # @!method initialize(billing:, created_at:, currency:, customer:, metadata:, next_billing_date:, on_demand:, payment_frequency_count:, payment_frequency_interval:, previous_billing_date:, product_id:, quantity:, recurring_pre_tax_amount:, status:, subscription_id:, subscription_period_count:, subscription_period_interval:, tax_inclusive:, trial_period_days:, cancelled_at: nil, discount_id: nil)
147
+ # @!method initialize(billing:, cancel_at_next_billing_date:, created_at:, currency:, customer:, metadata:, next_billing_date:, on_demand:, payment_frequency_count:, payment_frequency_interval:, previous_billing_date:, product_id:, quantity:, recurring_pre_tax_amount:, status:, subscription_id:, subscription_period_count:, subscription_period_interval:, tax_inclusive:, trial_period_days:, cancelled_at: nil, discount_cycles_remaining: nil, discount_id: nil)
129
148
  # Some parameter documentations has been truncated, see
130
149
  # {Dodopayments::Models::SubscriptionListResponse} for more details.
131
150
  #
132
151
  # Response struct representing subscription details
133
152
  #
134
- # @param billing [Dodopayments::Models::BillingAddress]
153
+ # @param billing [Dodopayments::Models::BillingAddress] Billing address details for payments
154
+ #
155
+ # @param cancel_at_next_billing_date [Boolean] Indicates if the subscription will cancel at the next billing date
135
156
  #
136
157
  # @param created_at [Time] Timestamp when the subscription was created
137
158
  #
138
- # @param currency [Symbol, Dodopayments::Models::Currency]
159
+ # @param currency [Symbol, Dodopayments::Models::Currency] Currency used for the subscription payments
139
160
  #
140
- # @param customer [Dodopayments::Models::CustomerLimitedDetails]
161
+ # @param customer [Dodopayments::Models::CustomerLimitedDetails] Customer details associated with the subscription
141
162
  #
142
- # @param metadata [Hash{Symbol=>String}]
163
+ # @param metadata [Hash{Symbol=>String}] Additional custom data associated with the subscription
143
164
  #
144
165
  # @param next_billing_date [Time] Timestamp of the next scheduled billing. Indicates the end of current billing pe
145
- # ...
146
166
  #
147
167
  # @param on_demand [Boolean] Wether the subscription is on-demand or not
148
168
  #
149
169
  # @param payment_frequency_count [Integer] Number of payment frequency intervals
150
170
  #
151
- # @param payment_frequency_interval [Symbol, Dodopayments::Models::TimeInterval]
171
+ # @param payment_frequency_interval [Symbol, Dodopayments::Models::TimeInterval] Time interval for payment frequency (e.g. month, year)
152
172
  #
153
173
  # @param previous_billing_date [Time] Timestamp of the last payment. Indicates the start of current billing period
154
174
  #
@@ -157,15 +177,14 @@ module Dodopayments
157
177
  # @param quantity [Integer] Number of units/items included in the subscription
158
178
  #
159
179
  # @param recurring_pre_tax_amount [Integer] Amount charged before tax for each recurring payment in smallest currency unit (
160
- # ...
161
180
  #
162
- # @param status [Symbol, Dodopayments::Models::SubscriptionStatus]
181
+ # @param status [Symbol, Dodopayments::Models::SubscriptionStatus] Current status of the subscription
163
182
  #
164
183
  # @param subscription_id [String] Unique identifier for the subscription
165
184
  #
166
185
  # @param subscription_period_count [Integer] Number of subscription period intervals
167
186
  #
168
- # @param subscription_period_interval [Symbol, Dodopayments::Models::TimeInterval]
187
+ # @param subscription_period_interval [Symbol, Dodopayments::Models::TimeInterval] Time interval for the subscription period (e.g. month, year)
169
188
  #
170
189
  # @param tax_inclusive [Boolean] Indicates if the recurring_pre_tax_amount is tax inclusive
171
190
  #
@@ -173,6 +192,8 @@ module Dodopayments
173
192
  #
174
193
  # @param cancelled_at [Time, nil] Cancelled timestamp if the subscription is cancelled
175
194
  #
195
+ # @param discount_cycles_remaining [Integer, nil] Number of remaining discount cycles if discount is applied
196
+ #
176
197
  # @param discount_id [String, nil] The discount id if discount is applied
177
198
  end
178
199
  end
@@ -8,7 +8,6 @@ module Dodopayments
8
8
  PENDING = :pending
9
9
  ACTIVE = :active
10
10
  ON_HOLD = :on_hold
11
- PAUSED = :paused
12
11
  CANCELLED = :cancelled
13
12
  FAILED = :failed
14
13
  EXPIRED = :expired