dodopayments 1.16.1 → 1.18.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 +34 -0
- data/README.md +58 -49
- data/lib/dodopayments/client.rb +4 -4
- data/lib/dodopayments/internal/default_page_number_pagination.rb +1 -1
- data/lib/dodopayments/internal/transport/base_client.rb +4 -4
- data/lib/dodopayments/internal/transport/pooled_net_requester.rb +1 -5
- data/lib/dodopayments/internal/type/array_of.rb +11 -0
- data/lib/dodopayments/internal/type/base_model.rb +32 -12
- data/lib/dodopayments/internal/type/base_page.rb +9 -1
- data/lib/dodopayments/internal/type/boolean.rb +4 -0
- data/lib/dodopayments/internal/type/enum.rb +9 -5
- data/lib/dodopayments/internal/type/hash_of.rb +11 -0
- data/lib/dodopayments/internal/type/io_like.rb +4 -0
- data/lib/dodopayments/internal/type/request_parameters.rb +1 -2
- data/lib/dodopayments/internal/type/union.rb +10 -1
- data/lib/dodopayments/internal/type/unknown.rb +4 -0
- data/lib/dodopayments/internal.rb +0 -1
- data/lib/dodopayments/models/attach_existing_customer.rb +2 -6
- data/lib/dodopayments/models/billing_address.rb +6 -10
- data/lib/dodopayments/models/country_code.rb +2 -5
- data/lib/dodopayments/models/create_new_customer.rb +6 -14
- data/lib/dodopayments/models/customer.rb +7 -11
- data/lib/dodopayments/models/customer_create_params.rb +6 -11
- data/lib/dodopayments/models/customer_limited_details.rb +4 -8
- data/lib/dodopayments/models/customer_list_params.rb +5 -10
- data/lib/dodopayments/models/customer_portal_session.rb +2 -6
- data/lib/dodopayments/models/customer_request.rb +2 -3
- data/lib/dodopayments/models/customer_retrieve_params.rb +3 -8
- data/lib/dodopayments/models/customer_update_params.rb +5 -10
- data/lib/dodopayments/models/customers/customer_portal_create_params.rb +4 -9
- data/lib/dodopayments/models/discount.rb +12 -31
- data/lib/dodopayments/models/discount_create_params.rb +10 -27
- data/lib/dodopayments/models/discount_delete_params.rb +3 -8
- data/lib/dodopayments/models/discount_list_params.rb +5 -10
- data/lib/dodopayments/models/discount_retrieve_params.rb +3 -8
- data/lib/dodopayments/models/discount_type.rb +2 -5
- data/lib/dodopayments/models/discount_update_params.rb +10 -27
- data/lib/dodopayments/models/dispute.rb +9 -25
- data/lib/dodopayments/models/dispute_list_params.rb +10 -27
- data/lib/dodopayments/models/dispute_retrieve_params.rb +3 -8
- data/lib/dodopayments/models/dispute_stage.rb +2 -5
- data/lib/dodopayments/models/dispute_status.rb +2 -5
- data/lib/dodopayments/models/intent_status.rb +2 -5
- data/lib/dodopayments/models/invoices/payment_retrieve_params.rb +3 -8
- data/lib/dodopayments/models/license_activate_params.rb +5 -10
- data/lib/dodopayments/models/license_deactivate_params.rb +5 -10
- data/lib/dodopayments/models/license_key.rb +13 -33
- data/lib/dodopayments/models/license_key_duration.rb +3 -7
- data/lib/dodopayments/models/license_key_instance.rb +6 -10
- data/lib/dodopayments/models/license_key_instance_list_params.rb +6 -11
- data/lib/dodopayments/models/license_key_instance_retrieve_params.rb +3 -8
- data/lib/dodopayments/models/license_key_instance_update_params.rb +4 -9
- data/lib/dodopayments/models/license_key_list_params.rb +8 -13
- data/lib/dodopayments/models/license_key_retrieve_params.rb +3 -8
- data/lib/dodopayments/models/license_key_status.rb +2 -5
- data/lib/dodopayments/models/license_key_update_params.rb +6 -11
- data/lib/dodopayments/models/license_validate_params.rb +5 -10
- data/lib/dodopayments/models/license_validate_response.rb +2 -6
- data/lib/dodopayments/models/misc_list_supported_countries_params.rb +3 -8
- data/lib/dodopayments/models/one_time_product_cart_item.rb +4 -8
- data/lib/dodopayments/models/payment.rb +193 -58
- data/lib/dodopayments/models/payment_create_params.rb +20 -55
- data/lib/dodopayments/models/payment_create_response.rb +9 -25
- data/lib/dodopayments/models/payment_list_params.rb +10 -27
- data/lib/dodopayments/models/payment_list_response.rb +13 -34
- data/lib/dodopayments/models/payment_retrieve_params.rb +3 -8
- data/lib/dodopayments/models/payout_list_params.rb +5 -10
- data/lib/dodopayments/models/payout_list_response.rb +20 -49
- data/lib/dodopayments/models/price.rb +29 -79
- data/lib/dodopayments/models/product.rb +18 -44
- data/lib/dodopayments/models/product_create_params.rb +14 -36
- data/lib/dodopayments/models/product_delete_params.rb +3 -8
- data/lib/dodopayments/models/product_list_params.rb +8 -17
- data/lib/dodopayments/models/product_list_response.rb +18 -45
- data/lib/dodopayments/models/product_retrieve_params.rb +3 -8
- data/lib/dodopayments/models/product_unarchive_params.rb +3 -8
- data/lib/dodopayments/models/product_update_params.rb +15 -38
- data/lib/dodopayments/models/products/image_update_params.rb +4 -9
- data/lib/dodopayments/models/products/image_update_response.rb +3 -7
- data/lib/dodopayments/models/refund.rb +11 -18
- data/lib/dodopayments/models/refund_create_params.rb +5 -10
- data/lib/dodopayments/models/refund_list_params.rb +9 -25
- data/lib/dodopayments/models/refund_retrieve_params.rb +3 -8
- data/lib/dodopayments/models/refund_status.rb +2 -5
- data/lib/dodopayments/models/subscription.rb +33 -55
- data/lib/dodopayments/models/subscription_change_plan_params.rb +44 -0
- data/lib/dodopayments/models/subscription_charge_params.rb +4 -9
- data/lib/dodopayments/models/subscription_charge_response.rb +2 -6
- data/lib/dodopayments/models/subscription_create_params.rb +26 -68
- data/lib/dodopayments/models/subscription_create_response.rb +8 -23
- data/lib/dodopayments/models/subscription_list_params.rb +9 -25
- data/lib/dodopayments/models/subscription_retrieve_params.rb +3 -8
- data/lib/dodopayments/models/subscription_status.rb +2 -5
- data/lib/dodopayments/models/subscription_update_params.rb +7 -12
- data/lib/dodopayments/models/time_interval.rb +2 -5
- data/lib/dodopayments/models/webhook_event.rb +9 -25
- data/lib/dodopayments/models/webhook_event_list_params.rb +9 -25
- data/lib/dodopayments/models/webhook_event_retrieve_params.rb +3 -8
- data/lib/dodopayments/request_options.rb +3 -4
- data/lib/dodopayments/resources/subscriptions.rb +22 -0
- data/lib/dodopayments/version.rb +1 -1
- data/lib/dodopayments.rb +1 -9
- data/rbi/lib/dodopayments/client.rbi +4 -4
- data/rbi/lib/dodopayments/internal/type/array_of.rbi +3 -0
- data/rbi/lib/dodopayments/internal/type/base_model.rbi +7 -1
- data/rbi/lib/dodopayments/internal/type/base_page.rbi +2 -0
- data/rbi/lib/dodopayments/internal/type/enum.rbi +3 -6
- data/rbi/lib/dodopayments/internal/type/hash_of.rbi +3 -0
- data/rbi/lib/dodopayments/internal/type/union.rbi +3 -0
- data/rbi/lib/dodopayments/internal.rbi +0 -1
- data/rbi/lib/dodopayments/models/country_code.rbi +1 -1
- data/rbi/lib/dodopayments/models/discount_type.rbi +1 -1
- data/rbi/lib/dodopayments/models/dispute_stage.rbi +1 -1
- data/rbi/lib/dodopayments/models/dispute_status.rbi +1 -1
- data/rbi/lib/dodopayments/models/intent_status.rbi +1 -1
- data/rbi/lib/dodopayments/models/license_key_status.rbi +1 -1
- data/rbi/lib/dodopayments/models/payment.rbi +172 -1
- data/rbi/lib/dodopayments/models/payment_create_params.rbi +2 -4
- data/rbi/lib/dodopayments/models/payment_list_response.rbi +1 -2
- data/rbi/lib/dodopayments/models/payout_list_response.rbi +2 -4
- data/rbi/lib/dodopayments/models/price.rbi +2 -4
- data/rbi/lib/dodopayments/models/product.rbi +1 -2
- data/rbi/lib/dodopayments/models/product_create_params.rbi +1 -2
- data/rbi/lib/dodopayments/models/product_list_response.rbi +2 -4
- data/rbi/lib/dodopayments/models/product_update_params.rbi +1 -2
- data/rbi/lib/dodopayments/models/refund.rbi +1 -1
- data/rbi/lib/dodopayments/models/refund_status.rbi +1 -1
- data/rbi/lib/dodopayments/models/subscription.rbi +10 -3
- data/rbi/lib/dodopayments/models/subscription_change_plan_params.rbi +65 -0
- data/rbi/lib/dodopayments/models/subscription_create_params.rbi +2 -10
- data/rbi/lib/dodopayments/models/subscription_status.rbi +1 -1
- data/rbi/lib/dodopayments/models/time_interval.rbi +1 -1
- data/rbi/lib/dodopayments/resources/subscriptions.rbi +20 -0
- data/sig/dodopayments/internal/type/array_of.rbs +2 -0
- data/sig/dodopayments/internal/type/base_model.rbs +4 -0
- data/sig/dodopayments/internal/type/enum.rbs +2 -2
- data/sig/dodopayments/internal/type/hash_of.rbs +2 -0
- data/sig/dodopayments/internal/type/union.rbs +2 -0
- data/sig/dodopayments/models/payment.rbs +307 -0
- data/sig/dodopayments/models/subscription.rbs +4 -0
- data/sig/dodopayments/models/subscription_change_plan_params.rbs +41 -0
- data/sig/dodopayments/resources/subscriptions.rbs +8 -0
- metadata +5 -2
@@ -127,8 +127,7 @@ module Dodopayments
|
|
127
127
|
|
128
128
|
TaggedSymbol =
|
129
129
|
T.type_alias { T.all(Symbol, Dodopayments::Models::PaymentCreateParams::AllowedPaymentMethodType) }
|
130
|
-
OrSymbol =
|
131
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::PaymentCreateParams::AllowedPaymentMethodType::TaggedSymbol) }
|
130
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
132
131
|
|
133
132
|
CREDIT =
|
134
133
|
T.let(:credit, Dodopayments::Models::PaymentCreateParams::AllowedPaymentMethodType::TaggedSymbol)
|
@@ -176,8 +175,7 @@ module Dodopayments
|
|
176
175
|
extend Dodopayments::Internal::Type::Enum
|
177
176
|
|
178
177
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::PaymentCreateParams::BillingCurrency) }
|
179
|
-
OrSymbol =
|
180
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::PaymentCreateParams::BillingCurrency::TaggedSymbol) }
|
178
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
181
179
|
|
182
180
|
AED = T.let(:AED, Dodopayments::Models::PaymentCreateParams::BillingCurrency::TaggedSymbol)
|
183
181
|
ALL = T.let(:ALL, Dodopayments::Models::PaymentCreateParams::BillingCurrency::TaggedSymbol)
|
@@ -88,8 +88,7 @@ module Dodopayments
|
|
88
88
|
extend Dodopayments::Internal::Type::Enum
|
89
89
|
|
90
90
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::PaymentListResponse::Currency) }
|
91
|
-
OrSymbol =
|
92
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::PaymentListResponse::Currency::TaggedSymbol) }
|
91
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
93
92
|
|
94
93
|
AED = T.let(:AED, Dodopayments::Models::PaymentListResponse::Currency::TaggedSymbol)
|
95
94
|
ALL = T.let(:ALL, Dodopayments::Models::PaymentListResponse::Currency::TaggedSymbol)
|
@@ -126,8 +126,7 @@ module Dodopayments
|
|
126
126
|
extend Dodopayments::Internal::Type::Enum
|
127
127
|
|
128
128
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::PayoutListResponse::Currency) }
|
129
|
-
OrSymbol =
|
130
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::PayoutListResponse::Currency::TaggedSymbol) }
|
129
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
131
130
|
|
132
131
|
AED = T.let(:AED, Dodopayments::Models::PayoutListResponse::Currency::TaggedSymbol)
|
133
132
|
ALL = T.let(:ALL, Dodopayments::Models::PayoutListResponse::Currency::TaggedSymbol)
|
@@ -283,8 +282,7 @@ module Dodopayments
|
|
283
282
|
extend Dodopayments::Internal::Type::Enum
|
284
283
|
|
285
284
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::PayoutListResponse::Status) }
|
286
|
-
OrSymbol =
|
287
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::PayoutListResponse::Status::TaggedSymbol) }
|
285
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
288
286
|
|
289
287
|
NOT_INITIATED = T.let(:not_initiated, Dodopayments::Models::PayoutListResponse::Status::TaggedSymbol)
|
290
288
|
IN_PROGRESS = T.let(:in_progress, Dodopayments::Models::PayoutListResponse::Status::TaggedSymbol)
|
@@ -91,8 +91,7 @@ module Dodopayments
|
|
91
91
|
extend Dodopayments::Internal::Type::Enum
|
92
92
|
|
93
93
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::Price::OneTimePrice::Currency) }
|
94
|
-
OrSymbol =
|
95
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::Price::OneTimePrice::Currency::TaggedSymbol) }
|
94
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
96
95
|
|
97
96
|
AED = T.let(:AED, Dodopayments::Models::Price::OneTimePrice::Currency::TaggedSymbol)
|
98
97
|
ALL = T.let(:ALL, Dodopayments::Models::Price::OneTimePrice::Currency::TaggedSymbol)
|
@@ -346,8 +345,7 @@ module Dodopayments
|
|
346
345
|
extend Dodopayments::Internal::Type::Enum
|
347
346
|
|
348
347
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::Price::RecurringPrice::Currency) }
|
349
|
-
OrSymbol =
|
350
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::Price::RecurringPrice::Currency::TaggedSymbol) }
|
348
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
351
349
|
|
352
350
|
AED = T.let(:AED, Dodopayments::Models::Price::RecurringPrice::Currency::TaggedSymbol)
|
353
351
|
ALL = T.let(:ALL, Dodopayments::Models::Price::RecurringPrice::Currency::TaggedSymbol)
|
@@ -141,8 +141,7 @@ module Dodopayments
|
|
141
141
|
extend Dodopayments::Internal::Type::Enum
|
142
142
|
|
143
143
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::Product::TaxCategory) }
|
144
|
-
OrSymbol =
|
145
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::Product::TaxCategory::TaggedSymbol) }
|
144
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
146
145
|
|
147
146
|
DIGITAL_PRODUCTS = T.let(:digital_products, Dodopayments::Models::Product::TaxCategory::TaggedSymbol)
|
148
147
|
SAAS = T.let(:saas, Dodopayments::Models::Product::TaxCategory::TaggedSymbol)
|
@@ -105,8 +105,7 @@ module Dodopayments
|
|
105
105
|
extend Dodopayments::Internal::Type::Enum
|
106
106
|
|
107
107
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::ProductCreateParams::TaxCategory) }
|
108
|
-
OrSymbol =
|
109
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::ProductCreateParams::TaxCategory::TaggedSymbol) }
|
108
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
110
109
|
|
111
110
|
DIGITAL_PRODUCTS =
|
112
111
|
T.let(:digital_products, Dodopayments::Models::ProductCreateParams::TaxCategory::TaggedSymbol)
|
@@ -134,8 +134,7 @@ module Dodopayments
|
|
134
134
|
extend Dodopayments::Internal::Type::Enum
|
135
135
|
|
136
136
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::ProductListResponse::TaxCategory) }
|
137
|
-
OrSymbol =
|
138
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::ProductListResponse::TaxCategory::TaggedSymbol) }
|
137
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
139
138
|
|
140
139
|
DIGITAL_PRODUCTS =
|
141
140
|
T.let(:digital_products, Dodopayments::Models::ProductListResponse::TaxCategory::TaggedSymbol)
|
@@ -151,8 +150,7 @@ module Dodopayments
|
|
151
150
|
extend Dodopayments::Internal::Type::Enum
|
152
151
|
|
153
152
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::ProductListResponse::Currency) }
|
154
|
-
OrSymbol =
|
155
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::ProductListResponse::Currency::TaggedSymbol) }
|
153
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
156
154
|
|
157
155
|
AED = T.let(:AED, Dodopayments::Models::ProductListResponse::Currency::TaggedSymbol)
|
158
156
|
ALL = T.let(:ALL, Dodopayments::Models::ProductListResponse::Currency::TaggedSymbol)
|
@@ -127,8 +127,7 @@ module Dodopayments
|
|
127
127
|
extend Dodopayments::Internal::Type::Enum
|
128
128
|
|
129
129
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::ProductUpdateParams::TaxCategory) }
|
130
|
-
OrSymbol =
|
131
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::ProductUpdateParams::TaxCategory::TaggedSymbol) }
|
130
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
132
131
|
|
133
132
|
DIGITAL_PRODUCTS =
|
134
133
|
T.let(:digital_products, Dodopayments::Models::ProductUpdateParams::TaxCategory::TaggedSymbol)
|
@@ -79,7 +79,7 @@ module Dodopayments
|
|
79
79
|
extend Dodopayments::Internal::Type::Enum
|
80
80
|
|
81
81
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::Refund::Currency) }
|
82
|
-
OrSymbol = T.type_alias { T.any(Symbol, String
|
82
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
83
83
|
|
84
84
|
AED = T.let(:AED, Dodopayments::Models::Refund::Currency::TaggedSymbol)
|
85
85
|
ALL = T.let(:ALL, Dodopayments::Models::Refund::Currency::TaggedSymbol)
|
@@ -6,7 +6,7 @@ module Dodopayments
|
|
6
6
|
extend Dodopayments::Internal::Type::Enum
|
7
7
|
|
8
8
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::RefundStatus) }
|
9
|
-
OrSymbol = T.type_alias { T.any(Symbol, String
|
9
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
10
10
|
|
11
11
|
SUCCEEDED = T.let(:succeeded, Dodopayments::Models::RefundStatus::TaggedSymbol)
|
12
12
|
FAILED = T.let(:failed, Dodopayments::Models::RefundStatus::TaggedSymbol)
|
@@ -27,7 +27,8 @@ module Dodopayments
|
|
27
27
|
sig { returns(T::Hash[Symbol, String]) }
|
28
28
|
attr_accessor :metadata
|
29
29
|
|
30
|
-
# Timestamp of the next scheduled billing
|
30
|
+
# Timestamp of the next scheduled billing. Indicates the end of current billing
|
31
|
+
# period
|
31
32
|
sig { returns(Time) }
|
32
33
|
attr_accessor :next_billing_date
|
33
34
|
|
@@ -38,6 +39,10 @@ module Dodopayments
|
|
38
39
|
sig { returns(Dodopayments::Models::TimeInterval::TaggedSymbol) }
|
39
40
|
attr_accessor :payment_frequency_interval
|
40
41
|
|
42
|
+
# Timestamp of the last payment. Indicates the start of current billing period
|
43
|
+
sig { returns(Time) }
|
44
|
+
attr_accessor :previous_billing_date
|
45
|
+
|
41
46
|
# Identifier of the product associated with this subscription
|
42
47
|
sig { returns(String) }
|
43
48
|
attr_accessor :product_id
|
@@ -92,6 +97,7 @@ module Dodopayments
|
|
92
97
|
next_billing_date: Time,
|
93
98
|
payment_frequency_count: Integer,
|
94
99
|
payment_frequency_interval: Dodopayments::Models::TimeInterval::OrSymbol,
|
100
|
+
previous_billing_date: Time,
|
95
101
|
product_id: String,
|
96
102
|
quantity: Integer,
|
97
103
|
recurring_pre_tax_amount: Integer,
|
@@ -115,6 +121,7 @@ module Dodopayments
|
|
115
121
|
next_billing_date:,
|
116
122
|
payment_frequency_count:,
|
117
123
|
payment_frequency_interval:,
|
124
|
+
previous_billing_date:,
|
118
125
|
product_id:,
|
119
126
|
quantity:,
|
120
127
|
recurring_pre_tax_amount:,
|
@@ -139,6 +146,7 @@ module Dodopayments
|
|
139
146
|
next_billing_date: Time,
|
140
147
|
payment_frequency_count: Integer,
|
141
148
|
payment_frequency_interval: Dodopayments::Models::TimeInterval::TaggedSymbol,
|
149
|
+
previous_billing_date: Time,
|
142
150
|
product_id: String,
|
143
151
|
quantity: Integer,
|
144
152
|
recurring_pre_tax_amount: Integer,
|
@@ -159,8 +167,7 @@ module Dodopayments
|
|
159
167
|
extend Dodopayments::Internal::Type::Enum
|
160
168
|
|
161
169
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::Subscription::Currency) }
|
162
|
-
OrSymbol =
|
163
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::Subscription::Currency::TaggedSymbol) }
|
170
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
164
171
|
|
165
172
|
AED = T.let(:AED, Dodopayments::Models::Subscription::Currency::TaggedSymbol)
|
166
173
|
ALL = T.let(:ALL, Dodopayments::Models::Subscription::Currency::TaggedSymbol)
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Models
|
5
|
+
class SubscriptionChangePlanParams < Dodopayments::Internal::Type::BaseModel
|
6
|
+
extend Dodopayments::Internal::Type::RequestParameters::Converter
|
7
|
+
include Dodopayments::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
# Unique identifier of the product to subscribe to
|
10
|
+
sig { returns(String) }
|
11
|
+
attr_accessor :product_id
|
12
|
+
|
13
|
+
sig { returns(Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol) }
|
14
|
+
attr_accessor :proration_billing_mode
|
15
|
+
|
16
|
+
# Number of units to subscribe for. Must be at least 1.
|
17
|
+
sig { returns(Integer) }
|
18
|
+
attr_accessor :quantity
|
19
|
+
|
20
|
+
sig do
|
21
|
+
params(
|
22
|
+
product_id: String,
|
23
|
+
proration_billing_mode: Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
|
24
|
+
quantity: Integer,
|
25
|
+
request_options: T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash)
|
26
|
+
)
|
27
|
+
.returns(T.attached_class)
|
28
|
+
end
|
29
|
+
def self.new(product_id:, proration_billing_mode:, quantity:, request_options: {}); end
|
30
|
+
|
31
|
+
sig do
|
32
|
+
override
|
33
|
+
.returns(
|
34
|
+
{
|
35
|
+
product_id: String,
|
36
|
+
proration_billing_mode: Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
|
37
|
+
quantity: Integer,
|
38
|
+
request_options: Dodopayments::RequestOptions
|
39
|
+
}
|
40
|
+
)
|
41
|
+
end
|
42
|
+
def to_hash; end
|
43
|
+
|
44
|
+
module ProrationBillingMode
|
45
|
+
extend Dodopayments::Internal::Type::Enum
|
46
|
+
|
47
|
+
TaggedSymbol =
|
48
|
+
T.type_alias { T.all(Symbol, Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode) }
|
49
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
50
|
+
|
51
|
+
PRORATED_IMMEDIATELY =
|
52
|
+
T.let(
|
53
|
+
:prorated_immediately,
|
54
|
+
Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode::TaggedSymbol
|
55
|
+
)
|
56
|
+
|
57
|
+
sig do
|
58
|
+
override
|
59
|
+
.returns(T::Array[Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode::TaggedSymbol])
|
60
|
+
end
|
61
|
+
def self.values; end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -159,14 +159,7 @@ module Dodopayments
|
|
159
159
|
|
160
160
|
TaggedSymbol =
|
161
161
|
T.type_alias { T.all(Symbol, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType) }
|
162
|
-
OrSymbol =
|
163
|
-
T.type_alias do
|
164
|
-
T.any(
|
165
|
-
Symbol,
|
166
|
-
String,
|
167
|
-
Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol
|
168
|
-
)
|
169
|
-
end
|
162
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
170
163
|
|
171
164
|
CREDIT =
|
172
165
|
T.let(:credit, Dodopayments::Models::SubscriptionCreateParams::AllowedPaymentMethodType::TaggedSymbol)
|
@@ -224,8 +217,7 @@ module Dodopayments
|
|
224
217
|
|
225
218
|
TaggedSymbol =
|
226
219
|
T.type_alias { T.all(Symbol, Dodopayments::Models::SubscriptionCreateParams::BillingCurrency) }
|
227
|
-
OrSymbol =
|
228
|
-
T.type_alias { T.any(Symbol, String, Dodopayments::Models::SubscriptionCreateParams::BillingCurrency::TaggedSymbol) }
|
220
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
229
221
|
|
230
222
|
AED = T.let(:AED, Dodopayments::Models::SubscriptionCreateParams::BillingCurrency::TaggedSymbol)
|
231
223
|
ALL = T.let(:ALL, Dodopayments::Models::SubscriptionCreateParams::BillingCurrency::TaggedSymbol)
|
@@ -6,7 +6,7 @@ module Dodopayments
|
|
6
6
|
extend Dodopayments::Internal::Type::Enum
|
7
7
|
|
8
8
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::SubscriptionStatus) }
|
9
|
-
OrSymbol = T.type_alias { T.any(Symbol, String
|
9
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
10
10
|
|
11
11
|
PENDING = T.let(:pending, Dodopayments::Models::SubscriptionStatus::TaggedSymbol)
|
12
12
|
ACTIVE = T.let(:active, Dodopayments::Models::SubscriptionStatus::TaggedSymbol)
|
@@ -6,7 +6,7 @@ module Dodopayments
|
|
6
6
|
extend Dodopayments::Internal::Type::Enum
|
7
7
|
|
8
8
|
TaggedSymbol = T.type_alias { T.all(Symbol, Dodopayments::Models::TimeInterval) }
|
9
|
-
OrSymbol = T.type_alias { T.any(Symbol, String
|
9
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
10
10
|
|
11
11
|
DAY = T.let(:Day, Dodopayments::Models::TimeInterval::TaggedSymbol)
|
12
12
|
WEEK = T.let(:Week, Dodopayments::Models::TimeInterval::TaggedSymbol)
|
@@ -121,6 +121,26 @@ module Dodopayments
|
|
121
121
|
status: nil,
|
122
122
|
request_options: {}
|
123
123
|
); end
|
124
|
+
sig do
|
125
|
+
params(
|
126
|
+
subscription_id: String,
|
127
|
+
product_id: String,
|
128
|
+
proration_billing_mode: Dodopayments::Models::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
|
129
|
+
quantity: Integer,
|
130
|
+
request_options: T.nilable(T.any(Dodopayments::RequestOptions, Dodopayments::Internal::AnyHash))
|
131
|
+
)
|
132
|
+
.void
|
133
|
+
end
|
134
|
+
def change_plan(
|
135
|
+
# Subscription Id
|
136
|
+
subscription_id,
|
137
|
+
# Unique identifier of the product to subscribe to
|
138
|
+
product_id:,
|
139
|
+
proration_billing_mode:,
|
140
|
+
# Number of units to subscribe for. Must be at least 1.
|
141
|
+
quantity:,
|
142
|
+
request_options: {}
|
143
|
+
); end
|
124
144
|
sig do
|
125
145
|
params(
|
126
146
|
subscription_id: String,
|
@@ -6,12 +6,12 @@ module Dodopayments
|
|
6
6
|
|
7
7
|
def self.values: -> ::Array[(nil | bool | Integer | Float | Symbol)]
|
8
8
|
|
9
|
-
private def self.finalize!: -> void
|
10
|
-
|
11
9
|
def ===: (top other) -> bool
|
12
10
|
|
13
11
|
def ==: (top other) -> bool
|
14
12
|
|
13
|
+
def hash: -> Integer
|
14
|
+
|
15
15
|
def coerce: (
|
16
16
|
String | Symbol | top value,
|
17
17
|
state: Dodopayments::Internal::Type::Converter::coerce_state
|