dodopayments 1.18.3 → 1.20.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 (219) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +44 -0
  3. data/README.md +5 -5
  4. data/lib/dodopayments/client.rb +12 -9
  5. data/lib/dodopayments/errors.rb +9 -9
  6. data/lib/dodopayments/file_part.rb +5 -5
  7. data/lib/dodopayments/internal/transport/base_client.rb +1 -1
  8. data/lib/dodopayments/internal/type/boolean.rb +10 -11
  9. data/lib/dodopayments/internal/type/converter.rb +3 -0
  10. data/lib/dodopayments/internal/type/enum.rb +10 -11
  11. data/lib/dodopayments/internal/type/file_input.rb +22 -11
  12. data/lib/dodopayments/internal/type/unknown.rb +10 -11
  13. data/lib/dodopayments/internal/util.rb +3 -3
  14. data/lib/dodopayments/models/addon_cart_response_item.rb +23 -0
  15. data/lib/dodopayments/models/addon_create_params.rb +58 -0
  16. data/lib/dodopayments/models/addon_list_params.rb +30 -0
  17. data/lib/dodopayments/models/addon_response.rb +93 -0
  18. data/lib/dodopayments/models/addon_retrieve_params.rb +14 -0
  19. data/lib/dodopayments/models/addon_update_images_params.rb +14 -0
  20. data/lib/dodopayments/models/addon_update_images_response.rb +22 -0
  21. data/lib/dodopayments/models/addon_update_params.rb +66 -0
  22. data/lib/dodopayments/models/currency.rb +158 -0
  23. data/lib/dodopayments/models/misc_list_supported_countries_response.rb +1 -0
  24. data/lib/dodopayments/models/payment.rb +14 -315
  25. data/lib/dodopayments/models/payment_create_params.rb +3 -158
  26. data/lib/dodopayments/models/payment_list_response.rb +3 -157
  27. data/lib/dodopayments/models/payout_list_response.rb +3 -157
  28. data/lib/dodopayments/models/price.rb +6 -314
  29. data/lib/dodopayments/models/product.rb +3 -19
  30. data/lib/dodopayments/models/product_create_params.rb +3 -17
  31. data/lib/dodopayments/models/product_list_response.rb +6 -176
  32. data/lib/dodopayments/models/product_update_params.rb +3 -17
  33. data/lib/dodopayments/models/refund.rb +3 -157
  34. data/lib/dodopayments/models/subscription.rb +21 -158
  35. data/lib/dodopayments/models/subscription_create_params.rb +30 -159
  36. data/lib/dodopayments/models/subscription_create_response.rb +10 -1
  37. data/lib/dodopayments/models/subscription_list_response.rb +179 -0
  38. data/lib/dodopayments/models/subscription_update_params.rb +19 -1
  39. data/lib/dodopayments/models/tax_category.rb +19 -0
  40. data/lib/dodopayments/request_options.rb +4 -5
  41. data/lib/dodopayments/resources/addons.rb +141 -0
  42. data/lib/dodopayments/resources/payments.rb +1 -1
  43. data/lib/dodopayments/resources/products.rb +2 -2
  44. data/lib/dodopayments/resources/subscriptions.rb +9 -5
  45. data/lib/dodopayments/version.rb +1 -1
  46. data/lib/dodopayments.rb +12 -0
  47. data/rbi/{lib/dodopayments → dodopayments}/client.rbi +7 -5
  48. data/rbi/{lib/dodopayments → dodopayments}/errors.rbi +1 -1
  49. data/rbi/{lib/dodopayments → dodopayments}/internal/transport/base_client.rbi +2 -2
  50. data/rbi/{lib/dodopayments → dodopayments}/internal/type/request_parameters.rbi +1 -1
  51. data/rbi/dodopayments/models/addon_cart_response_item.rbi +20 -0
  52. data/rbi/dodopayments/models/addon_create_params.rbi +69 -0
  53. data/rbi/dodopayments/models/addon_list_params.rbi +45 -0
  54. data/rbi/dodopayments/models/addon_response.rbi +103 -0
  55. data/rbi/dodopayments/models/addon_retrieve_params.rbi +19 -0
  56. data/rbi/dodopayments/models/addon_update_images_params.rbi +19 -0
  57. data/rbi/dodopayments/models/addon_update_images_response.rbi +19 -0
  58. data/rbi/dodopayments/models/addon_update_params.rbi +77 -0
  59. data/rbi/dodopayments/models/currency.rbi +161 -0
  60. data/rbi/dodopayments/models/payment.rbi +227 -0
  61. data/rbi/dodopayments/models/payment_create_params.rbi +189 -0
  62. data/rbi/dodopayments/models/payment_list_response.rbi +88 -0
  63. data/rbi/dodopayments/models/payout_list_response.rbi +155 -0
  64. data/rbi/dodopayments/models/price.rbi +218 -0
  65. data/rbi/{lib/dodopayments → dodopayments}/models/product.rbi +3 -20
  66. data/rbi/{lib/dodopayments → dodopayments}/models/product_create_params.rbi +3 -21
  67. data/rbi/dodopayments/models/product_list_response.rbi +153 -0
  68. data/rbi/{lib/dodopayments → dodopayments}/models/product_update_params.rbi +3 -21
  69. data/rbi/dodopayments/models/refund.rbi +83 -0
  70. data/rbi/dodopayments/models/subscription.rbi +198 -0
  71. data/rbi/dodopayments/models/subscription_create_params.rbi +282 -0
  72. data/rbi/{lib/dodopayments → dodopayments}/models/subscription_create_response.rbi +8 -0
  73. data/rbi/dodopayments/models/subscription_list_response.rbi +190 -0
  74. data/rbi/{lib/dodopayments → dodopayments}/models/subscription_update_params.rbi +37 -1
  75. data/rbi/dodopayments/models/tax_category.rbi +22 -0
  76. data/rbi/{lib/dodopayments → dodopayments}/request_options.rbi +2 -0
  77. data/rbi/dodopayments/resources/addons.rbi +97 -0
  78. data/rbi/{lib/dodopayments → dodopayments}/resources/customers/customer_portal.rbi +1 -1
  79. data/rbi/{lib/dodopayments → dodopayments}/resources/customers.rbi +4 -7
  80. data/rbi/{lib/dodopayments → dodopayments}/resources/discounts.rbi +5 -14
  81. data/rbi/{lib/dodopayments → dodopayments}/resources/disputes.rbi +2 -5
  82. data/rbi/{lib/dodopayments → dodopayments}/resources/invoices/payments.rbi +1 -7
  83. data/rbi/{lib/dodopayments → dodopayments}/resources/license_key_instances.rbi +3 -10
  84. data/rbi/{lib/dodopayments → dodopayments}/resources/license_keys.rbi +3 -9
  85. data/rbi/{lib/dodopayments → dodopayments}/resources/licenses.rbi +3 -7
  86. data/rbi/{lib/dodopayments → dodopayments}/resources/misc.rbi +1 -8
  87. data/rbi/{lib/dodopayments → dodopayments}/resources/payments.rbi +4 -7
  88. data/rbi/{lib/dodopayments → dodopayments}/resources/payouts.rbi +1 -1
  89. data/rbi/{lib/dodopayments → dodopayments}/resources/products/images.rbi +1 -5
  90. data/rbi/{lib/dodopayments → dodopayments}/resources/products.rbi +8 -26
  91. data/rbi/{lib/dodopayments → dodopayments}/resources/refunds.rbi +3 -11
  92. data/rbi/{lib/dodopayments → dodopayments}/resources/subscriptions.rbi +19 -15
  93. data/rbi/{lib/dodopayments → dodopayments}/resources/webhook_events.rbi +2 -5
  94. data/sig/dodopayments/client.rbs +4 -2
  95. data/sig/dodopayments/models/addon_cart_response_item.rbs +15 -0
  96. data/sig/dodopayments/models/addon_create_params.rbs +39 -0
  97. data/sig/dodopayments/models/addon_list_params.rbs +24 -0
  98. data/sig/dodopayments/models/addon_response.rbs +54 -0
  99. data/sig/dodopayments/models/addon_retrieve_params.rbs +15 -0
  100. data/sig/dodopayments/models/addon_update_images_params.rbs +15 -0
  101. data/sig/dodopayments/models/addon_update_images_response.rbs +15 -0
  102. data/sig/dodopayments/models/addon_update_params.rbs +43 -0
  103. data/sig/dodopayments/models/currency.rbs +302 -0
  104. data/sig/dodopayments/models/misc_list_supported_countries_response.rbs +1 -1
  105. data/sig/dodopayments/models/payment.rbs +10 -604
  106. data/sig/dodopayments/models/payment_create_params.rbs +3 -302
  107. data/sig/dodopayments/models/payment_list_response.rbs +3 -302
  108. data/sig/dodopayments/models/payout_list_response.rbs +3 -302
  109. data/sig/dodopayments/models/price.rbs +6 -604
  110. data/sig/dodopayments/models/product.rbs +3 -16
  111. data/sig/dodopayments/models/product_create_params.rbs +3 -16
  112. data/sig/dodopayments/models/product_list_response.rbs +6 -318
  113. data/sig/dodopayments/models/product_update_params.rbs +3 -16
  114. data/sig/dodopayments/models/refund.rbs +3 -302
  115. data/sig/dodopayments/models/subscription.rbs +11 -302
  116. data/sig/dodopayments/models/subscription_create_params.rbs +19 -302
  117. data/sig/dodopayments/models/subscription_create_response.rbs +4 -0
  118. data/sig/dodopayments/models/subscription_list_response.rbs +98 -0
  119. data/sig/dodopayments/models/subscription_update_params.rbs +14 -0
  120. data/sig/dodopayments/models/tax_category.rbs +16 -0
  121. data/sig/dodopayments/resources/addons.rbs +43 -0
  122. data/sig/dodopayments/resources/payments.rbs +1 -1
  123. data/sig/dodopayments/resources/products.rbs +2 -2
  124. data/sig/dodopayments/resources/subscriptions.rbs +4 -2
  125. metadata +160 -124
  126. data/rbi/lib/dodopayments/models/payment.rbi +0 -530
  127. data/rbi/lib/dodopayments/models/payment_create_params.rbi +0 -345
  128. data/rbi/lib/dodopayments/models/payment_list_response.rbi +0 -244
  129. data/rbi/lib/dodopayments/models/payout_list_response.rbi +0 -311
  130. data/rbi/lib/dodopayments/models/price.rbi +0 -530
  131. data/rbi/lib/dodopayments/models/product_list_response.rbi +0 -327
  132. data/rbi/lib/dodopayments/models/refund.rbi +0 -239
  133. data/rbi/lib/dodopayments/models/subscription.rbi +0 -338
  134. data/rbi/lib/dodopayments/models/subscription_create_params.rbi +0 -415
  135. /data/rbi/{lib/dodopayments → dodopayments}/file_part.rbi +0 -0
  136. /data/rbi/{lib/dodopayments → dodopayments}/internal/default_page_number_pagination.rbi +0 -0
  137. /data/rbi/{lib/dodopayments → dodopayments}/internal/transport/pooled_net_requester.rbi +0 -0
  138. /data/rbi/{lib/dodopayments → dodopayments}/internal/type/array_of.rbi +0 -0
  139. /data/rbi/{lib/dodopayments → dodopayments}/internal/type/base_model.rbi +0 -0
  140. /data/rbi/{lib/dodopayments → dodopayments}/internal/type/base_page.rbi +0 -0
  141. /data/rbi/{lib/dodopayments → dodopayments}/internal/type/boolean.rbi +0 -0
  142. /data/rbi/{lib/dodopayments → dodopayments}/internal/type/converter.rbi +0 -0
  143. /data/rbi/{lib/dodopayments → dodopayments}/internal/type/enum.rbi +0 -0
  144. /data/rbi/{lib/dodopayments → dodopayments}/internal/type/file_input.rbi +0 -0
  145. /data/rbi/{lib/dodopayments → dodopayments}/internal/type/hash_of.rbi +0 -0
  146. /data/rbi/{lib/dodopayments → dodopayments}/internal/type/union.rbi +0 -0
  147. /data/rbi/{lib/dodopayments → dodopayments}/internal/type/unknown.rbi +0 -0
  148. /data/rbi/{lib/dodopayments → dodopayments}/internal/util.rbi +0 -0
  149. /data/rbi/{lib/dodopayments → dodopayments}/internal.rbi +0 -0
  150. /data/rbi/{lib/dodopayments → dodopayments}/models/attach_existing_customer.rbi +0 -0
  151. /data/rbi/{lib/dodopayments → dodopayments}/models/billing_address.rbi +0 -0
  152. /data/rbi/{lib/dodopayments → dodopayments}/models/country_code.rbi +0 -0
  153. /data/rbi/{lib/dodopayments → dodopayments}/models/create_new_customer.rbi +0 -0
  154. /data/rbi/{lib/dodopayments → dodopayments}/models/customer.rbi +0 -0
  155. /data/rbi/{lib/dodopayments → dodopayments}/models/customer_create_params.rbi +0 -0
  156. /data/rbi/{lib/dodopayments → dodopayments}/models/customer_limited_details.rbi +0 -0
  157. /data/rbi/{lib/dodopayments → dodopayments}/models/customer_list_params.rbi +0 -0
  158. /data/rbi/{lib/dodopayments → dodopayments}/models/customer_portal_session.rbi +0 -0
  159. /data/rbi/{lib/dodopayments → dodopayments}/models/customer_request.rbi +0 -0
  160. /data/rbi/{lib/dodopayments → dodopayments}/models/customer_retrieve_params.rbi +0 -0
  161. /data/rbi/{lib/dodopayments → dodopayments}/models/customer_update_params.rbi +0 -0
  162. /data/rbi/{lib/dodopayments → dodopayments}/models/customers/customer_portal_create_params.rbi +0 -0
  163. /data/rbi/{lib/dodopayments → dodopayments}/models/discount.rbi +0 -0
  164. /data/rbi/{lib/dodopayments → dodopayments}/models/discount_create_params.rbi +0 -0
  165. /data/rbi/{lib/dodopayments → dodopayments}/models/discount_delete_params.rbi +0 -0
  166. /data/rbi/{lib/dodopayments → dodopayments}/models/discount_list_params.rbi +0 -0
  167. /data/rbi/{lib/dodopayments → dodopayments}/models/discount_retrieve_params.rbi +0 -0
  168. /data/rbi/{lib/dodopayments → dodopayments}/models/discount_type.rbi +0 -0
  169. /data/rbi/{lib/dodopayments → dodopayments}/models/discount_update_params.rbi +0 -0
  170. /data/rbi/{lib/dodopayments → dodopayments}/models/dispute.rbi +0 -0
  171. /data/rbi/{lib/dodopayments → dodopayments}/models/dispute_list_params.rbi +0 -0
  172. /data/rbi/{lib/dodopayments → dodopayments}/models/dispute_retrieve_params.rbi +0 -0
  173. /data/rbi/{lib/dodopayments → dodopayments}/models/dispute_stage.rbi +0 -0
  174. /data/rbi/{lib/dodopayments → dodopayments}/models/dispute_status.rbi +0 -0
  175. /data/rbi/{lib/dodopayments → dodopayments}/models/intent_status.rbi +0 -0
  176. /data/rbi/{lib/dodopayments → dodopayments}/models/invoices/payment_retrieve_params.rbi +0 -0
  177. /data/rbi/{lib/dodopayments → dodopayments}/models/license_activate_params.rbi +0 -0
  178. /data/rbi/{lib/dodopayments → dodopayments}/models/license_deactivate_params.rbi +0 -0
  179. /data/rbi/{lib/dodopayments → dodopayments}/models/license_key.rbi +0 -0
  180. /data/rbi/{lib/dodopayments → dodopayments}/models/license_key_duration.rbi +0 -0
  181. /data/rbi/{lib/dodopayments → dodopayments}/models/license_key_instance.rbi +0 -0
  182. /data/rbi/{lib/dodopayments → dodopayments}/models/license_key_instance_list_params.rbi +0 -0
  183. /data/rbi/{lib/dodopayments → dodopayments}/models/license_key_instance_retrieve_params.rbi +0 -0
  184. /data/rbi/{lib/dodopayments → dodopayments}/models/license_key_instance_update_params.rbi +0 -0
  185. /data/rbi/{lib/dodopayments → dodopayments}/models/license_key_list_params.rbi +0 -0
  186. /data/rbi/{lib/dodopayments → dodopayments}/models/license_key_retrieve_params.rbi +0 -0
  187. /data/rbi/{lib/dodopayments → dodopayments}/models/license_key_status.rbi +0 -0
  188. /data/rbi/{lib/dodopayments → dodopayments}/models/license_key_update_params.rbi +0 -0
  189. /data/rbi/{lib/dodopayments → dodopayments}/models/license_validate_params.rbi +0 -0
  190. /data/rbi/{lib/dodopayments → dodopayments}/models/license_validate_response.rbi +0 -0
  191. /data/rbi/{lib/dodopayments → dodopayments}/models/misc_list_supported_countries_params.rbi +0 -0
  192. /data/rbi/{lib/dodopayments → dodopayments}/models/misc_list_supported_countries_response.rbi +0 -0
  193. /data/rbi/{lib/dodopayments → dodopayments}/models/one_time_product_cart_item.rbi +0 -0
  194. /data/rbi/{lib/dodopayments → dodopayments}/models/payment_create_response.rbi +0 -0
  195. /data/rbi/{lib/dodopayments → dodopayments}/models/payment_list_params.rbi +0 -0
  196. /data/rbi/{lib/dodopayments → dodopayments}/models/payment_retrieve_params.rbi +0 -0
  197. /data/rbi/{lib/dodopayments → dodopayments}/models/payout_list_params.rbi +0 -0
  198. /data/rbi/{lib/dodopayments → dodopayments}/models/product_delete_params.rbi +0 -0
  199. /data/rbi/{lib/dodopayments → dodopayments}/models/product_list_params.rbi +0 -0
  200. /data/rbi/{lib/dodopayments → dodopayments}/models/product_retrieve_params.rbi +0 -0
  201. /data/rbi/{lib/dodopayments → dodopayments}/models/product_unarchive_params.rbi +0 -0
  202. /data/rbi/{lib/dodopayments → dodopayments}/models/products/image_update_params.rbi +0 -0
  203. /data/rbi/{lib/dodopayments → dodopayments}/models/products/image_update_response.rbi +0 -0
  204. /data/rbi/{lib/dodopayments → dodopayments}/models/refund_create_params.rbi +0 -0
  205. /data/rbi/{lib/dodopayments → dodopayments}/models/refund_list_params.rbi +0 -0
  206. /data/rbi/{lib/dodopayments → dodopayments}/models/refund_retrieve_params.rbi +0 -0
  207. /data/rbi/{lib/dodopayments → dodopayments}/models/refund_status.rbi +0 -0
  208. /data/rbi/{lib/dodopayments → dodopayments}/models/subscription_change_plan_params.rbi +0 -0
  209. /data/rbi/{lib/dodopayments → dodopayments}/models/subscription_charge_params.rbi +0 -0
  210. /data/rbi/{lib/dodopayments → dodopayments}/models/subscription_charge_response.rbi +0 -0
  211. /data/rbi/{lib/dodopayments → dodopayments}/models/subscription_list_params.rbi +0 -0
  212. /data/rbi/{lib/dodopayments → dodopayments}/models/subscription_retrieve_params.rbi +0 -0
  213. /data/rbi/{lib/dodopayments → dodopayments}/models/subscription_status.rbi +0 -0
  214. /data/rbi/{lib/dodopayments → dodopayments}/models/time_interval.rbi +0 -0
  215. /data/rbi/{lib/dodopayments → dodopayments}/models/webhook_event.rbi +0 -0
  216. /data/rbi/{lib/dodopayments → dodopayments}/models/webhook_event_list_params.rbi +0 -0
  217. /data/rbi/{lib/dodopayments → dodopayments}/models/webhook_event_retrieve_params.rbi +0 -0
  218. /data/rbi/{lib/dodopayments → dodopayments}/resources/invoices.rbi +0 -0
  219. /data/rbi/{lib/dodopayments → dodopayments}/version.rbi +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: abe1b45633addd932eb1274291d91d2b7acf5b589bb4bf5a668019caa6679830
4
- data.tar.gz: 45b91de05dcc52f26c61054f735f150df9093d891beb961a2b59cca1b65fc9f7
3
+ metadata.gz: 9c7b22e5857506ae73a79e9a4f5c8cbd92f03696fcf72f9934b7f70d73b9be99
4
+ data.tar.gz: 3aba6366092a43c500db25321615514724aa4e0015ca108ec27eb478346acd06
5
5
  SHA512:
6
- metadata.gz: bf852de0565c8053f6b76e6edf34adb739d8cbdf288d7a96843fe3bfa2b5ab4526607e9981f614272051250e8243697bd2427b6769a3e9fa472e112997677b6e
7
- data.tar.gz: 8b3b1f0dec7a7b334944d84c74f838b3e2ba9ac12744c7bcae57737fe7660ca441e5f43222b9931d0b15077c6d992accbde06650fbe87a855da90b2460e26c13
6
+ metadata.gz: 0bb40b6240681cf2f68f968c3da1b960e782aa9daebe21cc1738730290ebb6aea7100f4aa8ac9b642dd685059dc5c155955984bc2bc1d7fb5c6604cf5e425171
7
+ data.tar.gz: be7ead7c6dcef10ddcacb9c6c6b46b423ccab46231a8f4ac9794054a0214b5220c69e0829837504be20a20f4214d846a5b0ba2f5c0fbb9ba7ead43e661669e0c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,49 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.20.0 (2025-05-01)
4
+
5
+ Full Changelog: [v1.19.0...v1.20.0](https://github.com/dodopayments/dodopayments-ruby/compare/v1.19.0...v1.20.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** added addons ([b7ab9df](https://github.com/dodopayments/dodopayments-ruby/commit/b7ab9dfcffc9113bb89668fac0870241e68ec1f8))
10
+ * **api:** updated readme example ([7ab77ac](https://github.com/dodopayments/dodopayments-ruby/commit/7ab77ac6b2f2349a0876996b2740d4baeca97f3f))
11
+ * **api:** updated readme example ([9646785](https://github.com/dodopayments/dodopayments-ruby/commit/964678539575be673521723ef0b41c5b5af85f97))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * re-exported array and map models should typecheck in steep ([443c685](https://github.com/dodopayments/dodopayments-ruby/commit/443c685afdddc50872c8eddbf7acf37d1bf65402))
17
+
18
+
19
+ ### Chores
20
+
21
+ * migrate away from deprecated `JSON#fast_generate` ([11a01cc](https://github.com/dodopayments/dodopayments-ruby/commit/11a01ccc3ab39f47c6b13ff359bf4ec99378c40b))
22
+
23
+
24
+ ### Documentation
25
+
26
+ * **readme:** fix typo ([32dda82](https://github.com/dodopayments/dodopayments-ruby/commit/32dda82d2b0fd01b6bc1c4b19a62a39ecc3f96c1))
27
+
28
+ ## 1.19.0 (2025-04-30)
29
+
30
+ Full Changelog: [v1.18.3...v1.19.0](https://github.com/dodopayments/dodopayments-ruby/compare/v1.18.3...v1.19.0)
31
+
32
+ ### Bug Fixes
33
+
34
+ * ensure gem release is unaffected by renaming ([d134bf2](https://github.com/dodopayments/dodopayments-ruby/commit/d134bf2816ddc6c6de271b01dfe00251ec0ad429))
35
+ * make a typo for `FilePart.content` ([e1b34c1](https://github.com/dodopayments/dodopayments-ruby/commit/e1b34c1896c629aad7f696511b4fa31e23c240ad))
36
+
37
+
38
+ ### Chores
39
+
40
+ * add generator safe directory ([176120f](https://github.com/dodopayments/dodopayments-ruby/commit/176120f332f361f8c7b111925de0a6b9d95b472d))
41
+ * **internal:** annotate request options with type aliases in sorbet ([4e29dc1](https://github.com/dodopayments/dodopayments-ruby/commit/4e29dc1213b30f2fe1b8aae34e9e86206b7d087a))
42
+ * **internal:** mostly README touch ups ([d4fd618](https://github.com/dodopayments/dodopayments-ruby/commit/d4fd618c958e24432f76778b74c6c47e32c48d28))
43
+ * **internal:** remove unnecessary `rbi/lib` folder ([0745897](https://github.com/dodopayments/dodopayments-ruby/commit/07458978bf5b06c8c1bafdce5ee3287091cad34b))
44
+ * loosen rubocop rules that don't always make sense ([129618a](https://github.com/dodopayments/dodopayments-ruby/commit/129618aafdd550efaa6b8788b431b1739aa509e1))
45
+ * more accurate type annotations and aliases ([433979e](https://github.com/dodopayments/dodopayments-ruby/commit/433979e298c9967438df5e92674b314f075ad4ea))
46
+
3
47
  ## 1.18.3 (2025-04-25)
4
48
 
5
49
  Full Changelog: [v1.18.1...v1.18.3](https://github.com/dodopayments/dodopayments-ruby/compare/v1.18.1...v1.18.3)
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Dodo Payments Ruby API library
2
2
 
3
- The Dodo Payments Ruby library provides convenient access to the Dodo Payments REST API from any Ruby 3.1.0+ application.
3
+ The Dodo Payments Ruby library provides convenient access to the Dodo Payments REST API from any Ruby 3.2.0+ application.
4
4
 
5
5
  It is generated with [Stainless](https://www.stainless.com/).
6
6
 
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "dodopayments", "~> 1.18.3"
20
+ gem "dodopayments", "~> 1.20.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -29,7 +29,7 @@ require "bundler/setup"
29
29
  require "dodopayments"
30
30
 
31
31
  dodo_payments = Dodopayments::Client.new(
32
- bearer_token: "My Bearer Token", # defaults to ENV["DODO_PAYMENTS_API_KEY"]
32
+ api_key: "My API Key", # defaults to ENV["DODO_PAYMENTS_API_KEY"]
33
33
  environment: "test_mode" # defaults to "live_mode"
34
34
  )
35
35
 
@@ -79,7 +79,7 @@ rescue Dodopayments::Errors::APIError => e
79
79
  end
80
80
  ```
81
81
 
82
- Error codes are as followed:
82
+ Error codes are as follows:
83
83
 
84
84
  | Cause | Error Type |
85
85
  | ---------------- | -------------------------- |
@@ -217,7 +217,7 @@ This package considers improvements to the (non-runtime) `*.rbi` and `*.rbs` typ
217
217
 
218
218
  ## Requirements
219
219
 
220
- Ruby 3.1.0 or higher.
220
+ Ruby 3.2.0 or higher.
221
221
 
222
222
  ## Contributing
223
223
 
@@ -20,9 +20,8 @@ module Dodopayments
20
20
  ENVIRONMENTS = {live_mode: "https://live.dodopayments.com", test_mode: "https://test.dodopayments.com"}
21
21
  # rubocop:enable Style/MutableConstant
22
22
 
23
- # Bearer Token for API authentication
24
23
  # @return [String]
25
- attr_reader :bearer_token
24
+ attr_reader :api_key
26
25
 
27
26
  # @return [Dodopayments::Resources::Payments]
28
27
  attr_reader :payments
@@ -66,18 +65,21 @@ module Dodopayments
66
65
  # @return [Dodopayments::Resources::Discounts]
67
66
  attr_reader :discounts
68
67
 
68
+ # @return [Dodopayments::Resources::Addons]
69
+ attr_reader :addons
70
+
69
71
  # @api private
70
72
  #
71
73
  # @return [Hash{String=>String}]
72
74
  private def auth_headers
73
- return {} if @bearer_token.nil?
75
+ return {} if @api_key.nil?
74
76
 
75
- {"authorization" => "Bearer #{@bearer_token}"}
77
+ {"authorization" => "Bearer #{@api_key}"}
76
78
  end
77
79
 
78
80
  # Creates and returns a new client for interacting with the API.
79
81
  #
80
- # @param bearer_token [String, nil] Bearer Token for API authentication Defaults to `ENV["DODO_PAYMENTS_API_KEY"]`
82
+ # @param api_key [String, nil] Defaults to `ENV["DODO_PAYMENTS_API_KEY"]`
81
83
  #
82
84
  # @param environment [:live_mode, :test_mode, nil] Specifies the environment to use for the API.
83
85
  #
@@ -97,7 +99,7 @@ module Dodopayments
97
99
  #
98
100
  # @param max_retry_delay [Float]
99
101
  def initialize(
100
- bearer_token: ENV["DODO_PAYMENTS_API_KEY"],
102
+ api_key: ENV["DODO_PAYMENTS_API_KEY"],
101
103
  environment: nil,
102
104
  base_url: ENV["DODO_PAYMENTS_BASE_URL"],
103
105
  max_retries: Dodopayments::Client::DEFAULT_MAX_RETRIES,
@@ -110,11 +112,11 @@ module Dodopayments
110
112
  raise ArgumentError.new(message)
111
113
  end
112
114
 
113
- if bearer_token.nil?
114
- raise ArgumentError.new("bearer_token is required, and can be set via environ: \"DODO_PAYMENTS_API_KEY\"")
115
+ if api_key.nil?
116
+ raise ArgumentError.new("api_key is required, and can be set via environ: \"DODO_PAYMENTS_API_KEY\"")
115
117
  end
116
118
 
117
- @bearer_token = bearer_token.to_s
119
+ @api_key = api_key.to_s
118
120
 
119
121
  super(
120
122
  base_url: base_url,
@@ -138,6 +140,7 @@ module Dodopayments
138
140
  @products = Dodopayments::Resources::Products.new(client: self)
139
141
  @misc = Dodopayments::Resources::Misc.new(client: self)
140
142
  @discounts = Dodopayments::Resources::Discounts.new(client: self)
143
+ @addons = Dodopayments::Resources::Addons.new(client: self)
141
144
  end
142
145
  end
143
146
  end
@@ -3,9 +3,9 @@
3
3
  module Dodopayments
4
4
  module Errors
5
5
  class Error < StandardError
6
- # @!parse
7
- # # @return [StandardError, nil]
8
- # attr_accessor :cause
6
+ # @!attribute cause
7
+ #
8
+ # @return [StandardError, nil]
9
9
  end
10
10
 
11
11
  class ConversionError < Dodopayments::Errors::Error
@@ -40,13 +40,13 @@ module Dodopayments
40
40
  end
41
41
 
42
42
  class APIConnectionError < Dodopayments::Errors::APIError
43
- # @!parse
44
- # # @return [nil]
45
- # attr_accessor :status
43
+ # @!attribute status
44
+ #
45
+ # @return [nil]
46
46
 
47
- # @!parse
48
- # # @return [nil]
49
- # attr_accessor :body
47
+ # @!attribute body
48
+ #
49
+ # @return [nil]
50
50
 
51
51
  # @api private
52
52
  #
@@ -15,15 +15,15 @@ module Dodopayments
15
15
  #
16
16
  # @return [String]
17
17
  private def read
18
- case contents
18
+ case content
19
19
  in Pathname
20
- contents.read(binmode: true)
20
+ content.read(binmode: true)
21
21
  in StringIO
22
- contents.string
22
+ content.string
23
23
  in IO
24
- contents.read
24
+ content.read
25
25
  in String
26
- contents
26
+ content
27
27
  end
28
28
  end
29
29
 
@@ -261,7 +261,7 @@ module Dodopayments
261
261
  headers["x-stainless-retry-count"] = "0"
262
262
  end
263
263
 
264
- timeout = opts.fetch(:timeout, @timeout).to_f.clamp((0..))
264
+ timeout = opts.fetch(:timeout, @timeout).to_f.clamp(0..)
265
265
  unless headers.key?("x-stainless-timeout") || timeout.zero?
266
266
  headers["x-stainless-timeout"] = timeout.to_s
267
267
  end
@@ -46,17 +46,16 @@ module Dodopayments
46
46
  value
47
47
  end
48
48
 
49
- # @!parse
50
- # # @api private
51
- # #
52
- # # @param value [Boolean, Object]
53
- # #
54
- # # @param state [Hash{Symbol=>Object}] .
55
- # #
56
- # # @option state [Boolean] :can_retry
57
- # #
58
- # # @return [Boolean, Object]
59
- # def dump(value, state:) = super
49
+ # @!method dump(value, state:)
50
+ # @api private
51
+ #
52
+ # @param value [Boolean, Object]
53
+ #
54
+ # @param state [Hash{Symbol=>Object}] .
55
+ #
56
+ # @option state [Boolean] :can_retry
57
+ #
58
+ # @return [Boolean, Object]
60
59
  end
61
60
  end
62
61
  end
@@ -44,6 +44,9 @@ module Dodopayments
44
44
  in Pathname | IO
45
45
  state[:can_retry] = false if value.is_a?(IO)
46
46
  Dodopayments::FilePart.new(value)
47
+ in Dodopayments::FilePart
48
+ state[:can_retry] = false if value.content.is_a?(IO)
49
+ value
47
50
  else
48
51
  value
49
52
  end
@@ -100,17 +100,16 @@ module Dodopayments
100
100
  end
101
101
  end
102
102
 
103
- # @!parse
104
- # # @api private
105
- # #
106
- # # @param value [Symbol, Object]
107
- # #
108
- # # @param state [Hash{Symbol=>Object}] .
109
- # #
110
- # # @option state [Boolean] :can_retry
111
- # #
112
- # # @return [Symbol, Object]
113
- # def dump(value, state:) = super
103
+ # @!method dump(value, state:)
104
+ # @api private
105
+ #
106
+ # @param value [Symbol, Object]
107
+ #
108
+ # @param state [Hash{Symbol=>Object}] .
109
+ #
110
+ # @option state [Boolean] :can_retry
111
+ #
112
+ # @return [Symbol, Object]
114
113
 
115
114
  # @api private
116
115
  #
@@ -67,17 +67,28 @@ module Dodopayments
67
67
  end
68
68
  end
69
69
 
70
- # @!parse
71
- # # @api private
72
- # #
73
- # # @param value [Pathname, StringIO, IO, String, Object]
74
- # #
75
- # # @param state [Hash{Symbol=>Object}] .
76
- # #
77
- # # @option state [Boolean] :can_retry
78
- # #
79
- # # @return [Pathname, StringIO, IO, String, Object]
80
- # def dump(value, state:) = super
70
+ # @api private
71
+ #
72
+ # @param value [Pathname, StringIO, IO, String, Object]
73
+ #
74
+ # @param state [Hash{Symbol=>Object}] .
75
+ #
76
+ # @option state [Boolean] :can_retry
77
+ #
78
+ # @return [Pathname, StringIO, IO, String, Object]
79
+ def dump(value, state:)
80
+ # rubocop:disable Lint/DuplicateBranch
81
+ case value
82
+ in IO
83
+ state[:can_retry] = false
84
+ in Dodopayments::FilePart if value.content.is_a?(IO)
85
+ state[:can_retry] = false
86
+ else
87
+ end
88
+ # rubocop:enable Lint/DuplicateBranch
89
+
90
+ value
91
+ end
81
92
  end
82
93
  end
83
94
  end
@@ -48,17 +48,16 @@ module Dodopayments
48
48
  value
49
49
  end
50
50
 
51
- # @!parse
52
- # # @api private
53
- # #
54
- # # @param value [Object]
55
- # #
56
- # # @param state [Hash{Symbol=>Object}] .
57
- # #
58
- # # @option state [Boolean] :can_retry
59
- # #
60
- # # @return [Object]
61
- # def dump(value, state:) = super
51
+ # @!method dump(value, state:)
52
+ # @api private
53
+ #
54
+ # @param value [Object]
55
+ #
56
+ # @param state [Hash{Symbol=>Object}] .
57
+ #
58
+ # @option state [Boolean] :can_retry
59
+ #
60
+ # @return [Object]
62
61
  end
63
62
 
64
63
  # rubocop:enable Lint/UnusedMethodArgument
@@ -493,7 +493,7 @@ module Dodopayments
493
493
  y << val.to_s
494
494
  else
495
495
  y << "Content-Type: application/json\r\n\r\n"
496
- y << JSON.fast_generate(val)
496
+ y << JSON.generate(val)
497
497
  end
498
498
  y << "\r\n"
499
499
  end
@@ -570,9 +570,9 @@ module Dodopayments
570
570
  content_type = headers["content-type"]
571
571
  case [content_type, body]
572
572
  in [Dodopayments::Internal::Util::JSON_CONTENT, Hash | Array | -> { primitive?(_1) }]
573
- [headers, JSON.fast_generate(body)]
573
+ [headers, JSON.generate(body)]
574
574
  in [Dodopayments::Internal::Util::JSONL_CONTENT, Enumerable] unless body.is_a?(Dodopayments::Internal::Type::FileInput)
575
- [headers, body.lazy.map { JSON.fast_generate(_1) }]
575
+ [headers, body.lazy.map { JSON.generate(_1) }]
576
576
  in [%r{^multipart/form-data}, Hash | Dodopayments::Internal::Type::FileInput]
577
577
  boundary, strio = encode_multipart_streaming(body)
578
578
  headers = {**headers, "content-type" => "#{content_type}; boundary=#{boundary}"}
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class AddonCartResponseItem < Dodopayments::Internal::Type::BaseModel
6
+ # @!attribute addon_id
7
+ #
8
+ # @return [String]
9
+ required :addon_id, String
10
+
11
+ # @!attribute quantity
12
+ #
13
+ # @return [Integer]
14
+ required :quantity, Integer
15
+
16
+ # @!method initialize(addon_id:, quantity:)
17
+ # Response struct representing subscription details
18
+ #
19
+ # @param addon_id [String]
20
+ # @param quantity [Integer]
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Addons#create
6
+ class AddonCreateParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!attribute currency
11
+ #
12
+ # @return [Symbol, Dodopayments::Models::Currency]
13
+ required :currency, enum: -> { Dodopayments::Models::Currency }
14
+
15
+ # @!attribute name
16
+ # Name of the Addon
17
+ #
18
+ # @return [String]
19
+ required :name, String
20
+
21
+ # @!attribute price
22
+ # Amount of the addon
23
+ #
24
+ # @return [Integer]
25
+ required :price, Integer
26
+
27
+ # @!attribute tax_category
28
+ # Represents the different categories of taxation applicable to various products
29
+ # and services.
30
+ #
31
+ # @return [Symbol, Dodopayments::Models::TaxCategory]
32
+ required :tax_category, enum: -> { Dodopayments::Models::TaxCategory }
33
+
34
+ # @!attribute description
35
+ # Optional description of the Addon
36
+ #
37
+ # @return [String, nil]
38
+ optional :description, String, nil?: true
39
+
40
+ # @!method initialize(currency:, name:, price:, tax_category:, description: nil, request_options: {})
41
+ # Some parameter documentations has been truncated, see
42
+ # {Dodopayments::Models::AddonCreateParams} for more details.
43
+ #
44
+ # @param currency [Symbol, Dodopayments::Models::Currency]
45
+ #
46
+ # @param name [String] Name of the Addon
47
+ #
48
+ # @param price [Integer] Amount of the addon
49
+ #
50
+ # @param tax_category [Symbol, Dodopayments::Models::TaxCategory] Represents the different categories of taxation applicable to various products a
51
+ # ...
52
+ #
53
+ # @param description [String, nil] Optional description of the Addon
54
+ #
55
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Addons#list
6
+ class AddonListParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!attribute page_number
11
+ # Page number default is 0
12
+ #
13
+ # @return [Integer, nil]
14
+ optional :page_number, Integer, nil?: true
15
+
16
+ # @!attribute page_size
17
+ # Page size default is 10 max is 100
18
+ #
19
+ # @return [Integer, nil]
20
+ optional :page_size, Integer, nil?: true
21
+
22
+ # @!method initialize(page_number: nil, page_size: nil, request_options: {})
23
+ # @param page_number [Integer, nil] Page number default is 0
24
+ #
25
+ # @param page_size [Integer, nil] Page size default is 10 max is 100
26
+ #
27
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Addons#create
6
+ class AddonResponse < Dodopayments::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # id of the Addon
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute business_id
14
+ # Unique identifier for the business to which the addon belongs.
15
+ #
16
+ # @return [String]
17
+ required :business_id, String
18
+
19
+ # @!attribute created_at
20
+ # Created time
21
+ #
22
+ # @return [Time]
23
+ required :created_at, Time
24
+
25
+ # @!attribute currency
26
+ #
27
+ # @return [Symbol, Dodopayments::Models::Currency]
28
+ required :currency, enum: -> { Dodopayments::Models::Currency }
29
+
30
+ # @!attribute name
31
+ # Name of the Addon
32
+ #
33
+ # @return [String]
34
+ required :name, String
35
+
36
+ # @!attribute price
37
+ # Amount of the addon
38
+ #
39
+ # @return [Integer]
40
+ required :price, Integer
41
+
42
+ # @!attribute tax_category
43
+ # Represents the different categories of taxation applicable to various products
44
+ # and services.
45
+ #
46
+ # @return [Symbol, Dodopayments::Models::TaxCategory]
47
+ required :tax_category, enum: -> { Dodopayments::Models::TaxCategory }
48
+
49
+ # @!attribute updated_at
50
+ # Updated time
51
+ #
52
+ # @return [Time]
53
+ required :updated_at, Time
54
+
55
+ # @!attribute description
56
+ # Optional description of the Addon
57
+ #
58
+ # @return [String, nil]
59
+ optional :description, String, nil?: true
60
+
61
+ # @!attribute image
62
+ # Image of the Addon
63
+ #
64
+ # @return [String, nil]
65
+ optional :image, String, nil?: true
66
+
67
+ # @!method initialize(id:, business_id:, created_at:, currency:, name:, price:, tax_category:, updated_at:, description: nil, image: nil)
68
+ # Some parameter documentations has been truncated, see
69
+ # {Dodopayments::Models::AddonResponse} for more details.
70
+ #
71
+ # @param id [String] id of the Addon
72
+ #
73
+ # @param business_id [String] Unique identifier for the business to which the addon belongs.
74
+ #
75
+ # @param created_at [Time] Created time
76
+ #
77
+ # @param currency [Symbol, Dodopayments::Models::Currency]
78
+ #
79
+ # @param name [String] Name of the Addon
80
+ #
81
+ # @param price [Integer] Amount of the addon
82
+ #
83
+ # @param tax_category [Symbol, Dodopayments::Models::TaxCategory] Represents the different categories of taxation applicable to various products a
84
+ # ...
85
+ #
86
+ # @param updated_at [Time] Updated time
87
+ #
88
+ # @param description [String, nil] Optional description of the Addon
89
+ #
90
+ # @param image [String, nil] Image of the Addon
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Addons#retrieve
6
+ class AddonRetrieveParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Addons#update_images
6
+ class AddonUpdateImagesParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Addons#update_images
6
+ class AddonUpdateImagesResponse < Dodopayments::Internal::Type::BaseModel
7
+ # @!attribute image_id
8
+ #
9
+ # @return [String]
10
+ required :image_id, String
11
+
12
+ # @!attribute url
13
+ #
14
+ # @return [String]
15
+ required :url, String
16
+
17
+ # @!method initialize(image_id:, url:)
18
+ # @param image_id [String]
19
+ # @param url [String]
20
+ end
21
+ end
22
+ end