dodopayments 2.9.1 → 2.10.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 (184) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/internal/transport/base_client.rb +2 -0
  5. data/lib/dodopayments/internal/type/union.rb +21 -7
  6. data/lib/dodopayments/models/abandoned_checkout_detected_webhook_event.rb +4 -16
  7. data/lib/dodopayments/models/abandoned_checkout_recovered_webhook_event.rb +4 -16
  8. data/lib/dodopayments/models/checkout_session_request.rb +15 -2
  9. data/lib/dodopayments/models/credit_added_webhook_event.rb +4 -16
  10. data/lib/dodopayments/models/credit_balance_low_webhook_event.rb +4 -16
  11. data/lib/dodopayments/models/credit_deducted_webhook_event.rb +4 -16
  12. data/lib/dodopayments/models/credit_expired_webhook_event.rb +4 -16
  13. data/lib/dodopayments/models/credit_manual_adjustment_webhook_event.rb +4 -16
  14. data/lib/dodopayments/models/credit_overage_charged_webhook_event.rb +4 -16
  15. data/lib/dodopayments/models/credit_overage_reset_webhook_event.rb +4 -16
  16. data/lib/dodopayments/models/credit_rolled_over_webhook_event.rb +4 -16
  17. data/lib/dodopayments/models/credit_rollover_forfeited_webhook_event.rb +4 -16
  18. data/lib/dodopayments/models/dispute_accepted_webhook_event.rb +4 -16
  19. data/lib/dodopayments/models/dispute_cancelled_webhook_event.rb +4 -16
  20. data/lib/dodopayments/models/dispute_challenged_webhook_event.rb +4 -16
  21. data/lib/dodopayments/models/dispute_expired_webhook_event.rb +4 -16
  22. data/lib/dodopayments/models/dispute_lost_webhook_event.rb +4 -16
  23. data/lib/dodopayments/models/dispute_opened_webhook_event.rb +4 -16
  24. data/lib/dodopayments/models/dispute_won_webhook_event.rb +4 -16
  25. data/lib/dodopayments/models/dunning_recovered_webhook_event.rb +4 -16
  26. data/lib/dodopayments/models/dunning_started_webhook_event.rb +4 -16
  27. data/lib/dodopayments/models/entitlement_grant_created_webhook_event.rb +4 -16
  28. data/lib/dodopayments/models/entitlement_grant_delivered_webhook_event.rb +4 -16
  29. data/lib/dodopayments/models/entitlement_grant_failed_webhook_event.rb +4 -16
  30. data/lib/dodopayments/models/entitlement_grant_revoked_webhook_event.rb +4 -16
  31. data/lib/dodopayments/models/license_key_created_webhook_event.rb +4 -16
  32. data/lib/dodopayments/models/payment.rb +153 -3
  33. data/lib/dodopayments/models/payment_cancelled_webhook_event.rb +4 -16
  34. data/lib/dodopayments/models/payment_create_params.rb +15 -3
  35. data/lib/dodopayments/models/payment_create_response.rb +14 -3
  36. data/lib/dodopayments/models/payment_failed_webhook_event.rb +4 -16
  37. data/lib/dodopayments/models/payment_processing_webhook_event.rb +4 -16
  38. data/lib/dodopayments/models/payment_succeeded_webhook_event.rb +4 -16
  39. data/lib/dodopayments/models/payout_list_response.rb +6 -3
  40. data/lib/dodopayments/models/price.rb +20 -48
  41. data/lib/dodopayments/models/product.rb +3 -3
  42. data/lib/dodopayments/models/product_create_params.rb +3 -3
  43. data/lib/dodopayments/models/product_item_req.rb +42 -1
  44. data/lib/dodopayments/models/product_update_params.rb +3 -3
  45. data/lib/dodopayments/models/refund_failed_webhook_event.rb +4 -16
  46. data/lib/dodopayments/models/refund_succeeded_webhook_event.rb +4 -16
  47. data/lib/dodopayments/models/subscription.rb +153 -5
  48. data/lib/dodopayments/models/subscription_active_webhook_event.rb +4 -16
  49. data/lib/dodopayments/models/subscription_cancelled_webhook_event.rb +4 -16
  50. data/lib/dodopayments/models/subscription_create_params.rb +15 -3
  51. data/lib/dodopayments/models/subscription_create_response.rb +14 -3
  52. data/lib/dodopayments/models/subscription_expired_webhook_event.rb +4 -16
  53. data/lib/dodopayments/models/subscription_failed_webhook_event.rb +4 -16
  54. data/lib/dodopayments/models/subscription_list_response.rb +36 -5
  55. data/lib/dodopayments/models/subscription_on_hold_webhook_event.rb +4 -16
  56. data/lib/dodopayments/models/subscription_plan_changed_webhook_event.rb +4 -16
  57. data/lib/dodopayments/models/subscription_preview_change_plan_response.rb +21 -49
  58. data/lib/dodopayments/models/subscription_renewed_webhook_event.rb +4 -16
  59. data/lib/dodopayments/models/subscription_update_payment_method_params.rb +12 -30
  60. data/lib/dodopayments/models/subscription_updated_webhook_event.rb +4 -16
  61. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +41 -39
  62. data/lib/dodopayments/models/unwrap_webhook_event.rb +41 -39
  63. data/lib/dodopayments/models/update_subscription_plan_req.rb +17 -6
  64. data/lib/dodopayments/models/webhook_event_type.rb +3 -0
  65. data/lib/dodopayments/models/webhook_payload.rb +52 -143
  66. data/lib/dodopayments/resources/checkout_sessions.rb +8 -4
  67. data/lib/dodopayments/resources/payments.rb +4 -2
  68. data/lib/dodopayments/resources/subscriptions.rb +12 -6
  69. data/lib/dodopayments/version.rb +1 -1
  70. data/rbi/dodopayments/models/abandoned_checkout_detected_webhook_event.rbi +4 -40
  71. data/rbi/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbi +4 -40
  72. data/rbi/dodopayments/models/checkout_session_request.rbi +14 -0
  73. data/rbi/dodopayments/models/credit_added_webhook_event.rbi +4 -29
  74. data/rbi/dodopayments/models/credit_balance_low_webhook_event.rbi +4 -33
  75. data/rbi/dodopayments/models/credit_deducted_webhook_event.rbi +4 -33
  76. data/rbi/dodopayments/models/credit_expired_webhook_event.rbi +4 -33
  77. data/rbi/dodopayments/models/credit_manual_adjustment_webhook_event.rbi +4 -39
  78. data/rbi/dodopayments/models/credit_overage_charged_webhook_event.rbi +4 -36
  79. data/rbi/dodopayments/models/credit_overage_reset_webhook_event.rbi +4 -36
  80. data/rbi/dodopayments/models/credit_rolled_over_webhook_event.rbi +4 -33
  81. data/rbi/dodopayments/models/credit_rollover_forfeited_webhook_event.rbi +4 -40
  82. data/rbi/dodopayments/models/dispute_accepted_webhook_event.rbi +4 -33
  83. data/rbi/dodopayments/models/dispute_cancelled_webhook_event.rbi +4 -33
  84. data/rbi/dodopayments/models/dispute_challenged_webhook_event.rbi +4 -34
  85. data/rbi/dodopayments/models/dispute_expired_webhook_event.rbi +4 -33
  86. data/rbi/dodopayments/models/dispute_lost_webhook_event.rbi +4 -29
  87. data/rbi/dodopayments/models/dispute_opened_webhook_event.rbi +4 -33
  88. data/rbi/dodopayments/models/dispute_won_webhook_event.rbi +4 -29
  89. data/rbi/dodopayments/models/dunning_recovered_webhook_event.rbi +4 -33
  90. data/rbi/dodopayments/models/dunning_started_webhook_event.rbi +4 -33
  91. data/rbi/dodopayments/models/entitlement_grant_created_webhook_event.rbi +4 -40
  92. data/rbi/dodopayments/models/entitlement_grant_delivered_webhook_event.rbi +4 -40
  93. data/rbi/dodopayments/models/entitlement_grant_failed_webhook_event.rbi +4 -39
  94. data/rbi/dodopayments/models/entitlement_grant_revoked_webhook_event.rbi +4 -40
  95. data/rbi/dodopayments/models/license_key_created_webhook_event.rbi +4 -34
  96. data/rbi/dodopayments/models/payment.rbi +170 -2
  97. data/rbi/dodopayments/models/payment_cancelled_webhook_event.rbi +4 -33
  98. data/rbi/dodopayments/models/payment_create_params.rbi +14 -2
  99. data/rbi/dodopayments/models/payment_create_response.rbi +12 -2
  100. data/rbi/dodopayments/models/payment_failed_webhook_event.rbi +4 -33
  101. data/rbi/dodopayments/models/payment_processing_webhook_event.rbi +4 -34
  102. data/rbi/dodopayments/models/payment_succeeded_webhook_event.rbi +4 -33
  103. data/rbi/dodopayments/models/price.rbi +18 -90
  104. data/rbi/dodopayments/models/product_item_req.rbi +74 -3
  105. data/rbi/dodopayments/models/refund_failed_webhook_event.rbi +4 -31
  106. data/rbi/dodopayments/models/refund_succeeded_webhook_event.rbi +4 -33
  107. data/rbi/dodopayments/models/subscription.rbi +173 -4
  108. data/rbi/dodopayments/models/subscription_active_webhook_event.rbi +4 -36
  109. data/rbi/dodopayments/models/subscription_cancelled_webhook_event.rbi +4 -36
  110. data/rbi/dodopayments/models/subscription_create_params.rbi +14 -2
  111. data/rbi/dodopayments/models/subscription_create_response.rbi +12 -2
  112. data/rbi/dodopayments/models/subscription_expired_webhook_event.rbi +4 -36
  113. data/rbi/dodopayments/models/subscription_failed_webhook_event.rbi +4 -36
  114. data/rbi/dodopayments/models/subscription_list_response.rbi +67 -4
  115. data/rbi/dodopayments/models/subscription_on_hold_webhook_event.rbi +4 -36
  116. data/rbi/dodopayments/models/subscription_plan_changed_webhook_event.rbi +4 -40
  117. data/rbi/dodopayments/models/subscription_preview_change_plan_response.rbi +18 -123
  118. data/rbi/dodopayments/models/subscription_renewed_webhook_event.rbi +4 -36
  119. data/rbi/dodopayments/models/subscription_update_payment_method_params.rbi +12 -96
  120. data/rbi/dodopayments/models/subscription_updated_webhook_event.rbi +4 -36
  121. data/rbi/dodopayments/models/update_subscription_plan_req.rbi +18 -8
  122. data/rbi/dodopayments/models/webhook_event_type.rbi +15 -0
  123. data/rbi/dodopayments/models/webhook_payload.rbi +46 -466
  124. data/rbi/dodopayments/resources/checkout_sessions.rbi +12 -0
  125. data/rbi/dodopayments/resources/payments.rbi +6 -1
  126. data/rbi/dodopayments/resources/subscriptions.rbi +22 -9
  127. data/sig/dodopayments/models/abandoned_checkout_detected_webhook_event.rbs +4 -14
  128. data/sig/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbs +4 -14
  129. data/sig/dodopayments/models/checkout_session_request.rbs +5 -0
  130. data/sig/dodopayments/models/credit_added_webhook_event.rbs +4 -14
  131. data/sig/dodopayments/models/credit_balance_low_webhook_event.rbs +4 -14
  132. data/sig/dodopayments/models/credit_deducted_webhook_event.rbs +4 -14
  133. data/sig/dodopayments/models/credit_expired_webhook_event.rbs +4 -14
  134. data/sig/dodopayments/models/credit_manual_adjustment_webhook_event.rbs +4 -14
  135. data/sig/dodopayments/models/credit_overage_charged_webhook_event.rbs +4 -14
  136. data/sig/dodopayments/models/credit_overage_reset_webhook_event.rbs +4 -14
  137. data/sig/dodopayments/models/credit_rolled_over_webhook_event.rbs +4 -14
  138. data/sig/dodopayments/models/credit_rollover_forfeited_webhook_event.rbs +4 -14
  139. data/sig/dodopayments/models/dispute_accepted_webhook_event.rbs +4 -14
  140. data/sig/dodopayments/models/dispute_cancelled_webhook_event.rbs +4 -14
  141. data/sig/dodopayments/models/dispute_challenged_webhook_event.rbs +4 -14
  142. data/sig/dodopayments/models/dispute_expired_webhook_event.rbs +4 -14
  143. data/sig/dodopayments/models/dispute_lost_webhook_event.rbs +4 -14
  144. data/sig/dodopayments/models/dispute_opened_webhook_event.rbs +4 -14
  145. data/sig/dodopayments/models/dispute_won_webhook_event.rbs +4 -14
  146. data/sig/dodopayments/models/dunning_recovered_webhook_event.rbs +4 -14
  147. data/sig/dodopayments/models/dunning_started_webhook_event.rbs +4 -14
  148. data/sig/dodopayments/models/entitlement_grant_created_webhook_event.rbs +4 -14
  149. data/sig/dodopayments/models/entitlement_grant_delivered_webhook_event.rbs +4 -14
  150. data/sig/dodopayments/models/entitlement_grant_failed_webhook_event.rbs +4 -14
  151. data/sig/dodopayments/models/entitlement_grant_revoked_webhook_event.rbs +4 -14
  152. data/sig/dodopayments/models/license_key_created_webhook_event.rbs +4 -14
  153. data/sig/dodopayments/models/payment.rbs +97 -0
  154. data/sig/dodopayments/models/payment_cancelled_webhook_event.rbs +4 -14
  155. data/sig/dodopayments/models/payment_create_params.rbs +5 -0
  156. data/sig/dodopayments/models/payment_create_response.rbs +5 -0
  157. data/sig/dodopayments/models/payment_failed_webhook_event.rbs +4 -14
  158. data/sig/dodopayments/models/payment_processing_webhook_event.rbs +4 -14
  159. data/sig/dodopayments/models/payment_succeeded_webhook_event.rbs +4 -14
  160. data/sig/dodopayments/models/price.rbs +15 -45
  161. data/sig/dodopayments/models/product_item_req.rbs +27 -3
  162. data/sig/dodopayments/models/refund_failed_webhook_event.rbs +4 -14
  163. data/sig/dodopayments/models/refund_succeeded_webhook_event.rbs +4 -14
  164. data/sig/dodopayments/models/subscription.rbs +97 -0
  165. data/sig/dodopayments/models/subscription_active_webhook_event.rbs +4 -14
  166. data/sig/dodopayments/models/subscription_cancelled_webhook_event.rbs +4 -14
  167. data/sig/dodopayments/models/subscription_create_params.rbs +5 -0
  168. data/sig/dodopayments/models/subscription_create_response.rbs +5 -0
  169. data/sig/dodopayments/models/subscription_expired_webhook_event.rbs +4 -14
  170. data/sig/dodopayments/models/subscription_failed_webhook_event.rbs +4 -14
  171. data/sig/dodopayments/models/subscription_list_response.rbs +24 -0
  172. data/sig/dodopayments/models/subscription_on_hold_webhook_event.rbs +4 -14
  173. data/sig/dodopayments/models/subscription_plan_changed_webhook_event.rbs +4 -14
  174. data/sig/dodopayments/models/subscription_preview_change_plan_response.rbs +15 -45
  175. data/sig/dodopayments/models/subscription_renewed_webhook_event.rbs +4 -14
  176. data/sig/dodopayments/models/subscription_update_payment_method_params.rbs +8 -48
  177. data/sig/dodopayments/models/subscription_updated_webhook_event.rbs +4 -14
  178. data/sig/dodopayments/models/update_subscription_plan_req.rbs +5 -0
  179. data/sig/dodopayments/models/webhook_event_type.rbs +6 -0
  180. data/sig/dodopayments/models/webhook_payload.rbs +50 -213
  181. data/sig/dodopayments/resources/checkout_sessions.rbs +2 -0
  182. data/sig/dodopayments/resources/payments.rbs +1 -0
  183. data/sig/dodopayments/resources/subscriptions.rbs +3 -0
  184. metadata +2 -2
@@ -32,6 +32,7 @@ module Dodopayments
32
32
  custom_field_responses: ::Array[Dodopayments::CustomFieldResponse]?,
33
33
  discount_cycles_remaining: Integer?,
34
34
  discount_id: String?,
35
+ discounts: ::Array[Dodopayments::Subscription::Discount]?,
35
36
  expires_at: Time?,
36
37
  payment_method_id: String?,
37
38
  scheduled_change: Dodopayments::ScheduledPlanChange?,
@@ -99,6 +100,8 @@ module Dodopayments
99
100
 
100
101
  attr_accessor discount_id: String?
101
102
 
103
+ attr_accessor discounts: ::Array[Dodopayments::Subscription::Discount]?
104
+
102
105
  attr_accessor expires_at: Time?
103
106
 
104
107
  attr_accessor payment_method_id: String?
@@ -138,6 +141,7 @@ module Dodopayments
138
141
  ?custom_field_responses: ::Array[Dodopayments::CustomFieldResponse]?,
139
142
  ?discount_cycles_remaining: Integer?,
140
143
  ?discount_id: String?,
144
+ ?discounts: ::Array[Dodopayments::Subscription::Discount]?,
141
145
  ?expires_at: Time?,
142
146
  ?payment_method_id: String?,
143
147
  ?scheduled_change: Dodopayments::ScheduledPlanChange?,
@@ -175,11 +179,104 @@ module Dodopayments
175
179
  custom_field_responses: ::Array[Dodopayments::CustomFieldResponse]?,
176
180
  discount_cycles_remaining: Integer?,
177
181
  discount_id: String?,
182
+ discounts: ::Array[Dodopayments::Subscription::Discount]?,
178
183
  expires_at: Time?,
179
184
  payment_method_id: String?,
180
185
  scheduled_change: Dodopayments::ScheduledPlanChange?,
181
186
  tax_id: String?
182
187
  }
188
+
189
+ type discount =
190
+ {
191
+ amount: Integer,
192
+ business_id: String,
193
+ code: String,
194
+ created_at: Time,
195
+ discount_id: String,
196
+ metadata: ::Hash[Symbol, String],
197
+ position: Integer,
198
+ preserve_on_plan_change: bool,
199
+ restricted_to: ::Array[String],
200
+ times_used: Integer,
201
+ type: Dodopayments::Models::discount_type,
202
+ cycles_remaining: Integer?,
203
+ expires_at: Time?,
204
+ name: String?,
205
+ subscription_cycles: Integer?,
206
+ usage_limit: Integer?
207
+ }
208
+
209
+ class Discount < Dodopayments::Internal::Type::BaseModel
210
+ attr_accessor amount: Integer
211
+
212
+ attr_accessor business_id: String
213
+
214
+ attr_accessor code: String
215
+
216
+ attr_accessor created_at: Time
217
+
218
+ attr_accessor discount_id: String
219
+
220
+ attr_accessor metadata: ::Hash[Symbol, String]
221
+
222
+ attr_accessor position: Integer
223
+
224
+ attr_accessor preserve_on_plan_change: bool
225
+
226
+ attr_accessor restricted_to: ::Array[String]
227
+
228
+ attr_accessor times_used: Integer
229
+
230
+ attr_accessor type: Dodopayments::Models::discount_type
231
+
232
+ attr_accessor cycles_remaining: Integer?
233
+
234
+ attr_accessor expires_at: Time?
235
+
236
+ attr_accessor name: String?
237
+
238
+ attr_accessor subscription_cycles: Integer?
239
+
240
+ attr_accessor usage_limit: Integer?
241
+
242
+ def initialize: (
243
+ amount: Integer,
244
+ business_id: String,
245
+ code: String,
246
+ created_at: Time,
247
+ discount_id: String,
248
+ metadata: ::Hash[Symbol, String],
249
+ position: Integer,
250
+ preserve_on_plan_change: bool,
251
+ restricted_to: ::Array[String],
252
+ times_used: Integer,
253
+ type: Dodopayments::Models::discount_type,
254
+ ?cycles_remaining: Integer?,
255
+ ?expires_at: Time?,
256
+ ?name: String?,
257
+ ?subscription_cycles: Integer?,
258
+ ?usage_limit: Integer?
259
+ ) -> void
260
+
261
+ def to_hash: -> {
262
+ amount: Integer,
263
+ business_id: String,
264
+ code: String,
265
+ created_at: Time,
266
+ discount_id: String,
267
+ metadata: ::Hash[Symbol, String],
268
+ position: Integer,
269
+ preserve_on_plan_change: bool,
270
+ restricted_to: ::Array[String],
271
+ times_used: Integer,
272
+ type: Dodopayments::Models::discount_type,
273
+ cycles_remaining: Integer?,
274
+ expires_at: Time?,
275
+ name: String?,
276
+ subscription_cycles: Integer?,
277
+ usage_limit: Integer?
278
+ }
279
+ end
183
280
  end
184
281
  end
185
282
  end
@@ -5,7 +5,7 @@ module Dodopayments
5
5
  business_id: String,
6
6
  data: Dodopayments::Subscription,
7
7
  timestamp: Time,
8
- type: Dodopayments::Models::SubscriptionActiveWebhookEvent::type_
8
+ type: :"subscription.active"
9
9
  }
10
10
 
11
11
  class SubscriptionActiveWebhookEvent < Dodopayments::Internal::Type::BaseModel
@@ -15,31 +15,21 @@ module Dodopayments
15
15
 
16
16
  attr_accessor timestamp: Time
17
17
 
18
- attr_accessor type: Dodopayments::Models::SubscriptionActiveWebhookEvent::type_
18
+ attr_accessor type: :"subscription.active"
19
19
 
20
20
  def initialize: (
21
21
  business_id: String,
22
22
  data: Dodopayments::Subscription,
23
23
  timestamp: Time,
24
- type: Dodopayments::Models::SubscriptionActiveWebhookEvent::type_
24
+ ?type: :"subscription.active"
25
25
  ) -> void
26
26
 
27
27
  def to_hash: -> {
28
28
  business_id: String,
29
29
  data: Dodopayments::Subscription,
30
30
  timestamp: Time,
31
- type: Dodopayments::Models::SubscriptionActiveWebhookEvent::type_
31
+ type: :"subscription.active"
32
32
  }
33
-
34
- type type_ = :"subscription.active"
35
-
36
- module Type
37
- extend Dodopayments::Internal::Type::Enum
38
-
39
- SUBSCRIPTION_ACTIVE: :"subscription.active"
40
-
41
- def self?.values: -> ::Array[Dodopayments::Models::SubscriptionActiveWebhookEvent::type_]
42
- end
43
33
  end
44
34
  end
45
35
  end
@@ -5,7 +5,7 @@ module Dodopayments
5
5
  business_id: String,
6
6
  data: Dodopayments::Subscription,
7
7
  timestamp: Time,
8
- type: Dodopayments::Models::SubscriptionCancelledWebhookEvent::type_
8
+ type: :"subscription.cancelled"
9
9
  }
10
10
 
11
11
  class SubscriptionCancelledWebhookEvent < Dodopayments::Internal::Type::BaseModel
@@ -15,31 +15,21 @@ module Dodopayments
15
15
 
16
16
  attr_accessor timestamp: Time
17
17
 
18
- attr_accessor type: Dodopayments::Models::SubscriptionCancelledWebhookEvent::type_
18
+ attr_accessor type: :"subscription.cancelled"
19
19
 
20
20
  def initialize: (
21
21
  business_id: String,
22
22
  data: Dodopayments::Subscription,
23
23
  timestamp: Time,
24
- type: Dodopayments::Models::SubscriptionCancelledWebhookEvent::type_
24
+ ?type: :"subscription.cancelled"
25
25
  ) -> void
26
26
 
27
27
  def to_hash: -> {
28
28
  business_id: String,
29
29
  data: Dodopayments::Subscription,
30
30
  timestamp: Time,
31
- type: Dodopayments::Models::SubscriptionCancelledWebhookEvent::type_
31
+ type: :"subscription.cancelled"
32
32
  }
33
-
34
- type type_ = :"subscription.cancelled"
35
-
36
- module Type
37
- extend Dodopayments::Internal::Type::Enum
38
-
39
- SUBSCRIPTION_CANCELLED: :"subscription.cancelled"
40
-
41
- def self?.values: -> ::Array[Dodopayments::Models::SubscriptionCancelledWebhookEvent::type_]
42
- end
43
33
  end
44
34
  end
45
35
  end
@@ -10,6 +10,7 @@ module Dodopayments
10
10
  allowed_payment_method_types: ::Array[Dodopayments::Models::payment_method_types]?,
11
11
  billing_currency: Dodopayments::Models::currency?,
12
12
  discount_code: String?,
13
+ discount_codes: ::Array[String]?,
13
14
  :force_3ds => bool?,
14
15
  mandate_min_amount_inr_paise: Integer?,
15
16
  metadata: ::Hash[Symbol, String],
@@ -47,6 +48,8 @@ module Dodopayments
47
48
 
48
49
  attr_accessor discount_code: String?
49
50
 
51
+ attr_accessor discount_codes: ::Array[String]?
52
+
50
53
  attr_accessor force_3ds: bool?
51
54
 
52
55
  attr_accessor mandate_min_amount_inr_paise: Integer?
@@ -92,6 +95,7 @@ module Dodopayments
92
95
  ?allowed_payment_method_types: ::Array[Dodopayments::Models::payment_method_types]?,
93
96
  ?billing_currency: Dodopayments::Models::currency?,
94
97
  ?discount_code: String?,
98
+ ?discount_codes: ::Array[String]?,
95
99
  ?force_3ds: bool?,
96
100
  ?mandate_min_amount_inr_paise: Integer?,
97
101
  ?metadata: ::Hash[Symbol, String],
@@ -118,6 +122,7 @@ module Dodopayments
118
122
  allowed_payment_method_types: ::Array[Dodopayments::Models::payment_method_types]?,
119
123
  billing_currency: Dodopayments::Models::currency?,
120
124
  discount_code: String?,
125
+ discount_codes: ::Array[String]?,
121
126
  :force_3ds => bool?,
122
127
  mandate_min_amount_inr_paise: Integer?,
123
128
  metadata: ::Hash[Symbol, String],
@@ -10,6 +10,7 @@ module Dodopayments
10
10
  subscription_id: String,
11
11
  client_secret: String?,
12
12
  discount_id: String?,
13
+ discount_ids: ::Array[String]?,
13
14
  expires_on: Time?,
14
15
  one_time_product_cart: ::Array[Dodopayments::Models::SubscriptionCreateResponse::OneTimeProductCart]?,
15
16
  payment_link: String?
@@ -32,6 +33,8 @@ module Dodopayments
32
33
 
33
34
  attr_accessor discount_id: String?
34
35
 
36
+ attr_accessor discount_ids: ::Array[String]?
37
+
35
38
  attr_accessor expires_on: Time?
36
39
 
37
40
  attr_accessor one_time_product_cart: ::Array[Dodopayments::Models::SubscriptionCreateResponse::OneTimeProductCart]?
@@ -47,6 +50,7 @@ module Dodopayments
47
50
  subscription_id: String,
48
51
  ?client_secret: String?,
49
52
  ?discount_id: String?,
53
+ ?discount_ids: ::Array[String]?,
50
54
  ?expires_on: Time?,
51
55
  ?one_time_product_cart: ::Array[Dodopayments::Models::SubscriptionCreateResponse::OneTimeProductCart]?,
52
56
  ?payment_link: String?
@@ -61,6 +65,7 @@ module Dodopayments
61
65
  subscription_id: String,
62
66
  client_secret: String?,
63
67
  discount_id: String?,
68
+ discount_ids: ::Array[String]?,
64
69
  expires_on: Time?,
65
70
  one_time_product_cart: ::Array[Dodopayments::Models::SubscriptionCreateResponse::OneTimeProductCart]?,
66
71
  payment_link: String?
@@ -5,7 +5,7 @@ module Dodopayments
5
5
  business_id: String,
6
6
  data: Dodopayments::Subscription,
7
7
  timestamp: Time,
8
- type: Dodopayments::Models::SubscriptionExpiredWebhookEvent::type_
8
+ type: :"subscription.expired"
9
9
  }
10
10
 
11
11
  class SubscriptionExpiredWebhookEvent < Dodopayments::Internal::Type::BaseModel
@@ -15,31 +15,21 @@ module Dodopayments
15
15
 
16
16
  attr_accessor timestamp: Time
17
17
 
18
- attr_accessor type: Dodopayments::Models::SubscriptionExpiredWebhookEvent::type_
18
+ attr_accessor type: :"subscription.expired"
19
19
 
20
20
  def initialize: (
21
21
  business_id: String,
22
22
  data: Dodopayments::Subscription,
23
23
  timestamp: Time,
24
- type: Dodopayments::Models::SubscriptionExpiredWebhookEvent::type_
24
+ ?type: :"subscription.expired"
25
25
  ) -> void
26
26
 
27
27
  def to_hash: -> {
28
28
  business_id: String,
29
29
  data: Dodopayments::Subscription,
30
30
  timestamp: Time,
31
- type: Dodopayments::Models::SubscriptionExpiredWebhookEvent::type_
31
+ type: :"subscription.expired"
32
32
  }
33
-
34
- type type_ = :"subscription.expired"
35
-
36
- module Type
37
- extend Dodopayments::Internal::Type::Enum
38
-
39
- SUBSCRIPTION_EXPIRED: :"subscription.expired"
40
-
41
- def self?.values: -> ::Array[Dodopayments::Models::SubscriptionExpiredWebhookEvent::type_]
42
- end
43
33
  end
44
34
  end
45
35
  end
@@ -5,7 +5,7 @@ module Dodopayments
5
5
  business_id: String,
6
6
  data: Dodopayments::Subscription,
7
7
  timestamp: Time,
8
- type: Dodopayments::Models::SubscriptionFailedWebhookEvent::type_
8
+ type: :"subscription.failed"
9
9
  }
10
10
 
11
11
  class SubscriptionFailedWebhookEvent < Dodopayments::Internal::Type::BaseModel
@@ -15,31 +15,21 @@ module Dodopayments
15
15
 
16
16
  attr_accessor timestamp: Time
17
17
 
18
- attr_accessor type: Dodopayments::Models::SubscriptionFailedWebhookEvent::type_
18
+ attr_accessor type: :"subscription.failed"
19
19
 
20
20
  def initialize: (
21
21
  business_id: String,
22
22
  data: Dodopayments::Subscription,
23
23
  timestamp: Time,
24
- type: Dodopayments::Models::SubscriptionFailedWebhookEvent::type_
24
+ ?type: :"subscription.failed"
25
25
  ) -> void
26
26
 
27
27
  def to_hash: -> {
28
28
  business_id: String,
29
29
  data: Dodopayments::Subscription,
30
30
  timestamp: Time,
31
- type: Dodopayments::Models::SubscriptionFailedWebhookEvent::type_
31
+ type: :"subscription.failed"
32
32
  }
33
-
34
- type type_ = :"subscription.failed"
35
-
36
- module Type
37
- extend Dodopayments::Internal::Type::Enum
38
-
39
- SUBSCRIPTION_FAILED: :"subscription.failed"
40
-
41
- def self?.values: -> ::Array[Dodopayments::Models::SubscriptionFailedWebhookEvent::type_]
42
- end
43
33
  end
44
34
  end
45
35
  end
@@ -7,6 +7,7 @@ module Dodopayments
7
7
  created_at: Time,
8
8
  currency: Dodopayments::Models::currency,
9
9
  customer: Dodopayments::CustomerLimitedDetails,
10
+ discounts: ::Array[Dodopayments::Models::SubscriptionListResponse::Discount],
10
11
  metadata: ::Hash[Symbol, String],
11
12
  next_billing_date: Time,
12
13
  on_demand: bool,
@@ -42,6 +43,8 @@ module Dodopayments
42
43
 
43
44
  attr_accessor customer: Dodopayments::CustomerLimitedDetails
44
45
 
46
+ attr_accessor discounts: ::Array[Dodopayments::Models::SubscriptionListResponse::Discount]
47
+
45
48
  attr_accessor metadata: ::Hash[Symbol, String]
46
49
 
47
50
  attr_accessor next_billing_date: Time
@@ -92,6 +95,7 @@ module Dodopayments
92
95
  created_at: Time,
93
96
  currency: Dodopayments::Models::currency,
94
97
  customer: Dodopayments::CustomerLimitedDetails,
98
+ discounts: ::Array[Dodopayments::Models::SubscriptionListResponse::Discount],
95
99
  metadata: ::Hash[Symbol, String],
96
100
  next_billing_date: Time,
97
101
  on_demand: bool,
@@ -122,6 +126,7 @@ module Dodopayments
122
126
  created_at: Time,
123
127
  currency: Dodopayments::Models::currency,
124
128
  customer: Dodopayments::CustomerLimitedDetails,
129
+ discounts: ::Array[Dodopayments::Models::SubscriptionListResponse::Discount],
125
130
  metadata: ::Hash[Symbol, String],
126
131
  next_billing_date: Time,
127
132
  on_demand: bool,
@@ -145,6 +150,25 @@ module Dodopayments
145
150
  scheduled_change: Dodopayments::ScheduledPlanChange?,
146
151
  tax_id: String?
147
152
  }
153
+
154
+ type discount =
155
+ { discount_id: String, discount_cycles_remaining: Integer? }
156
+
157
+ class Discount < Dodopayments::Internal::Type::BaseModel
158
+ attr_accessor discount_id: String
159
+
160
+ attr_accessor discount_cycles_remaining: Integer?
161
+
162
+ def initialize: (
163
+ discount_id: String,
164
+ ?discount_cycles_remaining: Integer?
165
+ ) -> void
166
+
167
+ def to_hash: -> {
168
+ discount_id: String,
169
+ discount_cycles_remaining: Integer?
170
+ }
171
+ end
148
172
  end
149
173
  end
150
174
  end
@@ -5,7 +5,7 @@ module Dodopayments
5
5
  business_id: String,
6
6
  data: Dodopayments::Subscription,
7
7
  timestamp: Time,
8
- type: Dodopayments::Models::SubscriptionOnHoldWebhookEvent::type_
8
+ type: :"subscription.on_hold"
9
9
  }
10
10
 
11
11
  class SubscriptionOnHoldWebhookEvent < Dodopayments::Internal::Type::BaseModel
@@ -15,31 +15,21 @@ module Dodopayments
15
15
 
16
16
  attr_accessor timestamp: Time
17
17
 
18
- attr_accessor type: Dodopayments::Models::SubscriptionOnHoldWebhookEvent::type_
18
+ attr_accessor type: :"subscription.on_hold"
19
19
 
20
20
  def initialize: (
21
21
  business_id: String,
22
22
  data: Dodopayments::Subscription,
23
23
  timestamp: Time,
24
- type: Dodopayments::Models::SubscriptionOnHoldWebhookEvent::type_
24
+ ?type: :"subscription.on_hold"
25
25
  ) -> void
26
26
 
27
27
  def to_hash: -> {
28
28
  business_id: String,
29
29
  data: Dodopayments::Subscription,
30
30
  timestamp: Time,
31
- type: Dodopayments::Models::SubscriptionOnHoldWebhookEvent::type_
31
+ type: :"subscription.on_hold"
32
32
  }
33
-
34
- type type_ = :"subscription.on_hold"
35
-
36
- module Type
37
- extend Dodopayments::Internal::Type::Enum
38
-
39
- SUBSCRIPTION_ON_HOLD: :"subscription.on_hold"
40
-
41
- def self?.values: -> ::Array[Dodopayments::Models::SubscriptionOnHoldWebhookEvent::type_]
42
- end
43
33
  end
44
34
  end
45
35
  end
@@ -5,7 +5,7 @@ module Dodopayments
5
5
  business_id: String,
6
6
  data: Dodopayments::Subscription,
7
7
  timestamp: Time,
8
- type: Dodopayments::Models::SubscriptionPlanChangedWebhookEvent::type_
8
+ type: :"subscription.plan_changed"
9
9
  }
10
10
 
11
11
  class SubscriptionPlanChangedWebhookEvent < Dodopayments::Internal::Type::BaseModel
@@ -15,31 +15,21 @@ module Dodopayments
15
15
 
16
16
  attr_accessor timestamp: Time
17
17
 
18
- attr_accessor type: Dodopayments::Models::SubscriptionPlanChangedWebhookEvent::type_
18
+ attr_accessor type: :"subscription.plan_changed"
19
19
 
20
20
  def initialize: (
21
21
  business_id: String,
22
22
  data: Dodopayments::Subscription,
23
23
  timestamp: Time,
24
- type: Dodopayments::Models::SubscriptionPlanChangedWebhookEvent::type_
24
+ ?type: :"subscription.plan_changed"
25
25
  ) -> void
26
26
 
27
27
  def to_hash: -> {
28
28
  business_id: String,
29
29
  data: Dodopayments::Subscription,
30
30
  timestamp: Time,
31
- type: Dodopayments::Models::SubscriptionPlanChangedWebhookEvent::type_
31
+ type: :"subscription.plan_changed"
32
32
  }
33
-
34
- type type_ = :"subscription.plan_changed"
35
-
36
- module Type
37
- extend Dodopayments::Internal::Type::Enum
38
-
39
- SUBSCRIPTION_PLAN_CHANGED: :"subscription.plan_changed"
40
-
41
- def self?.values: -> ::Array[Dodopayments::Models::SubscriptionPlanChangedWebhookEvent::type_]
42
- end
43
33
  end
44
34
  end
45
35
  end
@@ -63,7 +63,7 @@ module Dodopayments
63
63
  proration_factor: Float,
64
64
  quantity: Integer,
65
65
  tax_inclusive: bool,
66
- type: Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Subscription::type_,
66
+ type: :subscription,
67
67
  unit_price: Integer,
68
68
  description: String?,
69
69
  name: String?,
@@ -84,7 +84,7 @@ module Dodopayments
84
84
 
85
85
  attr_accessor tax_inclusive: bool
86
86
 
87
- attr_accessor type: Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Subscription::type_
87
+ attr_accessor type: :subscription
88
88
 
89
89
  attr_accessor unit_price: Integer
90
90
 
@@ -103,12 +103,12 @@ module Dodopayments
103
103
  proration_factor: Float,
104
104
  quantity: Integer,
105
105
  tax_inclusive: bool,
106
- type: Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Subscription::type_,
107
106
  unit_price: Integer,
108
107
  ?description: String?,
109
108
  ?name: String?,
110
109
  ?tax: Integer?,
111
- ?tax_rate: Float?
110
+ ?tax_rate: Float?,
111
+ ?type: :subscription
112
112
  ) -> void
113
113
 
114
114
  def to_hash: -> {
@@ -118,23 +118,13 @@ module Dodopayments
118
118
  proration_factor: Float,
119
119
  quantity: Integer,
120
120
  tax_inclusive: bool,
121
- type: Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Subscription::type_,
121
+ type: :subscription,
122
122
  unit_price: Integer,
123
123
  description: String?,
124
124
  name: String?,
125
125
  tax: Integer?,
126
126
  tax_rate: Float?
127
127
  }
128
-
129
- type type_ = :subscription
130
-
131
- module Type
132
- extend Dodopayments::Internal::Type::Enum
133
-
134
- SUBSCRIPTION: :subscription
135
-
136
- def self?.values: -> ::Array[Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Subscription::type_]
137
- end
138
128
  end
139
129
 
140
130
  type addon =
@@ -147,7 +137,7 @@ module Dodopayments
147
137
  tax_category: Dodopayments::Models::tax_category,
148
138
  tax_inclusive: bool,
149
139
  tax_rate: Float,
150
- type: Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Addon::type_,
140
+ type: :addon,
151
141
  unit_price: Integer,
152
142
  description: String?,
153
143
  tax: Integer?
@@ -170,7 +160,7 @@ module Dodopayments
170
160
 
171
161
  attr_accessor tax_rate: Float
172
162
 
173
- attr_accessor type: Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Addon::type_
163
+ attr_accessor type: :addon
174
164
 
175
165
  attr_accessor unit_price: Integer
176
166
 
@@ -187,10 +177,10 @@ module Dodopayments
187
177
  tax_category: Dodopayments::Models::tax_category,
188
178
  tax_inclusive: bool,
189
179
  tax_rate: Float,
190
- type: Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Addon::type_,
191
180
  unit_price: Integer,
192
181
  ?description: String?,
193
- ?tax: Integer?
182
+ ?tax: Integer?,
183
+ ?type: :addon
194
184
  ) -> void
195
185
 
196
186
  def to_hash: -> {
@@ -202,21 +192,11 @@ module Dodopayments
202
192
  tax_category: Dodopayments::Models::tax_category,
203
193
  tax_inclusive: bool,
204
194
  tax_rate: Float,
205
- type: Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Addon::type_,
195
+ type: :addon,
206
196
  unit_price: Integer,
207
197
  description: String?,
208
198
  tax: Integer?
209
199
  }
210
-
211
- type type_ = :addon
212
-
213
- module Type
214
- extend Dodopayments::Internal::Type::Enum
215
-
216
- ADDON: :addon
217
-
218
- def self?.values: -> ::Array[Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Addon::type_]
219
- end
220
200
  end
221
201
 
222
202
  type meter =
@@ -230,7 +210,7 @@ module Dodopayments
230
210
  subtotal: Integer,
231
211
  tax_inclusive: bool,
232
212
  tax_rate: Float,
233
- type: Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Meter::type_,
213
+ type: :meter,
234
214
  units_consumed: String,
235
215
  description: String?,
236
216
  tax: Integer?
@@ -255,7 +235,7 @@ module Dodopayments
255
235
 
256
236
  attr_accessor tax_rate: Float
257
237
 
258
- attr_accessor type: Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Meter::type_
238
+ attr_accessor type: :meter
259
239
 
260
240
  attr_accessor units_consumed: String
261
241
 
@@ -273,10 +253,10 @@ module Dodopayments
273
253
  subtotal: Integer,
274
254
  tax_inclusive: bool,
275
255
  tax_rate: Float,
276
- type: Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Meter::type_,
277
256
  units_consumed: String,
278
257
  ?description: String?,
279
- ?tax: Integer?
258
+ ?tax: Integer?,
259
+ ?type: :meter
280
260
  ) -> void
281
261
 
282
262
  def to_hash: -> {
@@ -289,21 +269,11 @@ module Dodopayments
289
269
  subtotal: Integer,
290
270
  tax_inclusive: bool,
291
271
  tax_rate: Float,
292
- type: Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Meter::type_,
272
+ type: :meter,
293
273
  units_consumed: String,
294
274
  description: String?,
295
275
  tax: Integer?
296
276
  }
297
-
298
- type type_ = :meter
299
-
300
- module Type
301
- extend Dodopayments::Internal::Type::Enum
302
-
303
- METER: :meter
304
-
305
- def self?.values: -> ::Array[Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::LineItem::Meter::type_]
306
- end
307
277
  end
308
278
 
309
279
  def self?.variants: -> ::Array[Dodopayments::Models::SubscriptionPreviewChangePlanResponse::ImmediateCharge::line_item]