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,164 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Products
6
+ sig { returns(Dodopayments::Resources::Products::Images) }
7
+ def images
8
+ end
9
+
10
+ sig do
11
+ params(
12
+ price: T.any(Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice),
13
+ tax_category: Symbol,
14
+ addons: T.nilable(T::Array[String]),
15
+ description: T.nilable(String),
16
+ license_key_activation_message: T.nilable(String),
17
+ license_key_activations_limit: T.nilable(Integer),
18
+ license_key_duration: T.nilable(Dodopayments::Models::LicenseKeyDuration),
19
+ license_key_enabled: T.nilable(T::Boolean),
20
+ name: T.nilable(String),
21
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
22
+ )
23
+ .returns(Dodopayments::Models::Product)
24
+ end
25
+ def create(
26
+ price:,
27
+ # Represents the different categories of taxation applicable to various products
28
+ # and services.
29
+ tax_category:,
30
+ # Addons available for subscription product
31
+ addons: nil,
32
+ # Optional description of the product
33
+ description: nil,
34
+ # Optional message displayed during license key activation
35
+ license_key_activation_message: nil,
36
+ # The number of times the license key can be activated. Must be 0 or greater
37
+ license_key_activations_limit: nil,
38
+ license_key_duration: nil,
39
+ # When true, generates and sends a license key to your customer. Defaults to false
40
+ license_key_enabled: nil,
41
+ # Optional name of the product
42
+ name: nil,
43
+ request_options: {}
44
+ )
45
+ end
46
+
47
+ sig do
48
+ params(
49
+ id: String,
50
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
51
+ )
52
+ .returns(Dodopayments::Models::Product)
53
+ end
54
+ def retrieve(
55
+ # Product Id
56
+ id,
57
+ request_options: {}
58
+ )
59
+ end
60
+
61
+ sig do
62
+ params(
63
+ id: String,
64
+ addons: T.nilable(T::Array[String]),
65
+ description: T.nilable(String),
66
+ image_id: T.nilable(String),
67
+ license_key_activation_message: T.nilable(String),
68
+ license_key_activations_limit: T.nilable(Integer),
69
+ license_key_duration: T.nilable(Dodopayments::Models::LicenseKeyDuration),
70
+ license_key_enabled: T.nilable(T::Boolean),
71
+ name: T.nilable(String),
72
+ price: T.nilable(T.any(Dodopayments::Models::Price::OneTimePrice, Dodopayments::Models::Price::RecurringPrice)),
73
+ tax_category: T.nilable(Symbol),
74
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
75
+ )
76
+ .void
77
+ end
78
+ def update(
79
+ id,
80
+ # Available Addons for subscription products
81
+ addons: nil,
82
+ # Description of the product, optional and must be at most 1000 characters.
83
+ description: nil,
84
+ # Product image id after its uploaded to S3
85
+ image_id: nil,
86
+ # Message sent to the customer upon license key activation.
87
+ #
88
+ # Only applicable if `license_key_enabled` is `true`. This message contains
89
+ # instructions for activating the license key.
90
+ license_key_activation_message: nil,
91
+ # Limit for the number of activations for the license key.
92
+ #
93
+ # Only applicable if `license_key_enabled` is `true`. Represents the maximum
94
+ # number of times the license key can be activated.
95
+ license_key_activations_limit: nil,
96
+ license_key_duration: nil,
97
+ # Whether the product requires a license key.
98
+ #
99
+ # If `true`, additional fields related to license key (duration, activations
100
+ # limit, activation message) become applicable.
101
+ license_key_enabled: nil,
102
+ # Name of the product, optional and must be at most 100 characters.
103
+ name: nil,
104
+ price: nil,
105
+ # Represents the different categories of taxation applicable to various products
106
+ # and services.
107
+ tax_category: nil,
108
+ request_options: {}
109
+ )
110
+ end
111
+
112
+ sig do
113
+ params(
114
+ archived: T::Boolean,
115
+ page_number: T.nilable(Integer),
116
+ page_size: T.nilable(Integer),
117
+ recurring: T.nilable(T::Boolean),
118
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
119
+ )
120
+ .returns(Dodopayments::DefaultPageNumberPagination[Dodopayments::Models::ProductListResponse])
121
+ end
122
+ def list(
123
+ # List archived products
124
+ archived: nil,
125
+ # Page number default is 0
126
+ page_number: nil,
127
+ # Page size default is 10 max is 100
128
+ page_size: nil,
129
+ # Filter products by pricing type:
130
+ #
131
+ # - `true`: Show only recurring pricing products (e.g. subscriptions)
132
+ # - `false`: Show only one-time price products
133
+ # - `null` or absent: Show both types of products
134
+ recurring: nil,
135
+ request_options: {}
136
+ )
137
+ end
138
+
139
+ sig do
140
+ params(
141
+ id: String,
142
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
143
+ )
144
+ .void
145
+ end
146
+ def delete(id, request_options: {})
147
+ end
148
+
149
+ sig do
150
+ params(
151
+ id: String,
152
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
153
+ )
154
+ .void
155
+ end
156
+ def unarchive(id, request_options: {})
157
+ end
158
+
159
+ sig { params(client: Dodopayments::Client).returns(T.attached_class) }
160
+ def self.new(client:)
161
+ end
162
+ end
163
+ end
164
+ end
@@ -0,0 +1,75 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Refunds
6
+ sig do
7
+ params(
8
+ payment_id: String,
9
+ amount: T.nilable(Integer),
10
+ reason: T.nilable(String),
11
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
12
+ )
13
+ .returns(Dodopayments::Models::Refund)
14
+ end
15
+ def create(
16
+ # The unique identifier of the payment to be refunded.
17
+ payment_id:,
18
+ # The amount to be refunded. Must be non-negative. Optional. Partial refunds are
19
+ # currently disabled.
20
+ amount: nil,
21
+ # The reason for the refund, if any. Maximum length is 3000 characters. Optional.
22
+ reason: nil,
23
+ request_options: {}
24
+ )
25
+ end
26
+
27
+ sig do
28
+ params(
29
+ refund_id: String,
30
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
31
+ )
32
+ .returns(Dodopayments::Models::Refund)
33
+ end
34
+ def retrieve(
35
+ # Refund Id
36
+ refund_id,
37
+ request_options: {}
38
+ )
39
+ end
40
+
41
+ sig do
42
+ params(
43
+ created_at_gte: T.nilable(Time),
44
+ created_at_lte: T.nilable(Time),
45
+ customer_id: T.nilable(String),
46
+ page_number: T.nilable(Integer),
47
+ page_size: T.nilable(Integer),
48
+ status: T.nilable(Symbol),
49
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
50
+ )
51
+ .returns(Dodopayments::DefaultPageNumberPagination[Dodopayments::Models::Refund])
52
+ end
53
+ def list(
54
+ # Get events after this created time
55
+ created_at_gte: nil,
56
+ # Get events created before this time
57
+ created_at_lte: nil,
58
+ # Filter by customer_id
59
+ customer_id: nil,
60
+ # Page number default is 0
61
+ page_number: nil,
62
+ # Page size default is 10 max is 100
63
+ page_size: nil,
64
+ # Filter by status
65
+ status: nil,
66
+ request_options: {}
67
+ )
68
+ end
69
+
70
+ sig { params(client: Dodopayments::Client).returns(T.attached_class) }
71
+ def self.new(client:)
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,112 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class Subscriptions
6
+ sig do
7
+ params(
8
+ billing: Dodopayments::Models::BillingAddress,
9
+ customer: T.any(Dodopayments::Models::AttachExistingCustomer, Dodopayments::Models::CreateNewCustomer),
10
+ product_id: String,
11
+ quantity: Integer,
12
+ discount_code: T.nilable(String),
13
+ metadata: T::Hash[Symbol, String],
14
+ payment_link: T.nilable(T::Boolean),
15
+ return_url: T.nilable(String),
16
+ tax_id: T.nilable(String),
17
+ trial_period_days: T.nilable(Integer),
18
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
19
+ )
20
+ .returns(Dodopayments::Models::SubscriptionCreateResponse)
21
+ end
22
+ def create(
23
+ billing:,
24
+ customer:,
25
+ # Unique identifier of the product to subscribe to
26
+ product_id:,
27
+ # Number of units to subscribe for. Must be at least 1.
28
+ quantity:,
29
+ # Discount Code to apply to the subscription
30
+ discount_code: nil,
31
+ metadata: nil,
32
+ # If true, generates a payment link. Defaults to false if not specified.
33
+ payment_link: nil,
34
+ # Optional URL to redirect after successful subscription creation
35
+ return_url: nil,
36
+ # Tax ID in case the payment is B2B. If tax id validation fails the payment
37
+ # creation will fail
38
+ tax_id: nil,
39
+ # Optional trial period in days If specified, this value overrides the trial
40
+ # period set in the product's price Must be between 0 and 10000 days
41
+ trial_period_days: nil,
42
+ request_options: {}
43
+ )
44
+ end
45
+
46
+ sig do
47
+ params(
48
+ subscription_id: String,
49
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
50
+ )
51
+ .returns(Dodopayments::Models::Subscription)
52
+ end
53
+ def retrieve(
54
+ # Subscription Id
55
+ subscription_id,
56
+ request_options: {}
57
+ )
58
+ end
59
+
60
+ sig do
61
+ params(
62
+ subscription_id: String,
63
+ metadata: T.nilable(T::Hash[Symbol, String]),
64
+ status: T.nilable(Symbol),
65
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
66
+ )
67
+ .returns(Dodopayments::Models::Subscription)
68
+ end
69
+ def update(
70
+ # Subscription Id
71
+ subscription_id,
72
+ metadata: nil,
73
+ status: nil,
74
+ request_options: {}
75
+ )
76
+ end
77
+
78
+ sig do
79
+ params(
80
+ created_at_gte: T.nilable(Time),
81
+ created_at_lte: T.nilable(Time),
82
+ customer_id: T.nilable(String),
83
+ page_number: T.nilable(Integer),
84
+ page_size: T.nilable(Integer),
85
+ status: T.nilable(Symbol),
86
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
87
+ )
88
+ .returns(Dodopayments::DefaultPageNumberPagination[Dodopayments::Models::Subscription])
89
+ end
90
+ def list(
91
+ # Get events after this created time
92
+ created_at_gte: nil,
93
+ # Get events created before this time
94
+ created_at_lte: nil,
95
+ # Filter by customer id
96
+ customer_id: nil,
97
+ # Page number default is 0
98
+ page_number: nil,
99
+ # Page size default is 10 max is 100
100
+ page_size: nil,
101
+ # Filter by status
102
+ status: nil,
103
+ request_options: {}
104
+ )
105
+ end
106
+
107
+ sig { params(client: Dodopayments::Client).returns(T.attached_class) }
108
+ def self.new(client:)
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,50 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Resources
5
+ class WebhookEvents
6
+ sig do
7
+ params(
8
+ webhook_event_id: String,
9
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
10
+ )
11
+ .returns(Dodopayments::Models::WebhookEvent)
12
+ end
13
+ def retrieve(webhook_event_id, request_options: {})
14
+ end
15
+
16
+ sig do
17
+ params(
18
+ created_at_gte: T.nilable(Time),
19
+ created_at_lte: T.nilable(Time),
20
+ limit: T.nilable(Integer),
21
+ object_id_: T.nilable(String),
22
+ page_number: T.nilable(Integer),
23
+ page_size: T.nilable(Integer),
24
+ request_options: T.nilable(T.any(Dodopayments::RequestOptions, T::Hash[Symbol, T.anything]))
25
+ )
26
+ .returns(Dodopayments::DefaultPageNumberPagination[Dodopayments::Models::WebhookEvent])
27
+ end
28
+ def list(
29
+ # Get events after this created time
30
+ created_at_gte: nil,
31
+ # Get events created before this time
32
+ created_at_lte: nil,
33
+ # Min : 1, Max : 100, default 10
34
+ limit: nil,
35
+ # Get events history of a specific object like payment/subscription/refund/dispute
36
+ object_id_: nil,
37
+ # Page number default is 0
38
+ page_number: nil,
39
+ # Page size default is 10 max is 100
40
+ page_size: nil,
41
+ request_options: {}
42
+ )
43
+ end
44
+
45
+ sig { params(client: Dodopayments::Client).returns(T.attached_class) }
46
+ def self.new(client:)
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,270 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ # @api private
5
+ module Util
6
+ # @api private
7
+ sig { returns(Float) }
8
+ def self.monotonic_secs
9
+ end
10
+
11
+ class << self
12
+ # @api private
13
+ sig { returns(String) }
14
+ def arch
15
+ end
16
+
17
+ # @api private
18
+ sig { returns(String) }
19
+ def os
20
+ end
21
+ end
22
+
23
+ class << self
24
+ # @api private
25
+ sig { params(input: T.anything).returns(T.any(T::Boolean, T.anything)) }
26
+ def primitive?(input)
27
+ end
28
+
29
+ # @api private
30
+ sig { params(input: T.anything).returns(T.any(T::Boolean, T.anything)) }
31
+ def coerce_boolean(input)
32
+ end
33
+
34
+ # @api private
35
+ sig { params(input: T.anything).returns(T.nilable(T::Boolean)) }
36
+ def coerce_boolean!(input)
37
+ end
38
+
39
+ # @api private
40
+ sig { params(input: T.anything).returns(T.any(Integer, T.anything)) }
41
+ def coerce_integer(input)
42
+ end
43
+
44
+ # @api private
45
+ sig { params(input: T.anything).returns(T.any(Float, T.anything)) }
46
+ def coerce_float(input)
47
+ end
48
+
49
+ # @api private
50
+ sig { params(input: T.anything).returns(T.any(T::Hash[T.anything, T.anything], T.anything)) }
51
+ def coerce_hash(input)
52
+ end
53
+ end
54
+
55
+ OMIT = T.let(T.anything, T.anything)
56
+
57
+ class << self
58
+ # @api private
59
+ sig { params(lhs: T.anything, rhs: T.anything, concat: T::Boolean).returns(T.anything) }
60
+ private def deep_merge_lr(lhs, rhs, concat: false)
61
+ end
62
+
63
+ # @api private
64
+ #
65
+ # Recursively merge one hash with another. If the values at a given key are not
66
+ # both hashes, just take the new value.
67
+ sig do
68
+ params(values: T::Array[T.anything], sentinel: T.nilable(T.anything), concat: T::Boolean)
69
+ .returns(T.anything)
70
+ end
71
+ def deep_merge(
72
+ *values,
73
+ # the value to return if no values are provided.
74
+ sentinel: nil,
75
+ # whether to merge sequences by concatenation.
76
+ concat: false
77
+ )
78
+ end
79
+
80
+ # @api private
81
+ sig do
82
+ params(
83
+ data: T.any(T::Hash[Symbol, T.anything], T::Array[T.anything], T.anything),
84
+ pick: T.nilable(T.any(Symbol, Integer, T::Array[T.any(Symbol, Integer)])),
85
+ sentinel: T.nilable(T.anything),
86
+ blk: T.nilable(T.proc.returns(T.anything))
87
+ )
88
+ .returns(T.nilable(T.anything))
89
+ end
90
+ def dig(data, pick, sentinel = nil, &blk)
91
+ end
92
+ end
93
+
94
+ class << self
95
+ # @api private
96
+ sig { params(uri: URI::Generic).returns(String) }
97
+ def uri_origin(uri)
98
+ end
99
+
100
+ # @api private
101
+ sig { params(path: T.any(String, T::Array[String])).returns(String) }
102
+ def interpolate_path(path)
103
+ end
104
+ end
105
+
106
+ class << self
107
+ # @api private
108
+ sig { params(query: T.nilable(String)).returns(T::Hash[String, T::Array[String]]) }
109
+ def decode_query(query)
110
+ end
111
+
112
+ # @api private
113
+ sig do
114
+ params(query: T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))]))
115
+ .returns(T.nilable(String))
116
+ end
117
+ def encode_query(query)
118
+ end
119
+ end
120
+
121
+ ParsedUriShape = T.type_alias do
122
+ {
123
+ scheme: T.nilable(String),
124
+ host: T.nilable(String),
125
+ port: T.nilable(Integer),
126
+ path: T.nilable(String),
127
+ query: T::Hash[String, T::Array[String]]
128
+ }
129
+ end
130
+
131
+ class << self
132
+ # @api private
133
+ sig { params(url: T.any(URI::Generic, String)).returns(Dodopayments::Util::ParsedUriShape) }
134
+ def parse_uri(url)
135
+ end
136
+
137
+ # @api private
138
+ sig { params(parsed: Dodopayments::Util::ParsedUriShape).returns(URI::Generic) }
139
+ def unparse_uri(parsed)
140
+ end
141
+
142
+ # @api private
143
+ sig do
144
+ params(lhs: Dodopayments::Util::ParsedUriShape, rhs: Dodopayments::Util::ParsedUriShape)
145
+ .returns(URI::Generic)
146
+ end
147
+ def join_parsed_uri(lhs, rhs)
148
+ end
149
+ end
150
+
151
+ class << self
152
+ # @api private
153
+ sig do
154
+ params(
155
+ headers: T::Hash[String,
156
+ T.nilable(T.any(String, Integer, T::Array[T.nilable(T.any(String, Integer))]))]
157
+ )
158
+ .returns(T::Hash[String, String])
159
+ end
160
+ def normalized_headers(*headers)
161
+ end
162
+ end
163
+
164
+ # An adapter that satisfies the IO interface required by `::IO.copy_stream`
165
+ class ReadIOAdapter
166
+ # @api private
167
+ sig { params(max_len: T.nilable(Integer)).returns(String) }
168
+ private def read_enum(max_len)
169
+ end
170
+
171
+ # @api private
172
+ sig { params(max_len: T.nilable(Integer), out_string: T.nilable(String)).returns(T.nilable(String)) }
173
+ def read(max_len = nil, out_string = nil)
174
+ end
175
+
176
+ # @api private
177
+ sig do
178
+ params(
179
+ stream: T.any(String, IO, StringIO, T::Enumerable[String]),
180
+ blk: T.proc.params(arg0: String).void
181
+ )
182
+ .returns(T.attached_class)
183
+ end
184
+ def self.new(stream, &blk)
185
+ end
186
+ end
187
+
188
+ class << self
189
+ sig { params(blk: T.proc.params(y: Enumerator::Yielder).void).returns(T::Enumerable[String]) }
190
+ def string_io(&blk)
191
+ end
192
+ end
193
+
194
+ class << self
195
+ # @api private
196
+ sig do
197
+ params(y: Enumerator::Yielder, boundary: String, key: T.any(Symbol, String), val: T.anything).void
198
+ end
199
+ private def encode_multipart_formdata(y, boundary:, key:, val:)
200
+ end
201
+
202
+ # @api private
203
+ sig { params(body: T.anything).returns([String, T::Enumerable[String]]) }
204
+ private def encode_multipart_streaming(body)
205
+ end
206
+
207
+ # @api private
208
+ sig { params(headers: T::Hash[String, String], body: T.anything).returns(T.anything) }
209
+ def encode_content(headers, body)
210
+ end
211
+
212
+ # @api private
213
+ sig do
214
+ params(
215
+ headers: T.any(T::Hash[String, String], Net::HTTPHeader),
216
+ stream: T::Enumerable[String],
217
+ suppress_error: T::Boolean
218
+ )
219
+ .returns(T.anything)
220
+ end
221
+ def decode_content(headers, stream:, suppress_error: false)
222
+ end
223
+ end
224
+
225
+ class << self
226
+ # @api private
227
+ #
228
+ # https://doc.rust-lang.org/std/iter/trait.FusedIterator.html
229
+ sig do
230
+ params(enum: T::Enumerable[T.anything], external: T::Boolean, close: T.proc.void)
231
+ .returns(T::Enumerable[T.anything])
232
+ end
233
+ def fused_enum(enum, external: false, &close)
234
+ end
235
+
236
+ # @api private
237
+ sig { params(enum: T.nilable(T::Enumerable[T.anything])).void }
238
+ def close_fused!(enum)
239
+ end
240
+
241
+ # @api private
242
+ sig do
243
+ params(
244
+ enum: T.nilable(T::Enumerable[T.anything]),
245
+ blk: T.proc.params(arg0: Enumerator::Yielder).void
246
+ ).void
247
+ end
248
+ def chain_fused(enum, &blk)
249
+ end
250
+ end
251
+
252
+ ServerSentEvent = T.type_alias do
253
+ {event: T.nilable(String), data: T.nilable(String), id: T.nilable(String), retry: T.nilable(Integer)}
254
+ end
255
+
256
+ class << self
257
+ # @api private
258
+ sig { params(enum: T::Enumerable[String]).returns(T::Enumerable[String]) }
259
+ def decode_lines(enum)
260
+ end
261
+
262
+ # @api private
263
+ #
264
+ # https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream
265
+ sig { params(lines: T::Enumerable[String]).returns(Dodopayments::Util::ServerSentEvent) }
266
+ def decode_sse(lines)
267
+ end
268
+ end
269
+ end
270
+ end
@@ -0,0 +1,5 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ VERSION = "0.0.1-alpha.0"
5
+ end