dodopayments 0.0.1.pre.alpha.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 (326) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +154 -0
  3. data/lib/dodopayments/base_client.rb +453 -0
  4. data/lib/dodopayments/base_model.rb +1217 -0
  5. data/lib/dodopayments/base_page.rb +62 -0
  6. data/lib/dodopayments/client.rb +147 -0
  7. data/lib/dodopayments/default_page_number_pagination.rb +97 -0
  8. data/lib/dodopayments/errors.rb +183 -0
  9. data/lib/dodopayments/extern.rb +9 -0
  10. data/lib/dodopayments/models/attach_existing_customer.rb +19 -0
  11. data/lib/dodopayments/models/billing_address.rb +48 -0
  12. data/lib/dodopayments/models/country_code.rb +262 -0
  13. data/lib/dodopayments/models/create_new_customer.rb +44 -0
  14. data/lib/dodopayments/models/customer.rb +49 -0
  15. data/lib/dodopayments/models/customer_create_params.rb +36 -0
  16. data/lib/dodopayments/models/customer_limited_details.rb +34 -0
  17. data/lib/dodopayments/models/customer_list_params.rb +32 -0
  18. data/lib/dodopayments/models/customer_portal_session.rb +19 -0
  19. data/lib/dodopayments/models/customer_request.rb +18 -0
  20. data/lib/dodopayments/models/customer_retrieve_params.rb +18 -0
  21. data/lib/dodopayments/models/customer_update_params.rb +30 -0
  22. data/lib/dodopayments/models/customers/customer_portal_create_params.rb +27 -0
  23. data/lib/dodopayments/models/discount.rb +108 -0
  24. data/lib/dodopayments/models/discount_create_params.rb +87 -0
  25. data/lib/dodopayments/models/discount_delete_params.rb +18 -0
  26. data/lib/dodopayments/models/discount_list_params.rb +32 -0
  27. data/lib/dodopayments/models/discount_retrieve_params.rb +18 -0
  28. data/lib/dodopayments/models/discount_type.rb +12 -0
  29. data/lib/dodopayments/models/discount_update_params.rb +82 -0
  30. data/lib/dodopayments/models/dispute.rb +80 -0
  31. data/lib/dodopayments/models/dispute_list_params.rb +79 -0
  32. data/lib/dodopayments/models/dispute_retrieve_params.rb +18 -0
  33. data/lib/dodopayments/models/dispute_stage.rb +14 -0
  34. data/lib/dodopayments/models/dispute_status.rb +18 -0
  35. data/lib/dodopayments/models/intent_status.rb +22 -0
  36. data/lib/dodopayments/models/invoices/payment_retrieve_params.rb +20 -0
  37. data/lib/dodopayments/models/license_activate_params.rb +30 -0
  38. data/lib/dodopayments/models/license_deactivate_params.rb +30 -0
  39. data/lib/dodopayments/models/license_key.rb +113 -0
  40. data/lib/dodopayments/models/license_key_duration.rb +25 -0
  41. data/lib/dodopayments/models/license_key_instance.rb +43 -0
  42. data/lib/dodopayments/models/license_key_instance_list_params.rb +39 -0
  43. data/lib/dodopayments/models/license_key_instance_retrieve_params.rb +18 -0
  44. data/lib/dodopayments/models/license_key_instance_update_params.rb +24 -0
  45. data/lib/dodopayments/models/license_key_list_params.rb +53 -0
  46. data/lib/dodopayments/models/license_key_retrieve_params.rb +18 -0
  47. data/lib/dodopayments/models/license_key_status.rb +14 -0
  48. data/lib/dodopayments/models/license_key_update_params.rb +42 -0
  49. data/lib/dodopayments/models/license_validate_params.rb +30 -0
  50. data/lib/dodopayments/models/license_validate_response.rb +19 -0
  51. data/lib/dodopayments/models/misc_list_supported_countries_params.rb +18 -0
  52. data/lib/dodopayments/models/misc_list_supported_countries_response.rb +7 -0
  53. data/lib/dodopayments/models/one_time_product_cart_item.rb +33 -0
  54. data/lib/dodopayments/models/payment.rb +339 -0
  55. data/lib/dodopayments/models/payment_create_params.rb +90 -0
  56. data/lib/dodopayments/models/payment_create_response.rb +82 -0
  57. data/lib/dodopayments/models/payment_list_params.rb +79 -0
  58. data/lib/dodopayments/models/payment_list_response.rb +238 -0
  59. data/lib/dodopayments/models/payment_retrieve_params.rb +18 -0
  60. data/lib/dodopayments/models/payout_list_params.rb +32 -0
  61. data/lib/dodopayments/models/payout_list_response.rb +295 -0
  62. data/lib/dodopayments/models/price.rb +512 -0
  63. data/lib/dodopayments/models/product.rb +149 -0
  64. data/lib/dodopayments/models/product_create_params.rb +107 -0
  65. data/lib/dodopayments/models/product_delete_params.rb +18 -0
  66. data/lib/dodopayments/models/product_list_params.rb +54 -0
  67. data/lib/dodopayments/models/product_list_response.rb +293 -0
  68. data/lib/dodopayments/models/product_retrieve_params.rb +18 -0
  69. data/lib/dodopayments/models/product_unarchive_params.rb +18 -0
  70. data/lib/dodopayments/models/product_update_params.rb +124 -0
  71. data/lib/dodopayments/models/products/image_update_params.rb +26 -0
  72. data/lib/dodopayments/models/products/image_update_response.rb +27 -0
  73. data/lib/dodopayments/models/refund.rb +218 -0
  74. data/lib/dodopayments/models/refund_create_params.rb +40 -0
  75. data/lib/dodopayments/models/refund_list_params.rb +71 -0
  76. data/lib/dodopayments/models/refund_retrieve_params.rb +18 -0
  77. data/lib/dodopayments/models/refund_status.rb +15 -0
  78. data/lib/dodopayments/models/subscription.rb +309 -0
  79. data/lib/dodopayments/models/subscription_create_params.rb +106 -0
  80. data/lib/dodopayments/models/subscription_create_response.rb +73 -0
  81. data/lib/dodopayments/models/subscription_list_params.rb +71 -0
  82. data/lib/dodopayments/models/subscription_retrieve_params.rb +18 -0
  83. data/lib/dodopayments/models/subscription_status.rb +18 -0
  84. data/lib/dodopayments/models/subscription_update_params.rb +30 -0
  85. data/lib/dodopayments/models/time_interval.rb +15 -0
  86. data/lib/dodopayments/models/webhook_event.rb +73 -0
  87. data/lib/dodopayments/models/webhook_event_list_params.rb +71 -0
  88. data/lib/dodopayments/models/webhook_event_retrieve_params.rb +18 -0
  89. data/lib/dodopayments/pooled_net_requester.rb +164 -0
  90. data/lib/dodopayments/request_options.rb +110 -0
  91. data/lib/dodopayments/resources/customers/customer_portal.rb +34 -0
  92. data/lib/dodopayments/resources/customers.rb +97 -0
  93. data/lib/dodopayments/resources/discounts.rb +154 -0
  94. data/lib/dodopayments/resources/disputes.rb +59 -0
  95. data/lib/dodopayments/resources/invoices/payments.rb +30 -0
  96. data/lib/dodopayments/resources/invoices.rb +16 -0
  97. data/lib/dodopayments/resources/license_key_instances.rb +71 -0
  98. data/lib/dodopayments/resources/license_keys.rb +82 -0
  99. data/lib/dodopayments/resources/licenses.rb +72 -0
  100. data/lib/dodopayments/resources/misc.rb +26 -0
  101. data/lib/dodopayments/resources/payments.rb +93 -0
  102. data/lib/dodopayments/resources/payouts.rb +33 -0
  103. data/lib/dodopayments/resources/products/images.rb +34 -0
  104. data/lib/dodopayments/resources/products.rb +176 -0
  105. data/lib/dodopayments/resources/refunds.rb +80 -0
  106. data/lib/dodopayments/resources/subscriptions.rb +117 -0
  107. data/lib/dodopayments/resources/webhook_events.rb +57 -0
  108. data/lib/dodopayments/util.rb +717 -0
  109. data/lib/dodopayments/version.rb +5 -0
  110. data/lib/dodopayments.rb +128 -0
  111. data/manifest.yaml +14 -0
  112. data/rbi/lib/dodopayments/base_client.rbi +186 -0
  113. data/rbi/lib/dodopayments/base_model.rbi +606 -0
  114. data/rbi/lib/dodopayments/base_page.rbi +40 -0
  115. data/rbi/lib/dodopayments/client.rbi +117 -0
  116. data/rbi/lib/dodopayments/default_page_number_pagination.rbi +17 -0
  117. data/rbi/lib/dodopayments/errors.rbi +179 -0
  118. data/rbi/lib/dodopayments/extern.rbi +8 -0
  119. data/rbi/lib/dodopayments/models/attach_existing_customer.rbi +23 -0
  120. data/rbi/lib/dodopayments/models/billing_address.rbi +65 -0
  121. data/rbi/lib/dodopayments/models/country_code.rbi +266 -0
  122. data/rbi/lib/dodopayments/models/create_new_customer.rbi +61 -0
  123. data/rbi/lib/dodopayments/models/customer.rbi +85 -0
  124. data/rbi/lib/dodopayments/models/customer_create_params.rbi +60 -0
  125. data/rbi/lib/dodopayments/models/customer_limited_details.rbi +42 -0
  126. data/rbi/lib/dodopayments/models/customer_list_params.rbi +52 -0
  127. data/rbi/lib/dodopayments/models/customer_portal_session.rbi +23 -0
  128. data/rbi/lib/dodopayments/models/customer_request.rbi +15 -0
  129. data/rbi/lib/dodopayments/models/customer_retrieve_params.rbi +21 -0
  130. data/rbi/lib/dodopayments/models/customer_update_params.rbi +50 -0
  131. data/rbi/lib/dodopayments/models/customers/customer_portal_create_params.rbi +37 -0
  132. data/rbi/lib/dodopayments/models/discount.rbi +161 -0
  133. data/rbi/lib/dodopayments/models/discount_create_params.rbi +124 -0
  134. data/rbi/lib/dodopayments/models/discount_delete_params.rbi +21 -0
  135. data/rbi/lib/dodopayments/models/discount_list_params.rbi +52 -0
  136. data/rbi/lib/dodopayments/models/discount_retrieve_params.rbi +21 -0
  137. data/rbi/lib/dodopayments/models/discount_type.rbi +17 -0
  138. data/rbi/lib/dodopayments/models/discount_update_params.rbi +119 -0
  139. data/rbi/lib/dodopayments/models/dispute.rbi +112 -0
  140. data/rbi/lib/dodopayments/models/dispute_list_params.rbi +116 -0
  141. data/rbi/lib/dodopayments/models/dispute_retrieve_params.rbi +21 -0
  142. data/rbi/lib/dodopayments/models/dispute_stage.rbi +19 -0
  143. data/rbi/lib/dodopayments/models/dispute_status.rbi +23 -0
  144. data/rbi/lib/dodopayments/models/intent_status.rbi +27 -0
  145. data/rbi/lib/dodopayments/models/invoices/payment_retrieve_params.rbi +23 -0
  146. data/rbi/lib/dodopayments/models/license_activate_params.rbi +43 -0
  147. data/rbi/lib/dodopayments/models/license_deactivate_params.rbi +50 -0
  148. data/rbi/lib/dodopayments/models/license_key.rbi +170 -0
  149. data/rbi/lib/dodopayments/models/license_key_duration.rbi +31 -0
  150. data/rbi/lib/dodopayments/models/license_key_instance.rbi +68 -0
  151. data/rbi/lib/dodopayments/models/license_key_instance_list_params.rbi +63 -0
  152. data/rbi/lib/dodopayments/models/license_key_instance_retrieve_params.rbi +21 -0
  153. data/rbi/lib/dodopayments/models/license_key_instance_update_params.rbi +35 -0
  154. data/rbi/lib/dodopayments/models/license_key_list_params.rbi +85 -0
  155. data/rbi/lib/dodopayments/models/license_key_retrieve_params.rbi +21 -0
  156. data/rbi/lib/dodopayments/models/license_key_status.rbi +19 -0
  157. data/rbi/lib/dodopayments/models/license_key_update_params.rbi +66 -0
  158. data/rbi/lib/dodopayments/models/license_validate_params.rbi +50 -0
  159. data/rbi/lib/dodopayments/models/license_validate_response.rbi +23 -0
  160. data/rbi/lib/dodopayments/models/misc_list_supported_countries_params.rbi +21 -0
  161. data/rbi/lib/dodopayments/models/misc_list_supported_countries_response.rbi +7 -0
  162. data/rbi/lib/dodopayments/models/one_time_product_cart_item.rbi +43 -0
  163. data/rbi/lib/dodopayments/models/payment.rbi +439 -0
  164. data/rbi/lib/dodopayments/models/payment_create_params.rbi +133 -0
  165. data/rbi/lib/dodopayments/models/payment_create_response.rbi +127 -0
  166. data/rbi/lib/dodopayments/models/payment_list_params.rbi +116 -0
  167. data/rbi/lib/dodopayments/models/payment_list_response.rbi +295 -0
  168. data/rbi/lib/dodopayments/models/payment_retrieve_params.rbi +21 -0
  169. data/rbi/lib/dodopayments/models/payout_list_params.rbi +52 -0
  170. data/rbi/lib/dodopayments/models/payout_list_response.rbi +374 -0
  171. data/rbi/lib/dodopayments/models/price.rbi +603 -0
  172. data/rbi/lib/dodopayments/models/product.rbi +228 -0
  173. data/rbi/lib/dodopayments/models/product_create_params.rbi +162 -0
  174. data/rbi/lib/dodopayments/models/product_delete_params.rbi +21 -0
  175. data/rbi/lib/dodopayments/models/product_list_params.rbi +78 -0
  176. data/rbi/lib/dodopayments/models/product_list_response.rbi +374 -0
  177. data/rbi/lib/dodopayments/models/product_retrieve_params.rbi +21 -0
  178. data/rbi/lib/dodopayments/models/product_unarchive_params.rbi +21 -0
  179. data/rbi/lib/dodopayments/models/product_update_params.rbi +191 -0
  180. data/rbi/lib/dodopayments/models/products/image_update_params.rbi +41 -0
  181. data/rbi/lib/dodopayments/models/products/image_update_response.rbi +33 -0
  182. data/rbi/lib/dodopayments/models/refund.rbi +267 -0
  183. data/rbi/lib/dodopayments/models/refund_create_params.rbi +64 -0
  184. data/rbi/lib/dodopayments/models/refund_list_params.rbi +104 -0
  185. data/rbi/lib/dodopayments/models/refund_retrieve_params.rbi +21 -0
  186. data/rbi/lib/dodopayments/models/refund_status.rbi +20 -0
  187. data/rbi/lib/dodopayments/models/subscription.rbi +397 -0
  188. data/rbi/lib/dodopayments/models/subscription_create_params.rbi +154 -0
  189. data/rbi/lib/dodopayments/models/subscription_create_response.rbi +113 -0
  190. data/rbi/lib/dodopayments/models/subscription_list_params.rbi +104 -0
  191. data/rbi/lib/dodopayments/models/subscription_retrieve_params.rbi +21 -0
  192. data/rbi/lib/dodopayments/models/subscription_status.rbi +23 -0
  193. data/rbi/lib/dodopayments/models/subscription_update_params.rbi +50 -0
  194. data/rbi/lib/dodopayments/models/time_interval.rbi +20 -0
  195. data/rbi/lib/dodopayments/models/webhook_event.rbi +114 -0
  196. data/rbi/lib/dodopayments/models/webhook_event_list_params.rbi +104 -0
  197. data/rbi/lib/dodopayments/models/webhook_event_retrieve_params.rbi +21 -0
  198. data/rbi/lib/dodopayments/pooled_net_requester.rbi +47 -0
  199. data/rbi/lib/dodopayments/request_options.rbi +109 -0
  200. data/rbi/lib/dodopayments/resources/customers/customer_portal.rbi +30 -0
  201. data/rbi/lib/dodopayments/resources/customers.rbi +76 -0
  202. data/rbi/lib/dodopayments/resources/discounts.rbi +139 -0
  203. data/rbi/lib/dodopayments/resources/disputes.rbi +57 -0
  204. data/rbi/lib/dodopayments/resources/invoices/payments.rbi +23 -0
  205. data/rbi/lib/dodopayments/resources/invoices.rbi +15 -0
  206. data/rbi/lib/dodopayments/resources/license_key_instances.rbi +61 -0
  207. data/rbi/lib/dodopayments/resources/license_keys.rbi +77 -0
  208. data/rbi/lib/dodopayments/resources/licenses.rbi +44 -0
  209. data/rbi/lib/dodopayments/resources/misc.rbi +18 -0
  210. data/rbi/lib/dodopayments/resources/payments.rbi +91 -0
  211. data/rbi/lib/dodopayments/resources/payouts.rbi +28 -0
  212. data/rbi/lib/dodopayments/resources/products/images.rbi +29 -0
  213. data/rbi/lib/dodopayments/resources/products.rbi +164 -0
  214. data/rbi/lib/dodopayments/resources/refunds.rbi +75 -0
  215. data/rbi/lib/dodopayments/resources/subscriptions.rbi +112 -0
  216. data/rbi/lib/dodopayments/resources/webhook_events.rbi +50 -0
  217. data/rbi/lib/dodopayments/util.rbi +270 -0
  218. data/rbi/lib/dodopayments/version.rbi +5 -0
  219. data/sig/dodopayments/base_client.rbs +103 -0
  220. data/sig/dodopayments/base_model.rbs +246 -0
  221. data/sig/dodopayments/base_page.rbs +20 -0
  222. data/sig/dodopayments/client.rbs +58 -0
  223. data/sig/dodopayments/default_page_number_pagination.rbs +7 -0
  224. data/sig/dodopayments/errors.rbs +99 -0
  225. data/sig/dodopayments/extern.rbs +4 -0
  226. data/sig/dodopayments/models/attach_existing_customer.rbs +18 -0
  227. data/sig/dodopayments/models/billing_address.rbs +38 -0
  228. data/sig/dodopayments/models/country_code.rbs +508 -0
  229. data/sig/dodopayments/models/create_new_customer.rbs +37 -0
  230. data/sig/dodopayments/models/customer.rbs +42 -0
  231. data/sig/dodopayments/models/customer_create_params.rbs +32 -0
  232. data/sig/dodopayments/models/customer_limited_details.rbs +23 -0
  233. data/sig/dodopayments/models/customer_list_params.rbs +29 -0
  234. data/sig/dodopayments/models/customer_portal_session.rbs +18 -0
  235. data/sig/dodopayments/models/customer_request.rbs +11 -0
  236. data/sig/dodopayments/models/customer_retrieve_params.rbs +19 -0
  237. data/sig/dodopayments/models/customer_update_params.rbs +29 -0
  238. data/sig/dodopayments/models/customers/customer_portal_create_params.rbs +27 -0
  239. data/sig/dodopayments/models/discount.rbs +62 -0
  240. data/sig/dodopayments/models/discount_create_params.rbs +52 -0
  241. data/sig/dodopayments/models/discount_delete_params.rbs +19 -0
  242. data/sig/dodopayments/models/discount_list_params.rbs +29 -0
  243. data/sig/dodopayments/models/discount_retrieve_params.rbs +19 -0
  244. data/sig/dodopayments/models/discount_type.rbs +11 -0
  245. data/sig/dodopayments/models/discount_update_params.rbs +52 -0
  246. data/sig/dodopayments/models/dispute.rbs +50 -0
  247. data/sig/dodopayments/models/dispute_list_params.rbs +52 -0
  248. data/sig/dodopayments/models/dispute_retrieve_params.rbs +19 -0
  249. data/sig/dodopayments/models/dispute_stage.rbs +13 -0
  250. data/sig/dodopayments/models/dispute_status.rbs +24 -0
  251. data/sig/dodopayments/models/intent_status.rbs +32 -0
  252. data/sig/dodopayments/models/invoices/payment_retrieve_params.rbs +21 -0
  253. data/sig/dodopayments/models/license_activate_params.rbs +28 -0
  254. data/sig/dodopayments/models/license_deactivate_params.rbs +29 -0
  255. data/sig/dodopayments/models/license_key.rbs +66 -0
  256. data/sig/dodopayments/models/license_key_duration.rbs +21 -0
  257. data/sig/dodopayments/models/license_key_instance.rbs +39 -0
  258. data/sig/dodopayments/models/license_key_instance_list_params.rbs +32 -0
  259. data/sig/dodopayments/models/license_key_instance_retrieve_params.rbs +20 -0
  260. data/sig/dodopayments/models/license_key_instance_update_params.rbs +22 -0
  261. data/sig/dodopayments/models/license_key_list_params.rbs +44 -0
  262. data/sig/dodopayments/models/license_key_retrieve_params.rbs +19 -0
  263. data/sig/dodopayments/models/license_key_status.rbs +13 -0
  264. data/sig/dodopayments/models/license_key_update_params.rbs +32 -0
  265. data/sig/dodopayments/models/license_validate_params.rbs +29 -0
  266. data/sig/dodopayments/models/license_validate_response.rbs +18 -0
  267. data/sig/dodopayments/models/misc_list_supported_countries_params.rbs +20 -0
  268. data/sig/dodopayments/models/misc_list_supported_countries_response.rbs +8 -0
  269. data/sig/dodopayments/models/one_time_product_cart_item.rbs +23 -0
  270. data/sig/dodopayments/models/payment.rbs +408 -0
  271. data/sig/dodopayments/models/payment_create_params.rbs +58 -0
  272. data/sig/dodopayments/models/payment_create_response.rbs +51 -0
  273. data/sig/dodopayments/models/payment_list_params.rbs +52 -0
  274. data/sig/dodopayments/models/payment_list_response.rbs +356 -0
  275. data/sig/dodopayments/models/payment_retrieve_params.rbs +19 -0
  276. data/sig/dodopayments/models/payout_list_params.rbs +29 -0
  277. data/sig/dodopayments/models/payout_list_response.rbs +386 -0
  278. data/sig/dodopayments/models/price.rbs +717 -0
  279. data/sig/dodopayments/models/product.rbs +89 -0
  280. data/sig/dodopayments/models/product_create_params.rbs +71 -0
  281. data/sig/dodopayments/models/product_delete_params.rbs +19 -0
  282. data/sig/dodopayments/models/product_list_params.rbs +42 -0
  283. data/sig/dodopayments/models/product_list_response.rbs +379 -0
  284. data/sig/dodopayments/models/product_retrieve_params.rbs +19 -0
  285. data/sig/dodopayments/models/product_unarchive_params.rbs +19 -0
  286. data/sig/dodopayments/models/product_update_params.rbs +75 -0
  287. data/sig/dodopayments/models/products/image_update_params.rbs +27 -0
  288. data/sig/dodopayments/models/products/image_update_response.rbs +22 -0
  289. data/sig/dodopayments/models/refund.rbs +345 -0
  290. data/sig/dodopayments/models/refund_create_params.rbs +32 -0
  291. data/sig/dodopayments/models/refund_list_params.rbs +48 -0
  292. data/sig/dodopayments/models/refund_retrieve_params.rbs +19 -0
  293. data/sig/dodopayments/models/refund_status.rbs +14 -0
  294. data/sig/dodopayments/models/subscription.rbs +387 -0
  295. data/sig/dodopayments/models/subscription_create_params.rbs +66 -0
  296. data/sig/dodopayments/models/subscription_create_response.rbs +47 -0
  297. data/sig/dodopayments/models/subscription_list_params.rbs +48 -0
  298. data/sig/dodopayments/models/subscription_retrieve_params.rbs +19 -0
  299. data/sig/dodopayments/models/subscription_status.rbs +18 -0
  300. data/sig/dodopayments/models/subscription_update_params.rbs +32 -0
  301. data/sig/dodopayments/models/time_interval.rbs +14 -0
  302. data/sig/dodopayments/models/webhook_event.rbs +50 -0
  303. data/sig/dodopayments/models/webhook_event_list_params.rbs +48 -0
  304. data/sig/dodopayments/models/webhook_event_retrieve_params.rbs +19 -0
  305. data/sig/dodopayments/pooled_net_requester.rbs +30 -0
  306. data/sig/dodopayments/request_options.rbs +46 -0
  307. data/sig/dodopayments/resources/customers/customer_portal.rbs +21 -0
  308. data/sig/dodopayments/resources/customers.rbs +55 -0
  309. data/sig/dodopayments/resources/discounts.rbs +73 -0
  310. data/sig/dodopayments/resources/disputes.rbs +33 -0
  311. data/sig/dodopayments/resources/invoices/payments.rbs +20 -0
  312. data/sig/dodopayments/resources/invoices.rbs +9 -0
  313. data/sig/dodopayments/resources/license_key_instances.rbs +42 -0
  314. data/sig/dodopayments/resources/license_keys.rbs +46 -0
  315. data/sig/dodopayments/resources/licenses.rbs +40 -0
  316. data/sig/dodopayments/resources/misc.rbs +16 -0
  317. data/sig/dodopayments/resources/payments.rbs +49 -0
  318. data/sig/dodopayments/resources/payouts.rbs +17 -0
  319. data/sig/dodopayments/resources/products/images.rbs +21 -0
  320. data/sig/dodopayments/resources/products.rbs +86 -0
  321. data/sig/dodopayments/resources/refunds.rbs +43 -0
  322. data/sig/dodopayments/resources/subscriptions.rbs +65 -0
  323. data/sig/dodopayments/resources/webhook_events.rbs +33 -0
  324. data/sig/dodopayments/util.rbs +136 -0
  325. data/sig/dodopayments/version.rbs +3 -0
  326. metadata +383 -0
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Licenses
6
+ # @param params [Dodopayments::Models::LicenseActivateParams, Hash{Symbol=>Object}] .
7
+ #
8
+ # @option params [String] :license_key
9
+ #
10
+ # @option params [String] :name
11
+ #
12
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
13
+ #
14
+ # @return [Dodopayments::Models::LicenseKeyInstance]
15
+ def activate(params)
16
+ parsed, options = Dodopayments::Models::LicenseActivateParams.dump_request(params)
17
+ @client.request(
18
+ method: :post,
19
+ path: "licenses/activate",
20
+ body: parsed,
21
+ model: Dodopayments::Models::LicenseKeyInstance,
22
+ options: options
23
+ )
24
+ end
25
+
26
+ # @param params [Dodopayments::Models::LicenseDeactivateParams, Hash{Symbol=>Object}] .
27
+ #
28
+ # @option params [String] :license_key
29
+ #
30
+ # @option params [String] :license_key_instance_id
31
+ #
32
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
33
+ #
34
+ # @return [nil]
35
+ def deactivate(params)
36
+ parsed, options = Dodopayments::Models::LicenseDeactivateParams.dump_request(params)
37
+ @client.request(
38
+ method: :post,
39
+ path: "licenses/deactivate",
40
+ body: parsed,
41
+ model: NilClass,
42
+ options: options
43
+ )
44
+ end
45
+
46
+ # @param params [Dodopayments::Models::LicenseValidateParams, Hash{Symbol=>Object}] .
47
+ #
48
+ # @option params [String] :license_key
49
+ #
50
+ # @option params [String, nil] :license_key_instance_id
51
+ #
52
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
53
+ #
54
+ # @return [Dodopayments::Models::LicenseValidateResponse]
55
+ def validate(params)
56
+ parsed, options = Dodopayments::Models::LicenseValidateParams.dump_request(params)
57
+ @client.request(
58
+ method: :post,
59
+ path: "licenses/validate",
60
+ body: parsed,
61
+ model: Dodopayments::Models::LicenseValidateResponse,
62
+ options: options
63
+ )
64
+ end
65
+
66
+ # @param client [Dodopayments::Client]
67
+ def initialize(client:)
68
+ @client = client
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Misc
6
+ # @param params [Dodopayments::Models::MiscListSupportedCountriesParams, Hash{Symbol=>Object}] .
7
+ #
8
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
9
+ #
10
+ # @return [Array<Symbol, Dodopayments::Models::CountryCode>]
11
+ def list_supported_countries(params = {})
12
+ @client.request(
13
+ method: :get,
14
+ path: "checkout/supported_countries",
15
+ model: Dodopayments::ArrayOf[enum: Dodopayments::Models::CountryCode],
16
+ options: params[:request_options]
17
+ )
18
+ end
19
+
20
+ # @param client [Dodopayments::Client]
21
+ def initialize(client:)
22
+ @client = client
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Payments
6
+ # @param params [Dodopayments::Models::PaymentCreateParams, Hash{Symbol=>Object}] .
7
+ #
8
+ # @option params [Dodopayments::Models::BillingAddress] :billing
9
+ #
10
+ # @option params [Dodopayments::Models::AttachExistingCustomer, Dodopayments::Models::CreateNewCustomer] :customer
11
+ #
12
+ # @option params [Array<Dodopayments::Models::OneTimeProductCartItem>] :product_cart List of products in the cart. Must contain at least 1 and at most 100 items.
13
+ #
14
+ # @option params [String, nil] :discount_code Discount Code to apply to the transaction
15
+ #
16
+ # @option params [Hash{Symbol=>String}] :metadata
17
+ #
18
+ # @option params [Boolean, nil] :payment_link Whether to generate a payment link. Defaults to false if not specified.
19
+ #
20
+ # @option params [String, nil] :return_url Optional URL to redirect the customer after payment. Must be a valid URL if
21
+ # provided.
22
+ #
23
+ # @option params [String, nil] :tax_id Tax ID in case the payment is B2B. If tax id validation fails the payment
24
+ # creation will fail
25
+ #
26
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
27
+ #
28
+ # @return [Dodopayments::Models::PaymentCreateResponse]
29
+ def create(params)
30
+ parsed, options = Dodopayments::Models::PaymentCreateParams.dump_request(params)
31
+ @client.request(
32
+ method: :post,
33
+ path: "payments",
34
+ body: parsed,
35
+ model: Dodopayments::Models::PaymentCreateResponse,
36
+ options: options
37
+ )
38
+ end
39
+
40
+ # @param payment_id [String] Payment Id
41
+ #
42
+ # @param params [Dodopayments::Models::PaymentRetrieveParams, Hash{Symbol=>Object}] .
43
+ #
44
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
45
+ #
46
+ # @return [Dodopayments::Models::Payment]
47
+ def retrieve(payment_id, params = {})
48
+ @client.request(
49
+ method: :get,
50
+ path: ["payments/%0s", payment_id],
51
+ model: Dodopayments::Models::Payment,
52
+ options: params[:request_options]
53
+ )
54
+ end
55
+
56
+ # @param params [Dodopayments::Models::PaymentListParams, Hash{Symbol=>Object}] .
57
+ #
58
+ # @option params [Time, nil] :created_at_gte Get events after this created time
59
+ #
60
+ # @option params [Time, nil] :created_at_lte Get events created before this time
61
+ #
62
+ # @option params [String, nil] :customer_id Filter by customer id
63
+ #
64
+ # @option params [Integer, nil] :page_number Page number default is 0
65
+ #
66
+ # @option params [Integer, nil] :page_size Page size default is 10 max is 100
67
+ #
68
+ # @option params [Symbol, Dodopayments::Models::IntentStatus, nil] :status Filter by status
69
+ #
70
+ # @option params [String, nil] :subscription_id Filter by subscription id
71
+ #
72
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
73
+ #
74
+ # @return [Dodopayments::DefaultPageNumberPagination<Dodopayments::Models::PaymentListResponse>]
75
+ def list(params = {})
76
+ parsed, options = Dodopayments::Models::PaymentListParams.dump_request(params)
77
+ @client.request(
78
+ method: :get,
79
+ path: "payments",
80
+ query: parsed,
81
+ page: Dodopayments::DefaultPageNumberPagination,
82
+ model: Dodopayments::Models::PaymentListResponse,
83
+ options: options
84
+ )
85
+ end
86
+
87
+ # @param client [Dodopayments::Client]
88
+ def initialize(client:)
89
+ @client = client
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Payouts
6
+ # @param params [Dodopayments::Models::PayoutListParams, Hash{Symbol=>Object}] .
7
+ #
8
+ # @option params [Integer, nil] :page_number Page number default is 0
9
+ #
10
+ # @option params [Integer, nil] :page_size Page size default is 10 max is 100
11
+ #
12
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
13
+ #
14
+ # @return [Dodopayments::DefaultPageNumberPagination<Dodopayments::Models::PayoutListResponse>]
15
+ def list(params = {})
16
+ parsed, options = Dodopayments::Models::PayoutListParams.dump_request(params)
17
+ @client.request(
18
+ method: :get,
19
+ path: "payouts",
20
+ query: parsed,
21
+ page: Dodopayments::DefaultPageNumberPagination,
22
+ model: Dodopayments::Models::PayoutListResponse,
23
+ options: options
24
+ )
25
+ end
26
+
27
+ # @param client [Dodopayments::Client]
28
+ def initialize(client:)
29
+ @client = client
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Products
6
+ class Images
7
+ # @param id [String] Product Id
8
+ #
9
+ # @param params [Dodopayments::Models::Products::ImageUpdateParams, Hash{Symbol=>Object}] .
10
+ #
11
+ # @option params [Boolean, nil] :force_update
12
+ #
13
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
14
+ #
15
+ # @return [Dodopayments::Models::Products::ImageUpdateResponse]
16
+ def update(id, params = {})
17
+ parsed, options = Dodopayments::Models::Products::ImageUpdateParams.dump_request(params)
18
+ @client.request(
19
+ method: :put,
20
+ path: ["products/%0s/images", id],
21
+ query: parsed,
22
+ model: Dodopayments::Models::Products::ImageUpdateResponse,
23
+ options: options
24
+ )
25
+ end
26
+
27
+ # @param client [Dodopayments::Client]
28
+ def initialize(client:)
29
+ @client = client
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,176 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Products
6
+ # @return [Dodopayments::Resources::Products::Images]
7
+ attr_reader :images
8
+
9
+ # @param params [Dodopayments::Models::ProductCreateParams, Hash{Symbol=>Object}] .
10
+ #
11
+ # @option params [Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice] :price
12
+ #
13
+ # @option params [Symbol, Dodopayments::Models::ProductCreateParams::TaxCategory] :tax_category Represents the different categories of taxation applicable to various products
14
+ # and services.
15
+ #
16
+ # @option params [Array<String>, nil] :addons Addons available for subscription product
17
+ #
18
+ # @option params [String, nil] :description Optional description of the product
19
+ #
20
+ # @option params [String, nil] :license_key_activation_message Optional message displayed during license key activation
21
+ #
22
+ # @option params [Integer, nil] :license_key_activations_limit The number of times the license key can be activated. Must be 0 or greater
23
+ #
24
+ # @option params [Dodopayments::Models::LicenseKeyDuration, nil] :license_key_duration
25
+ #
26
+ # @option params [Boolean, nil] :license_key_enabled When true, generates and sends a license key to your customer. Defaults to false
27
+ #
28
+ # @option params [String, nil] :name Optional name of the product
29
+ #
30
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
31
+ #
32
+ # @return [Dodopayments::Models::Product]
33
+ def create(params)
34
+ parsed, options = Dodopayments::Models::ProductCreateParams.dump_request(params)
35
+ @client.request(
36
+ method: :post,
37
+ path: "products",
38
+ body: parsed,
39
+ model: Dodopayments::Models::Product,
40
+ options: options
41
+ )
42
+ end
43
+
44
+ # @param id [String] Product Id
45
+ #
46
+ # @param params [Dodopayments::Models::ProductRetrieveParams, Hash{Symbol=>Object}] .
47
+ #
48
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
49
+ #
50
+ # @return [Dodopayments::Models::Product]
51
+ def retrieve(id, params = {})
52
+ @client.request(
53
+ method: :get,
54
+ path: ["products/%0s", id],
55
+ model: Dodopayments::Models::Product,
56
+ options: params[:request_options]
57
+ )
58
+ end
59
+
60
+ # @param id [String]
61
+ #
62
+ # @param params [Dodopayments::Models::ProductUpdateParams, Hash{Symbol=>Object}] .
63
+ #
64
+ # @option params [Array<String>, nil] :addons Available Addons for subscription products
65
+ #
66
+ # @option params [String, nil] :description Description of the product, optional and must be at most 1000 characters.
67
+ #
68
+ # @option params [String, nil] :image_id Product image id after its uploaded to S3
69
+ #
70
+ # @option params [String, nil] :license_key_activation_message Message sent to the customer upon license key activation.
71
+ #
72
+ # Only applicable if `license_key_enabled` is `true`. This message contains
73
+ # instructions for activating the license key.
74
+ #
75
+ # @option params [Integer, nil] :license_key_activations_limit Limit for the number of activations for the license key.
76
+ #
77
+ # Only applicable if `license_key_enabled` is `true`. Represents the maximum
78
+ # number of times the license key can be activated.
79
+ #
80
+ # @option params [Dodopayments::Models::LicenseKeyDuration, nil] :license_key_duration
81
+ #
82
+ # @option params [Boolean, nil] :license_key_enabled Whether the product requires a license key.
83
+ #
84
+ # If `true`, additional fields related to license key (duration, activations
85
+ # limit, activation message) become applicable.
86
+ #
87
+ # @option params [String, nil] :name Name of the product, optional and must be at most 100 characters.
88
+ #
89
+ # @option params [Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice, nil] :price
90
+ #
91
+ # @option params [Symbol, Dodopayments::Models::ProductUpdateParams::TaxCategory, nil] :tax_category Represents the different categories of taxation applicable to various products
92
+ # and services.
93
+ #
94
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
95
+ #
96
+ # @return [nil]
97
+ def update(id, params = {})
98
+ parsed, options = Dodopayments::Models::ProductUpdateParams.dump_request(params)
99
+ @client.request(
100
+ method: :patch,
101
+ path: ["products/%0s", id],
102
+ body: parsed,
103
+ model: NilClass,
104
+ options: options
105
+ )
106
+ end
107
+
108
+ # @param params [Dodopayments::Models::ProductListParams, Hash{Symbol=>Object}] .
109
+ #
110
+ # @option params [Boolean] :archived List archived products
111
+ #
112
+ # @option params [Integer, nil] :page_number Page number default is 0
113
+ #
114
+ # @option params [Integer, nil] :page_size Page size default is 10 max is 100
115
+ #
116
+ # @option params [Boolean, nil] :recurring Filter products by pricing type:
117
+ #
118
+ # - `true`: Show only recurring pricing products (e.g. subscriptions)
119
+ # - `false`: Show only one-time price products
120
+ # - `null` or absent: Show both types of products
121
+ #
122
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
123
+ #
124
+ # @return [Dodopayments::DefaultPageNumberPagination<Dodopayments::Models::ProductListResponse>]
125
+ def list(params = {})
126
+ parsed, options = Dodopayments::Models::ProductListParams.dump_request(params)
127
+ @client.request(
128
+ method: :get,
129
+ path: "products",
130
+ query: parsed,
131
+ page: Dodopayments::DefaultPageNumberPagination,
132
+ model: Dodopayments::Models::ProductListResponse,
133
+ options: options
134
+ )
135
+ end
136
+
137
+ # @param id [String]
138
+ #
139
+ # @param params [Dodopayments::Models::ProductDeleteParams, Hash{Symbol=>Object}] .
140
+ #
141
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
142
+ #
143
+ # @return [nil]
144
+ def delete(id, params = {})
145
+ @client.request(
146
+ method: :delete,
147
+ path: ["products/%0s", id],
148
+ model: NilClass,
149
+ options: params[:request_options]
150
+ )
151
+ end
152
+
153
+ # @param id [String]
154
+ #
155
+ # @param params [Dodopayments::Models::ProductUnarchiveParams, Hash{Symbol=>Object}] .
156
+ #
157
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
158
+ #
159
+ # @return [nil]
160
+ def unarchive(id, params = {})
161
+ @client.request(
162
+ method: :post,
163
+ path: ["products/%0s/unarchive", id],
164
+ model: NilClass,
165
+ options: params[:request_options]
166
+ )
167
+ end
168
+
169
+ # @param client [Dodopayments::Client]
170
+ def initialize(client:)
171
+ @client = client
172
+ @images = Dodopayments::Resources::Products::Images.new(client: client)
173
+ end
174
+ end
175
+ end
176
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Refunds
6
+ # @param params [Dodopayments::Models::RefundCreateParams, Hash{Symbol=>Object}] .
7
+ #
8
+ # @option params [String] :payment_id The unique identifier of the payment to be refunded.
9
+ #
10
+ # @option params [Integer, nil] :amount The amount to be refunded. Must be non-negative. Optional. Partial refunds are
11
+ # currently disabled.
12
+ #
13
+ # @option params [String, nil] :reason The reason for the refund, if any. Maximum length is 3000 characters. Optional.
14
+ #
15
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
16
+ #
17
+ # @return [Dodopayments::Models::Refund]
18
+ def create(params)
19
+ parsed, options = Dodopayments::Models::RefundCreateParams.dump_request(params)
20
+ @client.request(
21
+ method: :post,
22
+ path: "refunds",
23
+ body: parsed,
24
+ model: Dodopayments::Models::Refund,
25
+ options: options
26
+ )
27
+ end
28
+
29
+ # @param refund_id [String] Refund Id
30
+ #
31
+ # @param params [Dodopayments::Models::RefundRetrieveParams, Hash{Symbol=>Object}] .
32
+ #
33
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
34
+ #
35
+ # @return [Dodopayments::Models::Refund]
36
+ def retrieve(refund_id, params = {})
37
+ @client.request(
38
+ method: :get,
39
+ path: ["refunds/%0s", refund_id],
40
+ model: Dodopayments::Models::Refund,
41
+ options: params[:request_options]
42
+ )
43
+ end
44
+
45
+ # @param params [Dodopayments::Models::RefundListParams, Hash{Symbol=>Object}] .
46
+ #
47
+ # @option params [Time, nil] :created_at_gte Get events after this created time
48
+ #
49
+ # @option params [Time, nil] :created_at_lte Get events created before this time
50
+ #
51
+ # @option params [String, nil] :customer_id Filter by customer_id
52
+ #
53
+ # @option params [Integer, nil] :page_number Page number default is 0
54
+ #
55
+ # @option params [Integer, nil] :page_size Page size default is 10 max is 100
56
+ #
57
+ # @option params [Symbol, Dodopayments::Models::RefundStatus, nil] :status Filter by status
58
+ #
59
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
60
+ #
61
+ # @return [Dodopayments::DefaultPageNumberPagination<Dodopayments::Models::Refund>]
62
+ def list(params = {})
63
+ parsed, options = Dodopayments::Models::RefundListParams.dump_request(params)
64
+ @client.request(
65
+ method: :get,
66
+ path: "refunds",
67
+ query: parsed,
68
+ page: Dodopayments::DefaultPageNumberPagination,
69
+ model: Dodopayments::Models::Refund,
70
+ options: options
71
+ )
72
+ end
73
+
74
+ # @param client [Dodopayments::Client]
75
+ def initialize(client:)
76
+ @client = client
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,117 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Subscriptions
6
+ # @param params [Dodopayments::Models::SubscriptionCreateParams, Hash{Symbol=>Object}] .
7
+ #
8
+ # @option params [Dodopayments::Models::BillingAddress] :billing
9
+ #
10
+ # @option params [Dodopayments::Models::AttachExistingCustomer, Dodopayments::Models::CreateNewCustomer] :customer
11
+ #
12
+ # @option params [String] :product_id Unique identifier of the product to subscribe to
13
+ #
14
+ # @option params [Integer] :quantity Number of units to subscribe for. Must be at least 1.
15
+ #
16
+ # @option params [String, nil] :discount_code Discount Code to apply to the subscription
17
+ #
18
+ # @option params [Hash{Symbol=>String}] :metadata
19
+ #
20
+ # @option params [Boolean, nil] :payment_link If true, generates a payment link. Defaults to false if not specified.
21
+ #
22
+ # @option params [String, nil] :return_url Optional URL to redirect after successful subscription creation
23
+ #
24
+ # @option params [String, nil] :tax_id Tax ID in case the payment is B2B. If tax id validation fails the payment
25
+ # creation will fail
26
+ #
27
+ # @option params [Integer, nil] :trial_period_days Optional trial period in days If specified, this value overrides the trial
28
+ # period set in the product's price Must be between 0 and 10000 days
29
+ #
30
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
31
+ #
32
+ # @return [Dodopayments::Models::SubscriptionCreateResponse]
33
+ def create(params)
34
+ parsed, options = Dodopayments::Models::SubscriptionCreateParams.dump_request(params)
35
+ @client.request(
36
+ method: :post,
37
+ path: "subscriptions",
38
+ body: parsed,
39
+ model: Dodopayments::Models::SubscriptionCreateResponse,
40
+ options: options
41
+ )
42
+ end
43
+
44
+ # @param subscription_id [String] Subscription Id
45
+ #
46
+ # @param params [Dodopayments::Models::SubscriptionRetrieveParams, Hash{Symbol=>Object}] .
47
+ #
48
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
49
+ #
50
+ # @return [Dodopayments::Models::Subscription]
51
+ def retrieve(subscription_id, params = {})
52
+ @client.request(
53
+ method: :get,
54
+ path: ["subscriptions/%0s", subscription_id],
55
+ model: Dodopayments::Models::Subscription,
56
+ options: params[:request_options]
57
+ )
58
+ end
59
+
60
+ # @param subscription_id [String] Subscription Id
61
+ #
62
+ # @param params [Dodopayments::Models::SubscriptionUpdateParams, Hash{Symbol=>Object}] .
63
+ #
64
+ # @option params [Hash{Symbol=>String}, nil] :metadata
65
+ #
66
+ # @option params [Symbol, Dodopayments::Models::SubscriptionStatus, nil] :status
67
+ #
68
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
69
+ #
70
+ # @return [Dodopayments::Models::Subscription]
71
+ def update(subscription_id, params = {})
72
+ parsed, options = Dodopayments::Models::SubscriptionUpdateParams.dump_request(params)
73
+ @client.request(
74
+ method: :patch,
75
+ path: ["subscriptions/%0s", subscription_id],
76
+ body: parsed,
77
+ model: Dodopayments::Models::Subscription,
78
+ options: options
79
+ )
80
+ end
81
+
82
+ # @param params [Dodopayments::Models::SubscriptionListParams, Hash{Symbol=>Object}] .
83
+ #
84
+ # @option params [Time, nil] :created_at_gte Get events after this created time
85
+ #
86
+ # @option params [Time, nil] :created_at_lte Get events created before this time
87
+ #
88
+ # @option params [String, nil] :customer_id Filter by customer id
89
+ #
90
+ # @option params [Integer, nil] :page_number Page number default is 0
91
+ #
92
+ # @option params [Integer, nil] :page_size Page size default is 10 max is 100
93
+ #
94
+ # @option params [Symbol, Dodopayments::Models::SubscriptionStatus, nil] :status Filter by status
95
+ #
96
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
97
+ #
98
+ # @return [Dodopayments::DefaultPageNumberPagination<Dodopayments::Models::Subscription>]
99
+ def list(params = {})
100
+ parsed, options = Dodopayments::Models::SubscriptionListParams.dump_request(params)
101
+ @client.request(
102
+ method: :get,
103
+ path: "subscriptions",
104
+ query: parsed,
105
+ page: Dodopayments::DefaultPageNumberPagination,
106
+ model: Dodopayments::Models::Subscription,
107
+ options: options
108
+ )
109
+ end
110
+
111
+ # @param client [Dodopayments::Client]
112
+ def initialize(client:)
113
+ @client = client
114
+ end
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class WebhookEvents
6
+ # @param webhook_event_id [String]
7
+ #
8
+ # @param params [Dodopayments::Models::WebhookEventRetrieveParams, Hash{Symbol=>Object}] .
9
+ #
10
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
11
+ #
12
+ # @return [Dodopayments::Models::WebhookEvent]
13
+ def retrieve(webhook_event_id, params = {})
14
+ @client.request(
15
+ method: :get,
16
+ path: ["webhook_events/%0s", webhook_event_id],
17
+ model: Dodopayments::Models::WebhookEvent,
18
+ options: params[:request_options]
19
+ )
20
+ end
21
+
22
+ # @param params [Dodopayments::Models::WebhookEventListParams, Hash{Symbol=>Object}] .
23
+ #
24
+ # @option params [Time, nil] :created_at_gte Get events after this created time
25
+ #
26
+ # @option params [Time, nil] :created_at_lte Get events created before this time
27
+ #
28
+ # @option params [Integer, nil] :limit Min : 1, Max : 100, default 10
29
+ #
30
+ # @option params [String, nil] :object_id_ Get events history of a specific object like payment/subscription/refund/dispute
31
+ #
32
+ # @option params [Integer, nil] :page_number Page number default is 0
33
+ #
34
+ # @option params [Integer, nil] :page_size Page size default is 10 max is 100
35
+ #
36
+ # @option params [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil] :request_options
37
+ #
38
+ # @return [Dodopayments::DefaultPageNumberPagination<Dodopayments::Models::WebhookEvent>]
39
+ def list(params = {})
40
+ parsed, options = Dodopayments::Models::WebhookEventListParams.dump_request(params)
41
+ @client.request(
42
+ method: :get,
43
+ path: "webhook_events",
44
+ query: parsed,
45
+ page: Dodopayments::DefaultPageNumberPagination,
46
+ model: Dodopayments::Models::WebhookEvent,
47
+ options: options
48
+ )
49
+ end
50
+
51
+ # @param client [Dodopayments::Client]
52
+ def initialize(client:)
53
+ @client = client
54
+ end
55
+ end
56
+ end
57
+ end