lithic 0.1.0.pre.alpha.33 → 0.1.0.pre.alpha.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/README.md +1 -1
- data/lib/lithic/client.rb +4 -0
- data/lib/lithic/models/auth_rules/rule_stats.rb +112 -0
- data/lib/lithic/models/auth_rules/v2/backtest_results.rb +6 -238
- data/lib/lithic/models/auth_rules/v2_retrieve_report_params.rb +32 -0
- data/lib/lithic/models/auth_rules/v2_retrieve_report_response.rb +71 -0
- data/lib/lithic/models/card_convert_physical_params.rb +10 -6
- data/lib/lithic/models/card_create_params.rb +10 -6
- data/lib/lithic/models/card_reissue_params.rb +10 -6
- data/lib/lithic/models/card_renew_params.rb +10 -6
- data/lib/lithic/models/external_bank_account_create_params.rb +1 -1
- data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +1 -0
- data/lib/lithic/models/financial_transaction.rb +1 -0
- data/lib/lithic/models/fraud/transaction_report_params.rb +130 -0
- data/lib/lithic/models/fraud/transaction_report_response.rb +160 -0
- data/lib/lithic/models/fraud/transaction_retrieve_params.rb +16 -0
- data/lib/lithic/models/fraud/transaction_retrieve_response.rb +160 -0
- data/lib/lithic/models/non_pci_card.rb +16 -21
- data/lib/lithic/models/payment.rb +7 -1
- data/lib/lithic/models/payment_create_params.rb +7 -1
- data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +111 -79
- data/lib/lithic/models/three_ds/authentication_simulate_params.rb +8 -2
- data/lib/lithic/models/three_ds/authentication_simulate_response.rb +2 -6
- data/lib/lithic/models/three_ds/challenge_response.rb +7 -7
- data/lib/lithic/models/three_ds/challenge_result.rb +1 -1
- data/lib/lithic/models/transfer.rb +1 -0
- data/lib/lithic/models.rb +2 -0
- data/lib/lithic/resources/auth_rules/v2/backtests.rb +8 -7
- data/lib/lithic/resources/auth_rules/v2.rb +45 -4
- data/lib/lithic/resources/fraud/transactions.rb +69 -0
- data/lib/lithic/resources/fraud.rb +18 -0
- data/lib/lithic/resources/three_ds/authentication.rb +6 -6
- data/lib/lithic/resources/three_ds/decisioning.rb +8 -3
- data/lib/lithic/version.rb +1 -1
- data/lib/lithic.rb +9 -0
- data/rbi/lithic/client.rbi +3 -0
- data/rbi/lithic/models/auth_rules/rule_stats.rbi +229 -0
- data/rbi/lithic/models/auth_rules/v2/backtest_results.rbi +8 -523
- data/rbi/lithic/models/auth_rules/v2_retrieve_report_params.rbi +56 -0
- data/rbi/lithic/models/auth_rules/v2_retrieve_report_response.rbi +149 -0
- data/rbi/lithic/models/card_convert_physical_params.rbi +15 -9
- data/rbi/lithic/models/card_create_params.rbi +15 -9
- data/rbi/lithic/models/card_reissue_params.rbi +15 -9
- data/rbi/lithic/models/card_renew_params.rbi +15 -9
- data/rbi/lithic/models/external_bank_account_create_params.rbi +2 -2
- data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +5 -0
- data/rbi/lithic/models/financial_transaction.rbi +5 -0
- data/rbi/lithic/models/fraud/transaction_report_params.rbi +263 -0
- data/rbi/lithic/models/fraud/transaction_report_response.rbi +309 -0
- data/rbi/lithic/models/fraud/transaction_retrieve_params.rbi +32 -0
- data/rbi/lithic/models/fraud/transaction_retrieve_response.rbi +309 -0
- data/rbi/lithic/models/non_pci_card.rbi +27 -38
- data/rbi/lithic/models/payment.rbi +9 -3
- data/rbi/lithic/models/payment_create_params.rbi +8 -3
- data/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +171 -108
- data/rbi/lithic/models/three_ds/authentication_simulate_params.rbi +6 -0
- data/rbi/lithic/models/three_ds/authentication_simulate_response.rbi +2 -4
- data/rbi/lithic/models/three_ds/challenge_response.rbi +7 -10
- data/rbi/lithic/models/three_ds/challenge_result.rbi +1 -1
- data/rbi/lithic/models/transfer.rbi +2 -0
- data/rbi/lithic/models.rbi +2 -0
- data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +8 -7
- data/rbi/lithic/resources/auth_rules/v2.rbi +37 -4
- data/rbi/lithic/resources/cards.rbi +20 -12
- data/rbi/lithic/resources/fraud/transactions.rbi +86 -0
- data/rbi/lithic/resources/fraud.rbi +15 -0
- data/rbi/lithic/resources/three_ds/authentication.rbi +6 -4
- data/rbi/lithic/resources/three_ds/decisioning.rbi +9 -6
- data/sig/lithic/client.rbs +2 -0
- data/sig/lithic/models/auth_rules/rule_stats.rbs +108 -0
- data/sig/lithic/models/auth_rules/v2/backtest_results.rbs +8 -214
- data/sig/lithic/models/auth_rules/v2_retrieve_report_params.rbs +30 -0
- data/sig/lithic/models/auth_rules/v2_retrieve_report_response.rbs +64 -0
- data/sig/lithic/models/external_bank_account_create_params.rbs +2 -2
- data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +2 -0
- data/sig/lithic/models/financial_transaction.rbs +2 -0
- data/sig/lithic/models/fraud/transaction_report_params.rbs +75 -0
- data/sig/lithic/models/fraud/transaction_report_response.rbs +90 -0
- data/sig/lithic/models/fraud/transaction_retrieve_params.rbs +17 -0
- data/sig/lithic/models/fraud/transaction_retrieve_response.rbs +90 -0
- data/sig/lithic/models/non_pci_card.rbs +4 -19
- data/sig/lithic/models/payment.rbs +8 -3
- data/sig/lithic/models/payment_create_params.rbs +8 -3
- data/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +19 -20
- data/sig/lithic/models/transfer.rbs +2 -0
- data/sig/lithic/models.rbs +2 -0
- data/sig/lithic/resources/auth_rules/v2.rbs +7 -0
- data/sig/lithic/resources/fraud/transactions.rbs +22 -0
- data/sig/lithic/resources/fraud.rbs +9 -0
- metadata +29 -2
@@ -0,0 +1,309 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Lithic
|
4
|
+
module Models
|
5
|
+
module Fraud
|
6
|
+
class TransactionReportResponse < Lithic::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
Lithic::Models::Fraud::TransactionReportResponse,
|
11
|
+
Lithic::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The fraud status of the transaction, string (enum) supporting the following
|
16
|
+
# values:
|
17
|
+
#
|
18
|
+
# - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
|
19
|
+
# hasn’t been confirmed.
|
20
|
+
# - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
|
21
|
+
# immediately be moved into this state, or be graduated into this state from the
|
22
|
+
# `SUSPECTED_FRAUD` state.
|
23
|
+
# - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
|
24
|
+
# transaction may immediately be moved into this state, or be graduated into
|
25
|
+
# this state from the `SUSPECTED_FRAUD` state.
|
26
|
+
# - `NO_REPORTED_FRAUD`: Indicates that no fraud report exists for the
|
27
|
+
# transaction. It is the default state for transactions that have not been
|
28
|
+
# analyzed or associated with any known fraudulent activity.
|
29
|
+
sig do
|
30
|
+
returns(
|
31
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudStatus::TaggedSymbol
|
32
|
+
)
|
33
|
+
end
|
34
|
+
attr_accessor :fraud_status
|
35
|
+
|
36
|
+
# The universally unique identifier (UUID) associated with the transaction being
|
37
|
+
# reported.
|
38
|
+
sig { returns(String) }
|
39
|
+
attr_accessor :transaction_token
|
40
|
+
|
41
|
+
# Provides additional context or details about the fraud report.
|
42
|
+
sig { returns(T.nilable(String)) }
|
43
|
+
attr_reader :comment
|
44
|
+
|
45
|
+
sig { params(comment: String).void }
|
46
|
+
attr_writer :comment
|
47
|
+
|
48
|
+
# Timestamp representing when the fraud report was created.
|
49
|
+
sig { returns(T.nilable(Time)) }
|
50
|
+
attr_reader :created_at
|
51
|
+
|
52
|
+
sig { params(created_at: Time).void }
|
53
|
+
attr_writer :created_at
|
54
|
+
|
55
|
+
# Specifies the type or category of fraud that the transaction is suspected or
|
56
|
+
# confirmed to involve, string (enum) supporting the following values:
|
57
|
+
#
|
58
|
+
# - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
|
59
|
+
# cardholder intentionally misuses financial services for personal gain. This
|
60
|
+
# includes actions such as disputing legitimate transactions to obtain a refund,
|
61
|
+
# abusing return policies, or defaulting on credit obligations without intent to
|
62
|
+
# repay.
|
63
|
+
# - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
|
64
|
+
# unauthorized access to an existing account, modifies account settings, and
|
65
|
+
# carries out fraudulent transactions.
|
66
|
+
# - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
|
67
|
+
# access to card details without taking over the account, such as through
|
68
|
+
# physical card theft, cloning, or online data breaches.
|
69
|
+
# - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
|
70
|
+
# personal information, such as Social Security numbers or addresses, to open
|
71
|
+
# accounts, apply for loans, or conduct financial transactions in someone's
|
72
|
+
# name.
|
73
|
+
# - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
|
74
|
+
# manipulates or coerces a legitimate cardholder into unauthorized transactions,
|
75
|
+
# often through social engineering tactics.
|
76
|
+
sig do
|
77
|
+
returns(
|
78
|
+
T.nilable(
|
79
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudType::TaggedSymbol
|
80
|
+
)
|
81
|
+
)
|
82
|
+
end
|
83
|
+
attr_reader :fraud_type
|
84
|
+
|
85
|
+
sig do
|
86
|
+
params(
|
87
|
+
fraud_type:
|
88
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudType::OrSymbol
|
89
|
+
).void
|
90
|
+
end
|
91
|
+
attr_writer :fraud_type
|
92
|
+
|
93
|
+
# Timestamp representing the last update to the fraud report.
|
94
|
+
sig { returns(T.nilable(Time)) }
|
95
|
+
attr_reader :updated_at
|
96
|
+
|
97
|
+
sig { params(updated_at: Time).void }
|
98
|
+
attr_writer :updated_at
|
99
|
+
|
100
|
+
sig do
|
101
|
+
params(
|
102
|
+
fraud_status:
|
103
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudStatus::OrSymbol,
|
104
|
+
transaction_token: String,
|
105
|
+
comment: String,
|
106
|
+
created_at: Time,
|
107
|
+
fraud_type:
|
108
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudType::OrSymbol,
|
109
|
+
updated_at: Time
|
110
|
+
).returns(T.attached_class)
|
111
|
+
end
|
112
|
+
def self.new(
|
113
|
+
# The fraud status of the transaction, string (enum) supporting the following
|
114
|
+
# values:
|
115
|
+
#
|
116
|
+
# - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
|
117
|
+
# hasn’t been confirmed.
|
118
|
+
# - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
|
119
|
+
# immediately be moved into this state, or be graduated into this state from the
|
120
|
+
# `SUSPECTED_FRAUD` state.
|
121
|
+
# - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
|
122
|
+
# transaction may immediately be moved into this state, or be graduated into
|
123
|
+
# this state from the `SUSPECTED_FRAUD` state.
|
124
|
+
# - `NO_REPORTED_FRAUD`: Indicates that no fraud report exists for the
|
125
|
+
# transaction. It is the default state for transactions that have not been
|
126
|
+
# analyzed or associated with any known fraudulent activity.
|
127
|
+
fraud_status:,
|
128
|
+
# The universally unique identifier (UUID) associated with the transaction being
|
129
|
+
# reported.
|
130
|
+
transaction_token:,
|
131
|
+
# Provides additional context or details about the fraud report.
|
132
|
+
comment: nil,
|
133
|
+
# Timestamp representing when the fraud report was created.
|
134
|
+
created_at: nil,
|
135
|
+
# Specifies the type or category of fraud that the transaction is suspected or
|
136
|
+
# confirmed to involve, string (enum) supporting the following values:
|
137
|
+
#
|
138
|
+
# - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
|
139
|
+
# cardholder intentionally misuses financial services for personal gain. This
|
140
|
+
# includes actions such as disputing legitimate transactions to obtain a refund,
|
141
|
+
# abusing return policies, or defaulting on credit obligations without intent to
|
142
|
+
# repay.
|
143
|
+
# - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
|
144
|
+
# unauthorized access to an existing account, modifies account settings, and
|
145
|
+
# carries out fraudulent transactions.
|
146
|
+
# - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
|
147
|
+
# access to card details without taking over the account, such as through
|
148
|
+
# physical card theft, cloning, or online data breaches.
|
149
|
+
# - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
|
150
|
+
# personal information, such as Social Security numbers or addresses, to open
|
151
|
+
# accounts, apply for loans, or conduct financial transactions in someone's
|
152
|
+
# name.
|
153
|
+
# - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
|
154
|
+
# manipulates or coerces a legitimate cardholder into unauthorized transactions,
|
155
|
+
# often through social engineering tactics.
|
156
|
+
fraud_type: nil,
|
157
|
+
# Timestamp representing the last update to the fraud report.
|
158
|
+
updated_at: nil
|
159
|
+
)
|
160
|
+
end
|
161
|
+
|
162
|
+
sig do
|
163
|
+
override.returns(
|
164
|
+
{
|
165
|
+
fraud_status:
|
166
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudStatus::TaggedSymbol,
|
167
|
+
transaction_token: String,
|
168
|
+
comment: String,
|
169
|
+
created_at: Time,
|
170
|
+
fraud_type:
|
171
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudType::TaggedSymbol,
|
172
|
+
updated_at: Time
|
173
|
+
}
|
174
|
+
)
|
175
|
+
end
|
176
|
+
def to_hash
|
177
|
+
end
|
178
|
+
|
179
|
+
# The fraud status of the transaction, string (enum) supporting the following
|
180
|
+
# values:
|
181
|
+
#
|
182
|
+
# - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
|
183
|
+
# hasn’t been confirmed.
|
184
|
+
# - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
|
185
|
+
# immediately be moved into this state, or be graduated into this state from the
|
186
|
+
# `SUSPECTED_FRAUD` state.
|
187
|
+
# - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
|
188
|
+
# transaction may immediately be moved into this state, or be graduated into
|
189
|
+
# this state from the `SUSPECTED_FRAUD` state.
|
190
|
+
# - `NO_REPORTED_FRAUD`: Indicates that no fraud report exists for the
|
191
|
+
# transaction. It is the default state for transactions that have not been
|
192
|
+
# analyzed or associated with any known fraudulent activity.
|
193
|
+
module FraudStatus
|
194
|
+
extend Lithic::Internal::Type::Enum
|
195
|
+
|
196
|
+
TaggedSymbol =
|
197
|
+
T.type_alias do
|
198
|
+
T.all(
|
199
|
+
Symbol,
|
200
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudStatus
|
201
|
+
)
|
202
|
+
end
|
203
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
204
|
+
|
205
|
+
SUSPECTED_FRAUD =
|
206
|
+
T.let(
|
207
|
+
:SUSPECTED_FRAUD,
|
208
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudStatus::TaggedSymbol
|
209
|
+
)
|
210
|
+
FRAUDULENT =
|
211
|
+
T.let(
|
212
|
+
:FRAUDULENT,
|
213
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudStatus::TaggedSymbol
|
214
|
+
)
|
215
|
+
NOT_FRAUDULENT =
|
216
|
+
T.let(
|
217
|
+
:NOT_FRAUDULENT,
|
218
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudStatus::TaggedSymbol
|
219
|
+
)
|
220
|
+
NO_REPORTED_FRAUD =
|
221
|
+
T.let(
|
222
|
+
:NO_REPORTED_FRAUD,
|
223
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudStatus::TaggedSymbol
|
224
|
+
)
|
225
|
+
|
226
|
+
sig do
|
227
|
+
override.returns(
|
228
|
+
T::Array[
|
229
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudStatus::TaggedSymbol
|
230
|
+
]
|
231
|
+
)
|
232
|
+
end
|
233
|
+
def self.values
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
# Specifies the type or category of fraud that the transaction is suspected or
|
238
|
+
# confirmed to involve, string (enum) supporting the following values:
|
239
|
+
#
|
240
|
+
# - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
|
241
|
+
# cardholder intentionally misuses financial services for personal gain. This
|
242
|
+
# includes actions such as disputing legitimate transactions to obtain a refund,
|
243
|
+
# abusing return policies, or defaulting on credit obligations without intent to
|
244
|
+
# repay.
|
245
|
+
# - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
|
246
|
+
# unauthorized access to an existing account, modifies account settings, and
|
247
|
+
# carries out fraudulent transactions.
|
248
|
+
# - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
|
249
|
+
# access to card details without taking over the account, such as through
|
250
|
+
# physical card theft, cloning, or online data breaches.
|
251
|
+
# - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
|
252
|
+
# personal information, such as Social Security numbers or addresses, to open
|
253
|
+
# accounts, apply for loans, or conduct financial transactions in someone's
|
254
|
+
# name.
|
255
|
+
# - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
|
256
|
+
# manipulates or coerces a legitimate cardholder into unauthorized transactions,
|
257
|
+
# often through social engineering tactics.
|
258
|
+
module FraudType
|
259
|
+
extend Lithic::Internal::Type::Enum
|
260
|
+
|
261
|
+
TaggedSymbol =
|
262
|
+
T.type_alias do
|
263
|
+
T.all(
|
264
|
+
Symbol,
|
265
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudType
|
266
|
+
)
|
267
|
+
end
|
268
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
269
|
+
|
270
|
+
FIRST_PARTY_FRAUD =
|
271
|
+
T.let(
|
272
|
+
:FIRST_PARTY_FRAUD,
|
273
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudType::TaggedSymbol
|
274
|
+
)
|
275
|
+
ACCOUNT_TAKEOVER =
|
276
|
+
T.let(
|
277
|
+
:ACCOUNT_TAKEOVER,
|
278
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudType::TaggedSymbol
|
279
|
+
)
|
280
|
+
CARD_COMPROMISED =
|
281
|
+
T.let(
|
282
|
+
:CARD_COMPROMISED,
|
283
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudType::TaggedSymbol
|
284
|
+
)
|
285
|
+
IDENTITY_THEFT =
|
286
|
+
T.let(
|
287
|
+
:IDENTITY_THEFT,
|
288
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudType::TaggedSymbol
|
289
|
+
)
|
290
|
+
CARDHOLDER_MANIPULATION =
|
291
|
+
T.let(
|
292
|
+
:CARDHOLDER_MANIPULATION,
|
293
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudType::TaggedSymbol
|
294
|
+
)
|
295
|
+
|
296
|
+
sig do
|
297
|
+
override.returns(
|
298
|
+
T::Array[
|
299
|
+
Lithic::Models::Fraud::TransactionReportResponse::FraudType::TaggedSymbol
|
300
|
+
]
|
301
|
+
)
|
302
|
+
end
|
303
|
+
def self.values
|
304
|
+
end
|
305
|
+
end
|
306
|
+
end
|
307
|
+
end
|
308
|
+
end
|
309
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Lithic
|
4
|
+
module Models
|
5
|
+
module Fraud
|
6
|
+
class TransactionRetrieveParams < Lithic::Internal::Type::BaseModel
|
7
|
+
extend Lithic::Internal::Type::RequestParameters::Converter
|
8
|
+
include Lithic::Internal::Type::RequestParameters
|
9
|
+
|
10
|
+
OrHash =
|
11
|
+
T.type_alias do
|
12
|
+
T.any(
|
13
|
+
Lithic::Fraud::TransactionRetrieveParams,
|
14
|
+
Lithic::Internal::AnyHash
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
sig do
|
19
|
+
params(request_options: Lithic::RequestOptions::OrHash).returns(
|
20
|
+
T.attached_class
|
21
|
+
)
|
22
|
+
end
|
23
|
+
def self.new(request_options: {})
|
24
|
+
end
|
25
|
+
|
26
|
+
sig { override.returns({ request_options: Lithic::RequestOptions }) }
|
27
|
+
def to_hash
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,309 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Lithic
|
4
|
+
module Models
|
5
|
+
module Fraud
|
6
|
+
class TransactionRetrieveResponse < Lithic::Internal::Type::BaseModel
|
7
|
+
OrHash =
|
8
|
+
T.type_alias do
|
9
|
+
T.any(
|
10
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse,
|
11
|
+
Lithic::Internal::AnyHash
|
12
|
+
)
|
13
|
+
end
|
14
|
+
|
15
|
+
# The fraud status of the transaction, string (enum) supporting the following
|
16
|
+
# values:
|
17
|
+
#
|
18
|
+
# - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
|
19
|
+
# hasn’t been confirmed.
|
20
|
+
# - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
|
21
|
+
# immediately be moved into this state, or be graduated into this state from the
|
22
|
+
# `SUSPECTED_FRAUD` state.
|
23
|
+
# - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
|
24
|
+
# transaction may immediately be moved into this state, or be graduated into
|
25
|
+
# this state from the `SUSPECTED_FRAUD` state.
|
26
|
+
# - `NO_REPORTED_FRAUD`: Indicates that no fraud report exists for the
|
27
|
+
# transaction. It is the default state for transactions that have not been
|
28
|
+
# analyzed or associated with any known fraudulent activity.
|
29
|
+
sig do
|
30
|
+
returns(
|
31
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus::TaggedSymbol
|
32
|
+
)
|
33
|
+
end
|
34
|
+
attr_accessor :fraud_status
|
35
|
+
|
36
|
+
# The universally unique identifier (UUID) associated with the transaction being
|
37
|
+
# reported.
|
38
|
+
sig { returns(String) }
|
39
|
+
attr_accessor :transaction_token
|
40
|
+
|
41
|
+
# Provides additional context or details about the fraud report.
|
42
|
+
sig { returns(T.nilable(String)) }
|
43
|
+
attr_reader :comment
|
44
|
+
|
45
|
+
sig { params(comment: String).void }
|
46
|
+
attr_writer :comment
|
47
|
+
|
48
|
+
# Timestamp representing when the fraud report was created.
|
49
|
+
sig { returns(T.nilable(Time)) }
|
50
|
+
attr_reader :created_at
|
51
|
+
|
52
|
+
sig { params(created_at: Time).void }
|
53
|
+
attr_writer :created_at
|
54
|
+
|
55
|
+
# Specifies the type or category of fraud that the transaction is suspected or
|
56
|
+
# confirmed to involve, string (enum) supporting the following values:
|
57
|
+
#
|
58
|
+
# - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
|
59
|
+
# cardholder intentionally misuses financial services for personal gain. This
|
60
|
+
# includes actions such as disputing legitimate transactions to obtain a refund,
|
61
|
+
# abusing return policies, or defaulting on credit obligations without intent to
|
62
|
+
# repay.
|
63
|
+
# - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
|
64
|
+
# unauthorized access to an existing account, modifies account settings, and
|
65
|
+
# carries out fraudulent transactions.
|
66
|
+
# - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
|
67
|
+
# access to card details without taking over the account, such as through
|
68
|
+
# physical card theft, cloning, or online data breaches.
|
69
|
+
# - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
|
70
|
+
# personal information, such as Social Security numbers or addresses, to open
|
71
|
+
# accounts, apply for loans, or conduct financial transactions in someone's
|
72
|
+
# name.
|
73
|
+
# - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
|
74
|
+
# manipulates or coerces a legitimate cardholder into unauthorized transactions,
|
75
|
+
# often through social engineering tactics.
|
76
|
+
sig do
|
77
|
+
returns(
|
78
|
+
T.nilable(
|
79
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::TaggedSymbol
|
80
|
+
)
|
81
|
+
)
|
82
|
+
end
|
83
|
+
attr_reader :fraud_type
|
84
|
+
|
85
|
+
sig do
|
86
|
+
params(
|
87
|
+
fraud_type:
|
88
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::OrSymbol
|
89
|
+
).void
|
90
|
+
end
|
91
|
+
attr_writer :fraud_type
|
92
|
+
|
93
|
+
# Timestamp representing the last update to the fraud report.
|
94
|
+
sig { returns(T.nilable(Time)) }
|
95
|
+
attr_reader :updated_at
|
96
|
+
|
97
|
+
sig { params(updated_at: Time).void }
|
98
|
+
attr_writer :updated_at
|
99
|
+
|
100
|
+
sig do
|
101
|
+
params(
|
102
|
+
fraud_status:
|
103
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus::OrSymbol,
|
104
|
+
transaction_token: String,
|
105
|
+
comment: String,
|
106
|
+
created_at: Time,
|
107
|
+
fraud_type:
|
108
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::OrSymbol,
|
109
|
+
updated_at: Time
|
110
|
+
).returns(T.attached_class)
|
111
|
+
end
|
112
|
+
def self.new(
|
113
|
+
# The fraud status of the transaction, string (enum) supporting the following
|
114
|
+
# values:
|
115
|
+
#
|
116
|
+
# - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
|
117
|
+
# hasn’t been confirmed.
|
118
|
+
# - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
|
119
|
+
# immediately be moved into this state, or be graduated into this state from the
|
120
|
+
# `SUSPECTED_FRAUD` state.
|
121
|
+
# - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
|
122
|
+
# transaction may immediately be moved into this state, or be graduated into
|
123
|
+
# this state from the `SUSPECTED_FRAUD` state.
|
124
|
+
# - `NO_REPORTED_FRAUD`: Indicates that no fraud report exists for the
|
125
|
+
# transaction. It is the default state for transactions that have not been
|
126
|
+
# analyzed or associated with any known fraudulent activity.
|
127
|
+
fraud_status:,
|
128
|
+
# The universally unique identifier (UUID) associated with the transaction being
|
129
|
+
# reported.
|
130
|
+
transaction_token:,
|
131
|
+
# Provides additional context or details about the fraud report.
|
132
|
+
comment: nil,
|
133
|
+
# Timestamp representing when the fraud report was created.
|
134
|
+
created_at: nil,
|
135
|
+
# Specifies the type or category of fraud that the transaction is suspected or
|
136
|
+
# confirmed to involve, string (enum) supporting the following values:
|
137
|
+
#
|
138
|
+
# - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
|
139
|
+
# cardholder intentionally misuses financial services for personal gain. This
|
140
|
+
# includes actions such as disputing legitimate transactions to obtain a refund,
|
141
|
+
# abusing return policies, or defaulting on credit obligations without intent to
|
142
|
+
# repay.
|
143
|
+
# - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
|
144
|
+
# unauthorized access to an existing account, modifies account settings, and
|
145
|
+
# carries out fraudulent transactions.
|
146
|
+
# - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
|
147
|
+
# access to card details without taking over the account, such as through
|
148
|
+
# physical card theft, cloning, or online data breaches.
|
149
|
+
# - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
|
150
|
+
# personal information, such as Social Security numbers or addresses, to open
|
151
|
+
# accounts, apply for loans, or conduct financial transactions in someone's
|
152
|
+
# name.
|
153
|
+
# - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
|
154
|
+
# manipulates or coerces a legitimate cardholder into unauthorized transactions,
|
155
|
+
# often through social engineering tactics.
|
156
|
+
fraud_type: nil,
|
157
|
+
# Timestamp representing the last update to the fraud report.
|
158
|
+
updated_at: nil
|
159
|
+
)
|
160
|
+
end
|
161
|
+
|
162
|
+
sig do
|
163
|
+
override.returns(
|
164
|
+
{
|
165
|
+
fraud_status:
|
166
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus::TaggedSymbol,
|
167
|
+
transaction_token: String,
|
168
|
+
comment: String,
|
169
|
+
created_at: Time,
|
170
|
+
fraud_type:
|
171
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::TaggedSymbol,
|
172
|
+
updated_at: Time
|
173
|
+
}
|
174
|
+
)
|
175
|
+
end
|
176
|
+
def to_hash
|
177
|
+
end
|
178
|
+
|
179
|
+
# The fraud status of the transaction, string (enum) supporting the following
|
180
|
+
# values:
|
181
|
+
#
|
182
|
+
# - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
|
183
|
+
# hasn’t been confirmed.
|
184
|
+
# - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
|
185
|
+
# immediately be moved into this state, or be graduated into this state from the
|
186
|
+
# `SUSPECTED_FRAUD` state.
|
187
|
+
# - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
|
188
|
+
# transaction may immediately be moved into this state, or be graduated into
|
189
|
+
# this state from the `SUSPECTED_FRAUD` state.
|
190
|
+
# - `NO_REPORTED_FRAUD`: Indicates that no fraud report exists for the
|
191
|
+
# transaction. It is the default state for transactions that have not been
|
192
|
+
# analyzed or associated with any known fraudulent activity.
|
193
|
+
module FraudStatus
|
194
|
+
extend Lithic::Internal::Type::Enum
|
195
|
+
|
196
|
+
TaggedSymbol =
|
197
|
+
T.type_alias do
|
198
|
+
T.all(
|
199
|
+
Symbol,
|
200
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus
|
201
|
+
)
|
202
|
+
end
|
203
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
204
|
+
|
205
|
+
SUSPECTED_FRAUD =
|
206
|
+
T.let(
|
207
|
+
:SUSPECTED_FRAUD,
|
208
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus::TaggedSymbol
|
209
|
+
)
|
210
|
+
FRAUDULENT =
|
211
|
+
T.let(
|
212
|
+
:FRAUDULENT,
|
213
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus::TaggedSymbol
|
214
|
+
)
|
215
|
+
NOT_FRAUDULENT =
|
216
|
+
T.let(
|
217
|
+
:NOT_FRAUDULENT,
|
218
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus::TaggedSymbol
|
219
|
+
)
|
220
|
+
NO_REPORTED_FRAUD =
|
221
|
+
T.let(
|
222
|
+
:NO_REPORTED_FRAUD,
|
223
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus::TaggedSymbol
|
224
|
+
)
|
225
|
+
|
226
|
+
sig do
|
227
|
+
override.returns(
|
228
|
+
T::Array[
|
229
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus::TaggedSymbol
|
230
|
+
]
|
231
|
+
)
|
232
|
+
end
|
233
|
+
def self.values
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
# Specifies the type or category of fraud that the transaction is suspected or
|
238
|
+
# confirmed to involve, string (enum) supporting the following values:
|
239
|
+
#
|
240
|
+
# - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
|
241
|
+
# cardholder intentionally misuses financial services for personal gain. This
|
242
|
+
# includes actions such as disputing legitimate transactions to obtain a refund,
|
243
|
+
# abusing return policies, or defaulting on credit obligations without intent to
|
244
|
+
# repay.
|
245
|
+
# - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
|
246
|
+
# unauthorized access to an existing account, modifies account settings, and
|
247
|
+
# carries out fraudulent transactions.
|
248
|
+
# - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
|
249
|
+
# access to card details without taking over the account, such as through
|
250
|
+
# physical card theft, cloning, or online data breaches.
|
251
|
+
# - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
|
252
|
+
# personal information, such as Social Security numbers or addresses, to open
|
253
|
+
# accounts, apply for loans, or conduct financial transactions in someone's
|
254
|
+
# name.
|
255
|
+
# - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
|
256
|
+
# manipulates or coerces a legitimate cardholder into unauthorized transactions,
|
257
|
+
# often through social engineering tactics.
|
258
|
+
module FraudType
|
259
|
+
extend Lithic::Internal::Type::Enum
|
260
|
+
|
261
|
+
TaggedSymbol =
|
262
|
+
T.type_alias do
|
263
|
+
T.all(
|
264
|
+
Symbol,
|
265
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType
|
266
|
+
)
|
267
|
+
end
|
268
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
269
|
+
|
270
|
+
FIRST_PARTY_FRAUD =
|
271
|
+
T.let(
|
272
|
+
:FIRST_PARTY_FRAUD,
|
273
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::TaggedSymbol
|
274
|
+
)
|
275
|
+
ACCOUNT_TAKEOVER =
|
276
|
+
T.let(
|
277
|
+
:ACCOUNT_TAKEOVER,
|
278
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::TaggedSymbol
|
279
|
+
)
|
280
|
+
CARD_COMPROMISED =
|
281
|
+
T.let(
|
282
|
+
:CARD_COMPROMISED,
|
283
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::TaggedSymbol
|
284
|
+
)
|
285
|
+
IDENTITY_THEFT =
|
286
|
+
T.let(
|
287
|
+
:IDENTITY_THEFT,
|
288
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::TaggedSymbol
|
289
|
+
)
|
290
|
+
CARDHOLDER_MANIPULATION =
|
291
|
+
T.let(
|
292
|
+
:CARDHOLDER_MANIPULATION,
|
293
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::TaggedSymbol
|
294
|
+
)
|
295
|
+
|
296
|
+
sig do
|
297
|
+
override.returns(
|
298
|
+
T::Array[
|
299
|
+
Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType::TaggedSymbol
|
300
|
+
]
|
301
|
+
)
|
302
|
+
end
|
303
|
+
def self.values
|
304
|
+
end
|
305
|
+
end
|
306
|
+
end
|
307
|
+
end
|
308
|
+
end
|
309
|
+
end
|