dodopayments 2.23.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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/models/subscription.rb +10 -1
  5. data/lib/dodopayments/models/subscription_list_params.rb +1 -0
  6. data/lib/dodopayments/models/subscription_list_response.rb +10 -1
  7. data/lib/dodopayments/models/subscription_paused_webhook_event.rb +40 -0
  8. data/lib/dodopayments/models/subscription_status.rb +1 -0
  9. data/lib/dodopayments/models/subscription_unpaused_webhook_event.rb +40 -0
  10. data/lib/dodopayments/models/subscription_update_params.rb +10 -1
  11. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +5 -1
  12. data/lib/dodopayments/models/unwrap_webhook_event.rb +5 -1
  13. data/lib/dodopayments/models/webhook_event_type.rb +1 -0
  14. data/lib/dodopayments/models.rb +4 -0
  15. data/lib/dodopayments/resources/subscriptions.rb +3 -1
  16. data/lib/dodopayments/resources/webhooks.rb +2 -2
  17. data/lib/dodopayments/version.rb +1 -1
  18. data/lib/dodopayments.rb +2 -0
  19. data/rbi/dodopayments/models/subscription.rbi +10 -0
  20. data/rbi/dodopayments/models/subscription_list_params.rbi +5 -0
  21. data/rbi/dodopayments/models/subscription_list_response.rbi +10 -0
  22. data/rbi/dodopayments/models/subscription_paused_webhook_event.rbi +67 -0
  23. data/rbi/dodopayments/models/subscription_status.rbi +1 -0
  24. data/rbi/dodopayments/models/subscription_unpaused_webhook_event.rbi +67 -0
  25. data/rbi/dodopayments/models/subscription_update_params.rbi +10 -0
  26. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +2 -0
  27. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +2 -0
  28. data/rbi/dodopayments/models/webhook_event_type.rbi +5 -0
  29. data/rbi/dodopayments/models.rbi +6 -0
  30. data/rbi/dodopayments/resources/subscriptions.rbi +4 -0
  31. data/rbi/dodopayments/resources/webhooks.rbi +4 -0
  32. data/sig/dodopayments/models/subscription.rbs +5 -0
  33. data/sig/dodopayments/models/subscription_list_params.rbs +8 -1
  34. data/sig/dodopayments/models/subscription_list_response.rbs +5 -0
  35. data/sig/dodopayments/models/subscription_paused_webhook_event.rbs +35 -0
  36. data/sig/dodopayments/models/subscription_status.rbs +2 -1
  37. data/sig/dodopayments/models/subscription_unpaused_webhook_event.rbs +35 -0
  38. data/sig/dodopayments/models/subscription_update_params.rbs +5 -0
  39. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +2 -0
  40. data/sig/dodopayments/models/unwrap_webhook_event.rbs +2 -0
  41. data/sig/dodopayments/models/webhook_event_type.rbs +2 -0
  42. data/sig/dodopayments/models.rbs +4 -0
  43. data/sig/dodopayments/resources/subscriptions.rbs +1 -0
  44. data/sig/dodopayments/resources/webhooks.rbs +4 -0
  45. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cad4c970cd5ba2e91f1b33653e3a27453819b606e7102e86deee762ce4aa2644
4
- data.tar.gz: 565ee66cb3f01d6f407a53961de128f62da49b82adb3cbddc62b346948a5cef9
3
+ metadata.gz: 54faa371ee06087dd998ac36184e28534d52955c484830b985ef33041c1be2ef
4
+ data.tar.gz: a3033cc80faf66427ae2dbbd42f326580702550236eeac8f672b12e85de156fd
5
5
  SHA512:
6
- metadata.gz: f40e2157114f0f727cd01e2efcca91b1f26e18825d97658ef0cb1d3b207eaec1b5c13cce89b6d0aea4e5cd31abd8010d37a67c1b080b690b5e6ec05935b3484b
7
- data.tar.gz: b02a1a361412eeb20958ba7f620a718897161a63de622350c5ff54bac4d3bc66c911594321ef247ab11dc2f192394a8a0648f68a7b7397ce460ee7fd4154ba85
6
+ metadata.gz: 51fcd5e514a4b8042240d297815f2857357d42344a60a9b157a6226f93dc5850d421fc560386ced09ec4b351fe0ea4daa685dc7d91dbc8a781bbd1471fcd75c8
7
+ data.tar.gz: f55ccbebdd5c52348a75c2ff069352e5eef4b46e7898cd8401b166ffa7881ef4b387a71fa6f13902ece22d5f4dda4b20e39dfd05787ec2f4c912b7d58e8bb6ad
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.24.0](https://github.com/dodopayments/dodopayments-ruby/compare/v2.23.0...v2.24.0) (2026-08-13)
4
+
5
+
6
+ ### Features
7
+
8
+ * **api:** add subscription pause/unpause ([40d887a](https://github.com/dodopayments/dodopayments-ruby/commit/40d887abc1f80fca0fffedbd7c9966ef89ec4051))
9
+ * **api:** add subscription pause/unpause ([40280ad](https://github.com/dodopayments/dodopayments-ruby/commit/40280ad39a2abb9297ff48468da7f2bea721d622))
10
+
3
11
  ## [2.23.0](https://github.com/dodopayments/dodopayments-ruby/compare/v2.22.0...v2.23.0) (2026-08-05)
4
12
 
5
13
 
data/README.md CHANGED
@@ -23,7 +23,7 @@ To use this gem, install via Bundler by adding the following to your application
23
23
  <!-- x-release-please-start-version -->
24
24
 
25
25
  ```ruby
26
- gem "dodopayments", "~> 2.23.0"
26
+ gem "dodopayments", "~> 2.24.0"
27
27
  ```
28
28
 
29
29
  <!-- x-release-please-end -->
@@ -217,6 +217,13 @@ module Dodopayments
217
217
  # @return [Time, nil]
218
218
  optional :expires_at, Time, nil?: true
219
219
 
220
+ # @!attribute paused_at
221
+ # Timestamp when the subscription was paused, if it currently is (or is `OnHold`
222
+ # due to an unresolved pause settlement). `null` otherwise.
223
+ #
224
+ # @return [Time, nil]
225
+ optional :paused_at, Time, nil?: true
226
+
220
227
  # @!attribute payment_method_id
221
228
  # Saved payment method id used for recurring charges
222
229
  #
@@ -243,7 +250,7 @@ module Dodopayments
243
250
  # @return [Integer, nil]
244
251
  optional :trial_amount, Integer, nil?: true
245
252
 
246
- # @!method initialize(addons:, billing:, brand_id:, cancel_at_next_billing_date:, created_at:, credit_entitlement_cart:, currency:, customer:, metadata:, meter_credit_entitlement_cart:, meters:, next_billing_date:, on_demand:, payment_frequency_count:, payment_frequency_interval:, previous_billing_date:, product_id:, quantity:, recurring_pre_tax_amount:, status:, subscription_id:, subscription_period_count:, subscription_period_interval:, tax_inclusive:, trial_period_days:, cancellation_comment: nil, cancellation_feedback: nil, cancelled_at: nil, custom_field_responses: nil, customer_business_name: nil, discount_cycles_remaining: nil, discount_id: nil, discounts: nil, expires_at: nil, payment_method_id: nil, scheduled_change: nil, tax_id: nil, trial_amount: nil)
253
+ # @!method initialize(addons:, billing:, brand_id:, cancel_at_next_billing_date:, created_at:, credit_entitlement_cart:, currency:, customer:, metadata:, meter_credit_entitlement_cart:, meters:, next_billing_date:, on_demand:, payment_frequency_count:, payment_frequency_interval:, previous_billing_date:, product_id:, quantity:, recurring_pre_tax_amount:, status:, subscription_id:, subscription_period_count:, subscription_period_interval:, tax_inclusive:, trial_period_days:, cancellation_comment: nil, cancellation_feedback: nil, cancelled_at: nil, custom_field_responses: nil, customer_business_name: nil, discount_cycles_remaining: nil, discount_id: nil, discounts: nil, expires_at: nil, paused_at: nil, payment_method_id: nil, scheduled_change: nil, tax_id: nil, trial_amount: nil)
247
254
  # Some parameter documentations has been truncated, see
248
255
  # {Dodopayments::Models::Subscription} for more details.
249
256
  #
@@ -317,6 +324,8 @@ module Dodopayments
317
324
  #
318
325
  # @param expires_at [Time, nil] Timestamp when the subscription will expire
319
326
  #
327
+ # @param paused_at [Time, nil] Timestamp when the subscription was paused, if it currently is (or is
328
+ #
320
329
  # @param payment_method_id [String, nil] Saved payment method id used for recurring charges
321
330
  #
322
331
  # @param scheduled_change [Dodopayments::Models::ScheduledPlanChange, nil] Scheduled plan change details, if any
@@ -92,6 +92,7 @@ module Dodopayments
92
92
  PENDING = :pending
93
93
  ACTIVE = :active
94
94
  ON_HOLD = :on_hold
95
+ PAUSED = :paused
95
96
  CANCELLED = :cancelled
96
97
  FAILED = :failed
97
98
  EXPIRED = :expired
@@ -158,6 +158,13 @@ module Dodopayments
158
158
  # @return [String, nil]
159
159
  optional :discount_id, String, nil?: true
160
160
 
161
+ # @!attribute paused_at
162
+ # Timestamp when the subscription was paused, if it currently is (or is `OnHold`
163
+ # due to an unresolved pause settlement). `null` otherwise.
164
+ #
165
+ # @return [Time, nil]
166
+ optional :paused_at, Time, nil?: true
167
+
161
168
  # @!attribute payment_method_id
162
169
  # Saved payment method id used for recurring charges
163
170
  #
@@ -190,7 +197,7 @@ module Dodopayments
190
197
  # @return [Integer, nil]
191
198
  optional :trial_amount, Integer, nil?: true
192
199
 
193
- # @!method initialize(billing:, cancel_at_next_billing_date:, created_at:, currency:, customer:, discounts:, metadata:, next_billing_date:, on_demand:, payment_frequency_count:, payment_frequency_interval:, previous_billing_date:, product_id:, quantity:, recurring_pre_tax_amount:, status:, subscription_id:, subscription_period_count:, subscription_period_interval:, tax_inclusive:, trial_period_days:, cancelled_at: nil, customer_business_name: nil, discount_cycles_remaining: nil, discount_id: nil, payment_method_id: nil, product_name: nil, scheduled_change: nil, tax_id: nil, trial_amount: nil)
200
+ # @!method initialize(billing:, cancel_at_next_billing_date:, created_at:, currency:, customer:, discounts:, metadata:, next_billing_date:, on_demand:, payment_frequency_count:, payment_frequency_interval:, previous_billing_date:, product_id:, quantity:, recurring_pre_tax_amount:, status:, subscription_id:, subscription_period_count:, subscription_period_interval:, tax_inclusive:, trial_period_days:, cancelled_at: nil, customer_business_name: nil, discount_cycles_remaining: nil, discount_id: nil, paused_at: nil, payment_method_id: nil, product_name: nil, scheduled_change: nil, tax_id: nil, trial_amount: nil)
194
201
  # Some parameter documentations has been truncated, see
195
202
  # {Dodopayments::Models::SubscriptionListResponse} for more details.
196
203
  #
@@ -246,6 +253,8 @@ module Dodopayments
246
253
  #
247
254
  # @param discount_id [String, nil] DEPRECATED: Use discounts instead.
248
255
  #
256
+ # @param paused_at [Time, nil] Timestamp when the subscription was paused, if it currently is (or is
257
+ #
249
258
  # @param payment_method_id [String, nil] Saved payment method id used for recurring charges
250
259
  #
251
260
  # @param product_name [String, nil] Name of the product associated with this subscription
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class SubscriptionPausedWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ # @!attribute business_id
7
+ # The business identifier
8
+ #
9
+ # @return [String]
10
+ required :business_id, String
11
+
12
+ # @!attribute data
13
+ # Response struct representing subscription details
14
+ #
15
+ # @return [Dodopayments::Models::Subscription]
16
+ required :data, -> { Dodopayments::Subscription }
17
+
18
+ # @!attribute timestamp
19
+ # The timestamp of when the event occurred
20
+ #
21
+ # @return [Time]
22
+ required :timestamp, Time
23
+
24
+ # @!attribute type
25
+ # The event type
26
+ #
27
+ # @return [Symbol, :"subscription.paused"]
28
+ required :type, const: :"subscription.paused"
29
+
30
+ # @!method initialize(business_id:, data:, timestamp:, type: :"subscription.paused")
31
+ # @param business_id [String] The business identifier
32
+ #
33
+ # @param data [Dodopayments::Models::Subscription] Response struct representing subscription details
34
+ #
35
+ # @param timestamp [Time] The timestamp of when the event occurred
36
+ #
37
+ # @param type [Symbol, :"subscription.paused"] The event type
38
+ end
39
+ end
40
+ end
@@ -8,6 +8,7 @@ module Dodopayments
8
8
  PENDING = :pending
9
9
  ACTIVE = :active
10
10
  ON_HOLD = :on_hold
11
+ PAUSED = :paused
11
12
  CANCELLED = :cancelled
12
13
  FAILED = :failed
13
14
  EXPIRED = :expired
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class SubscriptionUnpausedWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ # @!attribute business_id
7
+ # The business identifier
8
+ #
9
+ # @return [String]
10
+ required :business_id, String
11
+
12
+ # @!attribute data
13
+ # Response struct representing subscription details
14
+ #
15
+ # @return [Dodopayments::Models::Subscription]
16
+ required :data, -> { Dodopayments::Subscription }
17
+
18
+ # @!attribute timestamp
19
+ # The timestamp of when the event occurred
20
+ #
21
+ # @return [Time]
22
+ required :timestamp, Time
23
+
24
+ # @!attribute type
25
+ # The event type
26
+ #
27
+ # @return [Symbol, :"subscription.unpaused"]
28
+ required :type, const: :"subscription.unpaused"
29
+
30
+ # @!method initialize(business_id:, data:, timestamp:, type: :"subscription.unpaused")
31
+ # @param business_id [String] The business identifier
32
+ #
33
+ # @param data [Dodopayments::Models::Subscription] Response struct representing subscription details
34
+ #
35
+ # @param timestamp [Time] The timestamp of when the event occurred
36
+ #
37
+ # @param type [Symbol, :"subscription.unpaused"] The event type
38
+ end
39
+ end
40
+ end
@@ -84,6 +84,13 @@ module Dodopayments
84
84
  # @return [Time, nil]
85
85
  optional :next_billing_date, Time, nil?: true
86
86
 
87
+ # @!attribute pause
88
+ # `Some(true)` pauses an active subscription; `Some(false)` unpauses a `Paused`
89
+ # (or abandoned `OnHold`) subscription. Exclusive of every other field.
90
+ #
91
+ # @return [Boolean, nil]
92
+ optional :pause, Dodopayments::Internal::Type::Boolean, nil?: true
93
+
87
94
  # @!attribute status
88
95
  #
89
96
  # @return [Symbol, Dodopayments::Models::SubscriptionStatus, nil]
@@ -111,7 +118,7 @@ module Dodopayments
111
118
  # @return [String, nil]
112
119
  optional :tax_id, String, nil?: true
113
120
 
114
- # @!method initialize(subscription_id:, billing: nil, cancel_at_next_billing_date: nil, cancel_reason: nil, cancellation_comment: nil, cancellation_feedback: nil, credit_entitlement_cart: nil, customer_business_name: nil, customer_name: nil, disable_on_demand: nil, metadata: nil, next_billing_date: nil, status: nil, subscription_period_count: nil, subscription_period_interval: nil, tax_id: nil, request_options: {})
121
+ # @!method initialize(subscription_id:, billing: nil, cancel_at_next_billing_date: nil, cancel_reason: nil, cancellation_comment: nil, cancellation_feedback: nil, credit_entitlement_cart: nil, customer_business_name: nil, customer_name: nil, disable_on_demand: nil, metadata: nil, next_billing_date: nil, pause: nil, status: nil, subscription_period_count: nil, subscription_period_interval: nil, tax_id: nil, request_options: {})
115
122
  # Some parameter documentations has been truncated, see
116
123
  # {Dodopayments::Models::SubscriptionUpdateParams} for more details.
117
124
  #
@@ -139,6 +146,8 @@ module Dodopayments
139
146
  #
140
147
  # @param next_billing_date [Time, nil]
141
148
  #
149
+ # @param pause [Boolean, nil] `Some(true)` pauses an active subscription; `Some(false)` unpauses a
150
+ #
142
151
  # @param status [Symbol, Dodopayments::Models::SubscriptionStatus, nil]
143
152
  #
144
153
  # @param subscription_period_count [Integer, nil] New number of `subscription_period_interval` units the subscription
@@ -89,17 +89,21 @@ module Dodopayments
89
89
 
90
90
  variant :"subscription.on_hold", -> { Dodopayments::SubscriptionOnHoldWebhookEvent }
91
91
 
92
+ variant :"subscription.paused", -> { Dodopayments::SubscriptionPausedWebhookEvent }
93
+
92
94
  variant :"subscription.plan_changed", -> { Dodopayments::SubscriptionPlanChangedWebhookEvent }
93
95
 
94
96
  variant :"subscription.renewed", -> { Dodopayments::SubscriptionRenewedWebhookEvent }
95
97
 
98
+ variant :"subscription.unpaused", -> { Dodopayments::SubscriptionUnpausedWebhookEvent }
99
+
96
100
  variant :"subscription.update_payment_method",
97
101
  -> { Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent }
98
102
 
99
103
  variant :"subscription.updated", -> { Dodopayments::SubscriptionUpdatedWebhookEvent }
100
104
 
101
105
  # @!method self.variants
102
- # @return [Array(Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::PayoutCreatedWebhookEvent, Dodopayments::Models::PayoutFailedWebhookEvent, Dodopayments::Models::PayoutInProgressWebhookEvent, Dodopayments::Models::PayoutOnHoldWebhookEvent, Dodopayments::Models::PayoutSuccessWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
106
+ # @return [Array(Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::PayoutCreatedWebhookEvent, Dodopayments::Models::PayoutFailedWebhookEvent, Dodopayments::Models::PayoutInProgressWebhookEvent, Dodopayments::Models::PayoutOnHoldWebhookEvent, Dodopayments::Models::PayoutSuccessWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPausedWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUnpausedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
103
107
  end
104
108
  end
105
109
  end
@@ -89,17 +89,21 @@ module Dodopayments
89
89
 
90
90
  variant :"subscription.on_hold", -> { Dodopayments::SubscriptionOnHoldWebhookEvent }
91
91
 
92
+ variant :"subscription.paused", -> { Dodopayments::SubscriptionPausedWebhookEvent }
93
+
92
94
  variant :"subscription.plan_changed", -> { Dodopayments::SubscriptionPlanChangedWebhookEvent }
93
95
 
94
96
  variant :"subscription.renewed", -> { Dodopayments::SubscriptionRenewedWebhookEvent }
95
97
 
98
+ variant :"subscription.unpaused", -> { Dodopayments::SubscriptionUnpausedWebhookEvent }
99
+
96
100
  variant :"subscription.update_payment_method",
97
101
  -> { Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent }
98
102
 
99
103
  variant :"subscription.updated", -> { Dodopayments::SubscriptionUpdatedWebhookEvent }
100
104
 
101
105
  # @!method self.variants
102
- # @return [Array(Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::PayoutCreatedWebhookEvent, Dodopayments::Models::PayoutFailedWebhookEvent, Dodopayments::Models::PayoutInProgressWebhookEvent, Dodopayments::Models::PayoutOnHoldWebhookEvent, Dodopayments::Models::PayoutSuccessWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
106
+ # @return [Array(Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::PayoutCreatedWebhookEvent, Dodopayments::Models::PayoutFailedWebhookEvent, Dodopayments::Models::PayoutInProgressWebhookEvent, Dodopayments::Models::PayoutOnHoldWebhookEvent, Dodopayments::Models::PayoutSuccessWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPausedWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUnpausedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent)]
103
107
  end
104
108
  end
105
109
  end
@@ -23,6 +23,7 @@ module Dodopayments
23
23
  SUBSCRIPTION_RENEWED = :"subscription.renewed"
24
24
  SUBSCRIPTION_ON_HOLD = :"subscription.on_hold"
25
25
  SUBSCRIPTION_PAUSED = :"subscription.paused"
26
+ SUBSCRIPTION_UNPAUSED = :"subscription.unpaused"
26
27
  SUBSCRIPTION_CANCELLED = :"subscription.cancelled"
27
28
  SUBSCRIPTION_FAILED = :"subscription.failed"
28
29
  SUBSCRIPTION_EXPIRED = :"subscription.expired"
@@ -468,6 +468,8 @@ module Dodopayments
468
468
 
469
469
  SubscriptionOnHoldWebhookEvent = Dodopayments::Models::SubscriptionOnHoldWebhookEvent
470
470
 
471
+ SubscriptionPausedWebhookEvent = Dodopayments::Models::SubscriptionPausedWebhookEvent
472
+
471
473
  SubscriptionPlanChangedWebhookEvent = Dodopayments::Models::SubscriptionPlanChangedWebhookEvent
472
474
 
473
475
  SubscriptionPreviewChangePlanParams = Dodopayments::Models::SubscriptionPreviewChangePlanParams
@@ -482,6 +484,8 @@ module Dodopayments
482
484
 
483
485
  SubscriptionStatus = Dodopayments::Models::SubscriptionStatus
484
486
 
487
+ SubscriptionUnpausedWebhookEvent = Dodopayments::Models::SubscriptionUnpausedWebhookEvent
488
+
485
489
  SubscriptionUpdatedWebhookEvent = Dodopayments::Models::SubscriptionUpdatedWebhookEvent
486
490
 
487
491
  SubscriptionUpdateParams = Dodopayments::Models::SubscriptionUpdateParams
@@ -95,7 +95,7 @@ module Dodopayments
95
95
  # Some parameter documentations has been truncated, see
96
96
  # {Dodopayments::Models::SubscriptionUpdateParams} for more details.
97
97
  #
98
- # @overload update(subscription_id, billing: nil, cancel_at_next_billing_date: nil, cancel_reason: nil, cancellation_comment: nil, cancellation_feedback: nil, credit_entitlement_cart: nil, customer_business_name: nil, customer_name: nil, disable_on_demand: nil, metadata: nil, next_billing_date: nil, status: nil, subscription_period_count: nil, subscription_period_interval: nil, tax_id: nil, request_options: {})
98
+ # @overload update(subscription_id, billing: nil, cancel_at_next_billing_date: nil, cancel_reason: nil, cancellation_comment: nil, cancellation_feedback: nil, credit_entitlement_cart: nil, customer_business_name: nil, customer_name: nil, disable_on_demand: nil, metadata: nil, next_billing_date: nil, pause: nil, status: nil, subscription_period_count: nil, subscription_period_interval: nil, tax_id: nil, request_options: {})
99
99
  #
100
100
  # @param subscription_id [String] Subscription Id
101
101
  #
@@ -121,6 +121,8 @@ module Dodopayments
121
121
  #
122
122
  # @param next_billing_date [Time, nil]
123
123
  #
124
+ # @param pause [Boolean, nil] `Some(true)` pauses an active subscription; `Some(false)` unpauses a
125
+ #
124
126
  # @param status [Symbol, Dodopayments::Models::SubscriptionStatus, nil]
125
127
  #
126
128
  # @param subscription_period_count [Integer, nil] New number of `subscription_period_interval` units the subscription
@@ -170,7 +170,7 @@ module Dodopayments
170
170
 
171
171
  # @param payload [String] The raw webhook payload as a string
172
172
  #
173
- # @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::PayoutCreatedWebhookEvent, Dodopayments::Models::PayoutFailedWebhookEvent, Dodopayments::Models::PayoutInProgressWebhookEvent, Dodopayments::Models::PayoutOnHoldWebhookEvent, Dodopayments::Models::PayoutSuccessWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
173
+ # @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::PayoutCreatedWebhookEvent, Dodopayments::Models::PayoutFailedWebhookEvent, Dodopayments::Models::PayoutInProgressWebhookEvent, Dodopayments::Models::PayoutOnHoldWebhookEvent, Dodopayments::Models::PayoutSuccessWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPausedWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUnpausedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
174
174
  def unsafe_unwrap(payload)
175
175
  parsed = JSON.parse(payload, symbolize_names: true)
176
176
  Dodopayments::Internal::Type::Converter.coerce(Dodopayments::Models::UnsafeUnwrapWebhookEvent, parsed)
@@ -182,7 +182,7 @@ module Dodopayments
182
182
  #
183
183
  # @param key [String, nil] The webhook signing key
184
184
  #
185
- # @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::PayoutCreatedWebhookEvent, Dodopayments::Models::PayoutFailedWebhookEvent, Dodopayments::Models::PayoutInProgressWebhookEvent, Dodopayments::Models::PayoutOnHoldWebhookEvent, Dodopayments::Models::PayoutSuccessWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
185
+ # @return [Dodopayments::Models::AbandonedCheckoutDetectedWebhookEvent, Dodopayments::Models::AbandonedCheckoutRecoveredWebhookEvent, Dodopayments::Models::CreditAddedWebhookEvent, Dodopayments::Models::CreditBalanceLowWebhookEvent, Dodopayments::Models::CreditDeductedWebhookEvent, Dodopayments::Models::CreditExpiredWebhookEvent, Dodopayments::Models::CreditManualAdjustmentWebhookEvent, Dodopayments::Models::CreditOverageChargedWebhookEvent, Dodopayments::Models::CreditOverageResetWebhookEvent, Dodopayments::Models::CreditRolledOverWebhookEvent, Dodopayments::Models::CreditRolloverForfeitedWebhookEvent, Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::DunningRecoveredWebhookEvent, Dodopayments::Models::DunningStartedWebhookEvent, Dodopayments::Models::EntitlementGrantCreatedWebhookEvent, Dodopayments::Models::EntitlementGrantDeliveredWebhookEvent, Dodopayments::Models::EntitlementGrantFailedWebhookEvent, Dodopayments::Models::EntitlementGrantRevokedWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, Dodopayments::Models::PayoutCreatedWebhookEvent, Dodopayments::Models::PayoutFailedWebhookEvent, Dodopayments::Models::PayoutInProgressWebhookEvent, Dodopayments::Models::PayoutOnHoldWebhookEvent, Dodopayments::Models::PayoutSuccessWebhookEvent, Dodopayments::Models::RefundFailedWebhookEvent, Dodopayments::Models::RefundSucceededWebhookEvent, Dodopayments::Models::SubscriptionActiveWebhookEvent, Dodopayments::Models::SubscriptionCancelledWebhookEvent, Dodopayments::Models::SubscriptionExpiredWebhookEvent, Dodopayments::Models::SubscriptionFailedWebhookEvent, Dodopayments::Models::SubscriptionOnHoldWebhookEvent, Dodopayments::Models::SubscriptionPausedWebhookEvent, Dodopayments::Models::SubscriptionPlanChangedWebhookEvent, Dodopayments::Models::SubscriptionRenewedWebhookEvent, Dodopayments::Models::SubscriptionUnpausedWebhookEvent, Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent, Dodopayments::Models::SubscriptionUpdatedWebhookEvent]
186
186
  def unwrap(payload, headers:, key: @client.webhook_key)
187
187
  if key.nil?
188
188
  raise ArgumentError.new("Cannot verify a webhook without a key on either the client's webhook_key or passed in as an argument")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dodopayments
4
- VERSION = "2.23.0"
4
+ VERSION = "2.24.0"
5
5
  end
data/lib/dodopayments.rb CHANGED
@@ -343,6 +343,7 @@ require_relative "dodopayments/models/subscription_failed_webhook_event"
343
343
  require_relative "dodopayments/models/subscription_list_params"
344
344
  require_relative "dodopayments/models/subscription_list_response"
345
345
  require_relative "dodopayments/models/subscription_on_hold_webhook_event"
346
+ require_relative "dodopayments/models/subscription_paused_webhook_event"
346
347
  require_relative "dodopayments/models/subscription_plan_changed_webhook_event"
347
348
  require_relative "dodopayments/models/subscription_preview_change_plan_params"
348
349
  require_relative "dodopayments/models/subscription_preview_change_plan_response"
@@ -353,6 +354,7 @@ require_relative "dodopayments/models/subscription_retrieve_params"
353
354
  require_relative "dodopayments/models/subscription_retrieve_usage_history_params"
354
355
  require_relative "dodopayments/models/subscription_retrieve_usage_history_response"
355
356
  require_relative "dodopayments/models/subscription_status"
357
+ require_relative "dodopayments/models/subscription_unpaused_webhook_event"
356
358
  require_relative "dodopayments/models/subscription_updated_webhook_event"
357
359
  require_relative "dodopayments/models/subscription_update_params"
358
360
  require_relative "dodopayments/models/subscription_update_payment_method_params"
@@ -159,6 +159,11 @@ module Dodopayments
159
159
  sig { returns(T.nilable(Time)) }
160
160
  attr_accessor :expires_at
161
161
 
162
+ # Timestamp when the subscription was paused, if it currently is (or is `OnHold`
163
+ # due to an unresolved pause settlement). `null` otherwise.
164
+ sig { returns(T.nilable(Time)) }
165
+ attr_accessor :paused_at
166
+
162
167
  # Saved payment method id used for recurring charges
163
168
  sig { returns(T.nilable(String)) }
164
169
  attr_accessor :payment_method_id
@@ -225,6 +230,7 @@ module Dodopayments
225
230
  discount_id: T.nilable(String),
226
231
  discounts: T.nilable(T::Array[Dodopayments::DiscountDetail::OrHash]),
227
232
  expires_at: T.nilable(Time),
233
+ paused_at: T.nilable(Time),
228
234
  payment_method_id: T.nilable(String),
229
235
  scheduled_change:
230
236
  T.nilable(Dodopayments::ScheduledPlanChange::OrHash),
@@ -304,6 +310,9 @@ module Dodopayments
304
310
  discounts: nil,
305
311
  # Timestamp when the subscription will expire
306
312
  expires_at: nil,
313
+ # Timestamp when the subscription was paused, if it currently is (or is `OnHold`
314
+ # due to an unresolved pause settlement). `null` otherwise.
315
+ paused_at: nil,
307
316
  # Saved payment method id used for recurring charges
308
317
  payment_method_id: nil,
309
318
  # Scheduled plan change details, if any
@@ -360,6 +369,7 @@ module Dodopayments
360
369
  discount_id: T.nilable(String),
361
370
  discounts: T.nilable(T::Array[Dodopayments::DiscountDetail]),
362
371
  expires_at: T.nilable(Time),
372
+ paused_at: T.nilable(Time),
363
373
  payment_method_id: T.nilable(String),
364
374
  scheduled_change: T.nilable(Dodopayments::ScheduledPlanChange),
365
375
  tax_id: T.nilable(String),
@@ -166,6 +166,11 @@ module Dodopayments
166
166
  :on_hold,
167
167
  Dodopayments::SubscriptionListParams::Status::TaggedSymbol
168
168
  )
169
+ PAUSED =
170
+ T.let(
171
+ :paused,
172
+ Dodopayments::SubscriptionListParams::Status::TaggedSymbol
173
+ )
169
174
  CANCELLED =
170
175
  T.let(
171
176
  :cancelled,
@@ -126,6 +126,11 @@ module Dodopayments
126
126
  sig { returns(T.nilable(String)) }
127
127
  attr_accessor :discount_id
128
128
 
129
+ # Timestamp when the subscription was paused, if it currently is (or is `OnHold`
130
+ # due to an unresolved pause settlement). `null` otherwise.
131
+ sig { returns(T.nilable(Time)) }
132
+ attr_accessor :paused_at
133
+
129
134
  # Saved payment method id used for recurring charges
130
135
  sig { returns(T.nilable(String)) }
131
136
  attr_accessor :payment_method_id
@@ -186,6 +191,7 @@ module Dodopayments
186
191
  customer_business_name: T.nilable(String),
187
192
  discount_cycles_remaining: T.nilable(Integer),
188
193
  discount_id: T.nilable(String),
194
+ paused_at: T.nilable(Time),
189
195
  payment_method_id: T.nilable(String),
190
196
  product_name: T.nilable(String),
191
197
  scheduled_change:
@@ -248,6 +254,9 @@ module Dodopayments
248
254
  discount_cycles_remaining: nil,
249
255
  # DEPRECATED: Use discounts instead.
250
256
  discount_id: nil,
257
+ # Timestamp when the subscription was paused, if it currently is (or is `OnHold`
258
+ # due to an unresolved pause settlement). `null` otherwise.
259
+ paused_at: nil,
251
260
  # Saved payment method id used for recurring charges
252
261
  payment_method_id: nil,
253
262
  # Name of the product associated with this subscription
@@ -296,6 +305,7 @@ module Dodopayments
296
305
  customer_business_name: T.nilable(String),
297
306
  discount_cycles_remaining: T.nilable(Integer),
298
307
  discount_id: T.nilable(String),
308
+ paused_at: T.nilable(Time),
299
309
  payment_method_id: T.nilable(String),
300
310
  product_name: T.nilable(String),
301
311
  scheduled_change: T.nilable(Dodopayments::ScheduledPlanChange),
@@ -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:
@@ -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
  )
@@ -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?,
@@ -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
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dodopayments
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.23.0
4
+ version: 2.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dodo Payments
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-05 00:00:00.000000000 Z
11
+ date: 2026-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -372,6 +372,7 @@ files:
372
372
  - lib/dodopayments/models/subscription_list_params.rb
373
373
  - lib/dodopayments/models/subscription_list_response.rb
374
374
  - lib/dodopayments/models/subscription_on_hold_webhook_event.rb
375
+ - lib/dodopayments/models/subscription_paused_webhook_event.rb
375
376
  - lib/dodopayments/models/subscription_plan_changed_webhook_event.rb
376
377
  - lib/dodopayments/models/subscription_preview_change_plan_params.rb
377
378
  - lib/dodopayments/models/subscription_preview_change_plan_response.rb
@@ -382,6 +383,7 @@ files:
382
383
  - lib/dodopayments/models/subscription_retrieve_usage_history_params.rb
383
384
  - lib/dodopayments/models/subscription_retrieve_usage_history_response.rb
384
385
  - lib/dodopayments/models/subscription_status.rb
386
+ - lib/dodopayments/models/subscription_unpaused_webhook_event.rb
385
387
  - lib/dodopayments/models/subscription_update_params.rb
386
388
  - lib/dodopayments/models/subscription_update_payment_method_params.rb
387
389
  - lib/dodopayments/models/subscription_update_payment_method_response.rb
@@ -763,6 +765,7 @@ files:
763
765
  - rbi/dodopayments/models/subscription_list_params.rbi
764
766
  - rbi/dodopayments/models/subscription_list_response.rbi
765
767
  - rbi/dodopayments/models/subscription_on_hold_webhook_event.rbi
768
+ - rbi/dodopayments/models/subscription_paused_webhook_event.rbi
766
769
  - rbi/dodopayments/models/subscription_plan_changed_webhook_event.rbi
767
770
  - rbi/dodopayments/models/subscription_preview_change_plan_params.rbi
768
771
  - rbi/dodopayments/models/subscription_preview_change_plan_response.rbi
@@ -773,6 +776,7 @@ files:
773
776
  - rbi/dodopayments/models/subscription_retrieve_usage_history_params.rbi
774
777
  - rbi/dodopayments/models/subscription_retrieve_usage_history_response.rbi
775
778
  - rbi/dodopayments/models/subscription_status.rbi
779
+ - rbi/dodopayments/models/subscription_unpaused_webhook_event.rbi
776
780
  - rbi/dodopayments/models/subscription_update_params.rbi
777
781
  - rbi/dodopayments/models/subscription_update_payment_method_params.rbi
778
782
  - rbi/dodopayments/models/subscription_update_payment_method_response.rbi
@@ -1153,6 +1157,7 @@ files:
1153
1157
  - sig/dodopayments/models/subscription_list_params.rbs
1154
1158
  - sig/dodopayments/models/subscription_list_response.rbs
1155
1159
  - sig/dodopayments/models/subscription_on_hold_webhook_event.rbs
1160
+ - sig/dodopayments/models/subscription_paused_webhook_event.rbs
1156
1161
  - sig/dodopayments/models/subscription_plan_changed_webhook_event.rbs
1157
1162
  - sig/dodopayments/models/subscription_preview_change_plan_params.rbs
1158
1163
  - sig/dodopayments/models/subscription_preview_change_plan_response.rbs
@@ -1163,6 +1168,7 @@ files:
1163
1168
  - sig/dodopayments/models/subscription_retrieve_usage_history_params.rbs
1164
1169
  - sig/dodopayments/models/subscription_retrieve_usage_history_response.rbs
1165
1170
  - sig/dodopayments/models/subscription_status.rbs
1171
+ - sig/dodopayments/models/subscription_unpaused_webhook_event.rbs
1166
1172
  - sig/dodopayments/models/subscription_update_params.rbs
1167
1173
  - sig/dodopayments/models/subscription_update_payment_method_params.rbs
1168
1174
  - sig/dodopayments/models/subscription_update_payment_method_response.rbs