dodopayments 2.4.1 → 2.6.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 +29 -0
- data/README.md +1 -1
- data/lib/dodopayments/internal/util.rb +18 -4
- data/lib/dodopayments/models/abandoned_checkout_detected_webhook_event.rb +126 -0
- data/lib/dodopayments/models/abandoned_checkout_recovered_webhook_event.rb +126 -0
- data/lib/dodopayments/models/balance_ledger_entry.rb +2 -0
- data/lib/dodopayments/models/balance_retrieve_ledger_params.rb +2 -0
- data/lib/dodopayments/models/discount.rb +8 -1
- data/lib/dodopayments/models/discount_create_params.rb +9 -1
- data/lib/dodopayments/models/discount_update_params.rb +9 -1
- data/lib/dodopayments/models/dunning_recovered_webhook_event.rb +118 -0
- data/lib/dodopayments/models/dunning_started_webhook_event.rb +118 -0
- data/lib/dodopayments/models/payouts/breakup/detail_download_csv_params.rb +24 -0
- data/lib/dodopayments/models/payouts/breakup/detail_list_params.rb +41 -0
- data/lib/dodopayments/models/payouts/breakup/detail_list_response.rb +94 -0
- data/lib/dodopayments/models/payouts/breakup_retrieve_params.rb +22 -0
- data/lib/dodopayments/models/payouts/breakup_retrieve_response.rb +37 -0
- data/lib/dodopayments/models/subscription_update_params.rb +19 -1
- data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +9 -1
- data/lib/dodopayments/models/unwrap_webhook_event.rb +9 -1
- data/lib/dodopayments/models/webhook_event_type.rb +6 -0
- data/lib/dodopayments/models/webhook_payload.rb +168 -3
- data/lib/dodopayments/models.rb +10 -0
- data/lib/dodopayments/resources/discounts.rb +6 -2
- data/lib/dodopayments/resources/payouts/breakup/details.rb +72 -0
- data/lib/dodopayments/resources/payouts/breakup.rb +43 -0
- data/lib/dodopayments/resources/payouts.rb +4 -0
- data/lib/dodopayments/resources/subscriptions.rb +3 -1
- data/lib/dodopayments/resources/webhooks.rb +2 -2
- data/lib/dodopayments/version.rb +1 -1
- data/lib/dodopayments.rb +11 -0
- data/rbi/dodopayments/internal/util.rbi +8 -0
- data/rbi/dodopayments/models/abandoned_checkout_detected_webhook_event.rbi +271 -0
- data/rbi/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbi +273 -0
- data/rbi/dodopayments/models/balance_ledger_entry.rbi +10 -0
- data/rbi/dodopayments/models/balance_retrieve_ledger_params.rbi +10 -0
- data/rbi/dodopayments/models/discount.rbi +6 -0
- data/rbi/dodopayments/models/discount_create_params.rbi +11 -0
- data/rbi/dodopayments/models/discount_update_params.rbi +8 -0
- data/rbi/dodopayments/models/dunning_recovered_webhook_event.rbi +249 -0
- data/rbi/dodopayments/models/dunning_started_webhook_event.rbi +249 -0
- data/rbi/dodopayments/models/payouts/breakup/detail_download_csv_params.rbi +45 -0
- data/rbi/dodopayments/models/payouts/breakup/detail_list_params.rbi +70 -0
- data/rbi/dodopayments/models/payouts/breakup/detail_list_response.rbi +116 -0
- data/rbi/dodopayments/models/payouts/breakup_retrieve_params.rbi +40 -0
- data/rbi/dodopayments/models/payouts/breakup_retrieve_response.rbi +53 -0
- data/rbi/dodopayments/models/subscription_update_params.rbi +54 -0
- data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +4 -0
- data/rbi/dodopayments/models/unwrap_webhook_event.rbi +4 -0
- data/rbi/dodopayments/models/webhook_event_type.rbi +21 -0
- data/rbi/dodopayments/models/webhook_payload.rbi +400 -4
- data/rbi/dodopayments/models.rbi +13 -0
- data/rbi/dodopayments/resources/discounts.rbi +6 -0
- data/rbi/dodopayments/resources/payouts/breakup/details.rbi +60 -0
- data/rbi/dodopayments/resources/payouts/breakup.rbi +36 -0
- data/rbi/dodopayments/resources/payouts.rbi +3 -0
- data/rbi/dodopayments/resources/subscriptions.rbi +5 -0
- data/rbi/dodopayments/resources/webhooks.rbi +8 -0
- data/sig/dodopayments/internal/util.rbs +4 -0
- data/sig/dodopayments/models/abandoned_checkout_detected_webhook_event.rbs +113 -0
- data/sig/dodopayments/models/abandoned_checkout_recovered_webhook_event.rbs +113 -0
- data/sig/dodopayments/models/balance_ledger_entry.rbs +4 -0
- data/sig/dodopayments/models/balance_retrieve_ledger_params.rbs +4 -0
- data/sig/dodopayments/models/discount.rbs +5 -0
- data/sig/dodopayments/models/discount_create_params.rbs +7 -0
- data/sig/dodopayments/models/discount_update_params.rbs +5 -0
- data/sig/dodopayments/models/dunning_recovered_webhook_event.rbs +110 -0
- data/sig/dodopayments/models/dunning_started_webhook_event.rbs +110 -0
- data/sig/dodopayments/models/payouts/breakup/detail_download_csv_params.rbs +28 -0
- data/sig/dodopayments/models/payouts/breakup/detail_list_params.rbs +40 -0
- data/sig/dodopayments/models/payouts/breakup/detail_list_response.rbs +64 -0
- data/sig/dodopayments/models/payouts/breakup_retrieve_params.rbs +25 -0
- data/sig/dodopayments/models/payouts/breakup_retrieve_response.rbs +23 -0
- data/sig/dodopayments/models/subscription_update_params.rbs +20 -0
- data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +5 -1
- data/sig/dodopayments/models/unwrap_webhook_event.rbs +5 -1
- data/sig/dodopayments/models/webhook_event_type.rbs +12 -0
- data/sig/dodopayments/models/webhook_payload.rbs +165 -0
- data/sig/dodopayments/models.rbs +10 -0
- data/sig/dodopayments/resources/discounts.rbs +2 -0
- data/sig/dodopayments/resources/payouts/breakup/details.rbs +23 -0
- data/sig/dodopayments/resources/payouts/breakup.rbs +16 -0
- data/sig/dodopayments/resources/payouts.rbs +2 -0
- data/sig/dodopayments/resources/subscriptions.rbs +1 -0
- data/sig/dodopayments/resources/webhooks.rbs +10 -2
- metadata +35 -2
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class DunningStartedWebhookEvent < Dodopayments::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Dodopayments::DunningStartedWebhookEvent,
|
|
10
|
+
Dodopayments::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The business identifier
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :business_id
|
|
17
|
+
|
|
18
|
+
# Webhook payload for dunning.started and dunning.recovered events
|
|
19
|
+
sig { returns(Dodopayments::DunningStartedWebhookEvent::Data) }
|
|
20
|
+
attr_reader :data
|
|
21
|
+
|
|
22
|
+
sig do
|
|
23
|
+
params(
|
|
24
|
+
data: Dodopayments::DunningStartedWebhookEvent::Data::OrHash
|
|
25
|
+
).void
|
|
26
|
+
end
|
|
27
|
+
attr_writer :data
|
|
28
|
+
|
|
29
|
+
# The timestamp of when the event occurred
|
|
30
|
+
sig { returns(Time) }
|
|
31
|
+
attr_accessor :timestamp
|
|
32
|
+
|
|
33
|
+
# The event type
|
|
34
|
+
sig do
|
|
35
|
+
returns(Dodopayments::DunningStartedWebhookEvent::Type::TaggedSymbol)
|
|
36
|
+
end
|
|
37
|
+
attr_accessor :type
|
|
38
|
+
|
|
39
|
+
sig do
|
|
40
|
+
params(
|
|
41
|
+
business_id: String,
|
|
42
|
+
data: Dodopayments::DunningStartedWebhookEvent::Data::OrHash,
|
|
43
|
+
timestamp: Time,
|
|
44
|
+
type: Dodopayments::DunningStartedWebhookEvent::Type::OrSymbol
|
|
45
|
+
).returns(T.attached_class)
|
|
46
|
+
end
|
|
47
|
+
def self.new(
|
|
48
|
+
# The business identifier
|
|
49
|
+
business_id:,
|
|
50
|
+
# Webhook payload for dunning.started and dunning.recovered events
|
|
51
|
+
data:,
|
|
52
|
+
# The timestamp of when the event occurred
|
|
53
|
+
timestamp:,
|
|
54
|
+
# The event type
|
|
55
|
+
type:
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
sig do
|
|
60
|
+
override.returns(
|
|
61
|
+
{
|
|
62
|
+
business_id: String,
|
|
63
|
+
data: Dodopayments::DunningStartedWebhookEvent::Data,
|
|
64
|
+
timestamp: Time,
|
|
65
|
+
type: Dodopayments::DunningStartedWebhookEvent::Type::TaggedSymbol
|
|
66
|
+
}
|
|
67
|
+
)
|
|
68
|
+
end
|
|
69
|
+
def to_hash
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
class Data < Dodopayments::Internal::Type::BaseModel
|
|
73
|
+
OrHash =
|
|
74
|
+
T.type_alias do
|
|
75
|
+
T.any(
|
|
76
|
+
Dodopayments::DunningStartedWebhookEvent::Data,
|
|
77
|
+
Dodopayments::Internal::AnyHash
|
|
78
|
+
)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
sig { returns(Time) }
|
|
82
|
+
attr_accessor :created_at
|
|
83
|
+
|
|
84
|
+
sig { returns(String) }
|
|
85
|
+
attr_accessor :customer_id
|
|
86
|
+
|
|
87
|
+
sig do
|
|
88
|
+
returns(
|
|
89
|
+
Dodopayments::DunningStartedWebhookEvent::Data::Status::TaggedSymbol
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
attr_accessor :status
|
|
93
|
+
|
|
94
|
+
sig { returns(String) }
|
|
95
|
+
attr_accessor :subscription_id
|
|
96
|
+
|
|
97
|
+
sig do
|
|
98
|
+
returns(
|
|
99
|
+
Dodopayments::DunningStartedWebhookEvent::Data::TriggerState::TaggedSymbol
|
|
100
|
+
)
|
|
101
|
+
end
|
|
102
|
+
attr_accessor :trigger_state
|
|
103
|
+
|
|
104
|
+
sig { returns(T.nilable(String)) }
|
|
105
|
+
attr_accessor :payment_id
|
|
106
|
+
|
|
107
|
+
# Webhook payload for dunning.started and dunning.recovered events
|
|
108
|
+
sig do
|
|
109
|
+
params(
|
|
110
|
+
created_at: Time,
|
|
111
|
+
customer_id: String,
|
|
112
|
+
status:
|
|
113
|
+
Dodopayments::DunningStartedWebhookEvent::Data::Status::OrSymbol,
|
|
114
|
+
subscription_id: String,
|
|
115
|
+
trigger_state:
|
|
116
|
+
Dodopayments::DunningStartedWebhookEvent::Data::TriggerState::OrSymbol,
|
|
117
|
+
payment_id: T.nilable(String)
|
|
118
|
+
).returns(T.attached_class)
|
|
119
|
+
end
|
|
120
|
+
def self.new(
|
|
121
|
+
created_at:,
|
|
122
|
+
customer_id:,
|
|
123
|
+
status:,
|
|
124
|
+
subscription_id:,
|
|
125
|
+
trigger_state:,
|
|
126
|
+
payment_id: nil
|
|
127
|
+
)
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
sig do
|
|
131
|
+
override.returns(
|
|
132
|
+
{
|
|
133
|
+
created_at: Time,
|
|
134
|
+
customer_id: String,
|
|
135
|
+
status:
|
|
136
|
+
Dodopayments::DunningStartedWebhookEvent::Data::Status::TaggedSymbol,
|
|
137
|
+
subscription_id: String,
|
|
138
|
+
trigger_state:
|
|
139
|
+
Dodopayments::DunningStartedWebhookEvent::Data::TriggerState::TaggedSymbol,
|
|
140
|
+
payment_id: T.nilable(String)
|
|
141
|
+
}
|
|
142
|
+
)
|
|
143
|
+
end
|
|
144
|
+
def to_hash
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
module Status
|
|
148
|
+
extend Dodopayments::Internal::Type::Enum
|
|
149
|
+
|
|
150
|
+
TaggedSymbol =
|
|
151
|
+
T.type_alias do
|
|
152
|
+
T.all(
|
|
153
|
+
Symbol,
|
|
154
|
+
Dodopayments::DunningStartedWebhookEvent::Data::Status
|
|
155
|
+
)
|
|
156
|
+
end
|
|
157
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
158
|
+
|
|
159
|
+
RECOVERING =
|
|
160
|
+
T.let(
|
|
161
|
+
:recovering,
|
|
162
|
+
Dodopayments::DunningStartedWebhookEvent::Data::Status::TaggedSymbol
|
|
163
|
+
)
|
|
164
|
+
RECOVERED =
|
|
165
|
+
T.let(
|
|
166
|
+
:recovered,
|
|
167
|
+
Dodopayments::DunningStartedWebhookEvent::Data::Status::TaggedSymbol
|
|
168
|
+
)
|
|
169
|
+
EXHAUSTED =
|
|
170
|
+
T.let(
|
|
171
|
+
:exhausted,
|
|
172
|
+
Dodopayments::DunningStartedWebhookEvent::Data::Status::TaggedSymbol
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
sig do
|
|
176
|
+
override.returns(
|
|
177
|
+
T::Array[
|
|
178
|
+
Dodopayments::DunningStartedWebhookEvent::Data::Status::TaggedSymbol
|
|
179
|
+
]
|
|
180
|
+
)
|
|
181
|
+
end
|
|
182
|
+
def self.values
|
|
183
|
+
end
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
module TriggerState
|
|
187
|
+
extend Dodopayments::Internal::Type::Enum
|
|
188
|
+
|
|
189
|
+
TaggedSymbol =
|
|
190
|
+
T.type_alias do
|
|
191
|
+
T.all(
|
|
192
|
+
Symbol,
|
|
193
|
+
Dodopayments::DunningStartedWebhookEvent::Data::TriggerState
|
|
194
|
+
)
|
|
195
|
+
end
|
|
196
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
197
|
+
|
|
198
|
+
ON_HOLD =
|
|
199
|
+
T.let(
|
|
200
|
+
:on_hold,
|
|
201
|
+
Dodopayments::DunningStartedWebhookEvent::Data::TriggerState::TaggedSymbol
|
|
202
|
+
)
|
|
203
|
+
CANCELLED =
|
|
204
|
+
T.let(
|
|
205
|
+
:cancelled,
|
|
206
|
+
Dodopayments::DunningStartedWebhookEvent::Data::TriggerState::TaggedSymbol
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
sig do
|
|
210
|
+
override.returns(
|
|
211
|
+
T::Array[
|
|
212
|
+
Dodopayments::DunningStartedWebhookEvent::Data::TriggerState::TaggedSymbol
|
|
213
|
+
]
|
|
214
|
+
)
|
|
215
|
+
end
|
|
216
|
+
def self.values
|
|
217
|
+
end
|
|
218
|
+
end
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
# The event type
|
|
222
|
+
module Type
|
|
223
|
+
extend Dodopayments::Internal::Type::Enum
|
|
224
|
+
|
|
225
|
+
TaggedSymbol =
|
|
226
|
+
T.type_alias do
|
|
227
|
+
T.all(Symbol, Dodopayments::DunningStartedWebhookEvent::Type)
|
|
228
|
+
end
|
|
229
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
230
|
+
|
|
231
|
+
DUNNING_STARTED =
|
|
232
|
+
T.let(
|
|
233
|
+
:"dunning.started",
|
|
234
|
+
Dodopayments::DunningStartedWebhookEvent::Type::TaggedSymbol
|
|
235
|
+
)
|
|
236
|
+
|
|
237
|
+
sig do
|
|
238
|
+
override.returns(
|
|
239
|
+
T::Array[
|
|
240
|
+
Dodopayments::DunningStartedWebhookEvent::Type::TaggedSymbol
|
|
241
|
+
]
|
|
242
|
+
)
|
|
243
|
+
end
|
|
244
|
+
def self.values
|
|
245
|
+
end
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
end
|
|
249
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
module Payouts
|
|
6
|
+
module Breakup
|
|
7
|
+
class DetailDownloadCsvParams < Dodopayments::Internal::Type::BaseModel
|
|
8
|
+
extend Dodopayments::Internal::Type::RequestParameters::Converter
|
|
9
|
+
include Dodopayments::Internal::Type::RequestParameters
|
|
10
|
+
|
|
11
|
+
OrHash =
|
|
12
|
+
T.type_alias do
|
|
13
|
+
T.any(
|
|
14
|
+
Dodopayments::Payouts::Breakup::DetailDownloadCsvParams,
|
|
15
|
+
Dodopayments::Internal::AnyHash
|
|
16
|
+
)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
sig { returns(String) }
|
|
20
|
+
attr_accessor :payout_id
|
|
21
|
+
|
|
22
|
+
sig do
|
|
23
|
+
params(
|
|
24
|
+
payout_id: String,
|
|
25
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
|
26
|
+
).returns(T.attached_class)
|
|
27
|
+
end
|
|
28
|
+
def self.new(payout_id:, request_options: {})
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
sig do
|
|
32
|
+
override.returns(
|
|
33
|
+
{
|
|
34
|
+
payout_id: String,
|
|
35
|
+
request_options: Dodopayments::RequestOptions
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
def to_hash
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
module Payouts
|
|
6
|
+
module Breakup
|
|
7
|
+
class DetailListParams < Dodopayments::Internal::Type::BaseModel
|
|
8
|
+
extend Dodopayments::Internal::Type::RequestParameters::Converter
|
|
9
|
+
include Dodopayments::Internal::Type::RequestParameters
|
|
10
|
+
|
|
11
|
+
OrHash =
|
|
12
|
+
T.type_alias do
|
|
13
|
+
T.any(
|
|
14
|
+
Dodopayments::Payouts::Breakup::DetailListParams,
|
|
15
|
+
Dodopayments::Internal::AnyHash
|
|
16
|
+
)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
sig { returns(String) }
|
|
20
|
+
attr_accessor :payout_id
|
|
21
|
+
|
|
22
|
+
# Page number (0-indexed). Default: 0.
|
|
23
|
+
sig { returns(T.nilable(Integer)) }
|
|
24
|
+
attr_reader :page_number
|
|
25
|
+
|
|
26
|
+
sig { params(page_number: Integer).void }
|
|
27
|
+
attr_writer :page_number
|
|
28
|
+
|
|
29
|
+
# Number of items per page. Default: 10, Max: 100.
|
|
30
|
+
sig { returns(T.nilable(Integer)) }
|
|
31
|
+
attr_reader :page_size
|
|
32
|
+
|
|
33
|
+
sig { params(page_size: Integer).void }
|
|
34
|
+
attr_writer :page_size
|
|
35
|
+
|
|
36
|
+
sig do
|
|
37
|
+
params(
|
|
38
|
+
payout_id: String,
|
|
39
|
+
page_number: Integer,
|
|
40
|
+
page_size: Integer,
|
|
41
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
|
42
|
+
).returns(T.attached_class)
|
|
43
|
+
end
|
|
44
|
+
def self.new(
|
|
45
|
+
payout_id:,
|
|
46
|
+
# Page number (0-indexed). Default: 0.
|
|
47
|
+
page_number: nil,
|
|
48
|
+
# Number of items per page. Default: 10, Max: 100.
|
|
49
|
+
page_size: nil,
|
|
50
|
+
request_options: {}
|
|
51
|
+
)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
sig do
|
|
55
|
+
override.returns(
|
|
56
|
+
{
|
|
57
|
+
payout_id: String,
|
|
58
|
+
page_number: Integer,
|
|
59
|
+
page_size: Integer,
|
|
60
|
+
request_options: Dodopayments::RequestOptions
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
def to_hash
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
module Payouts
|
|
6
|
+
module Breakup
|
|
7
|
+
class DetailListResponse < Dodopayments::Internal::Type::BaseModel
|
|
8
|
+
OrHash =
|
|
9
|
+
T.type_alias do
|
|
10
|
+
T.any(
|
|
11
|
+
Dodopayments::Models::Payouts::Breakup::DetailListResponse,
|
|
12
|
+
Dodopayments::Internal::AnyHash
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Unique identifier of the balance ledger entry.
|
|
17
|
+
sig { returns(String) }
|
|
18
|
+
attr_accessor :id
|
|
19
|
+
|
|
20
|
+
# Timestamp when this entry was created.
|
|
21
|
+
sig { returns(Time) }
|
|
22
|
+
attr_accessor :created_at
|
|
23
|
+
|
|
24
|
+
# The type of balance ledger event (e.g., "payment", "refund", "dispute",
|
|
25
|
+
# "payment_fees").
|
|
26
|
+
sig { returns(String) }
|
|
27
|
+
attr_accessor :event_type
|
|
28
|
+
|
|
29
|
+
# Original amount in the original currency (in smallest currency unit, e.g.,
|
|
30
|
+
# cents).
|
|
31
|
+
sig { returns(Integer) }
|
|
32
|
+
attr_accessor :original_amount
|
|
33
|
+
|
|
34
|
+
# Original currency as ISO 4217 code (e.g., "USD", "EUR").
|
|
35
|
+
sig { returns(String) }
|
|
36
|
+
attr_accessor :original_currency
|
|
37
|
+
|
|
38
|
+
# Amount in the payout's currency (in smallest currency unit). Uses cumulative
|
|
39
|
+
# rounding to ensure sum matches payout total exactly.
|
|
40
|
+
sig { returns(Integer) }
|
|
41
|
+
attr_accessor :payout_currency_amount
|
|
42
|
+
|
|
43
|
+
# USD equivalent of the original amount (in cents).
|
|
44
|
+
sig { returns(Integer) }
|
|
45
|
+
attr_accessor :usd_equivalent_amount
|
|
46
|
+
|
|
47
|
+
# Human-readable description of the transaction.
|
|
48
|
+
sig { returns(T.nilable(String)) }
|
|
49
|
+
attr_accessor :description
|
|
50
|
+
|
|
51
|
+
# ID of the related object (e.g., payment ID, refund ID) if applicable.
|
|
52
|
+
sig { returns(T.nilable(String)) }
|
|
53
|
+
attr_accessor :reference_object_id
|
|
54
|
+
|
|
55
|
+
# Individual balance ledger entry for a payout, with amounts pro-rated into the
|
|
56
|
+
# payout's currency.
|
|
57
|
+
sig do
|
|
58
|
+
params(
|
|
59
|
+
id: String,
|
|
60
|
+
created_at: Time,
|
|
61
|
+
event_type: String,
|
|
62
|
+
original_amount: Integer,
|
|
63
|
+
original_currency: String,
|
|
64
|
+
payout_currency_amount: Integer,
|
|
65
|
+
usd_equivalent_amount: Integer,
|
|
66
|
+
description: T.nilable(String),
|
|
67
|
+
reference_object_id: T.nilable(String)
|
|
68
|
+
).returns(T.attached_class)
|
|
69
|
+
end
|
|
70
|
+
def self.new(
|
|
71
|
+
# Unique identifier of the balance ledger entry.
|
|
72
|
+
id:,
|
|
73
|
+
# Timestamp when this entry was created.
|
|
74
|
+
created_at:,
|
|
75
|
+
# The type of balance ledger event (e.g., "payment", "refund", "dispute",
|
|
76
|
+
# "payment_fees").
|
|
77
|
+
event_type:,
|
|
78
|
+
# Original amount in the original currency (in smallest currency unit, e.g.,
|
|
79
|
+
# cents).
|
|
80
|
+
original_amount:,
|
|
81
|
+
# Original currency as ISO 4217 code (e.g., "USD", "EUR").
|
|
82
|
+
original_currency:,
|
|
83
|
+
# Amount in the payout's currency (in smallest currency unit). Uses cumulative
|
|
84
|
+
# rounding to ensure sum matches payout total exactly.
|
|
85
|
+
payout_currency_amount:,
|
|
86
|
+
# USD equivalent of the original amount (in cents).
|
|
87
|
+
usd_equivalent_amount:,
|
|
88
|
+
# Human-readable description of the transaction.
|
|
89
|
+
description: nil,
|
|
90
|
+
# ID of the related object (e.g., payment ID, refund ID) if applicable.
|
|
91
|
+
reference_object_id: nil
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
sig do
|
|
96
|
+
override.returns(
|
|
97
|
+
{
|
|
98
|
+
id: String,
|
|
99
|
+
created_at: Time,
|
|
100
|
+
event_type: String,
|
|
101
|
+
original_amount: Integer,
|
|
102
|
+
original_currency: String,
|
|
103
|
+
payout_currency_amount: Integer,
|
|
104
|
+
usd_equivalent_amount: Integer,
|
|
105
|
+
description: T.nilable(String),
|
|
106
|
+
reference_object_id: T.nilable(String)
|
|
107
|
+
}
|
|
108
|
+
)
|
|
109
|
+
end
|
|
110
|
+
def to_hash
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
module Payouts
|
|
6
|
+
class BreakupRetrieveParams < Dodopayments::Internal::Type::BaseModel
|
|
7
|
+
extend Dodopayments::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Dodopayments::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
Dodopayments::Payouts::BreakupRetrieveParams,
|
|
14
|
+
Dodopayments::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :payout_id
|
|
20
|
+
|
|
21
|
+
sig do
|
|
22
|
+
params(
|
|
23
|
+
payout_id: String,
|
|
24
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
|
25
|
+
).returns(T.attached_class)
|
|
26
|
+
end
|
|
27
|
+
def self.new(payout_id:, request_options: {})
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
sig do
|
|
31
|
+
override.returns(
|
|
32
|
+
{ payout_id: String, request_options: Dodopayments::RequestOptions }
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
def to_hash
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
module Payouts
|
|
6
|
+
class BreakupRetrieveResponseItem < Dodopayments::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
Dodopayments::Models::Payouts::BreakupRetrieveResponseItem,
|
|
11
|
+
Dodopayments::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# The type of balance ledger event (e.g., "payment", "refund", "dispute",
|
|
16
|
+
# "payment_fees").
|
|
17
|
+
sig { returns(String) }
|
|
18
|
+
attr_accessor :event_type
|
|
19
|
+
|
|
20
|
+
# Total amount for this event type in the payout's currency (in smallest currency
|
|
21
|
+
# unit, e.g., cents).
|
|
22
|
+
sig { returns(Integer) }
|
|
23
|
+
attr_accessor :total
|
|
24
|
+
|
|
25
|
+
# Payout breakup aggregated by event type, with amounts in the payout's currency.
|
|
26
|
+
sig do
|
|
27
|
+
params(event_type: String, total: Integer).returns(T.attached_class)
|
|
28
|
+
end
|
|
29
|
+
def self.new(
|
|
30
|
+
# The type of balance ledger event (e.g., "payment", "refund", "dispute",
|
|
31
|
+
# "payment_fees").
|
|
32
|
+
event_type:,
|
|
33
|
+
# Total amount for this event type in the payout's currency (in smallest currency
|
|
34
|
+
# unit, e.g., cents).
|
|
35
|
+
total:
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
sig { override.returns({ event_type: String, total: Integer }) }
|
|
40
|
+
def to_hash
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
BreakupRetrieveResponse =
|
|
45
|
+
T.let(
|
|
46
|
+
Dodopayments::Internal::Type::ArrayOf[
|
|
47
|
+
Dodopayments::Models::Payouts::BreakupRetrieveResponseItem
|
|
48
|
+
],
|
|
49
|
+
Dodopayments::Internal::Type::Converter
|
|
50
|
+
)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -29,6 +29,15 @@ module Dodopayments
|
|
|
29
29
|
sig { returns(T.nilable(T::Boolean)) }
|
|
30
30
|
attr_accessor :cancel_at_next_billing_date
|
|
31
31
|
|
|
32
|
+
sig do
|
|
33
|
+
returns(
|
|
34
|
+
T.nilable(
|
|
35
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::OrSymbol
|
|
36
|
+
)
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
attr_accessor :cancel_reason
|
|
40
|
+
|
|
32
41
|
# Update credit entitlement cart settings
|
|
33
42
|
sig do
|
|
34
43
|
returns(
|
|
@@ -78,6 +87,10 @@ module Dodopayments
|
|
|
78
87
|
subscription_id: String,
|
|
79
88
|
billing: T.nilable(Dodopayments::BillingAddress::OrHash),
|
|
80
89
|
cancel_at_next_billing_date: T.nilable(T::Boolean),
|
|
90
|
+
cancel_reason:
|
|
91
|
+
T.nilable(
|
|
92
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::OrSymbol
|
|
93
|
+
),
|
|
81
94
|
credit_entitlement_cart:
|
|
82
95
|
T.nilable(
|
|
83
96
|
T::Array[
|
|
@@ -101,6 +114,7 @@ module Dodopayments
|
|
|
101
114
|
billing: nil,
|
|
102
115
|
# When set, the subscription will remain active until the end of billing period
|
|
103
116
|
cancel_at_next_billing_date: nil,
|
|
117
|
+
cancel_reason: nil,
|
|
104
118
|
# Update credit entitlement cart settings
|
|
105
119
|
credit_entitlement_cart: nil,
|
|
106
120
|
customer_name: nil,
|
|
@@ -119,6 +133,10 @@ module Dodopayments
|
|
|
119
133
|
subscription_id: String,
|
|
120
134
|
billing: T.nilable(Dodopayments::BillingAddress),
|
|
121
135
|
cancel_at_next_billing_date: T.nilable(T::Boolean),
|
|
136
|
+
cancel_reason:
|
|
137
|
+
T.nilable(
|
|
138
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::OrSymbol
|
|
139
|
+
),
|
|
122
140
|
credit_entitlement_cart:
|
|
123
141
|
T.nilable(
|
|
124
142
|
T::Array[
|
|
@@ -141,6 +159,42 @@ module Dodopayments
|
|
|
141
159
|
def to_hash
|
|
142
160
|
end
|
|
143
161
|
|
|
162
|
+
module CancelReason
|
|
163
|
+
extend Dodopayments::Internal::Type::Enum
|
|
164
|
+
|
|
165
|
+
TaggedSymbol =
|
|
166
|
+
T.type_alias do
|
|
167
|
+
T.all(Symbol, Dodopayments::SubscriptionUpdateParams::CancelReason)
|
|
168
|
+
end
|
|
169
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
170
|
+
|
|
171
|
+
CANCELLED_BY_CUSTOMER =
|
|
172
|
+
T.let(
|
|
173
|
+
:cancelled_by_customer,
|
|
174
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::TaggedSymbol
|
|
175
|
+
)
|
|
176
|
+
CANCELLED_BY_MERCHANT =
|
|
177
|
+
T.let(
|
|
178
|
+
:cancelled_by_merchant,
|
|
179
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::TaggedSymbol
|
|
180
|
+
)
|
|
181
|
+
CANCELLED_BY_MERCHANT_SEND_DUNNING =
|
|
182
|
+
T.let(
|
|
183
|
+
:cancelled_by_merchant_send_dunning,
|
|
184
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::TaggedSymbol
|
|
185
|
+
)
|
|
186
|
+
|
|
187
|
+
sig do
|
|
188
|
+
override.returns(
|
|
189
|
+
T::Array[
|
|
190
|
+
Dodopayments::SubscriptionUpdateParams::CancelReason::TaggedSymbol
|
|
191
|
+
]
|
|
192
|
+
)
|
|
193
|
+
end
|
|
194
|
+
def self.values
|
|
195
|
+
end
|
|
196
|
+
end
|
|
197
|
+
|
|
144
198
|
class CreditEntitlementCart < Dodopayments::Internal::Type::BaseModel
|
|
145
199
|
OrHash =
|
|
146
200
|
T.type_alias do
|
|
@@ -8,6 +8,8 @@ module Dodopayments
|
|
|
8
8
|
Variants =
|
|
9
9
|
T.type_alias do
|
|
10
10
|
T.any(
|
|
11
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent,
|
|
12
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent,
|
|
11
13
|
Dodopayments::CreditAddedWebhookEvent,
|
|
12
14
|
Dodopayments::CreditBalanceLowWebhookEvent,
|
|
13
15
|
Dodopayments::CreditDeductedWebhookEvent,
|
|
@@ -23,6 +25,8 @@ module Dodopayments
|
|
|
23
25
|
Dodopayments::DisputeLostWebhookEvent,
|
|
24
26
|
Dodopayments::DisputeOpenedWebhookEvent,
|
|
25
27
|
Dodopayments::DisputeWonWebhookEvent,
|
|
28
|
+
Dodopayments::DunningRecoveredWebhookEvent,
|
|
29
|
+
Dodopayments::DunningStartedWebhookEvent,
|
|
26
30
|
Dodopayments::LicenseKeyCreatedWebhookEvent,
|
|
27
31
|
Dodopayments::PaymentCancelledWebhookEvent,
|
|
28
32
|
Dodopayments::PaymentFailedWebhookEvent,
|
|
@@ -8,6 +8,8 @@ module Dodopayments
|
|
|
8
8
|
Variants =
|
|
9
9
|
T.type_alias do
|
|
10
10
|
T.any(
|
|
11
|
+
Dodopayments::AbandonedCheckoutDetectedWebhookEvent,
|
|
12
|
+
Dodopayments::AbandonedCheckoutRecoveredWebhookEvent,
|
|
11
13
|
Dodopayments::CreditAddedWebhookEvent,
|
|
12
14
|
Dodopayments::CreditBalanceLowWebhookEvent,
|
|
13
15
|
Dodopayments::CreditDeductedWebhookEvent,
|
|
@@ -23,6 +25,8 @@ module Dodopayments
|
|
|
23
25
|
Dodopayments::DisputeLostWebhookEvent,
|
|
24
26
|
Dodopayments::DisputeOpenedWebhookEvent,
|
|
25
27
|
Dodopayments::DisputeWonWebhookEvent,
|
|
28
|
+
Dodopayments::DunningRecoveredWebhookEvent,
|
|
29
|
+
Dodopayments::DunningStartedWebhookEvent,
|
|
26
30
|
Dodopayments::LicenseKeyCreatedWebhookEvent,
|
|
27
31
|
Dodopayments::PaymentCancelledWebhookEvent,
|
|
28
32
|
Dodopayments::PaymentFailedWebhookEvent,
|