dodopayments 2.20.0 → 2.21.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 (78) 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 +41 -4
  5. data/lib/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rb +4 -2
  6. data/lib/dodopayments/models/discount.rb +95 -3
  7. data/lib/dodopayments/models/discount_create_params.rb +110 -3
  8. data/lib/dodopayments/models/discount_list_params.rb +7 -2
  9. data/lib/dodopayments/models/discount_type.rb +1 -0
  10. data/lib/dodopayments/models/discount_update_params.rb +108 -3
  11. data/lib/dodopayments/models/payment.rb +162 -1
  12. data/lib/dodopayments/models/payment_list_params.rb +163 -1
  13. data/lib/dodopayments/models/payment_method_types.rb +0 -1
  14. data/lib/dodopayments/models/price.rb +19 -1
  15. data/lib/dodopayments/models/subscription.rb +11 -1
  16. data/lib/dodopayments/models/subscription_create_response.rb +10 -1
  17. data/lib/dodopayments/models/subscription_list_params.rb +12 -1
  18. data/lib/dodopayments/models/subscription_list_response.rb +11 -1
  19. data/lib/dodopayments/models/subscription_update_payment_method_webhook_event.rb +40 -0
  20. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +4 -1
  21. data/lib/dodopayments/models/unwrap_webhook_event.rb +4 -1
  22. data/lib/dodopayments/models/webhook_event_type.rb +1 -0
  23. data/lib/dodopayments/models.rb +3 -0
  24. data/lib/dodopayments/resources/credit_entitlements/balances.rb +1 -1
  25. data/lib/dodopayments/resources/discounts.rb +24 -5
  26. data/lib/dodopayments/resources/payments.rb +3 -1
  27. data/lib/dodopayments/resources/subscriptions.rb +6 -1
  28. data/lib/dodopayments/resources/webhooks.rb +2 -2
  29. data/lib/dodopayments/version.rb +1 -1
  30. data/lib/dodopayments.rb +1 -0
  31. data/rbi/dodopayments/models/checkout_session_preview_response.rbi +47 -5
  32. data/rbi/dodopayments/models/credit_entitlements/balance_create_ledger_entry_params.rbi +6 -2
  33. data/rbi/dodopayments/models/discount.rbi +151 -2
  34. data/rbi/dodopayments/models/discount_create_params.rbi +197 -2
  35. data/rbi/dodopayments/models/discount_list_params.rbi +6 -2
  36. data/rbi/dodopayments/models/discount_type.rbi +1 -0
  37. data/rbi/dodopayments/models/discount_update_params.rbi +193 -2
  38. data/rbi/dodopayments/models/payment.rbi +365 -0
  39. data/rbi/dodopayments/models/payment_list_params.rbi +327 -0
  40. data/rbi/dodopayments/models/payment_method_types.rbi +0 -1
  41. data/rbi/dodopayments/models/price.rbi +20 -0
  42. data/rbi/dodopayments/models/subscription.rbi +15 -3
  43. data/rbi/dodopayments/models/subscription_create_response.rbi +13 -3
  44. data/rbi/dodopayments/models/subscription_list_params.rbi +11 -0
  45. data/rbi/dodopayments/models/subscription_list_response.rbi +15 -3
  46. data/rbi/dodopayments/models/subscription_update_payment_method_webhook_event.rbi +67 -0
  47. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +1 -0
  48. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +1 -0
  49. data/rbi/dodopayments/models/webhook_event_type.rbi +5 -0
  50. data/rbi/dodopayments/models.rbi +3 -0
  51. data/rbi/dodopayments/resources/credit_entitlements/balances.rbi +3 -1
  52. data/rbi/dodopayments/resources/discounts.rbi +57 -3
  53. data/rbi/dodopayments/resources/payments.rbi +3 -0
  54. data/rbi/dodopayments/resources/subscriptions.rbi +3 -0
  55. data/rbi/dodopayments/resources/webhooks.rbi +2 -0
  56. data/sig/dodopayments/models/checkout_session_preview_response.rbs +18 -3
  57. data/sig/dodopayments/models/discount.rbs +69 -0
  58. data/sig/dodopayments/models/discount_create_params.rbs +69 -0
  59. data/sig/dodopayments/models/discount_type.rbs +2 -1
  60. data/sig/dodopayments/models/discount_update_params.rbs +69 -0
  61. data/sig/dodopayments/models/payment.rbs +145 -0
  62. data/sig/dodopayments/models/payment_list_params.rbs +308 -0
  63. data/sig/dodopayments/models/payment_method_types.rbs +0 -2
  64. data/sig/dodopayments/models/price.rbs +10 -0
  65. data/sig/dodopayments/models/subscription.rbs +8 -3
  66. data/sig/dodopayments/models/subscription_create_response.rbs +8 -3
  67. data/sig/dodopayments/models/subscription_list_params.rbs +7 -0
  68. data/sig/dodopayments/models/subscription_list_response.rbs +8 -3
  69. data/sig/dodopayments/models/subscription_update_payment_method_webhook_event.rbs +35 -0
  70. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +1 -0
  71. data/sig/dodopayments/models/unwrap_webhook_event.rbs +1 -0
  72. data/sig/dodopayments/models/webhook_event_type.rbs +2 -0
  73. data/sig/dodopayments/models.rbs +2 -0
  74. data/sig/dodopayments/resources/discounts.rbs +8 -0
  75. data/sig/dodopayments/resources/payments.rbs +1 -0
  76. data/sig/dodopayments/resources/subscriptions.rbs +1 -0
  77. data/sig/dodopayments/resources/webhooks.rbs +2 -0
  78. metadata +5 -2
@@ -3,6 +3,7 @@ module Dodopayments
3
3
  type subscription_list_params =
4
4
  {
5
5
  brand_id: String,
6
+ cancel_at_next_billing_date: bool,
6
7
  created_at_gte: Time,
7
8
  created_at_lte: Time,
8
9
  customer_id: String,
@@ -21,6 +22,10 @@ module Dodopayments
21
22
 
22
23
  def brand_id=: (String) -> String
23
24
 
25
+ attr_reader cancel_at_next_billing_date: bool?
26
+
27
+ def cancel_at_next_billing_date=: (bool) -> bool
28
+
24
29
  attr_reader created_at_gte: Time?
25
30
 
26
31
  def created_at_gte=: (Time) -> Time
@@ -53,6 +58,7 @@ module Dodopayments
53
58
 
54
59
  def initialize: (
55
60
  ?brand_id: String,
61
+ ?cancel_at_next_billing_date: bool,
56
62
  ?created_at_gte: Time,
57
63
  ?created_at_lte: Time,
58
64
  ?customer_id: String,
@@ -65,6 +71,7 @@ module Dodopayments
65
71
 
66
72
  def to_hash: -> {
67
73
  brand_id: String,
74
+ cancel_at_next_billing_date: bool,
68
75
  created_at_gte: Time,
69
76
  created_at_lte: Time,
70
77
  customer_id: String,
@@ -30,7 +30,8 @@ module Dodopayments
30
30
  payment_method_id: String?,
31
31
  product_name: String?,
32
32
  scheduled_change: Dodopayments::ScheduledPlanChange?,
33
- tax_id: String?
33
+ tax_id: String?,
34
+ trial_amount: Integer?
34
35
  }
35
36
 
36
37
  class SubscriptionListResponse < Dodopayments::Internal::Type::BaseModel
@@ -92,6 +93,8 @@ module Dodopayments
92
93
 
93
94
  attr_accessor tax_id: String?
94
95
 
96
+ attr_accessor trial_amount: Integer?
97
+
95
98
  def initialize: (
96
99
  billing: Dodopayments::BillingAddress,
97
100
  cancel_at_next_billing_date: bool,
@@ -121,7 +124,8 @@ module Dodopayments
121
124
  ?payment_method_id: String?,
122
125
  ?product_name: String?,
123
126
  ?scheduled_change: Dodopayments::ScheduledPlanChange?,
124
- ?tax_id: String?
127
+ ?tax_id: String?,
128
+ ?trial_amount: Integer?
125
129
  ) -> void
126
130
 
127
131
  def to_hash: -> {
@@ -153,7 +157,8 @@ module Dodopayments
153
157
  payment_method_id: String?,
154
158
  product_name: String?,
155
159
  scheduled_change: Dodopayments::ScheduledPlanChange?,
156
- tax_id: String?
160
+ tax_id: String?,
161
+ trial_amount: Integer?
157
162
  }
158
163
 
159
164
  type discount =
@@ -0,0 +1,35 @@
1
+ module Dodopayments
2
+ module Models
3
+ type subscription_update_payment_method_webhook_event =
4
+ {
5
+ business_id: String,
6
+ data: Dodopayments::Subscription,
7
+ timestamp: Time,
8
+ type: :"subscription.update_payment_method"
9
+ }
10
+
11
+ class SubscriptionUpdatePaymentMethodWebhookEvent < 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.update_payment_method"
19
+
20
+ def initialize: (
21
+ business_id: String,
22
+ data: Dodopayments::Subscription,
23
+ timestamp: Time,
24
+ ?type: :"subscription.update_payment_method"
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ business_id: String,
29
+ data: Dodopayments::Subscription,
30
+ timestamp: Time,
31
+ type: :"subscription.update_payment_method"
32
+ }
33
+ end
34
+ end
35
+ end
@@ -39,6 +39,7 @@ module Dodopayments
39
39
  | Dodopayments::SubscriptionOnHoldWebhookEvent
40
40
  | Dodopayments::SubscriptionPlanChangedWebhookEvent
41
41
  | Dodopayments::SubscriptionRenewedWebhookEvent
42
+ | Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent
42
43
  | Dodopayments::SubscriptionUpdatedWebhookEvent
43
44
 
44
45
  module UnsafeUnwrapWebhookEvent
@@ -39,6 +39,7 @@ module Dodopayments
39
39
  | Dodopayments::SubscriptionOnHoldWebhookEvent
40
40
  | Dodopayments::SubscriptionPlanChangedWebhookEvent
41
41
  | Dodopayments::SubscriptionRenewedWebhookEvent
42
+ | Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent
42
43
  | Dodopayments::SubscriptionUpdatedWebhookEvent
43
44
 
44
45
  module UnwrapWebhookEvent
@@ -23,6 +23,7 @@ module Dodopayments
23
23
  | :"subscription.expired"
24
24
  | :"subscription.plan_changed"
25
25
  | :"subscription.updated"
26
+ | :"subscription.update_payment_method"
26
27
  | :"license_key.created"
27
28
  | :"payout.not_initiated"
28
29
  | :"payout.on_hold"
@@ -72,6 +73,7 @@ module Dodopayments
72
73
  SUBSCRIPTION_EXPIRED: :"subscription.expired"
73
74
  SUBSCRIPTION_PLAN_CHANGED: :"subscription.plan_changed"
74
75
  SUBSCRIPTION_UPDATED: :"subscription.updated"
76
+ SUBSCRIPTION_UPDATE_PAYMENT_METHOD: :"subscription.update_payment_method"
75
77
  LICENSE_KEY_CREATED: :"license_key.created"
76
78
  PAYOUT_NOT_INITIATED: :"payout.not_initiated"
77
79
  PAYOUT_ON_HOLD: :"payout.on_hold"
@@ -437,6 +437,8 @@ module Dodopayments
437
437
 
438
438
  class SubscriptionUpdatePaymentMethodParams = Dodopayments::Models::SubscriptionUpdatePaymentMethodParams
439
439
 
440
+ class SubscriptionUpdatePaymentMethodWebhookEvent = Dodopayments::Models::SubscriptionUpdatePaymentMethodWebhookEvent
441
+
440
442
  module TaxCategory = Dodopayments::Models::TaxCategory
441
443
 
442
444
  class ThemeConfig = Dodopayments::Models::ThemeConfig
@@ -5,11 +5,15 @@ module Dodopayments
5
5
  amount: Integer,
6
6
  type: Dodopayments::Models::discount_type,
7
7
  ?code: String?,
8
+ ?currency_options: ::Array[Dodopayments::DiscountCreateParams::CurrencyOption]?,
9
+ ?customer_eligibility: Dodopayments::Models::DiscountCreateParams::customer_eligibility?,
8
10
  ?expires_at: Time?,
9
11
  ?metadata: Dodopayments::Models::metadata,
10
12
  ?name: String?,
13
+ ?per_customer_usage_limit: Integer?,
11
14
  ?preserve_on_plan_change: bool,
12
15
  ?restricted_to: ::Array[String]?,
16
+ ?starts_at: Time?,
13
17
  ?subscription_cycles: Integer?,
14
18
  ?usage_limit: Integer?,
15
19
  ?request_options: Dodopayments::request_opts
@@ -24,11 +28,15 @@ module Dodopayments
24
28
  String discount_id,
25
29
  ?amount: Integer?,
26
30
  ?code: String?,
31
+ ?currency_options: ::Array[Dodopayments::DiscountUpdateParams::CurrencyOption]?,
32
+ ?customer_eligibility: Dodopayments::Models::DiscountUpdateParams::customer_eligibility?,
27
33
  ?expires_at: Time?,
28
34
  ?metadata: Dodopayments::Models::metadata?,
29
35
  ?name: String?,
36
+ ?per_customer_usage_limit: Integer?,
30
37
  ?preserve_on_plan_change: bool?,
31
38
  ?restricted_to: ::Array[String]?,
39
+ ?starts_at: Time?,
32
40
  ?subscription_cycles: Integer?,
33
41
  ?type: Dodopayments::Models::discount_type?,
34
42
  ?usage_limit: Integer?,
@@ -33,6 +33,7 @@ module Dodopayments
33
33
  ?brand_id: String,
34
34
  ?created_at_gte: Time,
35
35
  ?created_at_lte: Time,
36
+ ?currency: Dodopayments::Models::PaymentListParams::currency,
36
37
  ?customer_id: String,
37
38
  ?page_number: Integer,
38
39
  ?page_size: Integer,
@@ -56,6 +56,7 @@ module Dodopayments
56
56
 
57
57
  def list: (
58
58
  ?brand_id: String,
59
+ ?cancel_at_next_billing_date: bool,
59
60
  ?created_at_gte: Time,
60
61
  ?created_at_lte: Time,
61
62
  ?customer_id: String,
@@ -87,6 +87,7 @@ module Dodopayments
87
87
  | Dodopayments::SubscriptionOnHoldWebhookEvent
88
88
  | Dodopayments::SubscriptionPlanChangedWebhookEvent
89
89
  | Dodopayments::SubscriptionRenewedWebhookEvent
90
+ | Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent
90
91
  | Dodopayments::SubscriptionUpdatedWebhookEvent)
91
92
 
92
93
  def unwrap: (
@@ -131,6 +132,7 @@ module Dodopayments
131
132
  | Dodopayments::SubscriptionOnHoldWebhookEvent
132
133
  | Dodopayments::SubscriptionPlanChangedWebhookEvent
133
134
  | Dodopayments::SubscriptionRenewedWebhookEvent
135
+ | Dodopayments::SubscriptionUpdatePaymentMethodWebhookEvent
134
136
  | Dodopayments::SubscriptionUpdatedWebhookEvent)
135
137
 
136
138
  def initialize: (client: Dodopayments::Client) -> void
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.20.0
4
+ version: 2.21.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-07-06 00:00:00.000000000 Z
11
+ date: 2026-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -380,6 +380,7 @@ files:
380
380
  - lib/dodopayments/models/subscription_update_params.rb
381
381
  - lib/dodopayments/models/subscription_update_payment_method_params.rb
382
382
  - lib/dodopayments/models/subscription_update_payment_method_response.rb
383
+ - lib/dodopayments/models/subscription_update_payment_method_webhook_event.rb
383
384
  - lib/dodopayments/models/subscription_updated_webhook_event.rb
384
385
  - lib/dodopayments/models/tax_category.rb
385
386
  - lib/dodopayments/models/theme_config.rb
@@ -765,6 +766,7 @@ files:
765
766
  - rbi/dodopayments/models/subscription_update_params.rbi
766
767
  - rbi/dodopayments/models/subscription_update_payment_method_params.rbi
767
768
  - rbi/dodopayments/models/subscription_update_payment_method_response.rbi
769
+ - rbi/dodopayments/models/subscription_update_payment_method_webhook_event.rbi
768
770
  - rbi/dodopayments/models/subscription_updated_webhook_event.rbi
769
771
  - rbi/dodopayments/models/tax_category.rbi
770
772
  - rbi/dodopayments/models/theme_config.rbi
@@ -1149,6 +1151,7 @@ files:
1149
1151
  - sig/dodopayments/models/subscription_update_params.rbs
1150
1152
  - sig/dodopayments/models/subscription_update_payment_method_params.rbs
1151
1153
  - sig/dodopayments/models/subscription_update_payment_method_response.rbs
1154
+ - sig/dodopayments/models/subscription_update_payment_method_webhook_event.rbs
1152
1155
  - sig/dodopayments/models/subscription_updated_webhook_event.rbs
1153
1156
  - sig/dodopayments/models/tax_category.rbs
1154
1157
  - sig/dodopayments/models/theme_config.rbs