dodopayments 1.71.1 → 1.73.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 +13 -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 +9 -1
- data/lib/dodopayments/models/discount_retrieve_by_code_params.rb +14 -0
- data/lib/dodopayments/models/payment.rb +9 -1
- data/lib/dodopayments/models/payment_method_types.rb +13 -98
- data/lib/dodopayments/models/product.rb +9 -1
- data/lib/dodopayments/models/subscription_change_plan_params.rb +10 -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 +60 -1
- data/lib/dodopayments/resources/discounts.rb +22 -0
- 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 +8 -0
- data/rbi/dodopayments/models/discount_retrieve_by_code_params.rbi +32 -0
- data/rbi/dodopayments/models/payment.rbi +8 -0
- data/rbi/dodopayments/models/payment_method_types.rbi +18 -186
- data/rbi/dodopayments/models/product.rbi +11 -3
- data/rbi/dodopayments/models/subscription_change_plan_params.rbi +10 -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 +88 -0
- data/rbi/dodopayments/resources/discounts.rbi +16 -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 +5 -0
- data/sig/dodopayments/models/discount_retrieve_by_code_params.rbs +15 -0
- data/sig/dodopayments/models/payment.rbs +5 -0
- data/sig/dodopayments/models/payment_method_types.rbs +26 -196
- data/sig/dodopayments/models/product.rbs +8 -3
- data/sig/dodopayments/models/subscription_change_plan_params.rbs +6 -1
- 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 +23 -0
- data/sig/dodopayments/resources/discounts.rbs +5 -0
- data/sig/dodopayments/resources/subscriptions.rbs +2 -0
- metadata +11 -2
|
@@ -9,205 +9,37 @@ module Dodopayments
|
|
|
9
9
|
T.type_alias { T.all(Symbol, Dodopayments::PaymentMethodTypes) }
|
|
10
10
|
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
T.let(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
)
|
|
19
|
-
ALFAMART =
|
|
20
|
-
T.let(:alfamart, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
21
|
-
ALI_PAY = T.let(:ali_pay, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
22
|
-
ALI_PAY_HK =
|
|
23
|
-
T.let(:ali_pay_hk, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
24
|
-
ALMA = T.let(:alma, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
25
|
-
AMAZON_PAY =
|
|
26
|
-
T.let(:amazon_pay, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
12
|
+
CREDIT = T.let(:credit, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
13
|
+
DEBIT = T.let(:debit, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
14
|
+
UPI_COLLECT =
|
|
15
|
+
T.let(:upi_collect, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
16
|
+
UPI_INTENT =
|
|
17
|
+
T.let(:upi_intent, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
27
18
|
APPLE_PAY =
|
|
28
19
|
T.let(:apple_pay, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
29
|
-
ATOME = T.let(:atome, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
30
|
-
BACS = T.let(:bacs, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
31
|
-
BANCONTACT_CARD =
|
|
32
|
-
T.let(:bancontact_card, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
33
|
-
BECS = T.let(:becs, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
34
|
-
BENEFIT = T.let(:benefit, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
35
|
-
BIZUM = T.let(:bizum, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
36
|
-
BLIK = T.let(:blik, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
37
|
-
BOLETO = T.let(:boleto, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
38
|
-
BCA_BANK_TRANSFER =
|
|
39
|
-
T.let(
|
|
40
|
-
:bca_bank_transfer,
|
|
41
|
-
Dodopayments::PaymentMethodTypes::TaggedSymbol
|
|
42
|
-
)
|
|
43
|
-
BNI_VA = T.let(:bni_va, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
44
|
-
BRI_VA = T.let(:bri_va, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
45
|
-
CARD_REDIRECT =
|
|
46
|
-
T.let(:card_redirect, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
47
|
-
CIMB_VA = T.let(:cimb_va, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
48
|
-
CLASSIC = T.let(:classic, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
49
|
-
CREDIT = T.let(:credit, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
50
|
-
CRYPTO_CURRENCY =
|
|
51
|
-
T.let(:crypto_currency, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
52
20
|
CASHAPP = T.let(:cashapp, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
53
|
-
DANA = T.let(:dana, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
54
|
-
DANAMON_VA =
|
|
55
|
-
T.let(:danamon_va, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
56
|
-
DEBIT = T.let(:debit, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
57
|
-
DUIT_NOW =
|
|
58
|
-
T.let(:duit_now, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
59
|
-
EFECTY = T.let(:efecty, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
60
|
-
EFT = T.let(:eft, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
61
|
-
EPS = T.let(:eps, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
62
|
-
FPS = T.let(:fps, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
63
|
-
EVOUCHER =
|
|
64
|
-
T.let(:evoucher, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
65
|
-
GIROPAY = T.let(:giropay, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
66
|
-
GIVEX = T.let(:givex, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
67
21
|
GOOGLE_PAY =
|
|
68
22
|
T.let(:google_pay, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
69
|
-
GO_PAY = T.let(:go_pay, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
70
|
-
GCASH = T.let(:gcash, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
71
|
-
IDEAL = T.let(:ideal, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
72
|
-
INTERAC = T.let(:interac, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
73
|
-
INDOMARET =
|
|
74
|
-
T.let(:indomaret, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
75
|
-
KLARNA = T.let(:klarna, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
76
|
-
KAKAO_PAY =
|
|
77
|
-
T.let(:kakao_pay, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
78
|
-
LOCAL_BANK_REDIRECT =
|
|
79
|
-
T.let(
|
|
80
|
-
:local_bank_redirect,
|
|
81
|
-
Dodopayments::PaymentMethodTypes::TaggedSymbol
|
|
82
|
-
)
|
|
83
|
-
MANDIRI_VA =
|
|
84
|
-
T.let(:mandiri_va, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
85
|
-
KNET = T.let(:knet, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
86
|
-
MB_WAY = T.let(:mb_way, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
87
|
-
MOBILE_PAY =
|
|
88
|
-
T.let(:mobile_pay, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
89
|
-
MOMO = T.let(:momo, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
90
|
-
MOMO_ATM =
|
|
91
|
-
T.let(:momo_atm, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
92
23
|
MULTIBANCO =
|
|
93
24
|
T.let(:multibanco, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
94
|
-
|
|
95
|
-
T.let(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
)
|
|
99
|
-
ONLINE_BANKING_CZECH_REPUBLIC =
|
|
100
|
-
T.let(
|
|
101
|
-
:online_banking_czech_republic,
|
|
102
|
-
Dodopayments::PaymentMethodTypes::TaggedSymbol
|
|
103
|
-
)
|
|
104
|
-
ONLINE_BANKING_FINLAND =
|
|
105
|
-
T.let(
|
|
106
|
-
:online_banking_finland,
|
|
107
|
-
Dodopayments::PaymentMethodTypes::TaggedSymbol
|
|
108
|
-
)
|
|
109
|
-
ONLINE_BANKING_FPX =
|
|
110
|
-
T.let(
|
|
111
|
-
:online_banking_fpx,
|
|
112
|
-
Dodopayments::PaymentMethodTypes::TaggedSymbol
|
|
113
|
-
)
|
|
114
|
-
ONLINE_BANKING_POLAND =
|
|
115
|
-
T.let(
|
|
116
|
-
:online_banking_poland,
|
|
117
|
-
Dodopayments::PaymentMethodTypes::TaggedSymbol
|
|
118
|
-
)
|
|
119
|
-
ONLINE_BANKING_SLOVAKIA =
|
|
120
|
-
T.let(
|
|
121
|
-
:online_banking_slovakia,
|
|
122
|
-
Dodopayments::PaymentMethodTypes::TaggedSymbol
|
|
123
|
-
)
|
|
124
|
-
OXXO = T.let(:oxxo, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
125
|
-
PAGO_EFECTIVO =
|
|
126
|
-
T.let(:pago_efectivo, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
127
|
-
PERMATA_BANK_TRANSFER =
|
|
128
|
-
T.let(
|
|
129
|
-
:permata_bank_transfer,
|
|
130
|
-
Dodopayments::PaymentMethodTypes::TaggedSymbol
|
|
131
|
-
)
|
|
132
|
-
OPEN_BANKING_UK =
|
|
133
|
-
T.let(:open_banking_uk, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
134
|
-
PAY_BRIGHT =
|
|
135
|
-
T.let(:pay_bright, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
136
|
-
PAYPAL = T.let(:paypal, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
137
|
-
PAZE = T.let(:paze, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
138
|
-
PIX = T.let(:pix, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
139
|
-
PAY_SAFE_CARD =
|
|
140
|
-
T.let(:pay_safe_card, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
25
|
+
BANCONTACT_CARD =
|
|
26
|
+
T.let(:bancontact_card, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
27
|
+
EPS = T.let(:eps, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
28
|
+
IDEAL = T.let(:ideal, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
141
29
|
PRZELEWY24 =
|
|
142
30
|
T.let(:przelewy24, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
RED_COMPRA =
|
|
147
|
-
T.let(:red_compra, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
148
|
-
RED_PAGOS =
|
|
149
|
-
T.let(:red_pagos, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
150
|
-
SAMSUNG_PAY =
|
|
151
|
-
T.let(:samsung_pay, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
31
|
+
PAYPAL = T.let(:paypal, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
32
|
+
AFFIRM = T.let(:affirm, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
33
|
+
KLARNA = T.let(:klarna, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
152
34
|
SEPA = T.let(:sepa, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
)
|
|
158
|
-
SOFORT = T.let(:sofort, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
159
|
-
SWISH = T.let(:swish, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
160
|
-
TOUCH_N_GO =
|
|
161
|
-
T.let(:touch_n_go, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
162
|
-
TRUSTLY = T.let(:trustly, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
163
|
-
TWINT = T.let(:twint, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
164
|
-
UPI_COLLECT =
|
|
165
|
-
T.let(:upi_collect, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
166
|
-
UPI_INTENT =
|
|
167
|
-
T.let(:upi_intent, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
168
|
-
VIPPS = T.let(:vipps, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
169
|
-
VIET_QR = T.let(:viet_qr, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
170
|
-
VENMO = T.let(:venmo, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
171
|
-
WALLEY = T.let(:walley, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
172
|
-
WE_CHAT_PAY =
|
|
173
|
-
T.let(:we_chat_pay, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
174
|
-
SEVEN_ELEVEN =
|
|
175
|
-
T.let(:seven_eleven, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
176
|
-
LAWSON = T.let(:lawson, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
177
|
-
MINI_STOP =
|
|
178
|
-
T.let(:mini_stop, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
179
|
-
FAMILY_MART =
|
|
180
|
-
T.let(:family_mart, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
181
|
-
SEICOMART =
|
|
182
|
-
T.let(:seicomart, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
183
|
-
PAY_EASY =
|
|
184
|
-
T.let(:pay_easy, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
185
|
-
LOCAL_BANK_TRANSFER =
|
|
186
|
-
T.let(
|
|
187
|
-
:local_bank_transfer,
|
|
188
|
-
Dodopayments::PaymentMethodTypes::TaggedSymbol
|
|
189
|
-
)
|
|
190
|
-
MIFINITY =
|
|
191
|
-
T.let(:mifinity, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
192
|
-
OPEN_BANKING_PIS =
|
|
193
|
-
T.let(:open_banking_pis, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
194
|
-
DIRECT_CARRIER_BILLING =
|
|
195
|
-
T.let(
|
|
196
|
-
:direct_carrier_billing,
|
|
197
|
-
Dodopayments::PaymentMethodTypes::TaggedSymbol
|
|
198
|
-
)
|
|
199
|
-
INSTANT_BANK_TRANSFER =
|
|
35
|
+
ACH = T.let(:ach, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
36
|
+
AMAZON_PAY =
|
|
37
|
+
T.let(:amazon_pay, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
38
|
+
AFTERPAY_CLEARPAY =
|
|
200
39
|
T.let(
|
|
201
|
-
:
|
|
40
|
+
:afterpay_clearpay,
|
|
202
41
|
Dodopayments::PaymentMethodTypes::TaggedSymbol
|
|
203
42
|
)
|
|
204
|
-
BILLIE = T.let(:billie, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
205
|
-
ZIP = T.let(:zip, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
206
|
-
REVOLUT_PAY =
|
|
207
|
-
T.let(:revolut_pay, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
208
|
-
NAVER_PAY =
|
|
209
|
-
T.let(:naver_pay, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
210
|
-
PAYCO = T.let(:payco, Dodopayments::PaymentMethodTypes::TaggedSymbol)
|
|
211
43
|
|
|
212
44
|
sig do
|
|
213
45
|
override.returns(
|
|
@@ -94,6 +94,10 @@ module Dodopayments
|
|
|
94
94
|
sig { returns(T.nilable(String)) }
|
|
95
95
|
attr_accessor :name
|
|
96
96
|
|
|
97
|
+
# The product collection ID this product belongs to, if any
|
|
98
|
+
sig { returns(T.nilable(String)) }
|
|
99
|
+
attr_accessor :product_collection_id
|
|
100
|
+
|
|
97
101
|
sig do
|
|
98
102
|
params(
|
|
99
103
|
brand_id: String,
|
|
@@ -120,7 +124,8 @@ module Dodopayments
|
|
|
120
124
|
license_key_activations_limit: T.nilable(Integer),
|
|
121
125
|
license_key_duration:
|
|
122
126
|
T.nilable(Dodopayments::LicenseKeyDuration::OrHash),
|
|
123
|
-
name: T.nilable(String)
|
|
127
|
+
name: T.nilable(String),
|
|
128
|
+
product_collection_id: T.nilable(String)
|
|
124
129
|
).returns(T.attached_class)
|
|
125
130
|
end
|
|
126
131
|
def self.new(
|
|
@@ -157,7 +162,9 @@ module Dodopayments
|
|
|
157
162
|
# Duration of the license key validity, if enabled.
|
|
158
163
|
license_key_duration: nil,
|
|
159
164
|
# Name of the product, optional.
|
|
160
|
-
name: nil
|
|
165
|
+
name: nil,
|
|
166
|
+
# The product collection ID this product belongs to, if any
|
|
167
|
+
product_collection_id: nil
|
|
161
168
|
)
|
|
162
169
|
end
|
|
163
170
|
|
|
@@ -182,7 +189,8 @@ module Dodopayments
|
|
|
182
189
|
license_key_activation_message: T.nilable(String),
|
|
183
190
|
license_key_activations_limit: T.nilable(Integer),
|
|
184
191
|
license_key_duration: T.nilable(Dodopayments::LicenseKeyDuration),
|
|
185
|
-
name: T.nilable(String)
|
|
192
|
+
name: T.nilable(String),
|
|
193
|
+
product_collection_id: T.nilable(String)
|
|
186
194
|
}
|
|
187
195
|
)
|
|
188
196
|
end
|
|
@@ -35,6 +35,11 @@ module Dodopayments
|
|
|
35
35
|
sig { returns(T.nilable(T::Array[Dodopayments::AttachAddon])) }
|
|
36
36
|
attr_accessor :addons
|
|
37
37
|
|
|
38
|
+
# Metadata for the payment. If not passed, the metadata of the subscription will
|
|
39
|
+
# be taken
|
|
40
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
41
|
+
attr_accessor :metadata
|
|
42
|
+
|
|
38
43
|
sig do
|
|
39
44
|
params(
|
|
40
45
|
product_id: String,
|
|
@@ -42,6 +47,7 @@ module Dodopayments
|
|
|
42
47
|
Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
|
|
43
48
|
quantity: Integer,
|
|
44
49
|
addons: T.nilable(T::Array[Dodopayments::AttachAddon::OrHash]),
|
|
50
|
+
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
45
51
|
request_options: Dodopayments::RequestOptions::OrHash
|
|
46
52
|
).returns(T.attached_class)
|
|
47
53
|
end
|
|
@@ -55,6 +61,9 @@ module Dodopayments
|
|
|
55
61
|
# Addons for the new plan. Note : Leaving this empty would remove any existing
|
|
56
62
|
# addons
|
|
57
63
|
addons: nil,
|
|
64
|
+
# Metadata for the payment. If not passed, the metadata of the subscription will
|
|
65
|
+
# be taken
|
|
66
|
+
metadata: nil,
|
|
58
67
|
request_options: {}
|
|
59
68
|
)
|
|
60
69
|
end
|
|
@@ -67,6 +76,7 @@ module Dodopayments
|
|
|
67
76
|
Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
|
|
68
77
|
quantity: Integer,
|
|
69
78
|
addons: T.nilable(T::Array[Dodopayments::AttachAddon]),
|
|
79
|
+
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
70
80
|
request_options: Dodopayments::RequestOptions
|
|
71
81
|
}
|
|
72
82
|
)
|
|
@@ -35,6 +35,11 @@ module Dodopayments
|
|
|
35
35
|
sig { returns(T.nilable(T::Array[Dodopayments::AttachAddon])) }
|
|
36
36
|
attr_accessor :addons
|
|
37
37
|
|
|
38
|
+
# Metadata for the payment. If not passed, the metadata of the subscription will
|
|
39
|
+
# be taken
|
|
40
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
41
|
+
attr_accessor :metadata
|
|
42
|
+
|
|
38
43
|
sig do
|
|
39
44
|
params(
|
|
40
45
|
product_id: String,
|
|
@@ -42,6 +47,7 @@ module Dodopayments
|
|
|
42
47
|
Dodopayments::SubscriptionPreviewChangePlanParams::ProrationBillingMode::OrSymbol,
|
|
43
48
|
quantity: Integer,
|
|
44
49
|
addons: T.nilable(T::Array[Dodopayments::AttachAddon::OrHash]),
|
|
50
|
+
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
45
51
|
request_options: Dodopayments::RequestOptions::OrHash
|
|
46
52
|
).returns(T.attached_class)
|
|
47
53
|
end
|
|
@@ -55,6 +61,9 @@ module Dodopayments
|
|
|
55
61
|
# Addons for the new plan. Note : Leaving this empty would remove any existing
|
|
56
62
|
# addons
|
|
57
63
|
addons: nil,
|
|
64
|
+
# Metadata for the payment. If not passed, the metadata of the subscription will
|
|
65
|
+
# be taken
|
|
66
|
+
metadata: nil,
|
|
58
67
|
request_options: {}
|
|
59
68
|
)
|
|
60
69
|
end
|
|
@@ -67,6 +76,7 @@ module Dodopayments
|
|
|
67
76
|
Dodopayments::SubscriptionPreviewChangePlanParams::ProrationBillingMode::OrSymbol,
|
|
68
77
|
quantity: Integer,
|
|
69
78
|
addons: T.nilable(T::Array[Dodopayments::AttachAddon]),
|
|
79
|
+
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
70
80
|
request_options: Dodopayments::RequestOptions
|
|
71
81
|
}
|
|
72
82
|
)
|
data/rbi/dodopayments/models.rbi
CHANGED
|
@@ -38,6 +38,9 @@ module Dodopayments
|
|
|
38
38
|
CheckoutSessionCreateParams =
|
|
39
39
|
Dodopayments::Models::CheckoutSessionCreateParams
|
|
40
40
|
|
|
41
|
+
CheckoutSessionPreviewParams =
|
|
42
|
+
Dodopayments::Models::CheckoutSessionPreviewParams
|
|
43
|
+
|
|
41
44
|
CheckoutSessionRequest = Dodopayments::Models::CheckoutSessionRequest
|
|
42
45
|
|
|
43
46
|
CheckoutSessionResponse = Dodopayments::Models::CheckoutSessionResponse
|
|
@@ -82,6 +85,9 @@ module Dodopayments
|
|
|
82
85
|
|
|
83
86
|
DiscountListParams = Dodopayments::Models::DiscountListParams
|
|
84
87
|
|
|
88
|
+
DiscountRetrieveByCodeParams =
|
|
89
|
+
Dodopayments::Models::DiscountRetrieveByCodeParams
|
|
90
|
+
|
|
85
91
|
DiscountRetrieveParams = Dodopayments::Models::DiscountRetrieveParams
|
|
86
92
|
|
|
87
93
|
DiscountType = Dodopayments::Models::DiscountType
|
|
@@ -31,6 +31,7 @@ module Dodopayments
|
|
|
31
31
|
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
32
32
|
minimal_address: T::Boolean,
|
|
33
33
|
payment_method_id: T.nilable(String),
|
|
34
|
+
product_collection_id: T.nilable(String),
|
|
34
35
|
return_url: T.nilable(String),
|
|
35
36
|
short_link: T::Boolean,
|
|
36
37
|
show_saved_payment_methods: T::Boolean,
|
|
@@ -74,6 +75,8 @@ module Dodopayments
|
|
|
74
75
|
# Optional payment method ID to use for this checkout session. Only allowed when
|
|
75
76
|
# `confirm` is true. If provided, existing customer id must also be provided.
|
|
76
77
|
payment_method_id: nil,
|
|
78
|
+
# Product collection ID for collection-based checkout flow
|
|
79
|
+
product_collection_id: nil,
|
|
77
80
|
# The url to redirect after payment failure or success.
|
|
78
81
|
return_url: nil,
|
|
79
82
|
# If true, returns a shortened checkout URL. Defaults to false if not specified.
|
|
@@ -94,6 +97,91 @@ module Dodopayments
|
|
|
94
97
|
def retrieve(id, request_options: {})
|
|
95
98
|
end
|
|
96
99
|
|
|
100
|
+
sig do
|
|
101
|
+
params(
|
|
102
|
+
product_cart:
|
|
103
|
+
T::Array[Dodopayments::CheckoutSessionRequest::ProductCart::OrHash],
|
|
104
|
+
allowed_payment_method_types:
|
|
105
|
+
T.nilable(T::Array[Dodopayments::PaymentMethodTypes::OrSymbol]),
|
|
106
|
+
billing_address:
|
|
107
|
+
T.nilable(
|
|
108
|
+
Dodopayments::CheckoutSessionRequest::BillingAddress::OrHash
|
|
109
|
+
),
|
|
110
|
+
billing_currency: T.nilable(Dodopayments::Currency::OrSymbol),
|
|
111
|
+
confirm: T::Boolean,
|
|
112
|
+
customer:
|
|
113
|
+
T.nilable(
|
|
114
|
+
T.any(
|
|
115
|
+
Dodopayments::AttachExistingCustomer::OrHash,
|
|
116
|
+
Dodopayments::NewCustomer::OrHash
|
|
117
|
+
)
|
|
118
|
+
),
|
|
119
|
+
customization:
|
|
120
|
+
Dodopayments::CheckoutSessionRequest::Customization::OrHash,
|
|
121
|
+
discount_code: T.nilable(String),
|
|
122
|
+
feature_flags:
|
|
123
|
+
Dodopayments::CheckoutSessionRequest::FeatureFlags::OrHash,
|
|
124
|
+
force_3ds: T.nilable(T::Boolean),
|
|
125
|
+
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
126
|
+
minimal_address: T::Boolean,
|
|
127
|
+
payment_method_id: T.nilable(String),
|
|
128
|
+
product_collection_id: T.nilable(String),
|
|
129
|
+
return_url: T.nilable(String),
|
|
130
|
+
short_link: T::Boolean,
|
|
131
|
+
show_saved_payment_methods: T::Boolean,
|
|
132
|
+
subscription_data:
|
|
133
|
+
T.nilable(
|
|
134
|
+
Dodopayments::CheckoutSessionRequest::SubscriptionData::OrHash
|
|
135
|
+
),
|
|
136
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
|
137
|
+
).returns(Dodopayments::Models::CheckoutSessionPreviewResponse)
|
|
138
|
+
end
|
|
139
|
+
def preview(
|
|
140
|
+
product_cart:,
|
|
141
|
+
# Customers will never see payment methods that are not in this list. However,
|
|
142
|
+
# adding a method here does not guarantee customers will see it. Availability
|
|
143
|
+
# still depends on other factors (e.g., customer location, merchant settings).
|
|
144
|
+
#
|
|
145
|
+
# Disclaimar: Always provide 'credit' and 'debit' as a fallback. If all payment
|
|
146
|
+
# methods are unavailable, checkout session will fail.
|
|
147
|
+
allowed_payment_method_types: nil,
|
|
148
|
+
# Billing address information for the session
|
|
149
|
+
billing_address: nil,
|
|
150
|
+
# This field is ingored if adaptive pricing is disabled
|
|
151
|
+
billing_currency: nil,
|
|
152
|
+
# If confirm is true, all the details will be finalized. If required data is
|
|
153
|
+
# missing, an API error is thrown.
|
|
154
|
+
confirm: nil,
|
|
155
|
+
# Customer details for the session
|
|
156
|
+
customer: nil,
|
|
157
|
+
# Customization for the checkout session page
|
|
158
|
+
customization: nil,
|
|
159
|
+
discount_code: nil,
|
|
160
|
+
feature_flags: nil,
|
|
161
|
+
# Override merchant default 3DS behaviour for this session
|
|
162
|
+
force_3ds: nil,
|
|
163
|
+
# Additional metadata associated with the payment. Defaults to empty if not
|
|
164
|
+
# provided.
|
|
165
|
+
metadata: nil,
|
|
166
|
+
# If true, only zipcode is required when confirm is true; other address fields
|
|
167
|
+
# remain optional
|
|
168
|
+
minimal_address: nil,
|
|
169
|
+
# Optional payment method ID to use for this checkout session. Only allowed when
|
|
170
|
+
# `confirm` is true. If provided, existing customer id must also be provided.
|
|
171
|
+
payment_method_id: nil,
|
|
172
|
+
# Product collection ID for collection-based checkout flow
|
|
173
|
+
product_collection_id: nil,
|
|
174
|
+
# The url to redirect after payment failure or success.
|
|
175
|
+
return_url: nil,
|
|
176
|
+
# If true, returns a shortened checkout URL. Defaults to false if not specified.
|
|
177
|
+
short_link: nil,
|
|
178
|
+
# Display saved payment methods of a returning customer False by default
|
|
179
|
+
show_saved_payment_methods: nil,
|
|
180
|
+
subscription_data: nil,
|
|
181
|
+
request_options: {}
|
|
182
|
+
)
|
|
183
|
+
end
|
|
184
|
+
|
|
97
185
|
# @api private
|
|
98
186
|
sig { params(client: Dodopayments::Client).returns(T.attached_class) }
|
|
99
187
|
def self.new(client:)
|
|
@@ -143,6 +143,22 @@ module Dodopayments
|
|
|
143
143
|
)
|
|
144
144
|
end
|
|
145
145
|
|
|
146
|
+
# Validate and fetch a discount by its code name (e.g., "SAVE20"). This allows
|
|
147
|
+
# real-time validation directly against the API using the human-readable discount
|
|
148
|
+
# code instead of requiring the internal discount_id.
|
|
149
|
+
sig do
|
|
150
|
+
params(
|
|
151
|
+
code: String,
|
|
152
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
|
153
|
+
).returns(Dodopayments::Discount)
|
|
154
|
+
end
|
|
155
|
+
def retrieve_by_code(
|
|
156
|
+
# The discount code (e.g., 'SAVE20')
|
|
157
|
+
code,
|
|
158
|
+
request_options: {}
|
|
159
|
+
)
|
|
160
|
+
end
|
|
161
|
+
|
|
146
162
|
# @api private
|
|
147
163
|
sig { params(client: Dodopayments::Client).returns(T.attached_class) }
|
|
148
164
|
def self.new(client:)
|
|
@@ -179,6 +179,7 @@ module Dodopayments
|
|
|
179
179
|
Dodopayments::SubscriptionChangePlanParams::ProrationBillingMode::OrSymbol,
|
|
180
180
|
quantity: Integer,
|
|
181
181
|
addons: T.nilable(T::Array[Dodopayments::AttachAddon::OrHash]),
|
|
182
|
+
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
182
183
|
request_options: Dodopayments::RequestOptions::OrHash
|
|
183
184
|
).void
|
|
184
185
|
end
|
|
@@ -194,6 +195,9 @@ module Dodopayments
|
|
|
194
195
|
# Addons for the new plan. Note : Leaving this empty would remove any existing
|
|
195
196
|
# addons
|
|
196
197
|
addons: nil,
|
|
198
|
+
# Metadata for the payment. If not passed, the metadata of the subscription will
|
|
199
|
+
# be taken
|
|
200
|
+
metadata: nil,
|
|
197
201
|
request_options: {}
|
|
198
202
|
)
|
|
199
203
|
end
|
|
@@ -246,6 +250,7 @@ module Dodopayments
|
|
|
246
250
|
Dodopayments::SubscriptionPreviewChangePlanParams::ProrationBillingMode::OrSymbol,
|
|
247
251
|
quantity: Integer,
|
|
248
252
|
addons: T.nilable(T::Array[Dodopayments::AttachAddon::OrHash]),
|
|
253
|
+
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
249
254
|
request_options: Dodopayments::RequestOptions::OrHash
|
|
250
255
|
).returns(Dodopayments::Models::SubscriptionPreviewChangePlanResponse)
|
|
251
256
|
end
|
|
@@ -261,6 +266,9 @@ module Dodopayments
|
|
|
261
266
|
# Addons for the new plan. Note : Leaving this empty would remove any existing
|
|
262
267
|
# addons
|
|
263
268
|
addons: nil,
|
|
269
|
+
# Metadata for the payment. If not passed, the metadata of the subscription will
|
|
270
|
+
# be taken
|
|
271
|
+
metadata: nil,
|
|
264
272
|
request_options: {}
|
|
265
273
|
)
|
|
266
274
|
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Dodopayments
|
|
2
|
+
module Models
|
|
3
|
+
type checkout_session_preview_params =
|
|
4
|
+
{ } & Dodopayments::Internal::Type::request_parameters
|
|
5
|
+
|
|
6
|
+
class CheckoutSessionPreviewParams < Dodopayments::Models::CheckoutSessionRequest
|
|
7
|
+
extend Dodopayments::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Dodopayments::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
def initialize: (?request_options: Dodopayments::request_opts) -> void
|
|
11
|
+
|
|
12
|
+
def to_hash: -> { request_options: Dodopayments::RequestOptions }
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|