dodopayments 2.9.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/internal/transport/base_client.rb +2 -0
  5. data/lib/dodopayments/internal/type/union.rb +21 -7
  6. data/lib/dodopayments/models/abandoned_checkout_detected_webhook_event.rb +4 -16
  7. data/lib/dodopayments/models/abandoned_checkout_recovered_webhook_event.rb +4 -16
  8. data/lib/dodopayments/models/checkout_session_request.rb +15 -2
  9. data/lib/dodopayments/models/credit_added_webhook_event.rb +4 -16
  10. data/lib/dodopayments/models/credit_balance_low_webhook_event.rb +4 -16
  11. data/lib/dodopayments/models/credit_deducted_webhook_event.rb +4 -16
  12. data/lib/dodopayments/models/credit_expired_webhook_event.rb +4 -16
  13. data/lib/dodopayments/models/credit_manual_adjustment_webhook_event.rb +4 -16
  14. data/lib/dodopayments/models/credit_overage_charged_webhook_event.rb +4 -16
  15. data/lib/dodopayments/models/credit_overage_reset_webhook_event.rb +4 -16
  16. data/lib/dodopayments/models/credit_rolled_over_webhook_event.rb +4 -16
  17. data/lib/dodopayments/models/credit_rollover_forfeited_webhook_event.rb +4 -16
  18. data/lib/dodopayments/models/digital_product_delivery.rb +14 -7
  19. data/lib/dodopayments/models/digital_product_delivery_file.rb +12 -5
  20. data/lib/dodopayments/models/dispute_accepted_webhook_event.rb +4 -16
  21. data/lib/dodopayments/models/dispute_cancelled_webhook_event.rb +4 -16
  22. data/lib/dodopayments/models/dispute_challenged_webhook_event.rb +4 -16
  23. data/lib/dodopayments/models/dispute_expired_webhook_event.rb +4 -16
  24. data/lib/dodopayments/models/dispute_lost_webhook_event.rb +4 -16
  25. data/lib/dodopayments/models/dispute_opened_webhook_event.rb +4 -16
  26. data/lib/dodopayments/models/dispute_won_webhook_event.rb +4 -16
  27. data/lib/dodopayments/models/dunning_recovered_webhook_event.rb +4 -16
  28. data/lib/dodopayments/models/dunning_started_webhook_event.rb +4 -16
  29. data/lib/dodopayments/models/entitlement.rb +31 -20
  30. data/lib/dodopayments/models/entitlement_create_params.rb +3 -3
  31. data/lib/dodopayments/models/entitlement_grant_created_webhook_event.rb +10 -17
  32. data/lib/dodopayments/models/entitlement_grant_delivered_webhook_event.rb +10 -17
  33. data/lib/dodopayments/models/entitlement_grant_failed_webhook_event.rb +10 -17
  34. data/lib/dodopayments/models/entitlement_grant_revoked_webhook_event.rb +10 -17
  35. data/lib/dodopayments/models/entitlement_update_params.rb +3 -3
  36. data/lib/dodopayments/models/entitlements/entitlement_grant.rb +50 -32
  37. data/lib/dodopayments/models/entitlements/file_upload_response.rb +3 -3
  38. data/lib/dodopayments/models/entitlements/license_key_grant.rb +14 -9
  39. data/lib/dodopayments/models/integration_config.rb +70 -27
  40. data/lib/dodopayments/models/integration_config_response.rb +88 -48
  41. data/lib/dodopayments/models/license_key_created_webhook_event.rb +4 -16
  42. data/lib/dodopayments/models/payment.rb +153 -3
  43. data/lib/dodopayments/models/payment_cancelled_webhook_event.rb +4 -16
  44. data/lib/dodopayments/models/payment_create_params.rb +15 -3
  45. data/lib/dodopayments/models/payment_create_response.rb +14 -3
  46. data/lib/dodopayments/models/payment_failed_webhook_event.rb +4 -16
  47. data/lib/dodopayments/models/payment_processing_webhook_event.rb +4 -16
  48. data/lib/dodopayments/models/payment_succeeded_webhook_event.rb +4 -16
  49. data/lib/dodopayments/models/payout_list_response.rb +6 -3
  50. data/lib/dodopayments/models/price.rb +20 -48
  51. data/lib/dodopayments/models/product.rb +6 -8
  52. data/lib/dodopayments/models/product_create_params.rb +3 -3
  53. data/lib/dodopayments/models/product_entitlement_summary.rb +5 -5
  54. data/lib/dodopayments/models/product_item_req.rb +42 -1
  55. data/lib/dodopayments/models/product_update_params.rb +3 -3
  56. data/lib/dodopayments/models/refund_failed_webhook_event.rb +4 -16
  57. data/lib/dodopayments/models/refund_succeeded_webhook_event.rb +4 -16
  58. data/lib/dodopayments/models/subscription.rb +153 -5
  59. data/lib/dodopayments/models/subscription_active_webhook_event.rb +4 -16
  60. data/lib/dodopayments/models/subscription_cancelled_webhook_event.rb +4 -16
  61. data/lib/dodopayments/models/subscription_create_params.rb +15 -3
  62. data/lib/dodopayments/models/subscription_create_response.rb +14 -3
  63. data/lib/dodopayments/models/subscription_expired_webhook_event.rb +4 -16
  64. data/lib/dodopayments/models/subscription_failed_webhook_event.rb +4 -16
  65. data/lib/dodopayments/models/subscription_list_response.rb +36 -5
  66. data/lib/dodopayments/models/subscription_on_hold_webhook_event.rb +4 -16
  67. data/lib/dodopayments/models/subscription_plan_changed_webhook_event.rb +4 -16
  68. data/lib/dodopayments/models/subscription_preview_change_plan_response.rb +21 -49
  69. data/lib/dodopayments/models/subscription_renewed_webhook_event.rb +4 -16
  70. data/lib/dodopayments/models/subscription_update_payment_method_params.rb +12 -30
  71. data/lib/dodopayments/models/subscription_updated_webhook_event.rb +4 -16
  72. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +41 -39
  73. data/lib/dodopayments/models/unwrap_webhook_event.rb +41 -39
  74. data/lib/dodopayments/models/update_subscription_plan_req.rb +17 -6
  75. data/lib/dodopayments/models/webhook_event_type.rb +3 -0
  76. data/lib/dodopayments/models/webhook_payload.rb +57 -143
  77. data/lib/dodopayments/resources/checkout_sessions.rb +8 -4
  78. data/lib/dodopayments/resources/entitlements/files.rb +3 -10
  79. data/lib/dodopayments/resources/entitlements/grants.rb +2 -4
  80. data/lib/dodopayments/resources/entitlements.rb +2 -2
  81. data/lib/dodopayments/resources/payments.rb +4 -2
  82. data/lib/dodopayments/resources/subscriptions.rb +12 -6
  83. data/lib/dodopayments/version.rb +1 -1
  84. data/rbi/dodopayments/models/abandoned_checkout_detected_webhook_event.rbi +4 -40
  85. data/rbi/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbi +4 -40
  86. data/rbi/dodopayments/models/checkout_session_request.rbi +14 -0
  87. data/rbi/dodopayments/models/credit_added_webhook_event.rbi +4 -29
  88. data/rbi/dodopayments/models/credit_balance_low_webhook_event.rbi +4 -33
  89. data/rbi/dodopayments/models/credit_deducted_webhook_event.rbi +4 -33
  90. data/rbi/dodopayments/models/credit_expired_webhook_event.rbi +4 -33
  91. data/rbi/dodopayments/models/credit_manual_adjustment_webhook_event.rbi +4 -39
  92. data/rbi/dodopayments/models/credit_overage_charged_webhook_event.rbi +4 -36
  93. data/rbi/dodopayments/models/credit_overage_reset_webhook_event.rbi +4 -36
  94. data/rbi/dodopayments/models/credit_rolled_over_webhook_event.rbi +4 -33
  95. data/rbi/dodopayments/models/credit_rollover_forfeited_webhook_event.rbi +4 -40
  96. data/rbi/dodopayments/models/digital_product_delivery.rbi +15 -5
  97. data/rbi/dodopayments/models/digital_product_delivery_file.rbi +11 -0
  98. data/rbi/dodopayments/models/dispute_accepted_webhook_event.rbi +4 -33
  99. data/rbi/dodopayments/models/dispute_cancelled_webhook_event.rbi +4 -33
  100. data/rbi/dodopayments/models/dispute_challenged_webhook_event.rbi +4 -34
  101. data/rbi/dodopayments/models/dispute_expired_webhook_event.rbi +4 -33
  102. data/rbi/dodopayments/models/dispute_lost_webhook_event.rbi +4 -29
  103. data/rbi/dodopayments/models/dispute_opened_webhook_event.rbi +4 -33
  104. data/rbi/dodopayments/models/dispute_won_webhook_event.rbi +4 -29
  105. data/rbi/dodopayments/models/dunning_recovered_webhook_event.rbi +4 -33
  106. data/rbi/dodopayments/models/dunning_started_webhook_event.rbi +4 -33
  107. data/rbi/dodopayments/models/entitlement.rbi +35 -20
  108. data/rbi/dodopayments/models/entitlement_create_params.rbi +8 -5
  109. data/rbi/dodopayments/models/entitlement_grant_created_webhook_event.rbi +8 -40
  110. data/rbi/dodopayments/models/entitlement_grant_delivered_webhook_event.rbi +8 -40
  111. data/rbi/dodopayments/models/entitlement_grant_failed_webhook_event.rbi +8 -39
  112. data/rbi/dodopayments/models/entitlement_grant_revoked_webhook_event.rbi +8 -40
  113. data/rbi/dodopayments/models/entitlement_update_params.rbi +4 -4
  114. data/rbi/dodopayments/models/entitlements/entitlement_grant.rbi +54 -20
  115. data/rbi/dodopayments/models/entitlements/file_upload_response.rbi +4 -4
  116. data/rbi/dodopayments/models/entitlements/license_key_grant.rbi +10 -4
  117. data/rbi/dodopayments/models/integration_config.rbi +141 -26
  118. data/rbi/dodopayments/models/integration_config_response.rbi +153 -38
  119. data/rbi/dodopayments/models/license_key_created_webhook_event.rbi +4 -34
  120. data/rbi/dodopayments/models/payment.rbi +170 -2
  121. data/rbi/dodopayments/models/payment_cancelled_webhook_event.rbi +4 -33
  122. data/rbi/dodopayments/models/payment_create_params.rbi +14 -2
  123. data/rbi/dodopayments/models/payment_create_response.rbi +12 -2
  124. data/rbi/dodopayments/models/payment_failed_webhook_event.rbi +4 -33
  125. data/rbi/dodopayments/models/payment_processing_webhook_event.rbi +4 -34
  126. data/rbi/dodopayments/models/payment_succeeded_webhook_event.rbi +4 -33
  127. data/rbi/dodopayments/models/price.rbi +18 -90
  128. data/rbi/dodopayments/models/product.rbi +4 -8
  129. data/rbi/dodopayments/models/product_entitlement_summary.rbi +8 -8
  130. data/rbi/dodopayments/models/product_item_req.rbi +74 -3
  131. data/rbi/dodopayments/models/refund_failed_webhook_event.rbi +4 -31
  132. data/rbi/dodopayments/models/refund_succeeded_webhook_event.rbi +4 -33
  133. data/rbi/dodopayments/models/subscription.rbi +173 -4
  134. data/rbi/dodopayments/models/subscription_active_webhook_event.rbi +4 -36
  135. data/rbi/dodopayments/models/subscription_cancelled_webhook_event.rbi +4 -36
  136. data/rbi/dodopayments/models/subscription_create_params.rbi +14 -2
  137. data/rbi/dodopayments/models/subscription_create_response.rbi +12 -2
  138. data/rbi/dodopayments/models/subscription_expired_webhook_event.rbi +4 -36
  139. data/rbi/dodopayments/models/subscription_failed_webhook_event.rbi +4 -36
  140. data/rbi/dodopayments/models/subscription_list_response.rbi +67 -4
  141. data/rbi/dodopayments/models/subscription_on_hold_webhook_event.rbi +4 -36
  142. data/rbi/dodopayments/models/subscription_plan_changed_webhook_event.rbi +4 -40
  143. data/rbi/dodopayments/models/subscription_preview_change_plan_response.rbi +18 -123
  144. data/rbi/dodopayments/models/subscription_renewed_webhook_event.rbi +4 -36
  145. data/rbi/dodopayments/models/subscription_update_payment_method_params.rbi +12 -96
  146. data/rbi/dodopayments/models/subscription_updated_webhook_event.rbi +4 -36
  147. data/rbi/dodopayments/models/update_subscription_plan_req.rbi +18 -8
  148. data/rbi/dodopayments/models/webhook_event_type.rbi +15 -0
  149. data/rbi/dodopayments/models/webhook_payload.rbi +48 -466
  150. data/rbi/dodopayments/resources/checkout_sessions.rbi +12 -0
  151. data/rbi/dodopayments/resources/entitlements/files.rbi +3 -10
  152. data/rbi/dodopayments/resources/entitlements/grants.rbi +2 -4
  153. data/rbi/dodopayments/resources/entitlements.rbi +4 -4
  154. data/rbi/dodopayments/resources/payments.rbi +6 -1
  155. data/rbi/dodopayments/resources/subscriptions.rbi +22 -9
  156. data/sig/dodopayments/models/abandoned_checkout_detected_webhook_event.rbs +4 -14
  157. data/sig/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbs +4 -14
  158. data/sig/dodopayments/models/checkout_session_request.rbs +5 -0
  159. data/sig/dodopayments/models/credit_added_webhook_event.rbs +4 -14
  160. data/sig/dodopayments/models/credit_balance_low_webhook_event.rbs +4 -14
  161. data/sig/dodopayments/models/credit_deducted_webhook_event.rbs +4 -14
  162. data/sig/dodopayments/models/credit_expired_webhook_event.rbs +4 -14
  163. data/sig/dodopayments/models/credit_manual_adjustment_webhook_event.rbs +4 -14
  164. data/sig/dodopayments/models/credit_overage_charged_webhook_event.rbs +4 -14
  165. data/sig/dodopayments/models/credit_overage_reset_webhook_event.rbs +4 -14
  166. data/sig/dodopayments/models/credit_rolled_over_webhook_event.rbs +4 -14
  167. data/sig/dodopayments/models/credit_rollover_forfeited_webhook_event.rbs +4 -14
  168. data/sig/dodopayments/models/dispute_accepted_webhook_event.rbs +4 -14
  169. data/sig/dodopayments/models/dispute_cancelled_webhook_event.rbs +4 -14
  170. data/sig/dodopayments/models/dispute_challenged_webhook_event.rbs +4 -14
  171. data/sig/dodopayments/models/dispute_expired_webhook_event.rbs +4 -14
  172. data/sig/dodopayments/models/dispute_lost_webhook_event.rbs +4 -14
  173. data/sig/dodopayments/models/dispute_opened_webhook_event.rbs +4 -14
  174. data/sig/dodopayments/models/dispute_won_webhook_event.rbs +4 -14
  175. data/sig/dodopayments/models/dunning_recovered_webhook_event.rbs +4 -14
  176. data/sig/dodopayments/models/dunning_started_webhook_event.rbs +4 -14
  177. data/sig/dodopayments/models/entitlement.rbs +8 -10
  178. data/sig/dodopayments/models/entitlement_create_params.rbs +6 -4
  179. data/sig/dodopayments/models/entitlement_grant_created_webhook_event.rbs +4 -14
  180. data/sig/dodopayments/models/entitlement_grant_delivered_webhook_event.rbs +4 -14
  181. data/sig/dodopayments/models/entitlement_grant_failed_webhook_event.rbs +4 -14
  182. data/sig/dodopayments/models/entitlement_grant_revoked_webhook_event.rbs +4 -14
  183. data/sig/dodopayments/models/entitlements/entitlement_grant.rbs +4 -11
  184. data/sig/dodopayments/models/integration_config.rbs +28 -4
  185. data/sig/dodopayments/models/integration_config_response.rbs +28 -9
  186. data/sig/dodopayments/models/license_key_created_webhook_event.rbs +4 -14
  187. data/sig/dodopayments/models/payment.rbs +97 -0
  188. data/sig/dodopayments/models/payment_cancelled_webhook_event.rbs +4 -14
  189. data/sig/dodopayments/models/payment_create_params.rbs +5 -0
  190. data/sig/dodopayments/models/payment_create_response.rbs +5 -0
  191. data/sig/dodopayments/models/payment_failed_webhook_event.rbs +4 -14
  192. data/sig/dodopayments/models/payment_processing_webhook_event.rbs +4 -14
  193. data/sig/dodopayments/models/payment_succeeded_webhook_event.rbs +4 -14
  194. data/sig/dodopayments/models/price.rbs +15 -45
  195. data/sig/dodopayments/models/product_item_req.rbs +27 -3
  196. data/sig/dodopayments/models/refund_failed_webhook_event.rbs +4 -14
  197. data/sig/dodopayments/models/refund_succeeded_webhook_event.rbs +4 -14
  198. data/sig/dodopayments/models/subscription.rbs +97 -0
  199. data/sig/dodopayments/models/subscription_active_webhook_event.rbs +4 -14
  200. data/sig/dodopayments/models/subscription_cancelled_webhook_event.rbs +4 -14
  201. data/sig/dodopayments/models/subscription_create_params.rbs +5 -0
  202. data/sig/dodopayments/models/subscription_create_response.rbs +5 -0
  203. data/sig/dodopayments/models/subscription_expired_webhook_event.rbs +4 -14
  204. data/sig/dodopayments/models/subscription_failed_webhook_event.rbs +4 -14
  205. data/sig/dodopayments/models/subscription_list_response.rbs +24 -0
  206. data/sig/dodopayments/models/subscription_on_hold_webhook_event.rbs +4 -14
  207. data/sig/dodopayments/models/subscription_plan_changed_webhook_event.rbs +4 -14
  208. data/sig/dodopayments/models/subscription_preview_change_plan_response.rbs +15 -45
  209. data/sig/dodopayments/models/subscription_renewed_webhook_event.rbs +4 -14
  210. data/sig/dodopayments/models/subscription_update_payment_method_params.rbs +8 -48
  211. data/sig/dodopayments/models/subscription_updated_webhook_event.rbs +4 -14
  212. data/sig/dodopayments/models/update_subscription_plan_req.rbs +5 -0
  213. data/sig/dodopayments/models/webhook_event_type.rbs +6 -0
  214. data/sig/dodopayments/models/webhook_payload.rbs +50 -213
  215. data/sig/dodopayments/resources/checkout_sessions.rbs +2 -0
  216. data/sig/dodopayments/resources/entitlements.rbs +1 -1
  217. data/sig/dodopayments/resources/payments.rbs +1 -0
  218. data/sig/dodopayments/resources/subscriptions.rbs +3 -0
  219. metadata +2 -2
@@ -27,11 +27,7 @@ module Dodopayments
27
27
  attr_accessor :timestamp
28
28
 
29
29
  # The event type
30
- sig do
31
- returns(
32
- Dodopayments::SubscriptionRenewedWebhookEvent::Type::TaggedSymbol
33
- )
34
- end
30
+ sig { returns(Symbol) }
35
31
  attr_accessor :type
36
32
 
37
33
  sig do
@@ -39,7 +35,7 @@ module Dodopayments
39
35
  business_id: String,
40
36
  data: Dodopayments::Subscription::OrHash,
41
37
  timestamp: Time,
42
- type: Dodopayments::SubscriptionRenewedWebhookEvent::Type::OrSymbol
38
+ type: Symbol
43
39
  ).returns(T.attached_class)
44
40
  end
45
41
  def self.new(
@@ -50,7 +46,7 @@ module Dodopayments
50
46
  # The timestamp of when the event occurred
51
47
  timestamp:,
52
48
  # The event type
53
- type:
49
+ type: :"subscription.renewed"
54
50
  )
55
51
  end
56
52
 
@@ -60,40 +56,12 @@ module Dodopayments
60
56
  business_id: String,
61
57
  data: Dodopayments::Subscription,
62
58
  timestamp: Time,
63
- type:
64
- Dodopayments::SubscriptionRenewedWebhookEvent::Type::TaggedSymbol
59
+ type: Symbol
65
60
  }
66
61
  )
67
62
  end
68
63
  def to_hash
69
64
  end
70
-
71
- # The event type
72
- module Type
73
- extend Dodopayments::Internal::Type::Enum
74
-
75
- TaggedSymbol =
76
- T.type_alias do
77
- T.all(Symbol, Dodopayments::SubscriptionRenewedWebhookEvent::Type)
78
- end
79
- OrSymbol = T.type_alias { T.any(Symbol, String) }
80
-
81
- SUBSCRIPTION_RENEWED =
82
- T.let(
83
- :"subscription.renewed",
84
- Dodopayments::SubscriptionRenewedWebhookEvent::Type::TaggedSymbol
85
- )
86
-
87
- sig do
88
- override.returns(
89
- T::Array[
90
- Dodopayments::SubscriptionRenewedWebhookEvent::Type::TaggedSymbol
91
- ]
92
- )
93
- end
94
- def self.values
95
- end
96
- end
97
65
  end
98
66
  end
99
67
  end
@@ -77,66 +77,25 @@ module Dodopayments
77
77
  )
78
78
  end
79
79
 
80
- sig do
81
- returns(
82
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New::Type::OrSymbol
83
- )
84
- end
80
+ sig { returns(Symbol) }
85
81
  attr_accessor :type
86
82
 
87
83
  sig { returns(T.nilable(String)) }
88
84
  attr_accessor :return_url
89
85
 
90
86
  sig do
91
- params(
92
- type:
93
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New::Type::OrSymbol,
94
- return_url: T.nilable(String)
95
- ).returns(T.attached_class)
87
+ params(return_url: T.nilable(String), type: Symbol).returns(
88
+ T.attached_class
89
+ )
96
90
  end
97
- def self.new(type:, return_url: nil)
91
+ def self.new(return_url: nil, type: :new)
98
92
  end
99
93
 
100
94
  sig do
101
- override.returns(
102
- {
103
- type:
104
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New::Type::OrSymbol,
105
- return_url: T.nilable(String)
106
- }
107
- )
95
+ override.returns({ type: Symbol, return_url: T.nilable(String) })
108
96
  end
109
97
  def to_hash
110
98
  end
111
-
112
- module Type
113
- extend Dodopayments::Internal::Type::Enum
114
-
115
- TaggedSymbol =
116
- T.type_alias do
117
- T.all(
118
- Symbol,
119
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New::Type
120
- )
121
- end
122
- OrSymbol = T.type_alias { T.any(Symbol, String) }
123
-
124
- NEW =
125
- T.let(
126
- :new,
127
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New::Type::TaggedSymbol
128
- )
129
-
130
- sig do
131
- override.returns(
132
- T::Array[
133
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::New::Type::TaggedSymbol
134
- ]
135
- )
136
- end
137
- def self.values
138
- end
139
- end
140
99
  end
141
100
 
142
101
  class Existing < Dodopayments::Internal::Type::BaseModel
@@ -151,62 +110,19 @@ module Dodopayments
151
110
  sig { returns(String) }
152
111
  attr_accessor :payment_method_id
153
112
 
154
- sig do
155
- returns(
156
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing::Type::OrSymbol
157
- )
158
- end
113
+ sig { returns(Symbol) }
159
114
  attr_accessor :type
160
115
 
161
116
  sig do
162
- params(
163
- payment_method_id: String,
164
- type:
165
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing::Type::OrSymbol
166
- ).returns(T.attached_class)
167
- end
168
- def self.new(payment_method_id:, type:)
169
- end
170
-
171
- sig do
172
- override.returns(
173
- {
174
- payment_method_id: String,
175
- type:
176
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing::Type::OrSymbol
177
- }
117
+ params(payment_method_id: String, type: Symbol).returns(
118
+ T.attached_class
178
119
  )
179
120
  end
180
- def to_hash
121
+ def self.new(payment_method_id:, type: :existing)
181
122
  end
182
123
 
183
- module Type
184
- extend Dodopayments::Internal::Type::Enum
185
-
186
- TaggedSymbol =
187
- T.type_alias do
188
- T.all(
189
- Symbol,
190
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing::Type
191
- )
192
- end
193
- OrSymbol = T.type_alias { T.any(Symbol, String) }
194
-
195
- EXISTING =
196
- T.let(
197
- :existing,
198
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing::Type::TaggedSymbol
199
- )
200
-
201
- sig do
202
- override.returns(
203
- T::Array[
204
- Dodopayments::SubscriptionUpdatePaymentMethodParams::Body::Existing::Type::TaggedSymbol
205
- ]
206
- )
207
- end
208
- def self.values
209
- end
124
+ sig { override.returns({ payment_method_id: String, type: Symbol }) }
125
+ def to_hash
210
126
  end
211
127
  end
212
128
 
@@ -27,11 +27,7 @@ module Dodopayments
27
27
  attr_accessor :timestamp
28
28
 
29
29
  # The event type
30
- sig do
31
- returns(
32
- Dodopayments::SubscriptionUpdatedWebhookEvent::Type::TaggedSymbol
33
- )
34
- end
30
+ sig { returns(Symbol) }
35
31
  attr_accessor :type
36
32
 
37
33
  sig do
@@ -39,7 +35,7 @@ module Dodopayments
39
35
  business_id: String,
40
36
  data: Dodopayments::Subscription::OrHash,
41
37
  timestamp: Time,
42
- type: Dodopayments::SubscriptionUpdatedWebhookEvent::Type::OrSymbol
38
+ type: Symbol
43
39
  ).returns(T.attached_class)
44
40
  end
45
41
  def self.new(
@@ -50,7 +46,7 @@ module Dodopayments
50
46
  # The timestamp of when the event occurred
51
47
  timestamp:,
52
48
  # The event type
53
- type:
49
+ type: :"subscription.updated"
54
50
  )
55
51
  end
56
52
 
@@ -60,40 +56,12 @@ module Dodopayments
60
56
  business_id: String,
61
57
  data: Dodopayments::Subscription,
62
58
  timestamp: Time,
63
- type:
64
- Dodopayments::SubscriptionUpdatedWebhookEvent::Type::TaggedSymbol
59
+ type: Symbol
65
60
  }
66
61
  )
67
62
  end
68
63
  def to_hash
69
64
  end
70
-
71
- # The event type
72
- module Type
73
- extend Dodopayments::Internal::Type::Enum
74
-
75
- TaggedSymbol =
76
- T.type_alias do
77
- T.all(Symbol, Dodopayments::SubscriptionUpdatedWebhookEvent::Type)
78
- end
79
- OrSymbol = T.type_alias { T.any(Symbol, String) }
80
-
81
- SUBSCRIPTION_UPDATED =
82
- T.let(
83
- :"subscription.updated",
84
- Dodopayments::SubscriptionUpdatedWebhookEvent::Type::TaggedSymbol
85
- )
86
-
87
- sig do
88
- override.returns(
89
- T::Array[
90
- Dodopayments::SubscriptionUpdatedWebhookEvent::Type::TaggedSymbol
91
- ]
92
- )
93
- end
94
- def self.values
95
- end
96
- end
97
65
  end
98
66
  end
99
67
  end
@@ -37,13 +37,18 @@ module Dodopayments
37
37
  sig { returns(T.nilable(T::Array[Dodopayments::AttachAddon])) }
38
38
  attr_accessor :addons
39
39
 
40
- # Optional discount code to apply to the new plan. If provided, validates and
41
- # applies the discount to the plan change. If not provided and the subscription
42
- # has an existing discount with `preserve_on_plan_change=true`, the existing
43
- # discount will be preserved (if applicable to the new product).
40
+ # DEPRECATED: Use discount_codes instead. Cannot be used together with
41
+ # discount_codes.
44
42
  sig { returns(T.nilable(String)) }
45
43
  attr_accessor :discount_code
46
44
 
45
+ # Stacked discount codes to apply to the new plan. Max 20. Cannot be used together
46
+ # with discount_code. If provided, replaces any existing discount codes. Empty
47
+ # array removes all discounts. If not provided (None), existing discounts with
48
+ # preserve_on_plan_change=true are preserved.
49
+ sig { returns(T.nilable(T::Array[String])) }
50
+ attr_accessor :discount_codes
51
+
47
52
  # When to apply the plan change.
48
53
  #
49
54
  # - `immediately` (default): Apply the plan change right away
@@ -95,6 +100,7 @@ module Dodopayments
95
100
  adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
96
101
  addons: T.nilable(T::Array[Dodopayments::AttachAddon::OrHash]),
97
102
  discount_code: T.nilable(String),
103
+ discount_codes: T.nilable(T::Array[String]),
98
104
  effective_at:
99
105
  Dodopayments::UpdateSubscriptionPlanReq::EffectiveAt::OrSymbol,
100
106
  metadata: T.nilable(T::Hash[Symbol, String]),
@@ -117,11 +123,14 @@ module Dodopayments
117
123
  # Addons for the new plan. Note : Leaving this empty would remove any existing
118
124
  # addons
119
125
  addons: nil,
120
- # Optional discount code to apply to the new plan. If provided, validates and
121
- # applies the discount to the plan change. If not provided and the subscription
122
- # has an existing discount with `preserve_on_plan_change=true`, the existing
123
- # discount will be preserved (if applicable to the new product).
126
+ # DEPRECATED: Use discount_codes instead. Cannot be used together with
127
+ # discount_codes.
124
128
  discount_code: nil,
129
+ # Stacked discount codes to apply to the new plan. Max 20. Cannot be used together
130
+ # with discount_code. If provided, replaces any existing discount codes. Empty
131
+ # array removes all discounts. If not provided (None), existing discounts with
132
+ # preserve_on_plan_change=true are preserved.
133
+ discount_codes: nil,
125
134
  # When to apply the plan change.
126
135
  #
127
136
  # - `immediately` (default): Apply the plan change right away
@@ -151,6 +160,7 @@ module Dodopayments
151
160
  adaptive_currency_fees_inclusive: T.nilable(T::Boolean),
152
161
  addons: T.nilable(T::Array[Dodopayments::AttachAddon]),
153
162
  discount_code: T.nilable(String),
163
+ discount_codes: T.nilable(T::Array[String]),
154
164
  effective_at:
155
165
  Dodopayments::UpdateSubscriptionPlanReq::EffectiveAt::OrSymbol,
156
166
  metadata: T.nilable(T::Hash[Symbol, String]),
@@ -71,6 +71,21 @@ module Dodopayments
71
71
  :"subscription.cancelled",
72
72
  Dodopayments::WebhookEventType::TaggedSymbol
73
73
  )
74
+ SUBSCRIPTION_CANCELLATION_SCHEDULED =
75
+ T.let(
76
+ :"subscription.cancellation_scheduled",
77
+ Dodopayments::WebhookEventType::TaggedSymbol
78
+ )
79
+ SUBSCRIPTION_TRIAL_ENDING =
80
+ T.let(
81
+ :"subscription.trial_ending",
82
+ Dodopayments::WebhookEventType::TaggedSymbol
83
+ )
84
+ SUBSCRIPTION_UPCOMING_RENEWAL =
85
+ T.let(
86
+ :"subscription.upcoming_renewal",
87
+ Dodopayments::WebhookEventType::TaggedSymbol
88
+ )
74
89
  SUBSCRIPTION_FAILED =
75
90
  T.let(
76
91
  :"subscription.failed",