dodopayments 1.61.7 → 1.66.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +1 -1
- data/lib/dodopayments/models/billing_address.rb +18 -18
- data/lib/dodopayments/models/checkout_session_request.rb +10 -1
- data/lib/dodopayments/models/subscription_preview_change_plan_params.rb +63 -0
- data/lib/dodopayments/models/subscription_preview_change_plan_response.rb +388 -0
- data/lib/dodopayments/models/subscription_updated_webhook_event.rb +76 -0
- data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +3 -1
- data/lib/dodopayments/models/unwrap_webhook_event.rb +3 -1
- data/lib/dodopayments/models/webhook_event_type.rb +1 -0
- data/lib/dodopayments/models.rb +4 -0
- data/lib/dodopayments/resources/checkout_sessions.rb +3 -1
- data/lib/dodopayments/resources/subscriptions.rb +31 -0
- data/lib/dodopayments/resources/webhooks.rb +2 -2
- data/lib/dodopayments/version.rb +1 -1
- data/lib/dodopayments.rb +4 -0
- data/rbi/dodopayments/models/billing_address.rbi +20 -20
- data/rbi/dodopayments/models/checkout_session_request.rbi +13 -0
- data/rbi/dodopayments/models/subscription_preview_change_plan_params.rbi +118 -0
- data/rbi/dodopayments/models/subscription_preview_change_plan_response.rbi +633 -0
- data/rbi/dodopayments/models/subscription_updated_webhook_event.rbi +185 -0
- data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +2 -1
- data/rbi/dodopayments/models/unwrap_webhook_event.rbi +2 -1
- data/rbi/dodopayments/models/webhook_event_type.rbi +5 -0
- data/rbi/dodopayments/models.rbi +6 -0
- data/rbi/dodopayments/resources/checkout_sessions.rbi +4 -0
- data/rbi/dodopayments/resources/subscriptions.rbi +27 -0
- data/rbi/dodopayments/resources/webhooks.rbi +4 -2
- data/sig/dodopayments/models/billing_address.rbs +17 -17
- data/sig/dodopayments/models/checkout_session_request.rbs +7 -0
- data/sig/dodopayments/models/subscription_preview_change_plan_params.rbs +54 -0
- data/sig/dodopayments/models/subscription_preview_change_plan_response.rbs +356 -0
- data/sig/dodopayments/models/subscription_updated_webhook_event.rbs +76 -0
- data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +1 -0
- data/sig/dodopayments/models/unwrap_webhook_event.rbs +1 -0
- data/sig/dodopayments/models/webhook_event_type.rbs +2 -0
- data/sig/dodopayments/models.rbs +4 -0
- data/sig/dodopayments/resources/checkout_sessions.rbs +1 -0
- data/sig/dodopayments/resources/subscriptions.rbs +9 -0
- data/sig/dodopayments/resources/webhooks.rbs +4 -2
- metadata +10 -1
|
@@ -47,8 +47,10 @@ module Dodopayments
|
|
|
47
47
|
|
|
48
48
|
variant -> { Dodopayments::SubscriptionRenewedWebhookEvent }
|
|
49
49
|
|
|
50
|
+
variant -> { Dodopayments::SubscriptionUpdatedWebhookEvent }
|
|
51
|
+
|
|
50
52
|
# @!method self.variants
|
|
51
|
-
# @return [Array(Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, 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)]
|
|
53
|
+
# @return [Array(Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, 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::SubscriptionUpdatedWebhookEvent)]
|
|
52
54
|
end
|
|
53
55
|
end
|
|
54
56
|
end
|
|
@@ -26,6 +26,7 @@ module Dodopayments
|
|
|
26
26
|
SUBSCRIPTION_FAILED = :"subscription.failed"
|
|
27
27
|
SUBSCRIPTION_EXPIRED = :"subscription.expired"
|
|
28
28
|
SUBSCRIPTION_PLAN_CHANGED = :"subscription.plan_changed"
|
|
29
|
+
SUBSCRIPTION_UPDATED = :"subscription.updated"
|
|
29
30
|
LICENSE_KEY_CREATED = :"license_key.created"
|
|
30
31
|
|
|
31
32
|
# @!method self.values
|
data/lib/dodopayments/models.rb
CHANGED
|
@@ -287,6 +287,8 @@ module Dodopayments
|
|
|
287
287
|
|
|
288
288
|
SubscriptionPlanChangedWebhookEvent = Dodopayments::Models::SubscriptionPlanChangedWebhookEvent
|
|
289
289
|
|
|
290
|
+
SubscriptionPreviewChangePlanParams = Dodopayments::Models::SubscriptionPreviewChangePlanParams
|
|
291
|
+
|
|
290
292
|
SubscriptionRenewedWebhookEvent = Dodopayments::Models::SubscriptionRenewedWebhookEvent
|
|
291
293
|
|
|
292
294
|
SubscriptionRetrieveParams = Dodopayments::Models::SubscriptionRetrieveParams
|
|
@@ -295,6 +297,8 @@ module Dodopayments
|
|
|
295
297
|
|
|
296
298
|
SubscriptionStatus = Dodopayments::Models::SubscriptionStatus
|
|
297
299
|
|
|
300
|
+
SubscriptionUpdatedWebhookEvent = Dodopayments::Models::SubscriptionUpdatedWebhookEvent
|
|
301
|
+
|
|
298
302
|
SubscriptionUpdateParams = Dodopayments::Models::SubscriptionUpdateParams
|
|
299
303
|
|
|
300
304
|
SubscriptionUpdatePaymentMethodParams = Dodopayments::Models::SubscriptionUpdatePaymentMethodParams
|
|
@@ -6,7 +6,7 @@ module Dodopayments
|
|
|
6
6
|
# Some parameter documentations has been truncated, see
|
|
7
7
|
# {Dodopayments::Models::CheckoutSessionCreateParams} for more details.
|
|
8
8
|
#
|
|
9
|
-
# @overload create(product_cart:, allowed_payment_method_types: nil, billing_address: nil, billing_currency: nil, confirm: nil, customer: nil, customization: nil, discount_code: nil, feature_flags: nil, force_3ds: nil, metadata: nil, return_url: nil, show_saved_payment_methods: nil, subscription_data: nil, request_options: {})
|
|
9
|
+
# @overload create(product_cart:, allowed_payment_method_types: nil, billing_address: nil, billing_currency: nil, confirm: nil, customer: nil, customization: nil, discount_code: nil, feature_flags: nil, force_3ds: nil, metadata: nil, minimal_address: nil, return_url: nil, show_saved_payment_methods: nil, subscription_data: nil, request_options: {})
|
|
10
10
|
#
|
|
11
11
|
# @param product_cart [Array<Dodopayments::Models::CheckoutSessionRequest::ProductCart>]
|
|
12
12
|
#
|
|
@@ -30,6 +30,8 @@ module Dodopayments
|
|
|
30
30
|
#
|
|
31
31
|
# @param metadata [Hash{Symbol=>String}, nil] Additional metadata associated with the payment. Defaults to empty if not provid
|
|
32
32
|
#
|
|
33
|
+
# @param minimal_address [Boolean] If true, only zipcode is required when confirm is true; other address fields rem
|
|
34
|
+
#
|
|
33
35
|
# @param return_url [String, nil] The url to redirect after payment failure or success.
|
|
34
36
|
#
|
|
35
37
|
# @param show_saved_payment_methods [Boolean] Display saved payment methods of a returning customer False by default
|
|
@@ -209,6 +209,37 @@ module Dodopayments
|
|
|
209
209
|
)
|
|
210
210
|
end
|
|
211
211
|
|
|
212
|
+
# Some parameter documentations has been truncated, see
|
|
213
|
+
# {Dodopayments::Models::SubscriptionPreviewChangePlanParams} for more details.
|
|
214
|
+
#
|
|
215
|
+
# @overload preview_change_plan(subscription_id, product_id:, proration_billing_mode:, quantity:, addons: nil, request_options: {})
|
|
216
|
+
#
|
|
217
|
+
# @param subscription_id [String] Subscription Id
|
|
218
|
+
#
|
|
219
|
+
# @param product_id [String] Unique identifier of the product to subscribe to
|
|
220
|
+
#
|
|
221
|
+
# @param proration_billing_mode [Symbol, Dodopayments::Models::SubscriptionPreviewChangePlanParams::ProrationBillingMode] Proration Billing Mode
|
|
222
|
+
#
|
|
223
|
+
# @param quantity [Integer] Number of units to subscribe for. Must be at least 1.
|
|
224
|
+
#
|
|
225
|
+
# @param addons [Array<Dodopayments::Models::AttachAddon>, nil] Addons for the new plan.
|
|
226
|
+
#
|
|
227
|
+
# @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
228
|
+
#
|
|
229
|
+
# @return [Dodopayments::Models::SubscriptionPreviewChangePlanResponse]
|
|
230
|
+
#
|
|
231
|
+
# @see Dodopayments::Models::SubscriptionPreviewChangePlanParams
|
|
232
|
+
def preview_change_plan(subscription_id, params)
|
|
233
|
+
parsed, options = Dodopayments::SubscriptionPreviewChangePlanParams.dump_request(params)
|
|
234
|
+
@client.request(
|
|
235
|
+
method: :post,
|
|
236
|
+
path: ["subscriptions/%1$s/change-plan/preview", subscription_id],
|
|
237
|
+
body: parsed,
|
|
238
|
+
model: Dodopayments::Models::SubscriptionPreviewChangePlanResponse,
|
|
239
|
+
options: options
|
|
240
|
+
)
|
|
241
|
+
end
|
|
242
|
+
|
|
212
243
|
# Get detailed usage history for a subscription that includes usage-based billing
|
|
213
244
|
# (metered components). This endpoint provides insights into customer usage
|
|
214
245
|
# patterns and billing calculations over time.
|
|
@@ -166,7 +166,7 @@ module Dodopayments
|
|
|
166
166
|
|
|
167
167
|
# @param payload [String] The raw webhook payload as a string
|
|
168
168
|
#
|
|
169
|
-
# @return [Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, 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]
|
|
169
|
+
# @return [Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, 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::SubscriptionUpdatedWebhookEvent]
|
|
170
170
|
def unsafe_unwrap(payload)
|
|
171
171
|
parsed = JSON.parse(payload, symbolize_names: true)
|
|
172
172
|
Dodopayments::Internal::Type::Converter.coerce(Dodopayments::Models::UnsafeUnwrapWebhookEvent, parsed)
|
|
@@ -174,7 +174,7 @@ module Dodopayments
|
|
|
174
174
|
|
|
175
175
|
# @param payload [String] The raw webhook payload as a string
|
|
176
176
|
#
|
|
177
|
-
# @return [Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, 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]
|
|
177
|
+
# @return [Dodopayments::Models::DisputeAcceptedWebhookEvent, Dodopayments::Models::DisputeCancelledWebhookEvent, Dodopayments::Models::DisputeChallengedWebhookEvent, Dodopayments::Models::DisputeExpiredWebhookEvent, Dodopayments::Models::DisputeLostWebhookEvent, Dodopayments::Models::DisputeOpenedWebhookEvent, Dodopayments::Models::DisputeWonWebhookEvent, Dodopayments::Models::LicenseKeyCreatedWebhookEvent, Dodopayments::Models::PaymentCancelledWebhookEvent, Dodopayments::Models::PaymentFailedWebhookEvent, Dodopayments::Models::PaymentProcessingWebhookEvent, Dodopayments::Models::PaymentSucceededWebhookEvent, 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::SubscriptionUpdatedWebhookEvent]
|
|
178
178
|
def unwrap(payload)
|
|
179
179
|
parsed = JSON.parse(payload, symbolize_names: true)
|
|
180
180
|
Dodopayments::Internal::Type::Converter.coerce(Dodopayments::Models::UnwrapWebhookEvent, parsed)
|
data/lib/dodopayments/version.rb
CHANGED
data/lib/dodopayments.rb
CHANGED
|
@@ -224,12 +224,16 @@ require_relative "dodopayments/models/subscription_on_hold_webhook_event"
|
|
|
224
224
|
require_relative "dodopayments/models/subscription_on_hold_webhook_event"
|
|
225
225
|
require_relative "dodopayments/models/subscription_plan_changed_webhook_event"
|
|
226
226
|
require_relative "dodopayments/models/subscription_plan_changed_webhook_event"
|
|
227
|
+
require_relative "dodopayments/models/subscription_preview_change_plan_params"
|
|
228
|
+
require_relative "dodopayments/models/subscription_preview_change_plan_response"
|
|
227
229
|
require_relative "dodopayments/models/subscription_renewed_webhook_event"
|
|
228
230
|
require_relative "dodopayments/models/subscription_renewed_webhook_event"
|
|
229
231
|
require_relative "dodopayments/models/subscription_retrieve_params"
|
|
230
232
|
require_relative "dodopayments/models/subscription_retrieve_usage_history_params"
|
|
231
233
|
require_relative "dodopayments/models/subscription_retrieve_usage_history_response"
|
|
232
234
|
require_relative "dodopayments/models/subscription_status"
|
|
235
|
+
require_relative "dodopayments/models/subscription_updated_webhook_event"
|
|
236
|
+
require_relative "dodopayments/models/subscription_updated_webhook_event"
|
|
233
237
|
require_relative "dodopayments/models/subscription_update_params"
|
|
234
238
|
require_relative "dodopayments/models/subscription_update_payment_method_params"
|
|
235
239
|
require_relative "dodopayments/models/subscription_update_payment_method_response"
|
|
@@ -8,57 +8,57 @@ module Dodopayments
|
|
|
8
8
|
T.any(Dodopayments::BillingAddress, Dodopayments::Internal::AnyHash)
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
# City name
|
|
12
|
-
sig { returns(String) }
|
|
13
|
-
attr_accessor :city
|
|
14
|
-
|
|
15
11
|
# Two-letter ISO country code (ISO 3166-1 alpha-2)
|
|
16
12
|
sig { returns(Dodopayments::CountryCode::OrSymbol) }
|
|
17
13
|
attr_accessor :country
|
|
18
14
|
|
|
15
|
+
# City name
|
|
16
|
+
sig { returns(T.nilable(String)) }
|
|
17
|
+
attr_accessor :city
|
|
18
|
+
|
|
19
19
|
# State or province name
|
|
20
|
-
sig { returns(String) }
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
21
|
attr_accessor :state
|
|
22
22
|
|
|
23
23
|
# Street address including house number and unit/apartment if applicable
|
|
24
|
-
sig { returns(String) }
|
|
24
|
+
sig { returns(T.nilable(String)) }
|
|
25
25
|
attr_accessor :street
|
|
26
26
|
|
|
27
27
|
# Postal code or ZIP code
|
|
28
|
-
sig { returns(String) }
|
|
28
|
+
sig { returns(T.nilable(String)) }
|
|
29
29
|
attr_accessor :zipcode
|
|
30
30
|
|
|
31
31
|
sig do
|
|
32
32
|
params(
|
|
33
|
-
city: String,
|
|
34
33
|
country: Dodopayments::CountryCode::OrSymbol,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
city: T.nilable(String),
|
|
35
|
+
state: T.nilable(String),
|
|
36
|
+
street: T.nilable(String),
|
|
37
|
+
zipcode: T.nilable(String)
|
|
38
38
|
).returns(T.attached_class)
|
|
39
39
|
end
|
|
40
40
|
def self.new(
|
|
41
|
-
# City name
|
|
42
|
-
city:,
|
|
43
41
|
# Two-letter ISO country code (ISO 3166-1 alpha-2)
|
|
44
42
|
country:,
|
|
43
|
+
# City name
|
|
44
|
+
city: nil,
|
|
45
45
|
# State or province name
|
|
46
|
-
state
|
|
46
|
+
state: nil,
|
|
47
47
|
# Street address including house number and unit/apartment if applicable
|
|
48
|
-
street
|
|
48
|
+
street: nil,
|
|
49
49
|
# Postal code or ZIP code
|
|
50
|
-
zipcode:
|
|
50
|
+
zipcode: nil
|
|
51
51
|
)
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
sig do
|
|
55
55
|
override.returns(
|
|
56
56
|
{
|
|
57
|
-
city: String,
|
|
58
57
|
country: Dodopayments::CountryCode::OrSymbol,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
city: T.nilable(String),
|
|
59
|
+
state: T.nilable(String),
|
|
60
|
+
street: T.nilable(String),
|
|
61
|
+
zipcode: T.nilable(String)
|
|
62
62
|
}
|
|
63
63
|
)
|
|
64
64
|
end
|
|
@@ -107,6 +107,14 @@ module Dodopayments
|
|
|
107
107
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
108
108
|
attr_accessor :metadata
|
|
109
109
|
|
|
110
|
+
# If true, only zipcode is required when confirm is true; other address fields
|
|
111
|
+
# remain optional
|
|
112
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
113
|
+
attr_reader :minimal_address
|
|
114
|
+
|
|
115
|
+
sig { params(minimal_address: T::Boolean).void }
|
|
116
|
+
attr_writer :minimal_address
|
|
117
|
+
|
|
110
118
|
# The url to redirect after payment failure or success.
|
|
111
119
|
sig { returns(T.nilable(String)) }
|
|
112
120
|
attr_accessor :return_url
|
|
@@ -161,6 +169,7 @@ module Dodopayments
|
|
|
161
169
|
Dodopayments::CheckoutSessionRequest::FeatureFlags::OrHash,
|
|
162
170
|
force_3ds: T.nilable(T::Boolean),
|
|
163
171
|
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
172
|
+
minimal_address: T::Boolean,
|
|
164
173
|
return_url: T.nilable(String),
|
|
165
174
|
show_saved_payment_methods: T::Boolean,
|
|
166
175
|
subscription_data:
|
|
@@ -196,6 +205,9 @@ module Dodopayments
|
|
|
196
205
|
# Additional metadata associated with the payment. Defaults to empty if not
|
|
197
206
|
# provided.
|
|
198
207
|
metadata: nil,
|
|
208
|
+
# If true, only zipcode is required when confirm is true; other address fields
|
|
209
|
+
# remain optional
|
|
210
|
+
minimal_address: nil,
|
|
199
211
|
# The url to redirect after payment failure or success.
|
|
200
212
|
return_url: nil,
|
|
201
213
|
# Display saved payment methods of a returning customer False by default
|
|
@@ -227,6 +239,7 @@ module Dodopayments
|
|
|
227
239
|
feature_flags: Dodopayments::CheckoutSessionRequest::FeatureFlags,
|
|
228
240
|
force_3ds: T.nilable(T::Boolean),
|
|
229
241
|
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
242
|
+
minimal_address: T::Boolean,
|
|
230
243
|
return_url: T.nilable(String),
|
|
231
244
|
show_saved_payment_methods: T::Boolean,
|
|
232
245
|
subscription_data:
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class SubscriptionPreviewChangePlanParams < Dodopayments::Internal::Type::BaseModel
|
|
6
|
+
extend Dodopayments::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Dodopayments::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
Dodopayments::SubscriptionPreviewChangePlanParams,
|
|
13
|
+
Dodopayments::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Unique identifier of the product to subscribe to
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :product_id
|
|
20
|
+
|
|
21
|
+
# Proration Billing Mode
|
|
22
|
+
sig do
|
|
23
|
+
returns(
|
|
24
|
+
Dodopayments::SubscriptionPreviewChangePlanParams::ProrationBillingMode::OrSymbol
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
attr_accessor :proration_billing_mode
|
|
28
|
+
|
|
29
|
+
# Number of units to subscribe for. Must be at least 1.
|
|
30
|
+
sig { returns(Integer) }
|
|
31
|
+
attr_accessor :quantity
|
|
32
|
+
|
|
33
|
+
# Addons for the new plan. Note : Leaving this empty would remove any existing
|
|
34
|
+
# addons
|
|
35
|
+
sig { returns(T.nilable(T::Array[Dodopayments::AttachAddon])) }
|
|
36
|
+
attr_accessor :addons
|
|
37
|
+
|
|
38
|
+
sig do
|
|
39
|
+
params(
|
|
40
|
+
product_id: String,
|
|
41
|
+
proration_billing_mode:
|
|
42
|
+
Dodopayments::SubscriptionPreviewChangePlanParams::ProrationBillingMode::OrSymbol,
|
|
43
|
+
quantity: Integer,
|
|
44
|
+
addons: T.nilable(T::Array[Dodopayments::AttachAddon::OrHash]),
|
|
45
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
|
46
|
+
).returns(T.attached_class)
|
|
47
|
+
end
|
|
48
|
+
def self.new(
|
|
49
|
+
# Unique identifier of the product to subscribe to
|
|
50
|
+
product_id:,
|
|
51
|
+
# Proration Billing Mode
|
|
52
|
+
proration_billing_mode:,
|
|
53
|
+
# Number of units to subscribe for. Must be at least 1.
|
|
54
|
+
quantity:,
|
|
55
|
+
# Addons for the new plan. Note : Leaving this empty would remove any existing
|
|
56
|
+
# addons
|
|
57
|
+
addons: nil,
|
|
58
|
+
request_options: {}
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
sig do
|
|
63
|
+
override.returns(
|
|
64
|
+
{
|
|
65
|
+
product_id: String,
|
|
66
|
+
proration_billing_mode:
|
|
67
|
+
Dodopayments::SubscriptionPreviewChangePlanParams::ProrationBillingMode::OrSymbol,
|
|
68
|
+
quantity: Integer,
|
|
69
|
+
addons: T.nilable(T::Array[Dodopayments::AttachAddon]),
|
|
70
|
+
request_options: Dodopayments::RequestOptions
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
def to_hash
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Proration Billing Mode
|
|
78
|
+
module ProrationBillingMode
|
|
79
|
+
extend Dodopayments::Internal::Type::Enum
|
|
80
|
+
|
|
81
|
+
TaggedSymbol =
|
|
82
|
+
T.type_alias do
|
|
83
|
+
T.all(
|
|
84
|
+
Symbol,
|
|
85
|
+
Dodopayments::SubscriptionPreviewChangePlanParams::ProrationBillingMode
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
89
|
+
|
|
90
|
+
PRORATED_IMMEDIATELY =
|
|
91
|
+
T.let(
|
|
92
|
+
:prorated_immediately,
|
|
93
|
+
Dodopayments::SubscriptionPreviewChangePlanParams::ProrationBillingMode::TaggedSymbol
|
|
94
|
+
)
|
|
95
|
+
FULL_IMMEDIATELY =
|
|
96
|
+
T.let(
|
|
97
|
+
:full_immediately,
|
|
98
|
+
Dodopayments::SubscriptionPreviewChangePlanParams::ProrationBillingMode::TaggedSymbol
|
|
99
|
+
)
|
|
100
|
+
DIFFERENCE_IMMEDIATELY =
|
|
101
|
+
T.let(
|
|
102
|
+
:difference_immediately,
|
|
103
|
+
Dodopayments::SubscriptionPreviewChangePlanParams::ProrationBillingMode::TaggedSymbol
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
sig do
|
|
107
|
+
override.returns(
|
|
108
|
+
T::Array[
|
|
109
|
+
Dodopayments::SubscriptionPreviewChangePlanParams::ProrationBillingMode::TaggedSymbol
|
|
110
|
+
]
|
|
111
|
+
)
|
|
112
|
+
end
|
|
113
|
+
def self.values
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
end
|