dodopayments 1.71.1 → 1.74.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 +21 -0
- data/README.md +1 -1
- data/lib/dodopayments/models/checkout_session_preview_params.rb +14 -0
- data/lib/dodopayments/models/checkout_session_preview_response.rb +426 -0
- data/lib/dodopayments/models/checkout_session_request.rb +94 -1
- data/lib/dodopayments/models/customer_list_params.rb +25 -1
- data/lib/dodopayments/models/discount_list_params.rb +33 -1
- data/lib/dodopayments/models/discount_retrieve_by_code_params.rb +14 -0
- data/lib/dodopayments/models/license_key_list_params.rb +17 -1
- data/lib/dodopayments/models/payment.rb +40 -1
- data/lib/dodopayments/models/payment_list_response.rb +28 -1
- data/lib/dodopayments/models/payment_method_types.rb +13 -98
- data/lib/dodopayments/models/product.rb +9 -1
- data/lib/dodopayments/models/subscription.rb +32 -1
- data/lib/dodopayments/models/subscription_change_plan_params.rb +10 -1
- data/lib/dodopayments/models/subscription_list_response.rb +9 -1
- data/lib/dodopayments/models/subscription_preview_change_plan_params.rb +10 -1
- data/lib/dodopayments/models.rb +4 -0
- data/lib/dodopayments/resources/checkout_sessions.rb +64 -1
- data/lib/dodopayments/resources/customers.rb +7 -1
- data/lib/dodopayments/resources/discounts.rb +31 -1
- data/lib/dodopayments/resources/license_keys.rb +5 -1
- data/lib/dodopayments/resources/subscriptions.rb +6 -2
- data/lib/dodopayments/version.rb +1 -1
- data/lib/dodopayments.rb +3 -0
- data/rbi/dodopayments/models/checkout_session_preview_params.rbi +32 -0
- data/rbi/dodopayments/models/checkout_session_preview_response.rbi +616 -0
- data/rbi/dodopayments/models/checkout_session_request.rbi +183 -0
- data/rbi/dodopayments/models/customer_list_params.rbi +33 -0
- data/rbi/dodopayments/models/discount_list_params.rbi +44 -0
- data/rbi/dodopayments/models/discount_retrieve_by_code_params.rbi +32 -0
- data/rbi/dodopayments/models/license_key_list_params.rbi +22 -0
- data/rbi/dodopayments/models/payment.rbi +54 -0
- data/rbi/dodopayments/models/payment_list_response.rbi +16 -0
- data/rbi/dodopayments/models/payment_method_types.rbi +18 -186
- data/rbi/dodopayments/models/product.rbi +11 -3
- data/rbi/dodopayments/models/subscription.rbi +50 -0
- data/rbi/dodopayments/models/subscription_change_plan_params.rbi +10 -0
- data/rbi/dodopayments/models/subscription_list_response.rbi +8 -0
- data/rbi/dodopayments/models/subscription_preview_change_plan_params.rbi +10 -0
- data/rbi/dodopayments/models.rbi +6 -0
- data/rbi/dodopayments/resources/checkout_sessions.rbi +104 -0
- data/rbi/dodopayments/resources/customers.rbi +9 -0
- data/rbi/dodopayments/resources/discounts.rbi +28 -0
- data/rbi/dodopayments/resources/license_keys.rbi +6 -0
- data/rbi/dodopayments/resources/subscriptions.rbi +8 -0
- data/sig/dodopayments/models/checkout_session_preview_params.rbs +15 -0
- data/sig/dodopayments/models/checkout_session_preview_response.rbs +330 -0
- data/sig/dodopayments/models/checkout_session_request.rbs +81 -0
- data/sig/dodopayments/models/customer_list_params.rbs +26 -1
- data/sig/dodopayments/models/discount_list_params.rbs +34 -1
- data/sig/dodopayments/models/discount_retrieve_by_code_params.rbs +15 -0
- data/sig/dodopayments/models/license_key_list_params.rbs +14 -0
- data/sig/dodopayments/models/payment.rbs +22 -0
- data/sig/dodopayments/models/payment_list_response.rbs +10 -0
- data/sig/dodopayments/models/payment_method_types.rbs +26 -196
- data/sig/dodopayments/models/product.rbs +8 -3
- data/sig/dodopayments/models/subscription.rbs +17 -0
- data/sig/dodopayments/models/subscription_change_plan_params.rbs +6 -1
- data/sig/dodopayments/models/subscription_list_response.rbs +5 -0
- data/sig/dodopayments/models/subscription_preview_change_plan_params.rbs +6 -1
- data/sig/dodopayments/models.rbs +4 -0
- data/sig/dodopayments/resources/checkout_sessions.rbs +25 -0
- data/sig/dodopayments/resources/customers.rbs +3 -0
- data/sig/dodopayments/resources/discounts.rbs +9 -0
- data/sig/dodopayments/resources/license_keys.rbs +2 -0
- data/sig/dodopayments/resources/subscriptions.rbs +2 -0
- metadata +11 -2
|
@@ -106,12 +106,20 @@ module Dodopayments
|
|
|
106
106
|
|
|
107
107
|
# GET /discounts
|
|
108
108
|
#
|
|
109
|
-
# @overload list(page_number: nil, page_size: nil, request_options: {})
|
|
109
|
+
# @overload list(active: nil, code: nil, discount_type: nil, page_number: nil, page_size: nil, product_id: nil, request_options: {})
|
|
110
|
+
#
|
|
111
|
+
# @param active [Boolean] Filter by active status (true = not expired, false = expired)
|
|
112
|
+
#
|
|
113
|
+
# @param code [String] Filter by discount code (partial match, case-insensitive)
|
|
114
|
+
#
|
|
115
|
+
# @param discount_type [Symbol, Dodopayments::Models::DiscountType] Filter by discount type (percentage)
|
|
110
116
|
#
|
|
111
117
|
# @param page_number [Integer] Page number (default = 0).
|
|
112
118
|
#
|
|
113
119
|
# @param page_size [Integer] Page size (default = 10, max = 100).
|
|
114
120
|
#
|
|
121
|
+
# @param product_id [String] Filter by product restriction (only discounts that apply to this product)
|
|
122
|
+
#
|
|
115
123
|
# @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
116
124
|
#
|
|
117
125
|
# @return [Dodopayments::Internal::DefaultPageNumberPagination<Dodopayments::Models::Discount>]
|
|
@@ -149,6 +157,28 @@ module Dodopayments
|
|
|
149
157
|
)
|
|
150
158
|
end
|
|
151
159
|
|
|
160
|
+
# Validate and fetch a discount by its code name (e.g., "SAVE20"). This allows
|
|
161
|
+
# real-time validation directly against the API using the human-readable discount
|
|
162
|
+
# code instead of requiring the internal discount_id.
|
|
163
|
+
#
|
|
164
|
+
# @overload retrieve_by_code(code, request_options: {})
|
|
165
|
+
#
|
|
166
|
+
# @param code [String] The discount code (e.g., 'SAVE20')
|
|
167
|
+
#
|
|
168
|
+
# @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
169
|
+
#
|
|
170
|
+
# @return [Dodopayments::Models::Discount]
|
|
171
|
+
#
|
|
172
|
+
# @see Dodopayments::Models::DiscountRetrieveByCodeParams
|
|
173
|
+
def retrieve_by_code(code, params = {})
|
|
174
|
+
@client.request(
|
|
175
|
+
method: :get,
|
|
176
|
+
path: ["discounts/code/%1$s", code],
|
|
177
|
+
model: Dodopayments::Discount,
|
|
178
|
+
options: params[:request_options]
|
|
179
|
+
)
|
|
180
|
+
end
|
|
181
|
+
|
|
152
182
|
# @api private
|
|
153
183
|
#
|
|
154
184
|
# @param client [Dodopayments::Client]
|
|
@@ -50,7 +50,11 @@ module Dodopayments
|
|
|
50
50
|
)
|
|
51
51
|
end
|
|
52
52
|
|
|
53
|
-
# @overload list(customer_id: nil, page_number: nil, page_size: nil, product_id: nil, status: nil, request_options: {})
|
|
53
|
+
# @overload list(created_at_gte: nil, created_at_lte: nil, customer_id: nil, page_number: nil, page_size: nil, product_id: nil, status: nil, request_options: {})
|
|
54
|
+
#
|
|
55
|
+
# @param created_at_gte [Time] Filter license keys created on or after this timestamp
|
|
56
|
+
#
|
|
57
|
+
# @param created_at_lte [Time] Filter license keys created on or before this timestamp
|
|
54
58
|
#
|
|
55
59
|
# @param customer_id [String] Filter by customer ID
|
|
56
60
|
#
|
|
@@ -156,7 +156,7 @@ module Dodopayments
|
|
|
156
156
|
# Some parameter documentations has been truncated, see
|
|
157
157
|
# {Dodopayments::Models::SubscriptionChangePlanParams} for more details.
|
|
158
158
|
#
|
|
159
|
-
# @overload change_plan(subscription_id, product_id:, proration_billing_mode:, quantity:, addons: nil, request_options: {})
|
|
159
|
+
# @overload change_plan(subscription_id, product_id:, proration_billing_mode:, quantity:, addons: nil, metadata: nil, request_options: {})
|
|
160
160
|
#
|
|
161
161
|
# @param subscription_id [String] Subscription Id
|
|
162
162
|
#
|
|
@@ -168,6 +168,8 @@ module Dodopayments
|
|
|
168
168
|
#
|
|
169
169
|
# @param addons [Array<Dodopayments::Models::AttachAddon>, nil] Addons for the new plan.
|
|
170
170
|
#
|
|
171
|
+
# @param metadata [Hash{Symbol=>String}, nil] Metadata for the payment. If not passed, the metadata of the subscription will b
|
|
172
|
+
#
|
|
171
173
|
# @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
172
174
|
#
|
|
173
175
|
# @return [nil]
|
|
@@ -222,7 +224,7 @@ module Dodopayments
|
|
|
222
224
|
# Some parameter documentations has been truncated, see
|
|
223
225
|
# {Dodopayments::Models::SubscriptionPreviewChangePlanParams} for more details.
|
|
224
226
|
#
|
|
225
|
-
# @overload preview_change_plan(subscription_id, product_id:, proration_billing_mode:, quantity:, addons: nil, request_options: {})
|
|
227
|
+
# @overload preview_change_plan(subscription_id, product_id:, proration_billing_mode:, quantity:, addons: nil, metadata: nil, request_options: {})
|
|
226
228
|
#
|
|
227
229
|
# @param subscription_id [String] Subscription Id
|
|
228
230
|
#
|
|
@@ -234,6 +236,8 @@ module Dodopayments
|
|
|
234
236
|
#
|
|
235
237
|
# @param addons [Array<Dodopayments::Models::AttachAddon>, nil] Addons for the new plan.
|
|
236
238
|
#
|
|
239
|
+
# @param metadata [Hash{Symbol=>String}, nil] Metadata for the payment. If not passed, the metadata of the subscription will b
|
|
240
|
+
#
|
|
237
241
|
# @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
238
242
|
#
|
|
239
243
|
# @return [Dodopayments::Models::SubscriptionPreviewChangePlanResponse]
|
data/lib/dodopayments/version.rb
CHANGED
data/lib/dodopayments.rb
CHANGED
|
@@ -81,6 +81,8 @@ require_relative "dodopayments/models/brand_update_images_params"
|
|
|
81
81
|
require_relative "dodopayments/models/brand_update_images_response"
|
|
82
82
|
require_relative "dodopayments/models/brand_update_params"
|
|
83
83
|
require_relative "dodopayments/models/checkout_session_create_params"
|
|
84
|
+
require_relative "dodopayments/models/checkout_session_preview_params"
|
|
85
|
+
require_relative "dodopayments/models/checkout_session_preview_response"
|
|
84
86
|
require_relative "dodopayments/models/checkout_session_response"
|
|
85
87
|
require_relative "dodopayments/models/checkout_session_retrieve_params"
|
|
86
88
|
require_relative "dodopayments/models/checkout_session_status"
|
|
@@ -108,6 +110,7 @@ require_relative "dodopayments/models/discount"
|
|
|
108
110
|
require_relative "dodopayments/models/discount_create_params"
|
|
109
111
|
require_relative "dodopayments/models/discount_delete_params"
|
|
110
112
|
require_relative "dodopayments/models/discount_list_params"
|
|
113
|
+
require_relative "dodopayments/models/discount_retrieve_by_code_params"
|
|
111
114
|
require_relative "dodopayments/models/discount_retrieve_params"
|
|
112
115
|
require_relative "dodopayments/models/discount_type"
|
|
113
116
|
require_relative "dodopayments/models/discount_update_params"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class CheckoutSessionPreviewParams < Dodopayments::Models::CheckoutSessionRequest
|
|
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::CheckoutSessionPreviewParams,
|
|
13
|
+
Dodopayments::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
sig do
|
|
18
|
+
params(request_options: Dodopayments::RequestOptions::OrHash).returns(
|
|
19
|
+
T.attached_class
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
def self.new(request_options: {})
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
sig do
|
|
26
|
+
override.returns({ request_options: Dodopayments::RequestOptions })
|
|
27
|
+
end
|
|
28
|
+
def to_hash
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|