lithic 0.17.0 → 0.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 +13 -0
- data/README.md +1 -1
- data/lib/lithic/models/auth_rules/rule_feature.rb +291 -2
- data/lib/lithic/models/auth_rules/typescript_code_parameters.rb +2 -2
- data/lib/lithic/models/claim_created_webhook_event.rb +190 -0
- data/lib/lithic/models/claim_document_accepted_webhook_event.rb +175 -0
- data/lib/lithic/models/claim_document_rejected_webhook_event.rb +175 -0
- data/lib/lithic/models/claim_document_uploaded_webhook_event.rb +175 -0
- data/lib/lithic/models/claim_updated_webhook_event.rb +190 -0
- data/lib/lithic/models/event.rb +23 -0
- data/lib/lithic/models/event_list_params.rb +14 -0
- data/lib/lithic/models/event_subscription.rb +14 -0
- data/lib/lithic/models/events/subscription_create_params.rb +14 -0
- data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +5 -0
- data/lib/lithic/models/events/subscription_update_params.rb +14 -0
- data/lib/lithic/models/parsed_webhook_event.rb +11 -1
- data/lib/lithic/models.rb +10 -0
- data/lib/lithic/resources/webhooks.rb +1 -1
- data/lib/lithic/version.rb +1 -1
- data/lib/lithic.rb +5 -0
- data/rbi/lithic/models/auth_rules/rule_feature.rbi +686 -2
- data/rbi/lithic/models/auth_rules/typescript_code_parameters.rbi +15 -3
- data/rbi/lithic/models/claim_created_webhook_event.rbi +386 -0
- data/rbi/lithic/models/claim_document_accepted_webhook_event.rbi +315 -0
- data/rbi/lithic/models/claim_document_rejected_webhook_event.rbi +315 -0
- data/rbi/lithic/models/claim_document_uploaded_webhook_event.rbi +315 -0
- data/rbi/lithic/models/claim_updated_webhook_event.rbi +386 -0
- data/rbi/lithic/models/event.rbi +46 -0
- data/rbi/lithic/models/event_list_params.rbi +34 -0
- data/rbi/lithic/models/event_subscription.rbi +34 -0
- data/rbi/lithic/models/events/subscription_create_params.rbi +34 -0
- data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +25 -0
- data/rbi/lithic/models/events/subscription_update_params.rbi +34 -0
- data/rbi/lithic/models/parsed_webhook_event.rbi +5 -0
- data/rbi/lithic/models.rbi +13 -0
- data/rbi/lithic/resources/webhooks.rbi +5 -0
- data/sig/lithic/models/auth_rules/rule_feature.rbs +252 -0
- data/sig/lithic/models/claim_created_webhook_event.rbs +169 -0
- data/sig/lithic/models/claim_document_accepted_webhook_event.rbs +131 -0
- data/sig/lithic/models/claim_document_rejected_webhook_event.rbs +131 -0
- data/sig/lithic/models/claim_document_uploaded_webhook_event.rbs +131 -0
- data/sig/lithic/models/claim_updated_webhook_event.rbs +169 -0
- data/sig/lithic/models/event.rbs +10 -0
- data/sig/lithic/models/event_list_params.rbs +10 -0
- data/sig/lithic/models/event_subscription.rbs +10 -0
- data/sig/lithic/models/events/subscription_create_params.rbs +10 -0
- data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +10 -0
- data/sig/lithic/models/events/subscription_update_params.rbs +10 -0
- data/sig/lithic/models/parsed_webhook_event.rbs +5 -0
- data/sig/lithic/models.rbs +10 -0
- data/sig/lithic/resources/webhooks.rbs +5 -0
- metadata +17 -2
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Lithic
|
|
4
|
+
module Models
|
|
5
|
+
class ClaimDocumentUploadedWebhookEvent < Lithic::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Lithic::ClaimDocumentUploadedWebhookEvent,
|
|
10
|
+
Lithic::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Unique identifier for the document, in UUID format
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :token
|
|
17
|
+
|
|
18
|
+
# When the document was created
|
|
19
|
+
sig { returns(Time) }
|
|
20
|
+
attr_accessor :created
|
|
21
|
+
|
|
22
|
+
# Presigned URL for downloading the uploaded document. Available once the document
|
|
23
|
+
# is being validated or has been accepted (`VALIDATING` or `ACCEPTED`)
|
|
24
|
+
sig { returns(T.nilable(String)) }
|
|
25
|
+
attr_accessor :download_url
|
|
26
|
+
|
|
27
|
+
# When the download URL expires
|
|
28
|
+
sig { returns(T.nilable(Time)) }
|
|
29
|
+
attr_accessor :download_url_expires_at
|
|
30
|
+
|
|
31
|
+
# The type of event that occurred.
|
|
32
|
+
sig { returns(Symbol) }
|
|
33
|
+
attr_accessor :event_type
|
|
34
|
+
|
|
35
|
+
# Reason the document failed validation. Null unless `status` is `REJECTED`
|
|
36
|
+
sig do
|
|
37
|
+
returns(
|
|
38
|
+
T.nilable(
|
|
39
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::FailureReason::TaggedSymbol
|
|
40
|
+
)
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
attr_accessor :failure_reason
|
|
44
|
+
|
|
45
|
+
# Name provided when the upload intent was created
|
|
46
|
+
sig { returns(String) }
|
|
47
|
+
attr_accessor :name
|
|
48
|
+
|
|
49
|
+
# Identifier of the document requirement this document satisfies. Null for
|
|
50
|
+
# supplemental documents not tied to a specific requirement
|
|
51
|
+
sig { returns(T.nilable(String)) }
|
|
52
|
+
attr_accessor :requirement_id
|
|
53
|
+
|
|
54
|
+
# Current validation status of the document
|
|
55
|
+
sig do
|
|
56
|
+
returns(Lithic::ClaimDocumentUploadedWebhookEvent::Status::TaggedSymbol)
|
|
57
|
+
end
|
|
58
|
+
attr_accessor :status
|
|
59
|
+
|
|
60
|
+
# When the document was last updated
|
|
61
|
+
sig { returns(Time) }
|
|
62
|
+
attr_accessor :updated
|
|
63
|
+
|
|
64
|
+
# Constraints that an uploaded file must satisfy.
|
|
65
|
+
sig do
|
|
66
|
+
returns(
|
|
67
|
+
T.nilable(
|
|
68
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::UploadConstraints
|
|
69
|
+
)
|
|
70
|
+
)
|
|
71
|
+
end
|
|
72
|
+
attr_reader :upload_constraints
|
|
73
|
+
|
|
74
|
+
sig do
|
|
75
|
+
params(
|
|
76
|
+
upload_constraints:
|
|
77
|
+
T.nilable(
|
|
78
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::UploadConstraints::OrHash
|
|
79
|
+
)
|
|
80
|
+
).void
|
|
81
|
+
end
|
|
82
|
+
attr_writer :upload_constraints
|
|
83
|
+
|
|
84
|
+
# Presigned URL for uploading the file via HTTP PUT. Null after the upload window
|
|
85
|
+
# expires or after the document has been validated
|
|
86
|
+
sig { returns(T.nilable(String)) }
|
|
87
|
+
attr_accessor :upload_url
|
|
88
|
+
|
|
89
|
+
# When the upload URL expires
|
|
90
|
+
sig { returns(T.nilable(Time)) }
|
|
91
|
+
attr_accessor :upload_url_expires_at
|
|
92
|
+
|
|
93
|
+
sig do
|
|
94
|
+
params(
|
|
95
|
+
token: String,
|
|
96
|
+
created: Time,
|
|
97
|
+
download_url: T.nilable(String),
|
|
98
|
+
download_url_expires_at: T.nilable(Time),
|
|
99
|
+
failure_reason:
|
|
100
|
+
T.nilable(
|
|
101
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::FailureReason::OrSymbol
|
|
102
|
+
),
|
|
103
|
+
name: String,
|
|
104
|
+
requirement_id: T.nilable(String),
|
|
105
|
+
status: Lithic::ClaimDocumentUploadedWebhookEvent::Status::OrSymbol,
|
|
106
|
+
updated: Time,
|
|
107
|
+
upload_constraints:
|
|
108
|
+
T.nilable(
|
|
109
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::UploadConstraints::OrHash
|
|
110
|
+
),
|
|
111
|
+
upload_url: T.nilable(String),
|
|
112
|
+
upload_url_expires_at: T.nilable(Time),
|
|
113
|
+
event_type: Symbol
|
|
114
|
+
).returns(T.attached_class)
|
|
115
|
+
end
|
|
116
|
+
def self.new(
|
|
117
|
+
# Unique identifier for the document, in UUID format
|
|
118
|
+
token:,
|
|
119
|
+
# When the document was created
|
|
120
|
+
created:,
|
|
121
|
+
# Presigned URL for downloading the uploaded document. Available once the document
|
|
122
|
+
# is being validated or has been accepted (`VALIDATING` or `ACCEPTED`)
|
|
123
|
+
download_url:,
|
|
124
|
+
# When the download URL expires
|
|
125
|
+
download_url_expires_at:,
|
|
126
|
+
# Reason the document failed validation. Null unless `status` is `REJECTED`
|
|
127
|
+
failure_reason:,
|
|
128
|
+
# Name provided when the upload intent was created
|
|
129
|
+
name:,
|
|
130
|
+
# Identifier of the document requirement this document satisfies. Null for
|
|
131
|
+
# supplemental documents not tied to a specific requirement
|
|
132
|
+
requirement_id:,
|
|
133
|
+
# Current validation status of the document
|
|
134
|
+
status:,
|
|
135
|
+
# When the document was last updated
|
|
136
|
+
updated:,
|
|
137
|
+
# Constraints that an uploaded file must satisfy.
|
|
138
|
+
upload_constraints:,
|
|
139
|
+
# Presigned URL for uploading the file via HTTP PUT. Null after the upload window
|
|
140
|
+
# expires or after the document has been validated
|
|
141
|
+
upload_url:,
|
|
142
|
+
# When the upload URL expires
|
|
143
|
+
upload_url_expires_at:,
|
|
144
|
+
# The type of event that occurred.
|
|
145
|
+
event_type: :"claim_document.uploaded"
|
|
146
|
+
)
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
sig do
|
|
150
|
+
override.returns(
|
|
151
|
+
{
|
|
152
|
+
token: String,
|
|
153
|
+
created: Time,
|
|
154
|
+
download_url: T.nilable(String),
|
|
155
|
+
download_url_expires_at: T.nilable(Time),
|
|
156
|
+
event_type: Symbol,
|
|
157
|
+
failure_reason:
|
|
158
|
+
T.nilable(
|
|
159
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::FailureReason::TaggedSymbol
|
|
160
|
+
),
|
|
161
|
+
name: String,
|
|
162
|
+
requirement_id: T.nilable(String),
|
|
163
|
+
status:
|
|
164
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::Status::TaggedSymbol,
|
|
165
|
+
updated: Time,
|
|
166
|
+
upload_constraints:
|
|
167
|
+
T.nilable(
|
|
168
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::UploadConstraints
|
|
169
|
+
),
|
|
170
|
+
upload_url: T.nilable(String),
|
|
171
|
+
upload_url_expires_at: T.nilable(Time)
|
|
172
|
+
}
|
|
173
|
+
)
|
|
174
|
+
end
|
|
175
|
+
def to_hash
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# Reason the document failed validation. Null unless `status` is `REJECTED`
|
|
179
|
+
module FailureReason
|
|
180
|
+
extend Lithic::Internal::Type::Enum
|
|
181
|
+
|
|
182
|
+
TaggedSymbol =
|
|
183
|
+
T.type_alias do
|
|
184
|
+
T.all(
|
|
185
|
+
Symbol,
|
|
186
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::FailureReason
|
|
187
|
+
)
|
|
188
|
+
end
|
|
189
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
190
|
+
|
|
191
|
+
INVALID_MIME_TYPE =
|
|
192
|
+
T.let(
|
|
193
|
+
:INVALID_MIME_TYPE,
|
|
194
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::FailureReason::TaggedSymbol
|
|
195
|
+
)
|
|
196
|
+
FILE_TOO_LARGE =
|
|
197
|
+
T.let(
|
|
198
|
+
:FILE_TOO_LARGE,
|
|
199
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::FailureReason::TaggedSymbol
|
|
200
|
+
)
|
|
201
|
+
FILE_EMPTY =
|
|
202
|
+
T.let(
|
|
203
|
+
:FILE_EMPTY,
|
|
204
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::FailureReason::TaggedSymbol
|
|
205
|
+
)
|
|
206
|
+
CORRUPT_FILE =
|
|
207
|
+
T.let(
|
|
208
|
+
:CORRUPT_FILE,
|
|
209
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::FailureReason::TaggedSymbol
|
|
210
|
+
)
|
|
211
|
+
OTHER =
|
|
212
|
+
T.let(
|
|
213
|
+
:OTHER,
|
|
214
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::FailureReason::TaggedSymbol
|
|
215
|
+
)
|
|
216
|
+
|
|
217
|
+
sig do
|
|
218
|
+
override.returns(
|
|
219
|
+
T::Array[
|
|
220
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::FailureReason::TaggedSymbol
|
|
221
|
+
]
|
|
222
|
+
)
|
|
223
|
+
end
|
|
224
|
+
def self.values
|
|
225
|
+
end
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
# Current validation status of the document
|
|
229
|
+
module Status
|
|
230
|
+
extend Lithic::Internal::Type::Enum
|
|
231
|
+
|
|
232
|
+
TaggedSymbol =
|
|
233
|
+
T.type_alias do
|
|
234
|
+
T.all(Symbol, Lithic::ClaimDocumentUploadedWebhookEvent::Status)
|
|
235
|
+
end
|
|
236
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
237
|
+
|
|
238
|
+
PENDING =
|
|
239
|
+
T.let(
|
|
240
|
+
:PENDING,
|
|
241
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::Status::TaggedSymbol
|
|
242
|
+
)
|
|
243
|
+
VALIDATING =
|
|
244
|
+
T.let(
|
|
245
|
+
:VALIDATING,
|
|
246
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::Status::TaggedSymbol
|
|
247
|
+
)
|
|
248
|
+
ACCEPTED =
|
|
249
|
+
T.let(
|
|
250
|
+
:ACCEPTED,
|
|
251
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::Status::TaggedSymbol
|
|
252
|
+
)
|
|
253
|
+
REJECTED =
|
|
254
|
+
T.let(
|
|
255
|
+
:REJECTED,
|
|
256
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::Status::TaggedSymbol
|
|
257
|
+
)
|
|
258
|
+
|
|
259
|
+
sig do
|
|
260
|
+
override.returns(
|
|
261
|
+
T::Array[
|
|
262
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::Status::TaggedSymbol
|
|
263
|
+
]
|
|
264
|
+
)
|
|
265
|
+
end
|
|
266
|
+
def self.values
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
class UploadConstraints < Lithic::Internal::Type::BaseModel
|
|
271
|
+
OrHash =
|
|
272
|
+
T.type_alias do
|
|
273
|
+
T.any(
|
|
274
|
+
Lithic::ClaimDocumentUploadedWebhookEvent::UploadConstraints,
|
|
275
|
+
Lithic::Internal::AnyHash
|
|
276
|
+
)
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
# MIME types accepted for upload
|
|
280
|
+
sig { returns(T::Array[String]) }
|
|
281
|
+
attr_accessor :accepted_mime_types
|
|
282
|
+
|
|
283
|
+
# Maximum file size in bytes. Null if there is no enforced size limit
|
|
284
|
+
sig { returns(T.nilable(Integer)) }
|
|
285
|
+
attr_accessor :max_size_bytes
|
|
286
|
+
|
|
287
|
+
# Constraints that an uploaded file must satisfy.
|
|
288
|
+
sig do
|
|
289
|
+
params(
|
|
290
|
+
accepted_mime_types: T::Array[String],
|
|
291
|
+
max_size_bytes: T.nilable(Integer)
|
|
292
|
+
).returns(T.attached_class)
|
|
293
|
+
end
|
|
294
|
+
def self.new(
|
|
295
|
+
# MIME types accepted for upload
|
|
296
|
+
accepted_mime_types:,
|
|
297
|
+
# Maximum file size in bytes. Null if there is no enforced size limit
|
|
298
|
+
max_size_bytes:
|
|
299
|
+
)
|
|
300
|
+
end
|
|
301
|
+
|
|
302
|
+
sig do
|
|
303
|
+
override.returns(
|
|
304
|
+
{
|
|
305
|
+
accepted_mime_types: T::Array[String],
|
|
306
|
+
max_size_bytes: T.nilable(Integer)
|
|
307
|
+
}
|
|
308
|
+
)
|
|
309
|
+
end
|
|
310
|
+
def to_hash
|
|
311
|
+
end
|
|
312
|
+
end
|
|
313
|
+
end
|
|
314
|
+
end
|
|
315
|
+
end
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Lithic
|
|
4
|
+
module Models
|
|
5
|
+
class ClaimUpdatedWebhookEvent < Lithic::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Lithic::ClaimUpdatedWebhookEvent, Lithic::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Unique identifier for the claim, in UUID format
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :token
|
|
14
|
+
|
|
15
|
+
# Token for the account holder that filed the claim
|
|
16
|
+
sig { returns(T.nilable(String)) }
|
|
17
|
+
attr_accessor :account_holder_token
|
|
18
|
+
|
|
19
|
+
# Token for the account associated with the claim
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
|
+
attr_accessor :account_token
|
|
22
|
+
|
|
23
|
+
# Tokens for the cards associated with the disputed transactions
|
|
24
|
+
sig { returns(T::Array[String]) }
|
|
25
|
+
attr_accessor :card_tokens
|
|
26
|
+
|
|
27
|
+
# When the claim was created
|
|
28
|
+
sig { returns(Time) }
|
|
29
|
+
attr_accessor :created
|
|
30
|
+
|
|
31
|
+
# Transactions included in this claim
|
|
32
|
+
sig do
|
|
33
|
+
returns(T::Array[Lithic::ClaimUpdatedWebhookEvent::DisputedTransaction])
|
|
34
|
+
end
|
|
35
|
+
attr_accessor :disputed_transactions
|
|
36
|
+
|
|
37
|
+
# The type of event that occurred.
|
|
38
|
+
sig { returns(Symbol) }
|
|
39
|
+
attr_accessor :event_type
|
|
40
|
+
|
|
41
|
+
# Requirements that must be fulfilled before the claim can be submitted
|
|
42
|
+
sig do
|
|
43
|
+
returns(
|
|
44
|
+
T::Array[
|
|
45
|
+
Lithic::ClaimUpdatedWebhookEvent::OutstandingRequirement::TaggedSymbol
|
|
46
|
+
]
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
attr_accessor :outstanding_requirements
|
|
50
|
+
|
|
51
|
+
# Dispute reason code provided when creating the claim
|
|
52
|
+
sig { returns(Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol) }
|
|
53
|
+
attr_accessor :reason
|
|
54
|
+
|
|
55
|
+
# Current lifecycle status of the claim
|
|
56
|
+
sig { returns(Lithic::ClaimUpdatedWebhookEvent::Status::TaggedSymbol) }
|
|
57
|
+
attr_accessor :status
|
|
58
|
+
|
|
59
|
+
# When the claim was submitted. Null until the claim reaches `SUBMITTED` status
|
|
60
|
+
sig { returns(T.nilable(Time)) }
|
|
61
|
+
attr_accessor :submitted
|
|
62
|
+
|
|
63
|
+
# When the claim was last updated
|
|
64
|
+
sig { returns(Time) }
|
|
65
|
+
attr_accessor :updated
|
|
66
|
+
|
|
67
|
+
sig do
|
|
68
|
+
params(
|
|
69
|
+
token: String,
|
|
70
|
+
account_holder_token: T.nilable(String),
|
|
71
|
+
account_token: T.nilable(String),
|
|
72
|
+
card_tokens: T::Array[String],
|
|
73
|
+
created: Time,
|
|
74
|
+
disputed_transactions:
|
|
75
|
+
T::Array[
|
|
76
|
+
Lithic::ClaimUpdatedWebhookEvent::DisputedTransaction::OrHash
|
|
77
|
+
],
|
|
78
|
+
outstanding_requirements:
|
|
79
|
+
T::Array[
|
|
80
|
+
Lithic::ClaimUpdatedWebhookEvent::OutstandingRequirement::OrSymbol
|
|
81
|
+
],
|
|
82
|
+
reason: Lithic::ClaimUpdatedWebhookEvent::Reason::OrSymbol,
|
|
83
|
+
status: Lithic::ClaimUpdatedWebhookEvent::Status::OrSymbol,
|
|
84
|
+
submitted: T.nilable(Time),
|
|
85
|
+
updated: Time,
|
|
86
|
+
event_type: Symbol
|
|
87
|
+
).returns(T.attached_class)
|
|
88
|
+
end
|
|
89
|
+
def self.new(
|
|
90
|
+
# Unique identifier for the claim, in UUID format
|
|
91
|
+
token:,
|
|
92
|
+
# Token for the account holder that filed the claim
|
|
93
|
+
account_holder_token:,
|
|
94
|
+
# Token for the account associated with the claim
|
|
95
|
+
account_token:,
|
|
96
|
+
# Tokens for the cards associated with the disputed transactions
|
|
97
|
+
card_tokens:,
|
|
98
|
+
# When the claim was created
|
|
99
|
+
created:,
|
|
100
|
+
# Transactions included in this claim
|
|
101
|
+
disputed_transactions:,
|
|
102
|
+
# Requirements that must be fulfilled before the claim can be submitted
|
|
103
|
+
outstanding_requirements:,
|
|
104
|
+
# Dispute reason code provided when creating the claim
|
|
105
|
+
reason:,
|
|
106
|
+
# Current lifecycle status of the claim
|
|
107
|
+
status:,
|
|
108
|
+
# When the claim was submitted. Null until the claim reaches `SUBMITTED` status
|
|
109
|
+
submitted:,
|
|
110
|
+
# When the claim was last updated
|
|
111
|
+
updated:,
|
|
112
|
+
# The type of event that occurred.
|
|
113
|
+
event_type: :"claim.updated"
|
|
114
|
+
)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
sig do
|
|
118
|
+
override.returns(
|
|
119
|
+
{
|
|
120
|
+
token: String,
|
|
121
|
+
account_holder_token: T.nilable(String),
|
|
122
|
+
account_token: T.nilable(String),
|
|
123
|
+
card_tokens: T::Array[String],
|
|
124
|
+
created: Time,
|
|
125
|
+
disputed_transactions:
|
|
126
|
+
T::Array[Lithic::ClaimUpdatedWebhookEvent::DisputedTransaction],
|
|
127
|
+
event_type: Symbol,
|
|
128
|
+
outstanding_requirements:
|
|
129
|
+
T::Array[
|
|
130
|
+
Lithic::ClaimUpdatedWebhookEvent::OutstandingRequirement::TaggedSymbol
|
|
131
|
+
],
|
|
132
|
+
reason: Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol,
|
|
133
|
+
status: Lithic::ClaimUpdatedWebhookEvent::Status::TaggedSymbol,
|
|
134
|
+
submitted: T.nilable(Time),
|
|
135
|
+
updated: Time
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
end
|
|
139
|
+
def to_hash
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
class DisputedTransaction < Lithic::Internal::Type::BaseModel
|
|
143
|
+
OrHash =
|
|
144
|
+
T.type_alias do
|
|
145
|
+
T.any(
|
|
146
|
+
Lithic::ClaimUpdatedWebhookEvent::DisputedTransaction,
|
|
147
|
+
Lithic::Internal::AnyHash
|
|
148
|
+
)
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
# Tokens for the specific events within the transaction being disputed. Lithic
|
|
152
|
+
# creates one dispute per event token
|
|
153
|
+
sig { returns(T::Array[String]) }
|
|
154
|
+
attr_accessor :event_tokens
|
|
155
|
+
|
|
156
|
+
# Token for the transaction being disputed, in UUID format
|
|
157
|
+
sig { returns(String) }
|
|
158
|
+
attr_accessor :transaction_token
|
|
159
|
+
|
|
160
|
+
# A transaction included in a claim, along with the specific events being
|
|
161
|
+
# disputed.
|
|
162
|
+
sig do
|
|
163
|
+
params(
|
|
164
|
+
event_tokens: T::Array[String],
|
|
165
|
+
transaction_token: String
|
|
166
|
+
).returns(T.attached_class)
|
|
167
|
+
end
|
|
168
|
+
def self.new(
|
|
169
|
+
# Tokens for the specific events within the transaction being disputed. Lithic
|
|
170
|
+
# creates one dispute per event token
|
|
171
|
+
event_tokens:,
|
|
172
|
+
# Token for the transaction being disputed, in UUID format
|
|
173
|
+
transaction_token:
|
|
174
|
+
)
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
sig do
|
|
178
|
+
override.returns(
|
|
179
|
+
{ event_tokens: T::Array[String], transaction_token: String }
|
|
180
|
+
)
|
|
181
|
+
end
|
|
182
|
+
def to_hash
|
|
183
|
+
end
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
module OutstandingRequirement
|
|
187
|
+
extend Lithic::Internal::Type::Enum
|
|
188
|
+
|
|
189
|
+
TaggedSymbol =
|
|
190
|
+
T.type_alias do
|
|
191
|
+
T.all(
|
|
192
|
+
Symbol,
|
|
193
|
+
Lithic::ClaimUpdatedWebhookEvent::OutstandingRequirement
|
|
194
|
+
)
|
|
195
|
+
end
|
|
196
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
197
|
+
|
|
198
|
+
QUESTIONNAIRE =
|
|
199
|
+
T.let(
|
|
200
|
+
:QUESTIONNAIRE,
|
|
201
|
+
Lithic::ClaimUpdatedWebhookEvent::OutstandingRequirement::TaggedSymbol
|
|
202
|
+
)
|
|
203
|
+
DOCUMENTS =
|
|
204
|
+
T.let(
|
|
205
|
+
:DOCUMENTS,
|
|
206
|
+
Lithic::ClaimUpdatedWebhookEvent::OutstandingRequirement::TaggedSymbol
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
sig do
|
|
210
|
+
override.returns(
|
|
211
|
+
T::Array[
|
|
212
|
+
Lithic::ClaimUpdatedWebhookEvent::OutstandingRequirement::TaggedSymbol
|
|
213
|
+
]
|
|
214
|
+
)
|
|
215
|
+
end
|
|
216
|
+
def self.values
|
|
217
|
+
end
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
# Dispute reason code provided when creating the claim
|
|
221
|
+
module Reason
|
|
222
|
+
extend Lithic::Internal::Type::Enum
|
|
223
|
+
|
|
224
|
+
TaggedSymbol =
|
|
225
|
+
T.type_alias do
|
|
226
|
+
T.all(Symbol, Lithic::ClaimUpdatedWebhookEvent::Reason)
|
|
227
|
+
end
|
|
228
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
229
|
+
|
|
230
|
+
CARD_NOT_PRESENT =
|
|
231
|
+
T.let(
|
|
232
|
+
:CARD_NOT_PRESENT,
|
|
233
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
234
|
+
)
|
|
235
|
+
CARD_LOST =
|
|
236
|
+
T.let(
|
|
237
|
+
:CARD_LOST,
|
|
238
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
239
|
+
)
|
|
240
|
+
CARD_STOLEN =
|
|
241
|
+
T.let(
|
|
242
|
+
:CARD_STOLEN,
|
|
243
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
244
|
+
)
|
|
245
|
+
CARD_NEVER_RECEIVED =
|
|
246
|
+
T.let(
|
|
247
|
+
:CARD_NEVER_RECEIVED,
|
|
248
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
249
|
+
)
|
|
250
|
+
COUNTERFEIT =
|
|
251
|
+
T.let(
|
|
252
|
+
:COUNTERFEIT,
|
|
253
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
254
|
+
)
|
|
255
|
+
ACCOUNT_TAKEOVER =
|
|
256
|
+
T.let(
|
|
257
|
+
:ACCOUNT_TAKEOVER,
|
|
258
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
259
|
+
)
|
|
260
|
+
PRODUCT_NOT_RECEIVED =
|
|
261
|
+
T.let(
|
|
262
|
+
:PRODUCT_NOT_RECEIVED,
|
|
263
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
264
|
+
)
|
|
265
|
+
NOT_AS_DESCRIBED =
|
|
266
|
+
T.let(
|
|
267
|
+
:NOT_AS_DESCRIBED,
|
|
268
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
269
|
+
)
|
|
270
|
+
CREDIT_NOT_PROCESSED =
|
|
271
|
+
T.let(
|
|
272
|
+
:CREDIT_NOT_PROCESSED,
|
|
273
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
274
|
+
)
|
|
275
|
+
CANCELLED_RECURRING =
|
|
276
|
+
T.let(
|
|
277
|
+
:CANCELLED_RECURRING,
|
|
278
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
279
|
+
)
|
|
280
|
+
PAID_BY_OTHER_MEANS =
|
|
281
|
+
T.let(
|
|
282
|
+
:PAID_BY_OTHER_MEANS,
|
|
283
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
284
|
+
)
|
|
285
|
+
DUPLICATE_CHARGE =
|
|
286
|
+
T.let(
|
|
287
|
+
:DUPLICATE_CHARGE,
|
|
288
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
289
|
+
)
|
|
290
|
+
LATE_PRESENTMENT =
|
|
291
|
+
T.let(
|
|
292
|
+
:LATE_PRESENTMENT,
|
|
293
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
294
|
+
)
|
|
295
|
+
INCORRECT_TRANSACTION_CODE =
|
|
296
|
+
T.let(
|
|
297
|
+
:INCORRECT_TRANSACTION_CODE,
|
|
298
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
299
|
+
)
|
|
300
|
+
NO_AUTHORIZATION =
|
|
301
|
+
T.let(
|
|
302
|
+
:NO_AUTHORIZATION,
|
|
303
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
304
|
+
)
|
|
305
|
+
DECLINED =
|
|
306
|
+
T.let(
|
|
307
|
+
:DECLINED,
|
|
308
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
309
|
+
)
|
|
310
|
+
INCORRECT_AMOUNT =
|
|
311
|
+
T.let(
|
|
312
|
+
:INCORRECT_AMOUNT,
|
|
313
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
314
|
+
)
|
|
315
|
+
ATM_CASH_NOT_DISPENSED =
|
|
316
|
+
T.let(
|
|
317
|
+
:ATM_CASH_NOT_DISPENSED,
|
|
318
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
319
|
+
)
|
|
320
|
+
ATM_DEPOSIT_WRONG_AMOUNT =
|
|
321
|
+
T.let(
|
|
322
|
+
:ATM_DEPOSIT_WRONG_AMOUNT,
|
|
323
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
324
|
+
)
|
|
325
|
+
ATM_DEPOSIT_MISSING =
|
|
326
|
+
T.let(
|
|
327
|
+
:ATM_DEPOSIT_MISSING,
|
|
328
|
+
Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol
|
|
329
|
+
)
|
|
330
|
+
|
|
331
|
+
sig do
|
|
332
|
+
override.returns(
|
|
333
|
+
T::Array[Lithic::ClaimUpdatedWebhookEvent::Reason::TaggedSymbol]
|
|
334
|
+
)
|
|
335
|
+
end
|
|
336
|
+
def self.values
|
|
337
|
+
end
|
|
338
|
+
end
|
|
339
|
+
|
|
340
|
+
# Current lifecycle status of the claim
|
|
341
|
+
module Status
|
|
342
|
+
extend Lithic::Internal::Type::Enum
|
|
343
|
+
|
|
344
|
+
TaggedSymbol =
|
|
345
|
+
T.type_alias do
|
|
346
|
+
T.all(Symbol, Lithic::ClaimUpdatedWebhookEvent::Status)
|
|
347
|
+
end
|
|
348
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
349
|
+
|
|
350
|
+
INITIALIZING =
|
|
351
|
+
T.let(
|
|
352
|
+
:INITIALIZING,
|
|
353
|
+
Lithic::ClaimUpdatedWebhookEvent::Status::TaggedSymbol
|
|
354
|
+
)
|
|
355
|
+
AWAITING_INFO =
|
|
356
|
+
T.let(
|
|
357
|
+
:AWAITING_INFO,
|
|
358
|
+
Lithic::ClaimUpdatedWebhookEvent::Status::TaggedSymbol
|
|
359
|
+
)
|
|
360
|
+
SUBMITTED =
|
|
361
|
+
T.let(
|
|
362
|
+
:SUBMITTED,
|
|
363
|
+
Lithic::ClaimUpdatedWebhookEvent::Status::TaggedSymbol
|
|
364
|
+
)
|
|
365
|
+
RESOLVED =
|
|
366
|
+
T.let(
|
|
367
|
+
:RESOLVED,
|
|
368
|
+
Lithic::ClaimUpdatedWebhookEvent::Status::TaggedSymbol
|
|
369
|
+
)
|
|
370
|
+
ABANDONED =
|
|
371
|
+
T.let(
|
|
372
|
+
:ABANDONED,
|
|
373
|
+
Lithic::ClaimUpdatedWebhookEvent::Status::TaggedSymbol
|
|
374
|
+
)
|
|
375
|
+
|
|
376
|
+
sig do
|
|
377
|
+
override.returns(
|
|
378
|
+
T::Array[Lithic::ClaimUpdatedWebhookEvent::Status::TaggedSymbol]
|
|
379
|
+
)
|
|
380
|
+
end
|
|
381
|
+
def self.values
|
|
382
|
+
end
|
|
383
|
+
end
|
|
384
|
+
end
|
|
385
|
+
end
|
|
386
|
+
end
|