dodopayments 2.22.0 → 2.24.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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/models/checkout_session_preview_response.rb +12 -1
  5. data/lib/dodopayments/models/subscription.rb +10 -1
  6. data/lib/dodopayments/models/subscription_list_params.rb +1 -0
  7. data/lib/dodopayments/models/subscription_list_response.rb +10 -1
  8. data/lib/dodopayments/models/subscription_paused_webhook_event.rb +40 -0
  9. data/lib/dodopayments/models/subscription_status.rb +1 -0
  10. data/lib/dodopayments/models/subscription_unpaused_webhook_event.rb +40 -0
  11. data/lib/dodopayments/models/subscription_update_params.rb +10 -1
  12. data/lib/dodopayments/models/tax_category.rb +1 -0
  13. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +5 -1
  14. data/lib/dodopayments/models/unwrap_webhook_event.rb +5 -1
  15. data/lib/dodopayments/models/webhook_event_type.rb +1 -0
  16. data/lib/dodopayments/models.rb +4 -0
  17. data/lib/dodopayments/resources/subscriptions.rb +3 -1
  18. data/lib/dodopayments/resources/webhooks.rb +2 -2
  19. data/lib/dodopayments/version.rb +1 -1
  20. data/lib/dodopayments.rb +2 -0
  21. data/rbi/dodopayments/models/checkout_session_preview_response.rbi +14 -0
  22. data/rbi/dodopayments/models/subscription.rbi +10 -0
  23. data/rbi/dodopayments/models/subscription_list_params.rbi +5 -0
  24. data/rbi/dodopayments/models/subscription_list_response.rbi +10 -0
  25. data/rbi/dodopayments/models/subscription_paused_webhook_event.rbi +67 -0
  26. data/rbi/dodopayments/models/subscription_status.rbi +1 -0
  27. data/rbi/dodopayments/models/subscription_unpaused_webhook_event.rbi +67 -0
  28. data/rbi/dodopayments/models/subscription_update_params.rbi +10 -0
  29. data/rbi/dodopayments/models/tax_category.rbi +2 -0
  30. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +2 -0
  31. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +2 -0
  32. data/rbi/dodopayments/models/webhook_event_type.rbi +5 -0
  33. data/rbi/dodopayments/models.rbi +6 -0
  34. data/rbi/dodopayments/resources/subscriptions.rbi +4 -0
  35. data/rbi/dodopayments/resources/webhooks.rbi +4 -0
  36. data/sig/dodopayments/models/checkout_session_preview_response.rbs +5 -0
  37. data/sig/dodopayments/models/subscription.rbs +5 -0
  38. data/sig/dodopayments/models/subscription_list_params.rbs +8 -1
  39. data/sig/dodopayments/models/subscription_list_response.rbs +5 -0
  40. data/sig/dodopayments/models/subscription_paused_webhook_event.rbs +35 -0
  41. data/sig/dodopayments/models/subscription_status.rbs +2 -1
  42. data/sig/dodopayments/models/subscription_unpaused_webhook_event.rbs +35 -0
  43. data/sig/dodopayments/models/subscription_update_params.rbs +5 -0
  44. data/sig/dodopayments/models/tax_category.rbs +3 -1
  45. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +2 -0
  46. data/sig/dodopayments/models/unwrap_webhook_event.rbs +2 -0
  47. data/sig/dodopayments/models/webhook_event_type.rbs +2 -0
  48. data/sig/dodopayments/models.rbs +4 -0
  49. data/sig/dodopayments/resources/subscriptions.rbs +1 -0
  50. data/sig/dodopayments/resources/webhooks.rbs +4 -0
  51. metadata +8 -2
@@ -0,0 +1,67 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class SubscriptionPausedWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::SubscriptionPausedWebhookEvent,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The business identifier
15
+ sig { returns(String) }
16
+ attr_accessor :business_id
17
+
18
+ # Response struct representing subscription details
19
+ sig { returns(Dodopayments::Subscription) }
20
+ attr_reader :data
21
+
22
+ sig { params(data: Dodopayments::Subscription::OrHash).void }
23
+ attr_writer :data
24
+
25
+ # The timestamp of when the event occurred
26
+ sig { returns(Time) }
27
+ attr_accessor :timestamp
28
+
29
+ # The event type
30
+ sig { returns(Symbol) }
31
+ attr_accessor :type
32
+
33
+ sig do
34
+ params(
35
+ business_id: String,
36
+ data: Dodopayments::Subscription::OrHash,
37
+ timestamp: Time,
38
+ type: Symbol
39
+ ).returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+ # The business identifier
43
+ business_id:,
44
+ # Response struct representing subscription details
45
+ data:,
46
+ # The timestamp of when the event occurred
47
+ timestamp:,
48
+ # The event type
49
+ type: :"subscription.paused"
50
+ )
51
+ end
52
+
53
+ sig do
54
+ override.returns(
55
+ {
56
+ business_id: String,
57
+ data: Dodopayments::Subscription,
58
+ timestamp: Time,
59
+ type: Symbol
60
+ }
61
+ )
62
+ end
63
+ def to_hash
64
+ end
65
+ end
66
+ end
67
+ end
@@ -12,6 +12,7 @@ module Dodopayments
12
12
  PENDING = T.let(:pending, Dodopayments::SubscriptionStatus::TaggedSymbol)
13
13
  ACTIVE = T.let(:active, Dodopayments::SubscriptionStatus::TaggedSymbol)
14
14
  ON_HOLD = T.let(:on_hold, Dodopayments::SubscriptionStatus::TaggedSymbol)
15
+ PAUSED = T.let(:paused, Dodopayments::SubscriptionStatus::TaggedSymbol)
15
16
  CANCELLED =
16
17
  T.let(:cancelled, Dodopayments::SubscriptionStatus::TaggedSymbol)
17
18
  FAILED = T.let(:failed, Dodopayments::SubscriptionStatus::TaggedSymbol)
@@ -0,0 +1,67 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class SubscriptionUnpausedWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::SubscriptionUnpausedWebhookEvent,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The business identifier
15
+ sig { returns(String) }
16
+ attr_accessor :business_id
17
+
18
+ # Response struct representing subscription details
19
+ sig { returns(Dodopayments::Subscription) }
20
+ attr_reader :data
21
+
22
+ sig { params(data: Dodopayments::Subscription::OrHash).void }
23
+ attr_writer :data
24
+
25
+ # The timestamp of when the event occurred
26
+ sig { returns(Time) }
27
+ attr_accessor :timestamp
28
+
29
+ # The event type
30
+ sig { returns(Symbol) }
31
+ attr_accessor :type
32
+
33
+ sig do
34
+ params(
35
+ business_id: String,
36
+ data: Dodopayments::Subscription::OrHash,
37
+ timestamp: Time,
38
+ type: Symbol
39
+ ).returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+ # The business identifier
43
+ business_id:,
44
+ # Response struct representing subscription details
45
+ data:,
46
+ # The timestamp of when the event occurred
47
+ timestamp:,
48
+ # The event type
49
+ type: :"subscription.unpaused"
50
+ )
51
+ end
52
+
53
+ sig do
54
+ override.returns(
55
+ {
56
+ business_id: String,
57
+ data: Dodopayments::Subscription,
58
+ timestamp: Time,
59
+ type: Symbol
60
+ }
61
+ )
62
+ end
63
+ def to_hash
64
+ end
65
+ end
66
+ end
67
+ end
@@ -98,6 +98,11 @@ module Dodopayments
98
98
  sig { returns(T.nilable(Time)) }
99
99
  attr_accessor :next_billing_date
100
100
 
101
+ # `Some(true)` pauses an active subscription; `Some(false)` unpauses a `Paused`
102
+ # (or abandoned `OnHold`) subscription. Exclusive of every other field.
103
+ sig { returns(T.nilable(T::Boolean)) }
104
+ attr_accessor :pause
105
+
101
106
  sig { returns(T.nilable(Dodopayments::SubscriptionStatus::OrSymbol)) }
102
107
  attr_accessor :status
103
108
 
@@ -144,6 +149,7 @@ module Dodopayments
144
149
  metadata:
145
150
  T.nilable(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]),
146
151
  next_billing_date: T.nilable(Time),
152
+ pause: T.nilable(T::Boolean),
147
153
  status: T.nilable(Dodopayments::SubscriptionStatus::OrSymbol),
148
154
  subscription_period_count: T.nilable(Integer),
149
155
  subscription_period_interval:
@@ -176,6 +182,9 @@ module Dodopayments
176
182
  # Arbitrary key-value metadata. Values can be string, integer, number, or boolean.
177
183
  metadata: nil,
178
184
  next_billing_date: nil,
185
+ # `Some(true)` pauses an active subscription; `Some(false)` unpauses a `Paused`
186
+ # (or abandoned `OnHold`) subscription. Exclusive of every other field.
187
+ pause: nil,
179
188
  status: nil,
180
189
  # New number of `subscription_period_interval` units the subscription entitlement
181
190
  # should span. Used together with `subscription_period_interval` to extend the
@@ -219,6 +228,7 @@ module Dodopayments
219
228
  metadata:
220
229
  T.nilable(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]),
221
230
  next_billing_date: T.nilable(Time),
231
+ pause: T.nilable(T::Boolean),
222
232
  status: T.nilable(Dodopayments::SubscriptionStatus::OrSymbol),
223
233
  subscription_period_count: T.nilable(Integer),
224
234
  subscription_period_interval:
@@ -15,6 +15,8 @@ module Dodopayments
15
15
  SAAS = T.let(:saas, Dodopayments::TaxCategory::TaggedSymbol)
16
16
  E_BOOK = T.let(:e_book, Dodopayments::TaxCategory::TaggedSymbol)
17
17
  EDTECH = T.let(:edtech, Dodopayments::TaxCategory::TaggedSymbol)
18
+ LIVE_TUTORING =
19
+ T.let(:live_tutoring, Dodopayments::TaxCategory::TaggedSymbol)
18
20
 
19
21
  sig do
20
22
  override.returns(T::Array[Dodopayments::TaxCategory::TaggedSymbol])
@@ -49,8 +49,10 @@ module Dodopayments
49
49
  Dodopayments::SubscriptionExpiredWebhookEvent,
50
50
  Dodopayments::SubscriptionFailedWebhookEvent,
51
51
  Dodopayments::SubscriptionOnHoldWebhookEvent,
52
+ Dodopayments::SubscriptionPausedWebhookEvent,
52
53
  Dodopayments::SubscriptionPlanChangedWebhookEvent,
53
54
  Dodopayments::SubscriptionRenewedWebhookEvent,
55
+ Dodopayments::SubscriptionUnpausedWebhookEvent,
54
56
  Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent,
55
57
  Dodopayments::SubscriptionUpdatedWebhookEvent
56
58
  )
@@ -49,8 +49,10 @@ module Dodopayments
49
49
  Dodopayments::SubscriptionExpiredWebhookEvent,
50
50
  Dodopayments::SubscriptionFailedWebhookEvent,
51
51
  Dodopayments::SubscriptionOnHoldWebhookEvent,
52
+ Dodopayments::SubscriptionPausedWebhookEvent,
52
53
  Dodopayments::SubscriptionPlanChangedWebhookEvent,
53
54
  Dodopayments::SubscriptionRenewedWebhookEvent,
55
+ Dodopayments::SubscriptionUnpausedWebhookEvent,
54
56
  Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent,
55
57
  Dodopayments::SubscriptionUpdatedWebhookEvent
56
58
  )
@@ -71,6 +71,11 @@ module Dodopayments
71
71
  :"subscription.paused",
72
72
  Dodopayments::WebhookEventType::TaggedSymbol
73
73
  )
74
+ SUBSCRIPTION_UNPAUSED =
75
+ T.let(
76
+ :"subscription.unpaused",
77
+ Dodopayments::WebhookEventType::TaggedSymbol
78
+ )
74
79
  SUBSCRIPTION_CANCELLED =
75
80
  T.let(
76
81
  :"subscription.cancelled",
@@ -495,6 +495,9 @@ module Dodopayments
495
495
  SubscriptionOnHoldWebhookEvent =
496
496
  Dodopayments::Models::SubscriptionOnHoldWebhookEvent
497
497
 
498
+ SubscriptionPausedWebhookEvent =
499
+ Dodopayments::Models::SubscriptionPausedWebhookEvent
500
+
498
501
  SubscriptionPlanChangedWebhookEvent =
499
502
  Dodopayments::Models::SubscriptionPlanChangedWebhookEvent
500
503
 
@@ -514,6 +517,9 @@ module Dodopayments
514
517
 
515
518
  SubscriptionStatus = Dodopayments::Models::SubscriptionStatus
516
519
 
520
+ SubscriptionUnpausedWebhookEvent =
521
+ Dodopayments::Models::SubscriptionUnpausedWebhookEvent
522
+
517
523
  SubscriptionUpdatedWebhookEvent =
518
524
  Dodopayments::Models::SubscriptionUpdatedWebhookEvent
519
525
 
@@ -153,6 +153,7 @@ module Dodopayments
153
153
  metadata:
154
154
  T.nilable(T::Hash[Symbol, Dodopayments::MetadataItem::Variants]),
155
155
  next_billing_date: T.nilable(Time),
156
+ pause: T.nilable(T::Boolean),
156
157
  status: T.nilable(Dodopayments::SubscriptionStatus::OrSymbol),
157
158
  subscription_period_count: T.nilable(Integer),
158
159
  subscription_period_interval:
@@ -186,6 +187,9 @@ module Dodopayments
186
187
  # Arbitrary key-value metadata. Values can be string, integer, number, or boolean.
187
188
  metadata: nil,
188
189
  next_billing_date: nil,
190
+ # `Some(true)` pauses an active subscription; `Some(false)` unpauses a `Paused`
191
+ # (or abandoned `OnHold`) subscription. Exclusive of every other field.
192
+ pause: nil,
189
193
  status: nil,
190
194
  # New number of `subscription_period_interval` units the subscription entitlement
191
195
  # should span. Used together with `subscription_period_interval` to extend the
@@ -185,8 +185,10 @@ module Dodopayments
185
185
  Dodopayments::SubscriptionExpiredWebhookEvent,
186
186
  Dodopayments::SubscriptionFailedWebhookEvent,
187
187
  Dodopayments::SubscriptionOnHoldWebhookEvent,
188
+ Dodopayments::SubscriptionPausedWebhookEvent,
188
189
  Dodopayments::SubscriptionPlanChangedWebhookEvent,
189
190
  Dodopayments::SubscriptionRenewedWebhookEvent,
191
+ Dodopayments::SubscriptionUnpausedWebhookEvent,
190
192
  Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent,
191
193
  Dodopayments::SubscriptionUpdatedWebhookEvent
192
194
  )
@@ -246,8 +248,10 @@ module Dodopayments
246
248
  Dodopayments::SubscriptionExpiredWebhookEvent,
247
249
  Dodopayments::SubscriptionFailedWebhookEvent,
248
250
  Dodopayments::SubscriptionOnHoldWebhookEvent,
251
+ Dodopayments::SubscriptionPausedWebhookEvent,
249
252
  Dodopayments::SubscriptionPlanChangedWebhookEvent,
250
253
  Dodopayments::SubscriptionRenewedWebhookEvent,
254
+ Dodopayments::SubscriptionUnpausedWebhookEvent,
251
255
  Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent,
252
256
  Dodopayments::SubscriptionUpdatedWebhookEvent
253
257
  )
@@ -297,6 +297,7 @@ module Dodopayments
297
297
  og_currency: Dodopayments::Models::currency,
298
298
  og_price: Integer,
299
299
  quantity: Integer,
300
+ single_quantity_price: Integer,
300
301
  tax_category: Dodopayments::Models::tax_category,
301
302
  tax_inclusive: bool,
302
303
  tax_rate: Integer,
@@ -320,6 +321,8 @@ module Dodopayments
320
321
 
321
322
  attr_accessor quantity: Integer
322
323
 
324
+ attr_accessor single_quantity_price: Integer
325
+
323
326
  attr_accessor tax_category: Dodopayments::Models::tax_category
324
327
 
325
328
  attr_accessor tax_inclusive: bool
@@ -340,6 +343,7 @@ module Dodopayments
340
343
  og_currency: Dodopayments::Models::currency,
341
344
  og_price: Integer,
342
345
  quantity: Integer,
346
+ single_quantity_price: Integer,
343
347
  tax_category: Dodopayments::Models::tax_category,
344
348
  tax_inclusive: bool,
345
349
  tax_rate: Integer,
@@ -356,6 +360,7 @@ module Dodopayments
356
360
  og_currency: Dodopayments::Models::currency,
357
361
  og_price: Integer,
358
362
  quantity: Integer,
363
+ single_quantity_price: Integer,
359
364
  tax_category: Dodopayments::Models::tax_category,
360
365
  tax_inclusive: bool,
361
366
  tax_rate: Integer,
@@ -36,6 +36,7 @@ module Dodopayments
36
36
  discount_id: String?,
37
37
  discounts: ::Array[Dodopayments::DiscountDetail]?,
38
38
  expires_at: Time?,
39
+ paused_at: Time?,
39
40
  payment_method_id: String?,
40
41
  scheduled_change: Dodopayments::ScheduledPlanChange?,
41
42
  tax_id: String?,
@@ -111,6 +112,8 @@ module Dodopayments
111
112
 
112
113
  attr_accessor expires_at: Time?
113
114
 
115
+ attr_accessor paused_at: Time?
116
+
114
117
  attr_accessor payment_method_id: String?
115
118
 
116
119
  attr_accessor scheduled_change: Dodopayments::ScheduledPlanChange?
@@ -154,6 +157,7 @@ module Dodopayments
154
157
  ?discount_id: String?,
155
158
  ?discounts: ::Array[Dodopayments::DiscountDetail]?,
156
159
  ?expires_at: Time?,
160
+ ?paused_at: Time?,
157
161
  ?payment_method_id: String?,
158
162
  ?scheduled_change: Dodopayments::ScheduledPlanChange?,
159
163
  ?tax_id: String?,
@@ -195,6 +199,7 @@ module Dodopayments
195
199
  discount_id: String?,
196
200
  discounts: ::Array[Dodopayments::DiscountDetail]?,
197
201
  expires_at: Time?,
202
+ paused_at: Time?,
198
203
  payment_method_id: String?,
199
204
  scheduled_change: Dodopayments::ScheduledPlanChange?,
200
205
  tax_id: String?,
@@ -83,7 +83,13 @@ module Dodopayments
83
83
  }
84
84
 
85
85
  type status =
86
- :pending | :active | :on_hold | :cancelled | :failed | :expired
86
+ :pending
87
+ | :active
88
+ | :on_hold
89
+ | :paused
90
+ | :cancelled
91
+ | :failed
92
+ | :expired
87
93
 
88
94
  module Status
89
95
  extend Dodopayments::Internal::Type::Enum
@@ -91,6 +97,7 @@ module Dodopayments
91
97
  PENDING: :pending
92
98
  ACTIVE: :active
93
99
  ON_HOLD: :on_hold
100
+ PAUSED: :paused
94
101
  CANCELLED: :cancelled
95
102
  FAILED: :failed
96
103
  EXPIRED: :expired
@@ -27,6 +27,7 @@ module Dodopayments
27
27
  customer_business_name: String?,
28
28
  discount_cycles_remaining: Integer?,
29
29
  discount_id: String?,
30
+ paused_at: Time?,
30
31
  payment_method_id: String?,
31
32
  product_name: String?,
32
33
  scheduled_change: Dodopayments::ScheduledPlanChange?,
@@ -85,6 +86,8 @@ module Dodopayments
85
86
 
86
87
  attr_accessor discount_id: String?
87
88
 
89
+ attr_accessor paused_at: Time?
90
+
88
91
  attr_accessor payment_method_id: String?
89
92
 
90
93
  attr_accessor product_name: String?
@@ -121,6 +124,7 @@ module Dodopayments
121
124
  ?customer_business_name: String?,
122
125
  ?discount_cycles_remaining: Integer?,
123
126
  ?discount_id: String?,
127
+ ?paused_at: Time?,
124
128
  ?payment_method_id: String?,
125
129
  ?product_name: String?,
126
130
  ?scheduled_change: Dodopayments::ScheduledPlanChange?,
@@ -154,6 +158,7 @@ module Dodopayments
154
158
  customer_business_name: String?,
155
159
  discount_cycles_remaining: Integer?,
156
160
  discount_id: String?,
161
+ paused_at: Time?,
157
162
  payment_method_id: String?,
158
163
  product_name: String?,
159
164
  scheduled_change: Dodopayments::ScheduledPlanChange?,
@@ -0,0 +1,35 @@
1
+ module Dodopayments
2
+ module Models
3
+ type subscription_paused_webhook_event =
4
+ {
5
+ business_id: String,
6
+ data: Dodopayments::Subscription,
7
+ timestamp: Time,
8
+ type: :"subscription.paused"
9
+ }
10
+
11
+ class SubscriptionPausedWebhookEvent < Dodopayments::Internal::Type::BaseModel
12
+ attr_accessor business_id: String
13
+
14
+ attr_accessor data: Dodopayments::Subscription
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: :"subscription.paused"
19
+
20
+ def initialize: (
21
+ business_id: String,
22
+ data: Dodopayments::Subscription,
23
+ timestamp: Time,
24
+ ?type: :"subscription.paused"
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ business_id: String,
29
+ data: Dodopayments::Subscription,
30
+ timestamp: Time,
31
+ type: :"subscription.paused"
32
+ }
33
+ end
34
+ end
35
+ end
@@ -1,7 +1,7 @@
1
1
  module Dodopayments
2
2
  module Models
3
3
  type subscription_status =
4
- :pending | :active | :on_hold | :cancelled | :failed | :expired
4
+ :pending | :active | :on_hold | :paused | :cancelled | :failed | :expired
5
5
 
6
6
  module SubscriptionStatus
7
7
  extend Dodopayments::Internal::Type::Enum
@@ -9,6 +9,7 @@ module Dodopayments
9
9
  PENDING: :pending
10
10
  ACTIVE: :active
11
11
  ON_HOLD: :on_hold
12
+ PAUSED: :paused
12
13
  CANCELLED: :cancelled
13
14
  FAILED: :failed
14
15
  EXPIRED: :expired
@@ -0,0 +1,35 @@
1
+ module Dodopayments
2
+ module Models
3
+ type subscription_unpaused_webhook_event =
4
+ {
5
+ business_id: String,
6
+ data: Dodopayments::Subscription,
7
+ timestamp: Time,
8
+ type: :"subscription.unpaused"
9
+ }
10
+
11
+ class SubscriptionUnpausedWebhookEvent < Dodopayments::Internal::Type::BaseModel
12
+ attr_accessor business_id: String
13
+
14
+ attr_accessor data: Dodopayments::Subscription
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: :"subscription.unpaused"
19
+
20
+ def initialize: (
21
+ business_id: String,
22
+ data: Dodopayments::Subscription,
23
+ timestamp: Time,
24
+ ?type: :"subscription.unpaused"
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ business_id: String,
29
+ data: Dodopayments::Subscription,
30
+ timestamp: Time,
31
+ type: :"subscription.unpaused"
32
+ }
33
+ end
34
+ end
35
+ end
@@ -14,6 +14,7 @@ module Dodopayments
14
14
  disable_on_demand: Dodopayments::SubscriptionUpdateParams::DisableOnDemand?,
15
15
  metadata: Dodopayments::Models::metadata?,
16
16
  next_billing_date: Time?,
17
+ pause: bool?,
17
18
  status: Dodopayments::Models::subscription_status?,
18
19
  subscription_period_count: Integer?,
19
20
  subscription_period_interval: Dodopayments::Models::time_interval?,
@@ -49,6 +50,8 @@ module Dodopayments
49
50
 
50
51
  attr_accessor next_billing_date: Time?
51
52
 
53
+ attr_accessor pause: bool?
54
+
52
55
  attr_accessor status: Dodopayments::Models::subscription_status?
53
56
 
54
57
  attr_accessor subscription_period_count: Integer?
@@ -70,6 +73,7 @@ module Dodopayments
70
73
  ?disable_on_demand: Dodopayments::SubscriptionUpdateParams::DisableOnDemand?,
71
74
  ?metadata: Dodopayments::Models::metadata?,
72
75
  ?next_billing_date: Time?,
76
+ ?pause: bool?,
73
77
  ?status: Dodopayments::Models::subscription_status?,
74
78
  ?subscription_period_count: Integer?,
75
79
  ?subscription_period_interval: Dodopayments::Models::time_interval?,
@@ -90,6 +94,7 @@ module Dodopayments
90
94
  disable_on_demand: Dodopayments::SubscriptionUpdateParams::DisableOnDemand?,
91
95
  metadata: Dodopayments::Models::metadata?,
92
96
  next_billing_date: Time?,
97
+ pause: bool?,
93
98
  status: Dodopayments::Models::subscription_status?,
94
99
  subscription_period_count: Integer?,
95
100
  subscription_period_interval: Dodopayments::Models::time_interval?,
@@ -1,6 +1,7 @@
1
1
  module Dodopayments
2
2
  module Models
3
- type tax_category = :digital_products | :saas | :e_book | :edtech
3
+ type tax_category =
4
+ :digital_products | :saas | :e_book | :edtech | :live_tutoring
4
5
 
5
6
  module TaxCategory
6
7
  extend Dodopayments::Internal::Type::Enum
@@ -9,6 +10,7 @@ module Dodopayments
9
10
  SAAS: :saas
10
11
  E_BOOK: :e_book
11
12
  EDTECH: :edtech
13
+ LIVE_TUTORING: :live_tutoring
12
14
 
13
15
  def self?.values: -> ::Array[Dodopayments::Models::tax_category]
14
16
  end
@@ -42,8 +42,10 @@ module Dodopayments
42
42
  | Dodopayments::SubscriptionExpiredWebhookEvent
43
43
  | Dodopayments::SubscriptionFailedWebhookEvent
44
44
  | Dodopayments::SubscriptionOnHoldWebhookEvent
45
+ | Dodopayments::SubscriptionPausedWebhookEvent
45
46
  | Dodopayments::SubscriptionPlanChangedWebhookEvent
46
47
  | Dodopayments::SubscriptionRenewedWebhookEvent
48
+ | Dodopayments::SubscriptionUnpausedWebhookEvent
47
49
  | Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent
48
50
  | Dodopayments::SubscriptionUpdatedWebhookEvent
49
51
 
@@ -42,8 +42,10 @@ module Dodopayments
42
42
  | Dodopayments::SubscriptionExpiredWebhookEvent
43
43
  | Dodopayments::SubscriptionFailedWebhookEvent
44
44
  | Dodopayments::SubscriptionOnHoldWebhookEvent
45
+ | Dodopayments::SubscriptionPausedWebhookEvent
45
46
  | Dodopayments::SubscriptionPlanChangedWebhookEvent
46
47
  | Dodopayments::SubscriptionRenewedWebhookEvent
48
+ | Dodopayments::SubscriptionUnpausedWebhookEvent
47
49
  | Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent
48
50
  | Dodopayments::SubscriptionUpdatedWebhookEvent
49
51
 
@@ -18,6 +18,7 @@ module Dodopayments
18
18
  | :"subscription.renewed"
19
19
  | :"subscription.on_hold"
20
20
  | :"subscription.paused"
21
+ | :"subscription.unpaused"
21
22
  | :"subscription.cancelled"
22
23
  | :"subscription.failed"
23
24
  | :"subscription.expired"
@@ -68,6 +69,7 @@ module Dodopayments
68
69
  SUBSCRIPTION_RENEWED: :"subscription.renewed"
69
70
  SUBSCRIPTION_ON_HOLD: :"subscription.on_hold"
70
71
  SUBSCRIPTION_PAUSED: :"subscription.paused"
72
+ SUBSCRIPTION_UNPAUSED: :"subscription.unpaused"
71
73
  SUBSCRIPTION_CANCELLED: :"subscription.cancelled"
72
74
  SUBSCRIPTION_FAILED: :"subscription.failed"
73
75
  SUBSCRIPTION_EXPIRED: :"subscription.expired"
@@ -427,6 +427,8 @@ module Dodopayments
427
427
 
428
428
  class SubscriptionOnHoldWebhookEvent = Dodopayments::Models::SubscriptionOnHoldWebhookEvent
429
429
 
430
+ class SubscriptionPausedWebhookEvent = Dodopayments::Models::SubscriptionPausedWebhookEvent
431
+
430
432
  class SubscriptionPlanChangedWebhookEvent = Dodopayments::Models::SubscriptionPlanChangedWebhookEvent
431
433
 
432
434
  class SubscriptionPreviewChangePlanParams = Dodopayments::Models::SubscriptionPreviewChangePlanParams
@@ -441,6 +443,8 @@ module Dodopayments
441
443
 
442
444
  module SubscriptionStatus = Dodopayments::Models::SubscriptionStatus
443
445
 
446
+ class SubscriptionUnpausedWebhookEvent = Dodopayments::Models::SubscriptionUnpausedWebhookEvent
447
+
444
448
  class SubscriptionUpdatedWebhookEvent = Dodopayments::Models::SubscriptionUpdatedWebhookEvent
445
449
 
446
450
  class SubscriptionUpdateParams = Dodopayments::Models::SubscriptionUpdateParams
@@ -47,6 +47,7 @@ module Dodopayments
47
47
  ?disable_on_demand: Dodopayments::SubscriptionUpdateParams::DisableOnDemand?,
48
48
  ?metadata: Dodopayments::Models::metadata?,
49
49
  ?next_billing_date: Time?,
50
+ ?pause: bool?,
50
51
  ?status: Dodopayments::Models::subscription_status?,
51
52
  ?subscription_period_count: Integer?,
52
53
  ?subscription_period_interval: Dodopayments::Models::time_interval?,
@@ -90,8 +90,10 @@ module Dodopayments
90
90
  | Dodopayments::SubscriptionExpiredWebhookEvent
91
91
  | Dodopayments::SubscriptionFailedWebhookEvent
92
92
  | Dodopayments::SubscriptionOnHoldWebhookEvent
93
+ | Dodopayments::SubscriptionPausedWebhookEvent
93
94
  | Dodopayments::SubscriptionPlanChangedWebhookEvent
94
95
  | Dodopayments::SubscriptionRenewedWebhookEvent
96
+ | Dodopayments::SubscriptionUnpausedWebhookEvent
95
97
  | Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent
96
98
  | Dodopayments::SubscriptionUpdatedWebhookEvent)
97
99
 
@@ -140,8 +142,10 @@ module Dodopayments
140
142
  | Dodopayments::SubscriptionExpiredWebhookEvent
141
143
  | Dodopayments::SubscriptionFailedWebhookEvent
142
144
  | Dodopayments::SubscriptionOnHoldWebhookEvent
145
+ | Dodopayments::SubscriptionPausedWebhookEvent
143
146
  | Dodopayments::SubscriptionPlanChangedWebhookEvent
144
147
  | Dodopayments::SubscriptionRenewedWebhookEvent
148
+ | Dodopayments::SubscriptionUnpausedWebhookEvent
145
149
  | Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent
146
150
  | Dodopayments::SubscriptionUpdatedWebhookEvent)
147
151