dodopayments 2.8.0 → 2.9.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 (195) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/client.rb +4 -0
  5. data/lib/dodopayments/models/attach_product_entitlement.rb +22 -0
  6. data/lib/dodopayments/models/cancellation_feedback.rb +21 -0
  7. data/lib/dodopayments/models/checkout_session_flags.rb +12 -1
  8. data/lib/dodopayments/models/checkout_session_request.rb +14 -1
  9. data/lib/dodopayments/models/credit_entitlements/credit_ledger_entry.rb +1 -0
  10. data/lib/dodopayments/models/credit_overage_reset_webhook_event.rb +52 -0
  11. data/lib/dodopayments/models/customer_list_entitlements_params.rb +20 -0
  12. data/lib/dodopayments/models/customer_list_entitlements_response.rb +105 -0
  13. data/lib/dodopayments/models/digital_product_delivery.rb +13 -15
  14. data/lib/dodopayments/models/digital_product_delivery_file.rb +32 -8
  15. data/lib/dodopayments/models/entitlement.rb +86 -0
  16. data/lib/dodopayments/models/entitlement_create_params.rb +54 -0
  17. data/lib/dodopayments/models/entitlement_delete_params.rb +20 -0
  18. data/lib/dodopayments/models/entitlement_grant_created_webhook_event.rb +51 -0
  19. data/lib/dodopayments/models/entitlement_grant_delivered_webhook_event.rb +51 -0
  20. data/lib/dodopayments/models/entitlement_grant_failed_webhook_event.rb +51 -0
  21. data/lib/dodopayments/models/entitlement_grant_revoked_webhook_event.rb +51 -0
  22. data/lib/dodopayments/models/entitlement_integration_type.rb +21 -0
  23. data/lib/dodopayments/models/entitlement_list_params.rb +55 -0
  24. data/lib/dodopayments/models/entitlement_retrieve_params.rb +20 -0
  25. data/lib/dodopayments/models/entitlement_update_params.rb +54 -0
  26. data/lib/dodopayments/models/entitlements/entitlement_grant.rb +172 -0
  27. data/lib/dodopayments/models/entitlements/file_delete_params.rb +28 -0
  28. data/lib/dodopayments/models/entitlements/file_upload_params.rb +22 -0
  29. data/lib/dodopayments/models/entitlements/file_upload_response.rb +23 -0
  30. data/lib/dodopayments/models/entitlements/grant_list_params.rb +68 -0
  31. data/lib/dodopayments/models/entitlements/grant_revoke_params.rb +28 -0
  32. data/lib/dodopayments/models/entitlements/license_key_grant.rb +40 -0
  33. data/lib/dodopayments/models/integration_config.rb +174 -0
  34. data/lib/dodopayments/models/integration_config_response.rb +238 -0
  35. data/lib/dodopayments/models/license_key_instance_list_params.rb +9 -1
  36. data/lib/dodopayments/models/one_time_product_cart_item.rb +15 -1
  37. data/lib/dodopayments/models/payment.rb +19 -3
  38. data/lib/dodopayments/models/payment_create_params.rb +23 -35
  39. data/lib/dodopayments/models/payment_create_response.rb +3 -33
  40. data/lib/dodopayments/models/product.rb +12 -217
  41. data/lib/dodopayments/models/product_create_params.rb +25 -6
  42. data/lib/dodopayments/models/product_entitlement_summary.rb +57 -0
  43. data/lib/dodopayments/models/product_list_response.rb +3 -218
  44. data/lib/dodopayments/models/product_update_params.rb +21 -7
  45. data/lib/dodopayments/models/scheduled_plan_change.rb +99 -0
  46. data/lib/dodopayments/models/subscription.rb +20 -102
  47. data/lib/dodopayments/models/subscription_create_params.rb +27 -37
  48. data/lib/dodopayments/models/subscription_create_response.rb +19 -3
  49. data/lib/dodopayments/models/subscription_list_response.rb +3 -103
  50. data/lib/dodopayments/models/subscription_update_params.rb +23 -1
  51. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +11 -1
  52. data/lib/dodopayments/models/unwrap_webhook_event.rb +11 -1
  53. data/lib/dodopayments/models/update_subscription_plan_req.rb +10 -1
  54. data/lib/dodopayments/models/webhook_event_type.rb +1 -0
  55. data/lib/dodopayments/models/webhook_payload.rb +2 -154
  56. data/lib/dodopayments/models.rb +40 -0
  57. data/lib/dodopayments/resources/checkout_sessions.rb +6 -2
  58. data/lib/dodopayments/resources/customers.rb +20 -0
  59. data/lib/dodopayments/resources/entitlements/files.rb +70 -0
  60. data/lib/dodopayments/resources/entitlements/grants.rb +78 -0
  61. data/lib/dodopayments/resources/entitlements.rb +153 -0
  62. data/lib/dodopayments/resources/license_key_instances.rb +3 -1
  63. data/lib/dodopayments/resources/payments.rb +6 -2
  64. data/lib/dodopayments/resources/products.rb +4 -4
  65. data/lib/dodopayments/resources/subscriptions.rb +20 -5
  66. data/lib/dodopayments/resources/webhooks.rb +2 -2
  67. data/lib/dodopayments/version.rb +1 -1
  68. data/lib/dodopayments.rb +30 -0
  69. data/rbi/dodopayments/client.rbi +3 -0
  70. data/rbi/dodopayments/models/attach_product_entitlement.rbi +35 -0
  71. data/rbi/dodopayments/models/cancellation_feedback.rbi +45 -0
  72. data/rbi/dodopayments/models/checkout_session_flags.rbi +20 -3
  73. data/rbi/dodopayments/models/checkout_session_request.rbi +18 -0
  74. data/rbi/dodopayments/models/credit_entitlements/credit_ledger_entry.rbi +5 -0
  75. data/rbi/dodopayments/models/credit_overage_reset_webhook_event.rbi +103 -0
  76. data/rbi/dodopayments/models/customer_list_entitlements_params.rbi +38 -0
  77. data/rbi/dodopayments/models/customer_list_entitlements_response.rbi +189 -0
  78. data/rbi/dodopayments/models/digital_product_delivery.rbi +10 -22
  79. data/rbi/dodopayments/models/digital_product_delivery_file.rbi +40 -8
  80. data/rbi/dodopayments/models/entitlement.rbi +112 -0
  81. data/rbi/dodopayments/models/entitlement_create_params.rbi +112 -0
  82. data/rbi/dodopayments/models/entitlement_delete_params.rbi +38 -0
  83. data/rbi/dodopayments/models/entitlement_grant_created_webhook_event.rbi +103 -0
  84. data/rbi/dodopayments/models/entitlement_grant_delivered_webhook_event.rbi +103 -0
  85. data/rbi/dodopayments/models/entitlement_grant_failed_webhook_event.rbi +102 -0
  86. data/rbi/dodopayments/models/entitlement_grant_revoked_webhook_event.rbi +103 -0
  87. data/rbi/dodopayments/models/entitlement_integration_type.rbi +44 -0
  88. data/rbi/dodopayments/models/entitlement_list_params.rbi +146 -0
  89. data/rbi/dodopayments/models/entitlement_retrieve_params.rbi +38 -0
  90. data/rbi/dodopayments/models/entitlement_update_params.rbi +111 -0
  91. data/rbi/dodopayments/models/entitlements/entitlement_grant.rbi +235 -0
  92. data/rbi/dodopayments/models/entitlements/file_delete_params.rbi +48 -0
  93. data/rbi/dodopayments/models/entitlements/file_upload_params.rbi +40 -0
  94. data/rbi/dodopayments/models/entitlements/file_upload_response.rbi +34 -0
  95. data/rbi/dodopayments/models/entitlements/grant_list_params.rbi +145 -0
  96. data/rbi/dodopayments/models/entitlements/grant_revoke_params.rbi +48 -0
  97. data/rbi/dodopayments/models/entitlements/license_key_grant.rbi +62 -0
  98. data/rbi/dodopayments/models/integration_config.rbi +296 -0
  99. data/rbi/dodopayments/models/integration_config_response.rbi +416 -0
  100. data/rbi/dodopayments/models/license_key_instance_list_params.rbi +8 -0
  101. data/rbi/dodopayments/models/one_time_product_cart_item.rbi +24 -3
  102. data/rbi/dodopayments/models/payment.rbi +31 -3
  103. data/rbi/dodopayments/models/payment_create_params.rbi +28 -56
  104. data/rbi/dodopayments/models/payment_create_response.rbi +3 -68
  105. data/rbi/dodopayments/models/product.rbi +12 -420
  106. data/rbi/dodopayments/models/product_create_params.rbi +43 -7
  107. data/rbi/dodopayments/models/product_entitlement_summary.rbi +88 -0
  108. data/rbi/dodopayments/models/product_list_response.rbi +3 -430
  109. data/rbi/dodopayments/models/product_update_params.rbi +35 -9
  110. data/rbi/dodopayments/models/scheduled_plan_change.rbi +141 -0
  111. data/rbi/dodopayments/models/subscription.rbi +24 -149
  112. data/rbi/dodopayments/models/subscription_create_params.rbi +36 -68
  113. data/rbi/dodopayments/models/subscription_create_response.rbi +47 -3
  114. data/rbi/dodopayments/models/subscription_list_response.rbi +4 -167
  115. data/rbi/dodopayments/models/subscription_update_params.rbi +27 -0
  116. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +5 -0
  117. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +5 -0
  118. data/rbi/dodopayments/models/update_subscription_plan_req.rbi +10 -0
  119. data/rbi/dodopayments/models/webhook_event_type.rbi +5 -0
  120. data/rbi/dodopayments/models/webhook_payload.rbi +4 -197
  121. data/rbi/dodopayments/models.rbi +46 -0
  122. data/rbi/dodopayments/resources/checkout_sessions.rbi +16 -0
  123. data/rbi/dodopayments/resources/customers.rbi +14 -0
  124. data/rbi/dodopayments/resources/entitlements/files.rbi +52 -0
  125. data/rbi/dodopayments/resources/entitlements/grants.rbi +65 -0
  126. data/rbi/dodopayments/resources/entitlements.rbi +143 -0
  127. data/rbi/dodopayments/resources/license_key_instances.rbi +3 -0
  128. data/rbi/dodopayments/resources/payments.rbi +10 -2
  129. data/rbi/dodopayments/resources/products.rbi +34 -7
  130. data/rbi/dodopayments/resources/subscriptions.rbi +31 -5
  131. data/rbi/dodopayments/resources/webhooks.rbi +10 -0
  132. data/sig/dodopayments/client.rbs +2 -0
  133. data/sig/dodopayments/models/attach_product_entitlement.rbs +13 -0
  134. data/sig/dodopayments/models/cancellation_feedback.rbs +28 -0
  135. data/sig/dodopayments/models/checkout_session_flags.rbs +10 -3
  136. data/sig/dodopayments/models/checkout_session_request.rbs +5 -0
  137. data/sig/dodopayments/models/credit_entitlements/credit_ledger_entry.rbs +2 -0
  138. data/sig/dodopayments/models/credit_overage_reset_webhook_event.rbs +45 -0
  139. data/sig/dodopayments/models/customer_list_entitlements_params.rbs +23 -0
  140. data/sig/dodopayments/models/customer_list_entitlements_response.rbs +95 -0
  141. data/sig/dodopayments/models/digital_product_delivery.rbs +5 -5
  142. data/sig/dodopayments/models/digital_product_delivery_file.rbs +32 -5
  143. data/sig/dodopayments/models/entitlement.rbs +67 -0
  144. data/sig/dodopayments/models/entitlement_create_params.rbs +46 -0
  145. data/sig/dodopayments/models/entitlement_delete_params.rbs +23 -0
  146. data/sig/dodopayments/models/entitlement_grant_created_webhook_event.rbs +45 -0
  147. data/sig/dodopayments/models/entitlement_grant_delivered_webhook_event.rbs +45 -0
  148. data/sig/dodopayments/models/entitlement_grant_failed_webhook_event.rbs +45 -0
  149. data/sig/dodopayments/models/entitlement_grant_revoked_webhook_event.rbs +45 -0
  150. data/sig/dodopayments/models/entitlement_integration_type.rbs +28 -0
  151. data/sig/dodopayments/models/entitlement_list_params.rbs +69 -0
  152. data/sig/dodopayments/models/entitlement_retrieve_params.rbs +23 -0
  153. data/sig/dodopayments/models/entitlement_update_params.rbs +46 -0
  154. data/sig/dodopayments/models/entitlements/entitlement_grant.rbs +134 -0
  155. data/sig/dodopayments/models/entitlements/file_delete_params.rbs +30 -0
  156. data/sig/dodopayments/models/entitlements/file_upload_params.rbs +25 -0
  157. data/sig/dodopayments/models/entitlements/file_upload_response.rbs +15 -0
  158. data/sig/dodopayments/models/entitlements/grant_list_params.rbs +71 -0
  159. data/sig/dodopayments/models/entitlements/grant_revoke_params.rbs +30 -0
  160. data/sig/dodopayments/models/entitlements/license_key_grant.rbs +37 -0
  161. data/sig/dodopayments/models/integration_config.rbs +147 -0
  162. data/sig/dodopayments/models/integration_config_response.rbs +206 -0
  163. data/sig/dodopayments/models/license_key_instance_list_params.rbs +10 -1
  164. data/sig/dodopayments/models/one_time_product_cart_item.rbs +14 -3
  165. data/sig/dodopayments/models/payment.rbs +16 -4
  166. data/sig/dodopayments/models/payment_create_params.rbs +16 -27
  167. data/sig/dodopayments/models/payment_create_response.rbs +4 -27
  168. data/sig/dodopayments/models/product.rbs +4 -205
  169. data/sig/dodopayments/models/product_create_params.rbs +4 -4
  170. data/sig/dodopayments/models/product_entitlement_summary.rbs +40 -0
  171. data/sig/dodopayments/models/product_list_response.rbs +4 -205
  172. data/sig/dodopayments/models/product_update_params.rbs +4 -4
  173. data/sig/dodopayments/models/scheduled_plan_change.rbs +73 -0
  174. data/sig/dodopayments/models/subscription.rbs +14 -74
  175. data/sig/dodopayments/models/subscription_create_params.rbs +16 -27
  176. data/sig/dodopayments/models/subscription_create_response.rbs +16 -4
  177. data/sig/dodopayments/models/subscription_list_response.rbs +4 -74
  178. data/sig/dodopayments/models/subscription_update_params.rbs +12 -0
  179. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +5 -0
  180. data/sig/dodopayments/models/unwrap_webhook_event.rbs +5 -0
  181. data/sig/dodopayments/models/update_subscription_plan_req.rbs +5 -0
  182. data/sig/dodopayments/models/webhook_event_type.rbs +2 -0
  183. data/sig/dodopayments/models/webhook_payload.rbs +8 -134
  184. data/sig/dodopayments/models.rbs +40 -0
  185. data/sig/dodopayments/resources/checkout_sessions.rbs +2 -0
  186. data/sig/dodopayments/resources/customers.rbs +5 -0
  187. data/sig/dodopayments/resources/entitlements/files.rbs +20 -0
  188. data/sig/dodopayments/resources/entitlements/grants.rbs +24 -0
  189. data/sig/dodopayments/resources/entitlements.rbs +46 -0
  190. data/sig/dodopayments/resources/license_key_instances.rbs +1 -0
  191. data/sig/dodopayments/resources/payments.rbs +3 -1
  192. data/sig/dodopayments/resources/products.rbs +2 -2
  193. data/sig/dodopayments/resources/subscriptions.rbs +7 -1
  194. data/sig/dodopayments/resources/webhooks.rbs +10 -0
  195. metadata +92 -2
@@ -122,21 +122,12 @@ module Dodopayments
122
122
  attr_accessor :product_name
123
123
 
124
124
  # Scheduled plan change details, if any
125
- sig do
126
- returns(
127
- T.nilable(
128
- Dodopayments::Models::SubscriptionListResponse::ScheduledChange
129
- )
130
- )
131
- end
125
+ sig { returns(T.nilable(Dodopayments::ScheduledPlanChange)) }
132
126
  attr_reader :scheduled_change
133
127
 
134
128
  sig do
135
129
  params(
136
- scheduled_change:
137
- T.nilable(
138
- Dodopayments::Models::SubscriptionListResponse::ScheduledChange::OrHash
139
- )
130
+ scheduled_change: T.nilable(Dodopayments::ScheduledPlanChange::OrHash)
140
131
  ).void
141
132
  end
142
133
  attr_writer :scheduled_change
@@ -174,9 +165,7 @@ module Dodopayments
174
165
  payment_method_id: T.nilable(String),
175
166
  product_name: T.nilable(String),
176
167
  scheduled_change:
177
- T.nilable(
178
- Dodopayments::Models::SubscriptionListResponse::ScheduledChange::OrHash
179
- ),
168
+ T.nilable(Dodopayments::ScheduledPlanChange::OrHash),
180
169
  tax_id: T.nilable(String)
181
170
  ).returns(T.attached_class)
182
171
  end
@@ -270,165 +259,13 @@ module Dodopayments
270
259
  discount_id: T.nilable(String),
271
260
  payment_method_id: T.nilable(String),
272
261
  product_name: T.nilable(String),
273
- scheduled_change:
274
- T.nilable(
275
- Dodopayments::Models::SubscriptionListResponse::ScheduledChange
276
- ),
262
+ scheduled_change: T.nilable(Dodopayments::ScheduledPlanChange),
277
263
  tax_id: T.nilable(String)
278
264
  }
279
265
  )
280
266
  end
281
267
  def to_hash
282
268
  end
283
-
284
- class ScheduledChange < Dodopayments::Internal::Type::BaseModel
285
- OrHash =
286
- T.type_alias do
287
- T.any(
288
- Dodopayments::Models::SubscriptionListResponse::ScheduledChange,
289
- Dodopayments::Internal::AnyHash
290
- )
291
- end
292
-
293
- # The scheduled plan change ID
294
- sig { returns(String) }
295
- attr_accessor :id
296
-
297
- # Addons included in the scheduled change
298
- sig do
299
- returns(
300
- T::Array[
301
- Dodopayments::Models::SubscriptionListResponse::ScheduledChange::Addon
302
- ]
303
- )
304
- end
305
- attr_accessor :addons
306
-
307
- # When this scheduled change was created
308
- sig { returns(Time) }
309
- attr_accessor :created_at
310
-
311
- # When the change will be applied
312
- sig { returns(Time) }
313
- attr_accessor :effective_at
314
-
315
- # The product ID the subscription will change to
316
- sig { returns(String) }
317
- attr_accessor :product_id
318
-
319
- # Quantity for the new plan
320
- sig { returns(Integer) }
321
- attr_accessor :quantity
322
-
323
- # Description of the product being changed to
324
- sig { returns(T.nilable(String)) }
325
- attr_accessor :product_description
326
-
327
- # Name of the product being changed to
328
- sig { returns(T.nilable(String)) }
329
- attr_accessor :product_name
330
-
331
- # Scheduled plan change details, if any
332
- sig do
333
- params(
334
- id: String,
335
- addons:
336
- T::Array[
337
- Dodopayments::Models::SubscriptionListResponse::ScheduledChange::Addon::OrHash
338
- ],
339
- created_at: Time,
340
- effective_at: Time,
341
- product_id: String,
342
- quantity: Integer,
343
- product_description: T.nilable(String),
344
- product_name: T.nilable(String)
345
- ).returns(T.attached_class)
346
- end
347
- def self.new(
348
- # The scheduled plan change ID
349
- id:,
350
- # Addons included in the scheduled change
351
- addons:,
352
- # When this scheduled change was created
353
- created_at:,
354
- # When the change will be applied
355
- effective_at:,
356
- # The product ID the subscription will change to
357
- product_id:,
358
- # Quantity for the new plan
359
- quantity:,
360
- # Description of the product being changed to
361
- product_description: nil,
362
- # Name of the product being changed to
363
- product_name: nil
364
- )
365
- end
366
-
367
- sig do
368
- override.returns(
369
- {
370
- id: String,
371
- addons:
372
- T::Array[
373
- Dodopayments::Models::SubscriptionListResponse::ScheduledChange::Addon
374
- ],
375
- created_at: Time,
376
- effective_at: Time,
377
- product_id: String,
378
- quantity: Integer,
379
- product_description: T.nilable(String),
380
- product_name: T.nilable(String)
381
- }
382
- )
383
- end
384
- def to_hash
385
- end
386
-
387
- class Addon < Dodopayments::Internal::Type::BaseModel
388
- OrHash =
389
- T.type_alias do
390
- T.any(
391
- Dodopayments::Models::SubscriptionListResponse::ScheduledChange::Addon,
392
- Dodopayments::Internal::AnyHash
393
- )
394
- end
395
-
396
- # The addon ID
397
- sig { returns(String) }
398
- attr_accessor :addon_id
399
-
400
- # Name of the addon
401
- sig { returns(String) }
402
- attr_accessor :name
403
-
404
- # Quantity of the addon
405
- sig { returns(Integer) }
406
- attr_accessor :quantity
407
-
408
- sig do
409
- params(addon_id: String, name: String, quantity: Integer).returns(
410
- T.attached_class
411
- )
412
- end
413
- def self.new(
414
- # The addon ID
415
- addon_id:,
416
- # Name of the addon
417
- name:,
418
- # Quantity of the addon
419
- quantity:
420
- )
421
- end
422
-
423
- sig do
424
- override.returns(
425
- { addon_id: String, name: String, quantity: Integer }
426
- )
427
- end
428
- def to_hash
429
- end
430
- end
431
- end
432
269
  end
433
270
  end
434
271
  end
@@ -38,6 +38,16 @@ module Dodopayments
38
38
  end
39
39
  attr_accessor :cancel_reason
40
40
 
41
+ # Free-text cancellation comment (only valid when cancelling or scheduling
42
+ # cancellation).
43
+ sig { returns(T.nilable(String)) }
44
+ attr_accessor :cancellation_comment
45
+
46
+ # Customer-supplied churn reason (only valid when cancelling or scheduling
47
+ # cancellation).
48
+ sig { returns(T.nilable(Dodopayments::CancellationFeedback::OrSymbol)) }
49
+ attr_accessor :cancellation_feedback
50
+
41
51
  # Update credit entitlement cart settings
42
52
  sig do
43
53
  returns(
@@ -91,6 +101,9 @@ module Dodopayments
91
101
  T.nilable(
92
102
  Dodopayments::SubscriptionUpdateParams::CancelReason::OrSymbol
93
103
  ),
104
+ cancellation_comment: T.nilable(String),
105
+ cancellation_feedback:
106
+ T.nilable(Dodopayments::CancellationFeedback::OrSymbol),
94
107
  credit_entitlement_cart:
95
108
  T.nilable(
96
109
  T::Array[
@@ -115,6 +128,12 @@ module Dodopayments
115
128
  # When set, the subscription will remain active until the end of billing period
116
129
  cancel_at_next_billing_date: nil,
117
130
  cancel_reason: nil,
131
+ # Free-text cancellation comment (only valid when cancelling or scheduling
132
+ # cancellation).
133
+ cancellation_comment: nil,
134
+ # Customer-supplied churn reason (only valid when cancelling or scheduling
135
+ # cancellation).
136
+ cancellation_feedback: nil,
118
137
  # Update credit entitlement cart settings
119
138
  credit_entitlement_cart: nil,
120
139
  customer_name: nil,
@@ -137,6 +156,9 @@ module Dodopayments
137
156
  T.nilable(
138
157
  Dodopayments::SubscriptionUpdateParams::CancelReason::OrSymbol
139
158
  ),
159
+ cancellation_comment: T.nilable(String),
160
+ cancellation_feedback:
161
+ T.nilable(Dodopayments::CancellationFeedback::OrSymbol),
140
162
  credit_entitlement_cart:
141
163
  T.nilable(
142
164
  T::Array[
@@ -183,6 +205,11 @@ module Dodopayments
183
205
  :cancelled_by_merchant_send_dunning,
184
206
  Dodopayments::SubscriptionUpdateParams::CancelReason::TaggedSymbol
185
207
  )
208
+ DODO_TEAM =
209
+ T.let(
210
+ :dodo_team,
211
+ Dodopayments::SubscriptionUpdateParams::CancelReason::TaggedSymbol
212
+ )
186
213
 
187
214
  sig do
188
215
  override.returns(
@@ -16,6 +16,7 @@ module Dodopayments
16
16
  Dodopayments::CreditExpiredWebhookEvent,
17
17
  Dodopayments::CreditManualAdjustmentWebhookEvent,
18
18
  Dodopayments::CreditOverageChargedWebhookEvent,
19
+ Dodopayments::CreditOverageResetWebhookEvent,
19
20
  Dodopayments::CreditRolledOverWebhookEvent,
20
21
  Dodopayments::CreditRolloverForfeitedWebhookEvent,
21
22
  Dodopayments::DisputeAcceptedWebhookEvent,
@@ -27,6 +28,10 @@ module Dodopayments
27
28
  Dodopayments::DisputeWonWebhookEvent,
28
29
  Dodopayments::DunningRecoveredWebhookEvent,
29
30
  Dodopayments::DunningStartedWebhookEvent,
31
+ Dodopayments::EntitlementGrantCreatedWebhookEvent,
32
+ Dodopayments::EntitlementGrantDeliveredWebhookEvent,
33
+ Dodopayments::EntitlementGrantFailedWebhookEvent,
34
+ Dodopayments::EntitlementGrantRevokedWebhookEvent,
30
35
  Dodopayments::LicenseKeyCreatedWebhookEvent,
31
36
  Dodopayments::PaymentCancelledWebhookEvent,
32
37
  Dodopayments::PaymentFailedWebhookEvent,
@@ -16,6 +16,7 @@ module Dodopayments
16
16
  Dodopayments::CreditExpiredWebhookEvent,
17
17
  Dodopayments::CreditManualAdjustmentWebhookEvent,
18
18
  Dodopayments::CreditOverageChargedWebhookEvent,
19
+ Dodopayments::CreditOverageResetWebhookEvent,
19
20
  Dodopayments::CreditRolledOverWebhookEvent,
20
21
  Dodopayments::CreditRolloverForfeitedWebhookEvent,
21
22
  Dodopayments::DisputeAcceptedWebhookEvent,
@@ -27,6 +28,10 @@ module Dodopayments
27
28
  Dodopayments::DisputeWonWebhookEvent,
28
29
  Dodopayments::DunningRecoveredWebhookEvent,
29
30
  Dodopayments::DunningStartedWebhookEvent,
31
+ Dodopayments::EntitlementGrantCreatedWebhookEvent,
32
+ Dodopayments::EntitlementGrantDeliveredWebhookEvent,
33
+ Dodopayments::EntitlementGrantFailedWebhookEvent,
34
+ Dodopayments::EntitlementGrantRevokedWebhookEvent,
30
35
  Dodopayments::LicenseKeyCreatedWebhookEvent,
31
36
  Dodopayments::PaymentCancelledWebhookEvent,
32
37
  Dodopayments::PaymentFailedWebhookEvent,
@@ -27,6 +27,11 @@ module Dodopayments
27
27
  sig { returns(Integer) }
28
28
  attr_accessor :quantity
29
29
 
30
+ # Whether adaptive currency fees should be included in the price (true) or added
31
+ # on top (false). If not specified, uses the subscription's stored setting.
32
+ sig { returns(T.nilable(T::Boolean)) }
33
+ attr_accessor :adaptive_currency_fees_inclusive
34
+
30
35
  # Addons for the new plan. Note : Leaving this empty would remove any existing
31
36
  # addons
32
37
  sig { returns(T.nilable(T::Array[Dodopayments::AttachAddon])) }
@@ -87,6 +92,7 @@ module Dodopayments
87
92
  proration_billing_mode:
88
93
  Dodopayments::UpdateSubscriptionPlanReq::ProrationBillingMode::OrSymbol,
89
94
  quantity: Integer,
95
+ adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
90
96
  addons: T.nilable(T::Array[Dodopayments::AttachAddon::OrHash]),
91
97
  discount_code: T.nilable(String),
92
98
  effective_at:
@@ -105,6 +111,9 @@ module Dodopayments
105
111
  proration_billing_mode:,
106
112
  # Number of units to subscribe for. Must be at least 1.
107
113
  quantity:,
114
+ # Whether adaptive currency fees should be included in the price (true) or added
115
+ # on top (false). If not specified, uses the subscription's stored setting.
116
+ adaptive_currency_fees_inclusive: nil,
108
117
  # Addons for the new plan. Note : Leaving this empty would remove any existing
109
118
  # addons
110
119
  addons: nil,
@@ -139,6 +148,7 @@ module Dodopayments
139
148
  proration_billing_mode:
140
149
  Dodopayments::UpdateSubscriptionPlanReq::ProrationBillingMode::OrSymbol,
141
150
  quantity: Integer,
151
+ adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
142
152
  addons: T.nilable(T::Array[Dodopayments::AttachAddon]),
143
153
  discount_code: T.nilable(String),
144
154
  effective_at:
@@ -133,6 +133,11 @@ module Dodopayments
133
133
  :"credit.overage_charged",
134
134
  Dodopayments::WebhookEventType::TaggedSymbol
135
135
  )
136
+ CREDIT_OVERAGE_RESET =
137
+ T.let(
138
+ :"credit.overage_reset",
139
+ Dodopayments::WebhookEventType::TaggedSymbol
140
+ )
136
141
  CREDIT_MANUAL_ADJUSTMENT =
137
142
  T.let(
138
143
  :"credit.manual_adjustment",
@@ -1018,7 +1018,7 @@ module Dodopayments
1018
1018
  end
1019
1019
  end
1020
1020
 
1021
- class EntitlementGrant < Dodopayments::Internal::Type::BaseModel
1021
+ class EntitlementGrant < Dodopayments::Models::Entitlements::EntitlementGrant
1022
1022
  OrHash =
1023
1023
  T.type_alias do
1024
1024
  T.any(
@@ -1027,24 +1027,6 @@ module Dodopayments
1027
1027
  )
1028
1028
  end
1029
1029
 
1030
- sig { returns(String) }
1031
- attr_accessor :id
1032
-
1033
- sig { returns(String) }
1034
- attr_accessor :business_id
1035
-
1036
- sig { returns(Time) }
1037
- attr_accessor :created_at
1038
-
1039
- sig { returns(String) }
1040
- attr_accessor :customer_id
1041
-
1042
- sig { returns(String) }
1043
- attr_accessor :entitlement_id
1044
-
1045
- sig { returns(String) }
1046
- attr_accessor :external_id
1047
-
1048
1030
  sig do
1049
1031
  returns(
1050
1032
  Dodopayments::WebhookPayload::Data::EntitlementGrant::PayloadType::OrSymbol
@@ -1052,151 +1034,20 @@ module Dodopayments
1052
1034
  end
1053
1035
  attr_accessor :payload_type
1054
1036
 
1055
- sig do
1056
- returns(
1057
- Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::OrSymbol
1058
- )
1059
- end
1060
- attr_accessor :status
1061
-
1062
- sig { returns(Time) }
1063
- attr_accessor :updated_at
1064
-
1065
- sig { returns(T.nilable(Time)) }
1066
- attr_accessor :delivered_at
1067
-
1068
- sig { returns(T.nilable(String)) }
1069
- attr_accessor :error_code
1070
-
1071
- sig { returns(T.nilable(String)) }
1072
- attr_accessor :error_message
1073
-
1074
- sig { returns(T.nilable(String)) }
1075
- attr_accessor :license_key
1076
-
1077
- sig { returns(T.nilable(Integer)) }
1078
- attr_accessor :license_key_activations_limit
1079
-
1080
- sig { returns(T.nilable(Integer)) }
1081
- attr_accessor :license_key_activations_used
1082
-
1083
- sig { returns(T.nilable(Time)) }
1084
- attr_accessor :license_key_expires_at
1085
-
1086
- sig { returns(T.nilable(String)) }
1087
- attr_accessor :license_key_status
1088
-
1089
- sig { returns(T.nilable(T.anything)) }
1090
- attr_reader :metadata
1091
-
1092
- sig { params(metadata: T.anything).void }
1093
- attr_writer :metadata
1094
-
1095
- sig { returns(T.nilable(Time)) }
1096
- attr_accessor :oauth_expires_at
1097
-
1098
- sig { returns(T.nilable(String)) }
1099
- attr_accessor :oauth_url
1100
-
1101
- sig { returns(T.nilable(String)) }
1102
- attr_accessor :payment_id
1103
-
1104
- sig { returns(T.nilable(String)) }
1105
- attr_accessor :revocation_reason
1106
-
1107
- sig { returns(T.nilable(Time)) }
1108
- attr_accessor :revoked_at
1109
-
1110
- sig { returns(T.nilable(String)) }
1111
- attr_accessor :subscription_id
1112
-
1113
1037
  sig do
1114
1038
  params(
1115
- id: String,
1116
- business_id: String,
1117
- created_at: Time,
1118
- customer_id: String,
1119
- entitlement_id: String,
1120
- external_id: String,
1121
1039
  payload_type:
1122
- Dodopayments::WebhookPayload::Data::EntitlementGrant::PayloadType::OrSymbol,
1123
- status:
1124
- Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::OrSymbol,
1125
- updated_at: Time,
1126
- delivered_at: T.nilable(Time),
1127
- error_code: T.nilable(String),
1128
- error_message: T.nilable(String),
1129
- license_key: T.nilable(String),
1130
- license_key_activations_limit: T.nilable(Integer),
1131
- license_key_activations_used: T.nilable(Integer),
1132
- license_key_expires_at: T.nilable(Time),
1133
- license_key_status: T.nilable(String),
1134
- metadata: T.anything,
1135
- oauth_expires_at: T.nilable(Time),
1136
- oauth_url: T.nilable(String),
1137
- payment_id: T.nilable(String),
1138
- revocation_reason: T.nilable(String),
1139
- revoked_at: T.nilable(Time),
1140
- subscription_id: T.nilable(String)
1040
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::PayloadType::OrSymbol
1141
1041
  ).returns(T.attached_class)
1142
1042
  end
1143
- def self.new(
1144
- id:,
1145
- business_id:,
1146
- created_at:,
1147
- customer_id:,
1148
- entitlement_id:,
1149
- external_id:,
1150
- payload_type:,
1151
- status:,
1152
- updated_at:,
1153
- delivered_at: nil,
1154
- error_code: nil,
1155
- error_message: nil,
1156
- license_key: nil,
1157
- license_key_activations_limit: nil,
1158
- license_key_activations_used: nil,
1159
- license_key_expires_at: nil,
1160
- license_key_status: nil,
1161
- metadata: nil,
1162
- oauth_expires_at: nil,
1163
- oauth_url: nil,
1164
- payment_id: nil,
1165
- revocation_reason: nil,
1166
- revoked_at: nil,
1167
- subscription_id: nil
1168
- )
1043
+ def self.new(payload_type:)
1169
1044
  end
1170
1045
 
1171
1046
  sig do
1172
1047
  override.returns(
1173
1048
  {
1174
- id: String,
1175
- business_id: String,
1176
- created_at: Time,
1177
- customer_id: String,
1178
- entitlement_id: String,
1179
- external_id: String,
1180
1049
  payload_type:
1181
- Dodopayments::WebhookPayload::Data::EntitlementGrant::PayloadType::OrSymbol,
1182
- status:
1183
- Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::OrSymbol,
1184
- updated_at: Time,
1185
- delivered_at: T.nilable(Time),
1186
- error_code: T.nilable(String),
1187
- error_message: T.nilable(String),
1188
- license_key: T.nilable(String),
1189
- license_key_activations_limit: T.nilable(Integer),
1190
- license_key_activations_used: T.nilable(Integer),
1191
- license_key_expires_at: T.nilable(Time),
1192
- license_key_status: T.nilable(String),
1193
- metadata: T.anything,
1194
- oauth_expires_at: T.nilable(Time),
1195
- oauth_url: T.nilable(String),
1196
- payment_id: T.nilable(String),
1197
- revocation_reason: T.nilable(String),
1198
- revoked_at: T.nilable(Time),
1199
- subscription_id: T.nilable(String)
1050
+ Dodopayments::WebhookPayload::Data::EntitlementGrant::PayloadType::OrSymbol
1200
1051
  }
1201
1052
  )
1202
1053
  end
@@ -1231,50 +1082,6 @@ module Dodopayments
1231
1082
  def self.values
1232
1083
  end
1233
1084
  end
1234
-
1235
- module Status
1236
- extend Dodopayments::Internal::Type::Enum
1237
-
1238
- TaggedSymbol =
1239
- T.type_alias do
1240
- T.all(
1241
- Symbol,
1242
- Dodopayments::WebhookPayload::Data::EntitlementGrant::Status
1243
- )
1244
- end
1245
- OrSymbol = T.type_alias { T.any(Symbol, String) }
1246
-
1247
- PENDING =
1248
- T.let(
1249
- :Pending,
1250
- Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::TaggedSymbol
1251
- )
1252
- DELIVERED =
1253
- T.let(
1254
- :Delivered,
1255
- Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::TaggedSymbol
1256
- )
1257
- FAILED =
1258
- T.let(
1259
- :Failed,
1260
- Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::TaggedSymbol
1261
- )
1262
- REVOKED =
1263
- T.let(
1264
- :Revoked,
1265
- Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::TaggedSymbol
1266
- )
1267
-
1268
- sig do
1269
- override.returns(
1270
- T::Array[
1271
- Dodopayments::WebhookPayload::Data::EntitlementGrant::Status::TaggedSymbol
1272
- ]
1273
- )
1274
- end
1275
- def self.values
1276
- end
1277
- end
1278
1085
  end
1279
1086
 
1280
1087
  sig do
@@ -29,6 +29,8 @@ module Dodopayments
29
29
 
30
30
  AttachExistingCustomer = Dodopayments::Models::AttachExistingCustomer
31
31
 
32
+ AttachProductEntitlement = Dodopayments::Models::AttachProductEntitlement
33
+
32
34
  BalanceLedgerEntry = Dodopayments::Models::BalanceLedgerEntry
33
35
 
34
36
  BalanceRetrieveLedgerParams =
@@ -48,6 +50,8 @@ module Dodopayments
48
50
 
49
51
  BrandUpdateParams = Dodopayments::Models::BrandUpdateParams
50
52
 
53
+ CancellationFeedback = Dodopayments::Models::CancellationFeedback
54
+
51
55
  CbbOverageBehavior = Dodopayments::Models::CbbOverageBehavior
52
56
 
53
57
  CbbProrationBehavior = Dodopayments::Models::CbbProrationBehavior
@@ -124,6 +128,9 @@ module Dodopayments
124
128
  CreditOverageChargedWebhookEvent =
125
129
  Dodopayments::Models::CreditOverageChargedWebhookEvent
126
130
 
131
+ CreditOverageResetWebhookEvent =
132
+ Dodopayments::Models::CreditOverageResetWebhookEvent
133
+
127
134
  CreditRolledOverWebhookEvent =
128
135
  Dodopayments::Models::CreditRolledOverWebhookEvent
129
136
 
@@ -144,6 +151,9 @@ module Dodopayments
144
151
  CustomerListCreditEntitlementsParams =
145
152
  Dodopayments::Models::CustomerListCreditEntitlementsParams
146
153
 
154
+ CustomerListEntitlementsParams =
155
+ Dodopayments::Models::CustomerListEntitlementsParams
156
+
147
157
  CustomerListParams = Dodopayments::Models::CustomerListParams
148
158
 
149
159
  CustomerPortalSession = Dodopayments::Models::CustomerPortalSession
@@ -216,6 +226,34 @@ module Dodopayments
216
226
 
217
227
  DunningStartedWebhookEvent = Dodopayments::Models::DunningStartedWebhookEvent
218
228
 
229
+ Entitlement = Dodopayments::Models::Entitlement
230
+
231
+ EntitlementCreateParams = Dodopayments::Models::EntitlementCreateParams
232
+
233
+ EntitlementDeleteParams = Dodopayments::Models::EntitlementDeleteParams
234
+
235
+ EntitlementGrantCreatedWebhookEvent =
236
+ Dodopayments::Models::EntitlementGrantCreatedWebhookEvent
237
+
238
+ EntitlementGrantDeliveredWebhookEvent =
239
+ Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent
240
+
241
+ EntitlementGrantFailedWebhookEvent =
242
+ Dodopayments::Models::EntitlementGrantFailedWebhookEvent
243
+
244
+ EntitlementGrantRevokedWebhookEvent =
245
+ Dodopayments::Models::EntitlementGrantRevokedWebhookEvent
246
+
247
+ EntitlementIntegrationType = Dodopayments::Models::EntitlementIntegrationType
248
+
249
+ EntitlementListParams = Dodopayments::Models::EntitlementListParams
250
+
251
+ EntitlementRetrieveParams = Dodopayments::Models::EntitlementRetrieveParams
252
+
253
+ Entitlements = Dodopayments::Models::Entitlements
254
+
255
+ EntitlementUpdateParams = Dodopayments::Models::EntitlementUpdateParams
256
+
219
257
  Event = Dodopayments::Models::Event
220
258
 
221
259
  EventInput = Dodopayments::Models::EventInput
@@ -224,6 +262,10 @@ module Dodopayments
224
262
 
225
263
  GetDispute = Dodopayments::Models::GetDispute
226
264
 
265
+ IntegrationConfig = Dodopayments::Models::IntegrationConfig
266
+
267
+ IntegrationConfigResponse = Dodopayments::Models::IntegrationConfigResponse
268
+
227
269
  IntentStatus = Dodopayments::Models::IntentStatus
228
270
 
229
271
  Invoices = Dodopayments::Models::Invoices
@@ -330,6 +372,8 @@ module Dodopayments
330
372
 
331
373
  ProductCreateParams = Dodopayments::Models::ProductCreateParams
332
374
 
375
+ ProductEntitlementSummary = Dodopayments::Models::ProductEntitlementSummary
376
+
333
377
  ProductItemReq = Dodopayments::Models::ProductItemReq
334
378
 
335
379
  ProductListParams = Dodopayments::Models::ProductListParams
@@ -361,6 +405,8 @@ module Dodopayments
361
405
  RefundSucceededWebhookEvent =
362
406
  Dodopayments::Models::RefundSucceededWebhookEvent
363
407
 
408
+ ScheduledPlanChange = Dodopayments::Models::ScheduledPlanChange
409
+
364
410
  Subscription = Dodopayments::Models::Subscription
365
411
 
366
412
  SubscriptionActiveWebhookEvent =