dodopayments 0.0.1.pre.alpha.0 → 1.16.1

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 (381) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +132 -0
  4. data/README.md +84 -23
  5. data/SECURITY.md +27 -0
  6. data/lib/dodopayments/client.rb +15 -19
  7. data/lib/dodopayments/errors.rb +168 -159
  8. data/lib/dodopayments/internal/default_page_number_pagination.rb +91 -0
  9. data/lib/dodopayments/internal/transport/base_client.rb +486 -0
  10. data/lib/dodopayments/internal/transport/pooled_net_requester.rb +197 -0
  11. data/lib/dodopayments/internal/type/array_of.rb +143 -0
  12. data/lib/dodopayments/internal/type/base_model.rb +423 -0
  13. data/lib/dodopayments/internal/type/base_page.rb +47 -0
  14. data/lib/dodopayments/internal/type/boolean.rb +60 -0
  15. data/lib/dodopayments/internal/type/converter.rb +271 -0
  16. data/lib/dodopayments/internal/type/enum.rb +129 -0
  17. data/lib/dodopayments/internal/type/hash_of.rb +163 -0
  18. data/lib/dodopayments/internal/type/io_like.rb +77 -0
  19. data/lib/dodopayments/internal/type/request_parameters.rb +49 -0
  20. data/lib/dodopayments/internal/type/union.rb +232 -0
  21. data/lib/dodopayments/internal/type/unknown.rb +64 -0
  22. data/lib/dodopayments/internal/util.rb +782 -0
  23. data/lib/dodopayments/internal.rb +12 -0
  24. data/lib/dodopayments/models/attach_existing_customer.rb +2 -2
  25. data/lib/dodopayments/models/billing_address.rb +2 -2
  26. data/lib/dodopayments/models/country_code.rb +7 -3
  27. data/lib/dodopayments/models/create_new_customer.rb +5 -5
  28. data/lib/dodopayments/models/customer.rb +3 -2
  29. data/lib/dodopayments/models/customer_create_params.rb +5 -4
  30. data/lib/dodopayments/models/customer_limited_details.rb +2 -2
  31. data/lib/dodopayments/models/customer_list_params.rb +5 -4
  32. data/lib/dodopayments/models/customer_portal_session.rb +2 -2
  33. data/lib/dodopayments/models/customer_request.rb +5 -6
  34. data/lib/dodopayments/models/customer_retrieve_params.rb +5 -4
  35. data/lib/dodopayments/models/customer_update_params.rb +5 -4
  36. data/lib/dodopayments/models/customers/customer_portal_create_params.rb +6 -5
  37. data/lib/dodopayments/models/discount.rb +7 -6
  38. data/lib/dodopayments/models/discount_create_params.rb +13 -12
  39. data/lib/dodopayments/models/discount_delete_params.rb +5 -4
  40. data/lib/dodopayments/models/discount_list_params.rb +5 -4
  41. data/lib/dodopayments/models/discount_retrieve_params.rb +5 -4
  42. data/lib/dodopayments/models/discount_type.rb +7 -2
  43. data/lib/dodopayments/models/discount_update_params.rb +11 -10
  44. data/lib/dodopayments/models/dispute.rb +4 -3
  45. data/lib/dodopayments/models/dispute_list_params.rb +5 -4
  46. data/lib/dodopayments/models/dispute_retrieve_params.rb +5 -4
  47. data/lib/dodopayments/models/dispute_stage.rb +7 -2
  48. data/lib/dodopayments/models/dispute_status.rb +7 -2
  49. data/lib/dodopayments/models/intent_status.rb +7 -2
  50. data/lib/dodopayments/models/invoices/payment_retrieve_params.rb +5 -4
  51. data/lib/dodopayments/models/license_activate_params.rb +5 -4
  52. data/lib/dodopayments/models/license_deactivate_params.rb +5 -4
  53. data/lib/dodopayments/models/license_key.rb +4 -3
  54. data/lib/dodopayments/models/license_key_duration.rb +2 -2
  55. data/lib/dodopayments/models/license_key_instance.rb +3 -2
  56. data/lib/dodopayments/models/license_key_instance_list_params.rb +5 -4
  57. data/lib/dodopayments/models/license_key_instance_retrieve_params.rb +5 -4
  58. data/lib/dodopayments/models/license_key_instance_update_params.rb +5 -4
  59. data/lib/dodopayments/models/license_key_list_params.rb +5 -4
  60. data/lib/dodopayments/models/license_key_retrieve_params.rb +5 -4
  61. data/lib/dodopayments/models/license_key_status.rb +7 -2
  62. data/lib/dodopayments/models/license_key_update_params.rb +9 -8
  63. data/lib/dodopayments/models/license_validate_params.rb +5 -4
  64. data/lib/dodopayments/models/license_validate_response.rb +4 -3
  65. data/lib/dodopayments/models/misc_list_supported_countries_params.rb +5 -4
  66. data/lib/dodopayments/models/misc_list_supported_countries_response.rb +2 -1
  67. data/lib/dodopayments/models/one_time_product_cart_item.rb +4 -3
  68. data/lib/dodopayments/models/payment.rb +18 -11
  69. data/lib/dodopayments/models/payment_create_params.rb +232 -9
  70. data/lib/dodopayments/models/payment_create_response.rb +6 -5
  71. data/lib/dodopayments/models/payment_list_params.rb +5 -4
  72. data/lib/dodopayments/models/payment_list_response.rb +12 -5
  73. data/lib/dodopayments/models/payment_retrieve_params.rb +5 -4
  74. data/lib/dodopayments/models/payout_list_params.rb +5 -4
  75. data/lib/dodopayments/models/payout_list_response.rb +21 -6
  76. data/lib/dodopayments/models/price.rb +41 -30
  77. data/lib/dodopayments/models/product.rb +17 -10
  78. data/lib/dodopayments/models/product_create_params.rb +16 -11
  79. data/lib/dodopayments/models/product_delete_params.rb +5 -4
  80. data/lib/dodopayments/models/product_list_params.rb +10 -9
  81. data/lib/dodopayments/models/product_list_response.rb +30 -17
  82. data/lib/dodopayments/models/product_retrieve_params.rb +5 -4
  83. data/lib/dodopayments/models/product_unarchive_params.rb +5 -4
  84. data/lib/dodopayments/models/product_update_params.rb +22 -17
  85. data/lib/dodopayments/models/products/image_update_params.rb +6 -5
  86. data/lib/dodopayments/models/products/image_update_response.rb +3 -2
  87. data/lib/dodopayments/models/refund.rb +11 -4
  88. data/lib/dodopayments/models/refund_create_params.rb +6 -13
  89. data/lib/dodopayments/models/refund_list_params.rb +5 -4
  90. data/lib/dodopayments/models/refund_retrieve_params.rb +5 -4
  91. data/lib/dodopayments/models/refund_status.rb +7 -2
  92. data/lib/dodopayments/models/subscription.rb +21 -7
  93. data/lib/dodopayments/models/subscription_charge_params.rb +27 -0
  94. data/lib/dodopayments/models/subscription_charge_response.rb +20 -0
  95. data/lib/dodopayments/models/subscription_create_params.rb +262 -8
  96. data/lib/dodopayments/models/subscription_create_response.rb +6 -5
  97. data/lib/dodopayments/models/subscription_list_params.rb +5 -4
  98. data/lib/dodopayments/models/subscription_retrieve_params.rb +5 -4
  99. data/lib/dodopayments/models/subscription_status.rb +7 -2
  100. data/lib/dodopayments/models/subscription_update_params.rb +19 -6
  101. data/lib/dodopayments/models/time_interval.rb +7 -2
  102. data/lib/dodopayments/models/webhook_event.rb +3 -2
  103. data/lib/dodopayments/models/webhook_event_list_params.rb +6 -5
  104. data/lib/dodopayments/models/webhook_event_retrieve_params.rb +5 -4
  105. data/lib/dodopayments/request_options.rb +12 -47
  106. data/lib/dodopayments/resources/customers/customer_portal.rb +10 -8
  107. data/lib/dodopayments/resources/customers.rb +30 -29
  108. data/lib/dodopayments/resources/discounts.rb +45 -69
  109. data/lib/dodopayments/resources/disputes.rb +20 -22
  110. data/lib/dodopayments/resources/invoices/payments.rb +8 -5
  111. data/lib/dodopayments/resources/invoices.rb +2 -0
  112. data/lib/dodopayments/resources/license_key_instances.rb +23 -21
  113. data/lib/dodopayments/resources/license_keys.rb +27 -32
  114. data/lib/dodopayments/resources/licenses.rb +20 -18
  115. data/lib/dodopayments/resources/misc.rb +7 -3
  116. data/lib/dodopayments/resources/payments.rb +36 -43
  117. data/lib/dodopayments/resources/payouts.rb +9 -7
  118. data/lib/dodopayments/resources/products/images.rb +9 -7
  119. data/lib/dodopayments/resources/products.rb +59 -87
  120. data/lib/dodopayments/resources/refunds.rb +25 -29
  121. data/lib/dodopayments/resources/subscriptions.rb +68 -54
  122. data/lib/dodopayments/resources/webhook_events.rb +20 -21
  123. data/lib/dodopayments/version.rb +1 -1
  124. data/lib/dodopayments.rb +34 -7
  125. data/manifest.yaml +1 -0
  126. data/rbi/lib/dodopayments/client.rbi +32 -47
  127. data/rbi/lib/dodopayments/errors.rbi +125 -161
  128. data/rbi/lib/dodopayments/internal/default_page_number_pagination.rbi +18 -0
  129. data/rbi/lib/dodopayments/internal/transport/base_client.rbi +199 -0
  130. data/rbi/lib/dodopayments/internal/transport/pooled_net_requester.rbi +60 -0
  131. data/rbi/lib/dodopayments/internal/type/array_of.rbi +85 -0
  132. data/rbi/lib/dodopayments/internal/type/base_model.rbi +214 -0
  133. data/rbi/lib/dodopayments/internal/type/base_page.rbi +36 -0
  134. data/rbi/lib/dodopayments/internal/type/boolean.rbi +48 -0
  135. data/rbi/lib/dodopayments/internal/type/converter.rbi +120 -0
  136. data/rbi/lib/dodopayments/internal/type/enum.rbi +69 -0
  137. data/rbi/lib/dodopayments/internal/type/hash_of.rbi +85 -0
  138. data/rbi/lib/dodopayments/internal/type/io_like.rbi +46 -0
  139. data/rbi/lib/dodopayments/internal/type/request_parameters.rbi +21 -0
  140. data/rbi/lib/dodopayments/internal/type/union.rbi +77 -0
  141. data/rbi/lib/dodopayments/internal/type/unknown.rbi +40 -0
  142. data/rbi/lib/dodopayments/internal/util.rbi +297 -0
  143. data/rbi/lib/dodopayments/internal.rbi +12 -0
  144. data/rbi/lib/dodopayments/models/attach_existing_customer.rbi +4 -11
  145. data/rbi/lib/dodopayments/models/billing_address.rbi +20 -38
  146. data/rbi/lib/dodopayments/models/country_code.rbi +256 -256
  147. data/rbi/lib/dodopayments/models/create_new_customer.rbi +11 -30
  148. data/rbi/lib/dodopayments/models/customer.rbi +9 -41
  149. data/rbi/lib/dodopayments/models/customer_create_params.rbi +9 -26
  150. data/rbi/lib/dodopayments/models/customer_limited_details.rbi +6 -23
  151. data/rbi/lib/dodopayments/models/customer_list_params.rbi +8 -20
  152. data/rbi/lib/dodopayments/models/customer_portal_session.rbi +4 -11
  153. data/rbi/lib/dodopayments/models/customer_request.rbi +4 -7
  154. data/rbi/lib/dodopayments/models/customer_retrieve_params.rbi +6 -8
  155. data/rbi/lib/dodopayments/models/customer_update_params.rbi +8 -20
  156. data/rbi/lib/dodopayments/models/customers/customer_portal_create_params.rbi +7 -14
  157. data/rbi/lib/dodopayments/models/discount.rbi +20 -78
  158. data/rbi/lib/dodopayments/models/discount_create_params.rbi +23 -61
  159. data/rbi/lib/dodopayments/models/discount_delete_params.rbi +6 -8
  160. data/rbi/lib/dodopayments/models/discount_list_params.rbi +8 -20
  161. data/rbi/lib/dodopayments/models/discount_retrieve_params.rbi +6 -8
  162. data/rbi/lib/dodopayments/models/discount_type.rbi +8 -8
  163. data/rbi/lib/dodopayments/models/discount_update_params.rbi +21 -59
  164. data/rbi/lib/dodopayments/models/dispute.rbi +27 -59
  165. data/rbi/lib/dodopayments/models/dispute_list_params.rbi +19 -57
  166. data/rbi/lib/dodopayments/models/dispute_retrieve_params.rbi +6 -8
  167. data/rbi/lib/dodopayments/models/dispute_stage.rbi +10 -10
  168. data/rbi/lib/dodopayments/models/dispute_status.rbi +14 -14
  169. data/rbi/lib/dodopayments/models/intent_status.rbi +22 -18
  170. data/rbi/lib/dodopayments/models/invoices/payment_retrieve_params.rbi +6 -8
  171. data/rbi/lib/dodopayments/models/license_activate_params.rbi +8 -20
  172. data/rbi/lib/dodopayments/models/license_deactivate_params.rbi +8 -20
  173. data/rbi/lib/dodopayments/models/license_key.rbi +19 -82
  174. data/rbi/lib/dodopayments/models/license_key_duration.rbi +8 -20
  175. data/rbi/lib/dodopayments/models/license_key_instance.rbi +8 -35
  176. data/rbi/lib/dodopayments/models/license_key_instance_list_params.rbi +9 -26
  177. data/rbi/lib/dodopayments/models/license_key_instance_retrieve_params.rbi +6 -8
  178. data/rbi/lib/dodopayments/models/license_key_instance_update_params.rbi +7 -17
  179. data/rbi/lib/dodopayments/models/license_key_list_params.rbi +21 -40
  180. data/rbi/lib/dodopayments/models/license_key_retrieve_params.rbi +6 -8
  181. data/rbi/lib/dodopayments/models/license_key_status.rbi +10 -10
  182. data/rbi/lib/dodopayments/models/license_key_update_params.rbi +12 -29
  183. data/rbi/lib/dodopayments/models/license_validate_params.rbi +8 -20
  184. data/rbi/lib/dodopayments/models/license_validate_response.rbi +4 -11
  185. data/rbi/lib/dodopayments/models/misc_list_supported_countries_params.rbi +6 -8
  186. data/rbi/lib/dodopayments/models/misc_list_supported_countries_response.rbi +5 -1
  187. data/rbi/lib/dodopayments/models/one_time_product_cart_item.rbi +8 -24
  188. data/rbi/lib/dodopayments/models/payment.rbi +197 -308
  189. data/rbi/lib/dodopayments/models/payment_create_params.rbi +261 -61
  190. data/rbi/lib/dodopayments/models/payment_create_response.rbi +16 -60
  191. data/rbi/lib/dodopayments/models/payment_list_params.rbi +16 -54
  192. data/rbi/lib/dodopayments/models/payment_list_response.rbi +178 -228
  193. data/rbi/lib/dodopayments/models/payment_retrieve_params.rbi +6 -8
  194. data/rbi/lib/dodopayments/models/payout_list_params.rbi +8 -20
  195. data/rbi/lib/dodopayments/models/payout_list_response.rbi +197 -271
  196. data/rbi/lib/dodopayments/models/price.rbi +368 -464
  197. data/rbi/lib/dodopayments/models/product.rbi +48 -119
  198. data/rbi/lib/dodopayments/models/product_create_params.rbi +46 -86
  199. data/rbi/lib/dodopayments/models/product_delete_params.rbi +6 -8
  200. data/rbi/lib/dodopayments/models/product_list_params.rbi +15 -34
  201. data/rbi/lib/dodopayments/models/product_list_response.rbi +209 -275
  202. data/rbi/lib/dodopayments/models/product_retrieve_params.rbi +6 -8
  203. data/rbi/lib/dodopayments/models/product_unarchive_params.rbi +6 -8
  204. data/rbi/lib/dodopayments/models/product_update_params.rbi +55 -102
  205. data/rbi/lib/dodopayments/models/products/image_update_params.rbi +7 -14
  206. data/rbi/lib/dodopayments/models/products/image_update_response.rbi +5 -17
  207. data/rbi/lib/dodopayments/models/refund.rbi +181 -213
  208. data/rbi/lib/dodopayments/models/refund_create_params.rbi +13 -39
  209. data/rbi/lib/dodopayments/models/refund_list_params.rbi +15 -48
  210. data/rbi/lib/dodopayments/models/refund_retrieve_params.rbi +6 -8
  211. data/rbi/lib/dodopayments/models/refund_status.rbi +11 -11
  212. data/rbi/lib/dodopayments/models/subscription.rbi +202 -283
  213. data/rbi/lib/dodopayments/models/subscription_charge_params.rbi +27 -0
  214. data/rbi/lib/dodopayments/models/subscription_charge_response.rbi +16 -0
  215. data/rbi/lib/dodopayments/models/subscription_create_params.rbi +315 -69
  216. data/rbi/lib/dodopayments/models/subscription_create_response.rbi +15 -51
  217. data/rbi/lib/dodopayments/models/subscription_list_params.rbi +15 -48
  218. data/rbi/lib/dodopayments/models/subscription_retrieve_params.rbi +6 -8
  219. data/rbi/lib/dodopayments/models/subscription_status.rbi +14 -14
  220. data/rbi/lib/dodopayments/models/subscription_update_params.rbi +25 -21
  221. data/rbi/lib/dodopayments/models/time_interval.rbi +11 -11
  222. data/rbi/lib/dodopayments/models/webhook_event.rbi +11 -54
  223. data/rbi/lib/dodopayments/models/webhook_event_list_params.rbi +12 -45
  224. data/rbi/lib/dodopayments/models/webhook_event_retrieve_params.rbi +6 -8
  225. data/rbi/lib/dodopayments/request_options.rbi +18 -81
  226. data/rbi/lib/dodopayments/resources/customers/customer_portal.rbi +5 -7
  227. data/rbi/lib/dodopayments/resources/customers.rbi +12 -20
  228. data/rbi/lib/dodopayments/resources/discounts.rbi +27 -37
  229. data/rbi/lib/dodopayments/resources/disputes.rbi +9 -13
  230. data/rbi/lib/dodopayments/resources/invoices/payments.rbi +4 -5
  231. data/rbi/lib/dodopayments/resources/invoices.rbi +3 -4
  232. data/rbi/lib/dodopayments/resources/license_key_instances.rbi +9 -15
  233. data/rbi/lib/dodopayments/resources/license_keys.rbi +13 -19
  234. data/rbi/lib/dodopayments/resources/licenses.rbi +8 -11
  235. data/rbi/lib/dodopayments/resources/misc.rbi +12 -6
  236. data/rbi/lib/dodopayments/resources/payments.rbi +32 -21
  237. data/rbi/lib/dodopayments/resources/payouts.rbi +5 -7
  238. data/rbi/lib/dodopayments/resources/products/images.rbi +4 -6
  239. data/rbi/lib/dodopayments/resources/products.rbi +43 -44
  240. data/rbi/lib/dodopayments/resources/refunds.rbi +10 -20
  241. data/rbi/lib/dodopayments/resources/subscriptions.rbi +57 -24
  242. data/rbi/lib/dodopayments/resources/webhook_events.rbi +7 -10
  243. data/rbi/lib/dodopayments/version.rbi +1 -1
  244. data/sig/dodopayments/client.rbs +8 -8
  245. data/sig/dodopayments/errors.rbs +98 -96
  246. data/sig/dodopayments/internal/default_page_number_pagination.rbs +11 -0
  247. data/sig/dodopayments/internal/transport/base_client.rbs +110 -0
  248. data/sig/dodopayments/internal/transport/pooled_net_requester.rbs +41 -0
  249. data/sig/dodopayments/internal/type/array_of.rbs +43 -0
  250. data/sig/dodopayments/internal/type/base_model.rbs +92 -0
  251. data/sig/dodopayments/internal/type/base_page.rbs +24 -0
  252. data/sig/dodopayments/internal/type/boolean.rbs +23 -0
  253. data/sig/dodopayments/internal/type/converter.rbs +54 -0
  254. data/sig/dodopayments/internal/type/enum.rbs +29 -0
  255. data/sig/dodopayments/internal/type/hash_of.rbs +43 -0
  256. data/sig/dodopayments/internal/type/io_like.rbs +23 -0
  257. data/sig/dodopayments/internal/type/request_parameters.rbs +15 -0
  258. data/sig/dodopayments/internal/type/union.rbs +47 -0
  259. data/sig/dodopayments/internal/type/unknown.rbs +23 -0
  260. data/sig/dodopayments/internal/util.rbs +156 -0
  261. data/sig/dodopayments/internal.rbs +5 -0
  262. data/sig/dodopayments/models/attach_existing_customer.rbs +2 -7
  263. data/sig/dodopayments/models/billing_address.rbs +8 -12
  264. data/sig/dodopayments/models/country_code.rbs +4 -2
  265. data/sig/dodopayments/models/create_new_customer.rbs +7 -12
  266. data/sig/dodopayments/models/customer.rbs +9 -13
  267. data/sig/dodopayments/models/customer_create_params.rbs +10 -15
  268. data/sig/dodopayments/models/customer_limited_details.rbs +2 -7
  269. data/sig/dodopayments/models/customer_list_params.rbs +9 -14
  270. data/sig/dodopayments/models/customer_portal_session.rbs +2 -7
  271. data/sig/dodopayments/models/customer_request.rbs +4 -2
  272. data/sig/dodopayments/models/customer_retrieve_params.rbs +6 -10
  273. data/sig/dodopayments/models/customer_update_params.rbs +9 -14
  274. data/sig/dodopayments/models/customers/customer_portal_create_params.rbs +8 -13
  275. data/sig/dodopayments/models/discount.rbs +14 -18
  276. data/sig/dodopayments/models/discount_create_params.rbs +14 -19
  277. data/sig/dodopayments/models/discount_delete_params.rbs +6 -10
  278. data/sig/dodopayments/models/discount_list_params.rbs +9 -14
  279. data/sig/dodopayments/models/discount_retrieve_params.rbs +6 -10
  280. data/sig/dodopayments/models/discount_type.rbs +4 -2
  281. data/sig/dodopayments/models/discount_update_params.rbs +14 -19
  282. data/sig/dodopayments/models/dispute.rbs +11 -15
  283. data/sig/dodopayments/models/dispute_list_params.rbs +14 -19
  284. data/sig/dodopayments/models/dispute_retrieve_params.rbs +6 -10
  285. data/sig/dodopayments/models/dispute_stage.rbs +4 -2
  286. data/sig/dodopayments/models/dispute_status.rbs +4 -2
  287. data/sig/dodopayments/models/intent_status.rbs +4 -2
  288. data/sig/dodopayments/models/invoices/payment_retrieve_params.rbs +6 -10
  289. data/sig/dodopayments/models/license_activate_params.rbs +10 -14
  290. data/sig/dodopayments/models/license_deactivate_params.rbs +9 -14
  291. data/sig/dodopayments/models/license_key.rbs +15 -19
  292. data/sig/dodopayments/models/license_key_duration.rbs +5 -7
  293. data/sig/dodopayments/models/license_key_instance.rbs +8 -13
  294. data/sig/dodopayments/models/license_key_instance_list_params.rbs +10 -15
  295. data/sig/dodopayments/models/license_key_instance_retrieve_params.rbs +5 -10
  296. data/sig/dodopayments/models/license_key_instance_update_params.rbs +8 -10
  297. data/sig/dodopayments/models/license_key_list_params.rbs +12 -17
  298. data/sig/dodopayments/models/license_key_retrieve_params.rbs +6 -10
  299. data/sig/dodopayments/models/license_key_status.rbs +4 -2
  300. data/sig/dodopayments/models/license_key_update_params.rbs +10 -15
  301. data/sig/dodopayments/models/license_validate_params.rbs +9 -14
  302. data/sig/dodopayments/models/license_validate_response.rbs +2 -7
  303. data/sig/dodopayments/models/misc_list_supported_countries_params.rbs +5 -10
  304. data/sig/dodopayments/models/one_time_product_cart_item.rbs +6 -7
  305. data/sig/dodopayments/models/payment.rbs +28 -35
  306. data/sig/dodopayments/models/payment_create_params.rbs +373 -20
  307. data/sig/dodopayments/models/payment_create_response.rbs +11 -16
  308. data/sig/dodopayments/models/payment_list_params.rbs +14 -19
  309. data/sig/dodopayments/models/payment_list_response.rbs +17 -20
  310. data/sig/dodopayments/models/payment_retrieve_params.rbs +6 -10
  311. data/sig/dodopayments/models/payout_list_params.rbs +9 -14
  312. data/sig/dodopayments/models/payout_list_response.rbs +30 -28
  313. data/sig/dodopayments/models/price.rbs +37 -41
  314. data/sig/dodopayments/models/product.rbs +22 -24
  315. data/sig/dodopayments/models/product_create_params.rbs +20 -23
  316. data/sig/dodopayments/models/product_delete_params.rbs +6 -10
  317. data/sig/dodopayments/models/product_list_params.rbs +11 -16
  318. data/sig/dodopayments/models/product_list_response.rbs +24 -25
  319. data/sig/dodopayments/models/product_retrieve_params.rbs +6 -10
  320. data/sig/dodopayments/models/product_unarchive_params.rbs +6 -10
  321. data/sig/dodopayments/models/product_update_params.rbs +21 -24
  322. data/sig/dodopayments/models/products/image_update_params.rbs +9 -13
  323. data/sig/dodopayments/models/products/image_update_response.rbs +2 -7
  324. data/sig/dodopayments/models/refund.rbs +15 -15
  325. data/sig/dodopayments/models/refund_create_params.rbs +10 -18
  326. data/sig/dodopayments/models/refund_list_params.rbs +13 -18
  327. data/sig/dodopayments/models/refund_retrieve_params.rbs +6 -10
  328. data/sig/dodopayments/models/refund_status.rbs +4 -2
  329. data/sig/dodopayments/models/subscription.rbs +29 -27
  330. data/sig/dodopayments/models/subscription_charge_params.rbs +21 -0
  331. data/sig/dodopayments/models/subscription_charge_response.rbs +13 -0
  332. data/sig/dodopayments/models/subscription_create_params.rbs +391 -22
  333. data/sig/dodopayments/models/subscription_create_response.rbs +10 -15
  334. data/sig/dodopayments/models/subscription_list_params.rbs +13 -18
  335. data/sig/dodopayments/models/subscription_retrieve_params.rbs +6 -10
  336. data/sig/dodopayments/models/subscription_status.rbs +4 -2
  337. data/sig/dodopayments/models/subscription_update_params.rbs +18 -15
  338. data/sig/dodopayments/models/time_interval.rbs +4 -2
  339. data/sig/dodopayments/models/webhook_event.rbs +11 -15
  340. data/sig/dodopayments/models/webhook_event_list_params.rbs +13 -18
  341. data/sig/dodopayments/models/webhook_event_retrieve_params.rbs +6 -10
  342. data/sig/dodopayments/request_options.rbs +3 -13
  343. data/sig/dodopayments/resources/customers/customer_portal.rbs +5 -11
  344. data/sig/dodopayments/resources/customers.rbs +21 -42
  345. data/sig/dodopayments/resources/discounts.rbs +34 -61
  346. data/sig/dodopayments/resources/disputes.rbs +14 -24
  347. data/sig/dodopayments/resources/invoices/payments.rbs +4 -10
  348. data/sig/dodopayments/resources/license_key_instances.rbs +15 -32
  349. data/sig/dodopayments/resources/license_keys.rbs +19 -36
  350. data/sig/dodopayments/resources/licenses.rbs +15 -30
  351. data/sig/dodopayments/resources/misc.rbs +3 -8
  352. data/sig/dodopayments/resources/payments.rbs +28 -39
  353. data/sig/dodopayments/resources/payouts.rbs +5 -9
  354. data/sig/dodopayments/resources/products/images.rbs +5 -11
  355. data/sig/dodopayments/resources/products.rbs +45 -71
  356. data/sig/dodopayments/resources/refunds.rbs +18 -33
  357. data/sig/dodopayments/resources/subscriptions.rbs +44 -54
  358. data/sig/dodopayments/resources/webhook_events.rbs +13 -24
  359. data/sig/dodopayments/version.rbs +1 -1
  360. metadata +63 -27
  361. data/lib/dodopayments/base_client.rb +0 -453
  362. data/lib/dodopayments/base_model.rb +0 -1217
  363. data/lib/dodopayments/base_page.rb +0 -62
  364. data/lib/dodopayments/default_page_number_pagination.rb +0 -97
  365. data/lib/dodopayments/extern.rb +0 -9
  366. data/lib/dodopayments/pooled_net_requester.rb +0 -164
  367. data/lib/dodopayments/util.rb +0 -717
  368. data/rbi/lib/dodopayments/base_client.rbi +0 -186
  369. data/rbi/lib/dodopayments/base_model.rbi +0 -606
  370. data/rbi/lib/dodopayments/base_page.rbi +0 -40
  371. data/rbi/lib/dodopayments/default_page_number_pagination.rbi +0 -17
  372. data/rbi/lib/dodopayments/extern.rbi +0 -8
  373. data/rbi/lib/dodopayments/pooled_net_requester.rbi +0 -47
  374. data/rbi/lib/dodopayments/util.rbi +0 -270
  375. data/sig/dodopayments/base_client.rbs +0 -103
  376. data/sig/dodopayments/base_model.rbs +0 -246
  377. data/sig/dodopayments/base_page.rbs +0 -20
  378. data/sig/dodopayments/default_page_number_pagination.rbs +0 -7
  379. data/sig/dodopayments/extern.rbs +0 -4
  380. data/sig/dodopayments/pooled_net_requester.rbs +0 -30
  381. data/sig/dodopayments/util.rbs +0 -136
@@ -0,0 +1,77 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module Union
8
+ include Dodopayments::Internal::Type::Converter
9
+
10
+ # @api private
11
+ #
12
+ # All of the specified variant info for this union.
13
+ sig do
14
+ returns(
15
+ T::Array[[
16
+ T.nilable(Symbol),
17
+ T.proc.returns(Dodopayments::Internal::Type::Converter::Input)
18
+ ]]
19
+ )
20
+ end
21
+ private def known_variants; end
22
+
23
+ # @api private
24
+ sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) }
25
+ protected def derefed_variants; end
26
+
27
+ # All of the specified variants for this union.
28
+ sig { overridable.returns(T::Array[T.anything]) }
29
+ def variants; end
30
+
31
+ # @api private
32
+ sig { params(property: Symbol).void }
33
+ private def discriminator(property); end
34
+
35
+ # @api private
36
+ sig do
37
+ params(
38
+ key: T.any(Symbol, Dodopayments::Internal::AnyHash, T.proc.returns(T.anything), T.anything),
39
+ spec: T.any(Dodopayments::Internal::AnyHash, T.proc.returns(T.anything), T.anything)
40
+ )
41
+ .void
42
+ end
43
+ private def variant(key, spec = nil); end
44
+
45
+ # @api private
46
+ sig { params(value: T.anything).returns(T.nilable(T.anything)) }
47
+ private def resolve_variant(value); end
48
+
49
+ sig { params(other: T.anything).returns(T::Boolean) }
50
+ def ===(other); end
51
+
52
+ sig { params(other: T.anything).returns(T::Boolean) }
53
+ def ==(other); end
54
+
55
+ # @api private
56
+ sig do
57
+ override
58
+ .params(value: T.anything, state: Dodopayments::Internal::Type::Converter::CoerceState)
59
+ .returns(T.anything)
60
+ end
61
+ def coerce(value, state:); end
62
+
63
+ # @api private
64
+ sig do
65
+ override
66
+ .params(value: T.anything, state: Dodopayments::Internal::Type::Converter::DumpState)
67
+ .returns(T.anything)
68
+ end
69
+ def dump(value, state:); end
70
+
71
+ # @api private
72
+ sig { params(depth: Integer).returns(String) }
73
+ def inspect(depth: 0); end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # When we don't know what to expect for the value.
9
+ class Unknown
10
+ extend Dodopayments::Internal::Type::Converter
11
+
12
+ abstract!
13
+
14
+ sig { params(other: T.anything).returns(T::Boolean) }
15
+ def self.===(other); end
16
+
17
+ sig { params(other: T.anything).returns(T::Boolean) }
18
+ def self.==(other); end
19
+
20
+ class << self
21
+ # @api private
22
+ sig do
23
+ override
24
+ .params(value: T.anything, state: Dodopayments::Internal::Type::Converter::CoerceState)
25
+ .returns(T.anything)
26
+ end
27
+ def coerce(value, state:); end
28
+
29
+ # @api private
30
+ sig do
31
+ override
32
+ .params(value: T.anything, state: Dodopayments::Internal::Type::Converter::DumpState)
33
+ .returns(T.anything)
34
+ end
35
+ def dump(value, state:); end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,297 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Internal
5
+ # @api private
6
+ module Util
7
+ # @api private
8
+ sig { returns(Float) }
9
+ def self.monotonic_secs; end
10
+
11
+ class << self
12
+ # @api private
13
+ sig { returns(String) }
14
+ def arch; end
15
+
16
+ # @api private
17
+ sig { returns(String) }
18
+ def os; end
19
+ end
20
+
21
+ class << self
22
+ # @api private
23
+ sig { params(input: T.anything).returns(T::Boolean) }
24
+ def primitive?(input); end
25
+
26
+ # @api private
27
+ sig { params(input: T.any(String, T::Boolean)).returns(T.any(T::Boolean, T.anything)) }
28
+ def coerce_boolean(input); end
29
+
30
+ # @api private
31
+ sig { params(input: T.any(String, T::Boolean)).returns(T.nilable(T::Boolean)) }
32
+ def coerce_boolean!(input); end
33
+
34
+ # @api private
35
+ sig { params(input: T.any(String, Integer)).returns(T.any(Integer, T.anything)) }
36
+ def coerce_integer(input); end
37
+
38
+ # @api private
39
+ sig { params(input: T.any(String, Integer, Float)).returns(T.any(Float, T.anything)) }
40
+ def coerce_float(input); end
41
+
42
+ # @api private
43
+ sig { params(input: T.anything).returns(T.any(T::Hash[T.anything, T.anything], T.anything)) }
44
+ def coerce_hash(input); end
45
+ end
46
+
47
+ class << self
48
+ # @api private
49
+ sig { params(lhs: T.anything, rhs: T.anything, concat: T::Boolean).returns(T.anything) }
50
+ private def deep_merge_lr(lhs, rhs, concat: false); end
51
+
52
+ # @api private
53
+ #
54
+ # Recursively merge one hash with another. If the values at a given key are not
55
+ # both hashes, just take the new value.
56
+ sig do
57
+ params(values: T::Array[T.anything], sentinel: T.nilable(T.anything), concat: T::Boolean)
58
+ .returns(T.anything)
59
+ end
60
+ def deep_merge(
61
+ *values,
62
+ # the value to return if no values are provided.
63
+ sentinel: nil,
64
+ # whether to merge sequences by concatenation.
65
+ concat: false
66
+ ); end
67
+ # @api private
68
+ sig do
69
+ params(
70
+ data: T.any(Dodopayments::Internal::AnyHash, T::Array[T.anything], T.anything),
71
+ pick: T.nilable(T.any(Symbol, Integer, T::Array[T.any(Symbol, Integer)])),
72
+ sentinel: T.nilable(T.anything),
73
+ blk: T.nilable(T.proc.returns(T.anything))
74
+ )
75
+ .returns(T.nilable(T.anything))
76
+ end
77
+ def dig(data, pick, sentinel = nil, &blk); end
78
+ end
79
+
80
+ class << self
81
+ # @api private
82
+ sig { params(uri: URI::Generic).returns(String) }
83
+ def uri_origin(uri); end
84
+
85
+ # @api private
86
+ sig { params(path: T.any(String, T::Array[String])).returns(String) }
87
+ def interpolate_path(path); end
88
+ end
89
+
90
+ class << self
91
+ # @api private
92
+ sig { params(query: T.nilable(String)).returns(T::Hash[String, T::Array[String]]) }
93
+ def decode_query(query); end
94
+
95
+ # @api private
96
+ sig do
97
+ params(query: T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))]))
98
+ .returns(T.nilable(String))
99
+ end
100
+ def encode_query(query); end
101
+ end
102
+
103
+ ParsedUriShape =
104
+ T.type_alias do
105
+ {
106
+ scheme: T.nilable(String),
107
+ host: T.nilable(String),
108
+ port: T.nilable(Integer),
109
+ path: T.nilable(String),
110
+ query: T::Hash[String, T::Array[String]]
111
+ }
112
+ end
113
+
114
+ class << self
115
+ # @api private
116
+ sig { params(url: T.any(URI::Generic, String)).returns(Dodopayments::Internal::Util::ParsedUriShape) }
117
+ def parse_uri(url); end
118
+
119
+ # @api private
120
+ sig { params(parsed: Dodopayments::Internal::Util::ParsedUriShape).returns(URI::Generic) }
121
+ def unparse_uri(parsed); end
122
+
123
+ # @api private
124
+ sig do
125
+ params(
126
+ lhs: Dodopayments::Internal::Util::ParsedUriShape,
127
+ rhs: Dodopayments::Internal::Util::ParsedUriShape
128
+ )
129
+ .returns(URI::Generic)
130
+ end
131
+ def join_parsed_uri(lhs, rhs); end
132
+ end
133
+
134
+ class << self
135
+ # @api private
136
+ sig do
137
+ params(
138
+ headers: T::Hash[String,
139
+ T.nilable(T.any(String, Integer, T::Array[T.nilable(T.any(String, Integer))]))]
140
+ )
141
+ .returns(T::Hash[String, String])
142
+ end
143
+ def normalized_headers(*headers); end
144
+ end
145
+
146
+ # @api private
147
+ class SerializationAdapter
148
+ sig { returns(T.any(Pathname, IO)) }
149
+ attr_reader :inner
150
+
151
+ sig { params(a: T.anything).returns(String) }
152
+ def to_json(*a); end
153
+
154
+ sig { params(a: T.anything).returns(String) }
155
+ def to_yaml(*a); end
156
+
157
+ # @api private
158
+ sig { params(inner: T.any(Pathname, IO)).returns(T.attached_class) }
159
+ def self.new(inner); end
160
+ end
161
+
162
+ # @api private
163
+ #
164
+ # An adapter that satisfies the IO interface required by `::IO.copy_stream`
165
+ class ReadIOAdapter
166
+ # @api private
167
+ sig { returns(T.nilable(T::Boolean)) }
168
+ def close?; end
169
+
170
+ # @api private
171
+ sig { void }
172
+ def close; end
173
+
174
+ # @api private
175
+ sig { params(max_len: T.nilable(Integer)).returns(String) }
176
+ private def read_enum(max_len); end
177
+
178
+ # @api private
179
+ sig { params(max_len: T.nilable(Integer), out_string: T.nilable(String)).returns(T.nilable(String)) }
180
+ def read(max_len = nil, out_string = nil); end
181
+
182
+ # @api private
183
+ sig do
184
+ params(
185
+ src: T.any(String, Pathname, StringIO, T::Enumerable[String]),
186
+ blk: T.proc.params(arg0: String).void
187
+ )
188
+ .returns(T.attached_class)
189
+ end
190
+ def self.new(src, &blk); end
191
+ end
192
+
193
+ class << self
194
+ sig { params(blk: T.proc.params(y: Enumerator::Yielder).void).returns(T::Enumerable[String]) }
195
+ def writable_enum(&blk); end
196
+ end
197
+
198
+ class << self
199
+ # @api private
200
+ sig do
201
+ params(
202
+ y: Enumerator::Yielder,
203
+ boundary: String,
204
+ key: T.any(Symbol, String),
205
+ val: T.anything,
206
+ closing: T::Array[T.proc.void]
207
+ )
208
+ .void
209
+ end
210
+ private def write_multipart_chunk(y, boundary:, key:, val:, closing:); end
211
+
212
+ # @api private
213
+ sig { params(body: T.anything).returns([String, T::Enumerable[String]]) }
214
+ private def encode_multipart_streaming(body); end
215
+
216
+ # @api private
217
+ sig { params(headers: T::Hash[String, String], body: T.anything).returns(T.anything) }
218
+ def encode_content(headers, body); end
219
+
220
+ # @api private
221
+ #
222
+ # https://www.iana.org/assignments/character-sets/character-sets.xhtml
223
+ sig { params(content_type: String, text: String).void }
224
+ def force_charset!(content_type, text:); end
225
+
226
+ # @api private
227
+ #
228
+ # Assumes each chunk in stream has `Encoding::BINARY`.
229
+ sig do
230
+ params(
231
+ headers: T.any(T::Hash[String, String], Net::HTTPHeader),
232
+ stream: T::Enumerable[String],
233
+ suppress_error: T::Boolean
234
+ )
235
+ .returns(T.anything)
236
+ end
237
+ def decode_content(headers, stream:, suppress_error: false); end
238
+ end
239
+
240
+ class << self
241
+ # @api private
242
+ #
243
+ # https://doc.rust-lang.org/std/iter/trait.FusedIterator.html
244
+ sig do
245
+ params(enum: T::Enumerable[T.anything], external: T::Boolean, close: T.proc.void)
246
+ .returns(T::Enumerable[T.anything])
247
+ end
248
+ def fused_enum(enum, external: false, &close); end
249
+
250
+ # @api private
251
+ sig { params(enum: T.nilable(T::Enumerable[T.anything])).void }
252
+ def close_fused!(enum); end
253
+
254
+ # @api private
255
+ sig do
256
+ params(
257
+ enum: T.nilable(T::Enumerable[T.anything]),
258
+ blk: T.proc.params(arg0: Enumerator::Yielder).void
259
+ )
260
+ .returns(T::Enumerable[T.anything])
261
+ end
262
+ def chain_fused(enum, &blk); end
263
+ end
264
+
265
+ ServerSentEvent =
266
+ T.type_alias do
267
+ {
268
+ event: T.nilable(String),
269
+ data: T.nilable(String),
270
+ id: T.nilable(String),
271
+ retry: T.nilable(Integer)
272
+ }
273
+ end
274
+
275
+ class << self
276
+ # @api private
277
+ #
278
+ # Assumes Strings have been forced into having `Encoding::BINARY`.
279
+ #
280
+ # This decoder is responsible for reassembling lines split across multiple
281
+ # fragments.
282
+ sig { params(enum: T::Enumerable[String]).returns(T::Enumerable[String]) }
283
+ def decode_lines(enum); end
284
+
285
+ # @api private
286
+ #
287
+ # https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream
288
+ #
289
+ # Assumes that `lines` has been decoded with `#decode_lines`.
290
+ sig do
291
+ params(lines: T::Enumerable[String]).returns(T::Enumerable[Dodopayments::Internal::Util::ServerSentEvent])
292
+ end
293
+ def decode_sse(lines); end
294
+ end
295
+ end
296
+ end
297
+ end
@@ -0,0 +1,12 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ # @api private
5
+ module Internal
6
+ # Due to the current WIP status of Shapes support in Sorbet, types referencing
7
+ # this alias might be refined in the future.
8
+ AnyHash = T.type_alias { T::Hash[Symbol, T.anything] }
9
+
10
+ OMIT = T.let(Object.new.freeze, T.anything)
11
+ end
12
+ end
@@ -2,22 +2,15 @@
2
2
 
3
3
  module Dodopayments
4
4
  module Models
5
- class AttachExistingCustomer < Dodopayments::BaseModel
5
+ class AttachExistingCustomer < Dodopayments::Internal::Type::BaseModel
6
6
  sig { returns(String) }
7
- def customer_id
8
- end
9
-
10
- sig { params(_: String).returns(String) }
11
- def customer_id=(_)
12
- end
7
+ attr_accessor :customer_id
13
8
 
14
9
  sig { params(customer_id: String).returns(T.attached_class) }
15
- def self.new(customer_id:)
16
- end
10
+ def self.new(customer_id:); end
17
11
 
18
12
  sig { override.returns({customer_id: String}) }
19
- def to_hash
20
- end
13
+ def to_hash; end
21
14
  end
22
15
  end
23
16
  end
@@ -2,64 +2,46 @@
2
2
 
3
3
  module Dodopayments
4
4
  module Models
5
- class BillingAddress < Dodopayments::BaseModel
5
+ class BillingAddress < Dodopayments::Internal::Type::BaseModel
6
6
  # City name
7
7
  sig { returns(String) }
8
- def city
9
- end
10
-
11
- sig { params(_: String).returns(String) }
12
- def city=(_)
13
- end
8
+ attr_accessor :city
14
9
 
15
10
  # ISO country code alpha2 variant
16
- sig { returns(Symbol) }
17
- def country
18
- end
19
-
20
- sig { params(_: Symbol).returns(Symbol) }
21
- def country=(_)
22
- end
11
+ sig { returns(Dodopayments::Models::CountryCode::OrSymbol) }
12
+ attr_accessor :country
23
13
 
24
14
  # State or province name
25
15
  sig { returns(String) }
26
- def state
27
- end
28
-
29
- sig { params(_: String).returns(String) }
30
- def state=(_)
31
- end
16
+ attr_accessor :state
32
17
 
33
18
  # Street address including house number and unit/apartment if applicable
34
19
  sig { returns(String) }
35
- def street
36
- end
37
-
38
- sig { params(_: String).returns(String) }
39
- def street=(_)
40
- end
20
+ attr_accessor :street
41
21
 
42
22
  # Postal code or ZIP code
43
23
  sig { returns(String) }
44
- def zipcode
45
- end
46
-
47
- sig { params(_: String).returns(String) }
48
- def zipcode=(_)
49
- end
24
+ attr_accessor :zipcode
50
25
 
51
26
  sig do
52
- params(city: String, country: Symbol, state: String, street: String, zipcode: String)
27
+ params(
28
+ city: String,
29
+ country: Dodopayments::Models::CountryCode::OrSymbol,
30
+ state: String,
31
+ street: String,
32
+ zipcode: String
33
+ )
53
34
  .returns(T.attached_class)
54
35
  end
55
- def self.new(city:, country:, state:, street:, zipcode:)
56
- end
36
+ def self.new(city:, country:, state:, street:, zipcode:); end
57
37
 
58
38
  sig do
59
- override.returns({city: String, country: Symbol, state: String, street: String, zipcode: String})
60
- end
61
- def to_hash
39
+ override
40
+ .returns(
41
+ {city: String, country: Dodopayments::Models::CountryCode::OrSymbol, state: String, street: String, zipcode: String}
42
+ )
62
43
  end
44
+ def to_hash; end
63
45
  end
64
46
  end
65
47
  end