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.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/models/auth_rules/rule_stats.rb +112 -0
  6. data/lib/lithic/models/auth_rules/v2/backtest_results.rb +6 -238
  7. data/lib/lithic/models/auth_rules/v2_retrieve_report_params.rb +32 -0
  8. data/lib/lithic/models/auth_rules/v2_retrieve_report_response.rb +71 -0
  9. data/lib/lithic/models/card_convert_physical_params.rb +10 -6
  10. data/lib/lithic/models/card_create_params.rb +10 -6
  11. data/lib/lithic/models/card_reissue_params.rb +10 -6
  12. data/lib/lithic/models/card_renew_params.rb +10 -6
  13. data/lib/lithic/models/external_bank_account_create_params.rb +1 -1
  14. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +1 -0
  15. data/lib/lithic/models/financial_transaction.rb +1 -0
  16. data/lib/lithic/models/fraud/transaction_report_params.rb +130 -0
  17. data/lib/lithic/models/fraud/transaction_report_response.rb +160 -0
  18. data/lib/lithic/models/fraud/transaction_retrieve_params.rb +16 -0
  19. data/lib/lithic/models/fraud/transaction_retrieve_response.rb +160 -0
  20. data/lib/lithic/models/non_pci_card.rb +16 -21
  21. data/lib/lithic/models/payment.rb +7 -1
  22. data/lib/lithic/models/payment_create_params.rb +7 -1
  23. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +111 -79
  24. data/lib/lithic/models/three_ds/authentication_simulate_params.rb +8 -2
  25. data/lib/lithic/models/three_ds/authentication_simulate_response.rb +2 -6
  26. data/lib/lithic/models/three_ds/challenge_response.rb +7 -7
  27. data/lib/lithic/models/three_ds/challenge_result.rb +1 -1
  28. data/lib/lithic/models/transfer.rb +1 -0
  29. data/lib/lithic/models.rb +2 -0
  30. data/lib/lithic/resources/auth_rules/v2/backtests.rb +8 -7
  31. data/lib/lithic/resources/auth_rules/v2.rb +45 -4
  32. data/lib/lithic/resources/fraud/transactions.rb +69 -0
  33. data/lib/lithic/resources/fraud.rb +18 -0
  34. data/lib/lithic/resources/three_ds/authentication.rb +6 -6
  35. data/lib/lithic/resources/three_ds/decisioning.rb +8 -3
  36. data/lib/lithic/version.rb +1 -1
  37. data/lib/lithic.rb +9 -0
  38. data/rbi/lithic/client.rbi +3 -0
  39. data/rbi/lithic/models/auth_rules/rule_stats.rbi +229 -0
  40. data/rbi/lithic/models/auth_rules/v2/backtest_results.rbi +8 -523
  41. data/rbi/lithic/models/auth_rules/v2_retrieve_report_params.rbi +56 -0
  42. data/rbi/lithic/models/auth_rules/v2_retrieve_report_response.rbi +149 -0
  43. data/rbi/lithic/models/card_convert_physical_params.rbi +15 -9
  44. data/rbi/lithic/models/card_create_params.rbi +15 -9
  45. data/rbi/lithic/models/card_reissue_params.rbi +15 -9
  46. data/rbi/lithic/models/card_renew_params.rbi +15 -9
  47. data/rbi/lithic/models/external_bank_account_create_params.rbi +2 -2
  48. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +5 -0
  49. data/rbi/lithic/models/financial_transaction.rbi +5 -0
  50. data/rbi/lithic/models/fraud/transaction_report_params.rbi +263 -0
  51. data/rbi/lithic/models/fraud/transaction_report_response.rbi +309 -0
  52. data/rbi/lithic/models/fraud/transaction_retrieve_params.rbi +32 -0
  53. data/rbi/lithic/models/fraud/transaction_retrieve_response.rbi +309 -0
  54. data/rbi/lithic/models/non_pci_card.rbi +27 -38
  55. data/rbi/lithic/models/payment.rbi +9 -3
  56. data/rbi/lithic/models/payment_create_params.rbi +8 -3
  57. data/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +171 -108
  58. data/rbi/lithic/models/three_ds/authentication_simulate_params.rbi +6 -0
  59. data/rbi/lithic/models/three_ds/authentication_simulate_response.rbi +2 -4
  60. data/rbi/lithic/models/three_ds/challenge_response.rbi +7 -10
  61. data/rbi/lithic/models/three_ds/challenge_result.rbi +1 -1
  62. data/rbi/lithic/models/transfer.rbi +2 -0
  63. data/rbi/lithic/models.rbi +2 -0
  64. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +8 -7
  65. data/rbi/lithic/resources/auth_rules/v2.rbi +37 -4
  66. data/rbi/lithic/resources/cards.rbi +20 -12
  67. data/rbi/lithic/resources/fraud/transactions.rbi +86 -0
  68. data/rbi/lithic/resources/fraud.rbi +15 -0
  69. data/rbi/lithic/resources/three_ds/authentication.rbi +6 -4
  70. data/rbi/lithic/resources/three_ds/decisioning.rbi +9 -6
  71. data/sig/lithic/client.rbs +2 -0
  72. data/sig/lithic/models/auth_rules/rule_stats.rbs +108 -0
  73. data/sig/lithic/models/auth_rules/v2/backtest_results.rbs +8 -214
  74. data/sig/lithic/models/auth_rules/v2_retrieve_report_params.rbs +30 -0
  75. data/sig/lithic/models/auth_rules/v2_retrieve_report_response.rbs +64 -0
  76. data/sig/lithic/models/external_bank_account_create_params.rbs +2 -2
  77. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +2 -0
  78. data/sig/lithic/models/financial_transaction.rbs +2 -0
  79. data/sig/lithic/models/fraud/transaction_report_params.rbs +75 -0
  80. data/sig/lithic/models/fraud/transaction_report_response.rbs +90 -0
  81. data/sig/lithic/models/fraud/transaction_retrieve_params.rbs +17 -0
  82. data/sig/lithic/models/fraud/transaction_retrieve_response.rbs +90 -0
  83. data/sig/lithic/models/non_pci_card.rbs +4 -19
  84. data/sig/lithic/models/payment.rbs +8 -3
  85. data/sig/lithic/models/payment_create_params.rbs +8 -3
  86. data/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +19 -20
  87. data/sig/lithic/models/transfer.rbs +2 -0
  88. data/sig/lithic/models.rbs +2 -0
  89. data/sig/lithic/resources/auth_rules/v2.rbs +7 -0
  90. data/sig/lithic/resources/fraud/transactions.rbs +22 -0
  91. data/sig/lithic/resources/fraud.rbs +9 -0
  92. metadata +29 -2
@@ -0,0 +1,149 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module AuthRules
6
+ class V2RetrieveReportResponse < Lithic::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Lithic::Models::AuthRules::V2RetrieveReportResponse,
11
+ Lithic::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Auth Rule Token
16
+ sig { returns(String) }
17
+ attr_accessor :auth_rule_token
18
+
19
+ # The start date (UTC) of the report.
20
+ sig { returns(Date) }
21
+ attr_accessor :begin_
22
+
23
+ # Daily evaluation statistics for the Auth Rule.
24
+ sig do
25
+ returns(
26
+ T::Array[
27
+ Lithic::Models::AuthRules::V2RetrieveReportResponse::DailyStatistic
28
+ ]
29
+ )
30
+ end
31
+ attr_accessor :daily_statistics
32
+
33
+ # The end date (UTC) of the report.
34
+ sig { returns(Date) }
35
+ attr_accessor :end_
36
+
37
+ sig do
38
+ params(
39
+ auth_rule_token: String,
40
+ begin_: Date,
41
+ daily_statistics:
42
+ T::Array[
43
+ Lithic::Models::AuthRules::V2RetrieveReportResponse::DailyStatistic::OrHash
44
+ ],
45
+ end_: Date
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+ # Auth Rule Token
50
+ auth_rule_token:,
51
+ # The start date (UTC) of the report.
52
+ begin_:,
53
+ # Daily evaluation statistics for the Auth Rule.
54
+ daily_statistics:,
55
+ # The end date (UTC) of the report.
56
+ end_:
57
+ )
58
+ end
59
+
60
+ sig do
61
+ override.returns(
62
+ {
63
+ auth_rule_token: String,
64
+ begin_: Date,
65
+ daily_statistics:
66
+ T::Array[
67
+ Lithic::Models::AuthRules::V2RetrieveReportResponse::DailyStatistic
68
+ ],
69
+ end_: Date
70
+ }
71
+ )
72
+ end
73
+ def to_hash
74
+ end
75
+
76
+ class DailyStatistic < Lithic::Internal::Type::BaseModel
77
+ OrHash =
78
+ T.type_alias do
79
+ T.any(
80
+ Lithic::Models::AuthRules::V2RetrieveReportResponse::DailyStatistic,
81
+ Lithic::Internal::AnyHash
82
+ )
83
+ end
84
+
85
+ # Detailed statistics for the current version of the rule.
86
+ sig { returns(T.nilable(Lithic::AuthRules::RuleStats)) }
87
+ attr_reader :current_version_statistics
88
+
89
+ sig do
90
+ params(
91
+ current_version_statistics:
92
+ T.nilable(Lithic::AuthRules::RuleStats::OrHash)
93
+ ).void
94
+ end
95
+ attr_writer :current_version_statistics
96
+
97
+ # The date (UTC) for which the statistics are reported.
98
+ sig { returns(Date) }
99
+ attr_accessor :date
100
+
101
+ # Detailed statistics for the draft version of the rule.
102
+ sig { returns(T.nilable(Lithic::AuthRules::RuleStats)) }
103
+ attr_reader :draft_version_statistics
104
+
105
+ sig do
106
+ params(
107
+ draft_version_statistics:
108
+ T.nilable(Lithic::AuthRules::RuleStats::OrHash)
109
+ ).void
110
+ end
111
+ attr_writer :draft_version_statistics
112
+
113
+ sig do
114
+ params(
115
+ current_version_statistics:
116
+ T.nilable(Lithic::AuthRules::RuleStats::OrHash),
117
+ date: Date,
118
+ draft_version_statistics:
119
+ T.nilable(Lithic::AuthRules::RuleStats::OrHash)
120
+ ).returns(T.attached_class)
121
+ end
122
+ def self.new(
123
+ # Detailed statistics for the current version of the rule.
124
+ current_version_statistics:,
125
+ # The date (UTC) for which the statistics are reported.
126
+ date:,
127
+ # Detailed statistics for the draft version of the rule.
128
+ draft_version_statistics:
129
+ )
130
+ end
131
+
132
+ sig do
133
+ override.returns(
134
+ {
135
+ current_version_statistics:
136
+ T.nilable(Lithic::AuthRules::RuleStats),
137
+ date: Date,
138
+ draft_version_statistics:
139
+ T.nilable(Lithic::AuthRules::RuleStats)
140
+ }
141
+ )
142
+ end
143
+ def to_hash
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
149
+ end
@@ -42,10 +42,12 @@ module Lithic
42
42
  # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
43
43
  # with tracking
44
44
  # - `PRIORITY` - USPS Priority, 1-3 day shipping, with tracking
45
- # - `EXPRESS` - FedEx Express, 3-day shipping, with tracking
46
- # - `2_DAY` - FedEx 2-day shipping, with tracking
47
- # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
45
+ # - `EXPRESS` - FedEx or UPS depending on card manufacturer, Express, 3-day
46
+ # shipping, with tracking
47
+ # - `2_DAY` - FedEx or UPS depending on card manufacturer, 2-day shipping, with
48
48
  # tracking
49
+ # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight
50
+ # or similar international option, with tracking
49
51
  sig do
50
52
  returns(
51
53
  T.nilable(Lithic::CardConvertPhysicalParams::ShippingMethod::OrSymbol)
@@ -88,10 +90,12 @@ module Lithic
88
90
  # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
89
91
  # with tracking
90
92
  # - `PRIORITY` - USPS Priority, 1-3 day shipping, with tracking
91
- # - `EXPRESS` - FedEx Express, 3-day shipping, with tracking
92
- # - `2_DAY` - FedEx 2-day shipping, with tracking
93
- # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
93
+ # - `EXPRESS` - FedEx or UPS depending on card manufacturer, Express, 3-day
94
+ # shipping, with tracking
95
+ # - `2_DAY` - FedEx or UPS depending on card manufacturer, 2-day shipping, with
94
96
  # tracking
97
+ # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight
98
+ # or similar international option, with tracking
95
99
  shipping_method: nil,
96
100
  request_options: {}
97
101
  )
@@ -120,10 +124,12 @@ module Lithic
120
124
  # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
121
125
  # with tracking
122
126
  # - `PRIORITY` - USPS Priority, 1-3 day shipping, with tracking
123
- # - `EXPRESS` - FedEx Express, 3-day shipping, with tracking
124
- # - `2_DAY` - FedEx 2-day shipping, with tracking
125
- # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
127
+ # - `EXPRESS` - FedEx or UPS depending on card manufacturer, Express, 3-day
128
+ # shipping, with tracking
129
+ # - `2_DAY` - FedEx or UPS depending on card manufacturer, 2-day shipping, with
126
130
  # tracking
131
+ # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight
132
+ # or similar international option, with tracking
127
133
  module ShippingMethod
128
134
  extend Lithic::Internal::Type::Enum
129
135
 
@@ -143,10 +143,12 @@ module Lithic
143
143
  # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
144
144
  # with tracking
145
145
  # - `PRIORITY` - USPS Priority, 1-3 day shipping, with tracking
146
- # - `EXPRESS` - FedEx Express, 3-day shipping, with tracking
147
- # - `2_DAY` - FedEx 2-day shipping, with tracking
148
- # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
146
+ # - `EXPRESS` - FedEx or UPS depending on card manufacturer, Express, 3-day
147
+ # shipping, with tracking
148
+ # - `2_DAY` - FedEx or UPS depending on card manufacturer, 2-day shipping, with
149
149
  # tracking
150
+ # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight
151
+ # or similar international option, with tracking
150
152
  sig do
151
153
  returns(T.nilable(Lithic::CardCreateParams::ShippingMethod::OrSymbol))
152
154
  end
@@ -295,10 +297,12 @@ module Lithic
295
297
  # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
296
298
  # with tracking
297
299
  # - `PRIORITY` - USPS Priority, 1-3 day shipping, with tracking
298
- # - `EXPRESS` - FedEx Express, 3-day shipping, with tracking
299
- # - `2_DAY` - FedEx 2-day shipping, with tracking
300
- # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
300
+ # - `EXPRESS` - FedEx or UPS depending on card manufacturer, Express, 3-day
301
+ # shipping, with tracking
302
+ # - `2_DAY` - FedEx or UPS depending on card manufacturer, 2-day shipping, with
301
303
  # tracking
304
+ # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight
305
+ # or similar international option, with tracking
302
306
  shipping_method: nil,
303
307
  # Amount (in cents) to limit approved authorizations (e.g. 100000 would be a
304
308
  # $1,000 limit). Transaction requests above the spend limit will be declined. Note
@@ -409,10 +413,12 @@ module Lithic
409
413
  # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
410
414
  # with tracking
411
415
  # - `PRIORITY` - USPS Priority, 1-3 day shipping, with tracking
412
- # - `EXPRESS` - FedEx Express, 3-day shipping, with tracking
413
- # - `2_DAY` - FedEx 2-day shipping, with tracking
414
- # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
416
+ # - `EXPRESS` - FedEx or UPS depending on card manufacturer, Express, 3-day
417
+ # shipping, with tracking
418
+ # - `2_DAY` - FedEx or UPS depending on card manufacturer, 2-day shipping, with
415
419
  # tracking
420
+ # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight
421
+ # or similar international option, with tracking
416
422
  module ShippingMethod
417
423
  extend Lithic::Internal::Type::Enum
418
424
 
@@ -42,10 +42,12 @@ module Lithic
42
42
  # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
43
43
  # with tracking
44
44
  # - `PRIORITY` - USPS Priority, 1-3 day shipping, with tracking
45
- # - `EXPRESS` - FedEx Express, 3-day shipping, with tracking
46
- # - `2_DAY` - FedEx 2-day shipping, with tracking
47
- # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
45
+ # - `EXPRESS` - FedEx or UPS depending on card manufacturer, Express, 3-day
46
+ # shipping, with tracking
47
+ # - `2_DAY` - FedEx or UPS depending on card manufacturer, 2-day shipping, with
48
48
  # tracking
49
+ # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight
50
+ # or similar international option, with tracking
49
51
  sig do
50
52
  returns(T.nilable(Lithic::CardReissueParams::ShippingMethod::OrSymbol))
51
53
  end
@@ -84,10 +86,12 @@ module Lithic
84
86
  # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
85
87
  # with tracking
86
88
  # - `PRIORITY` - USPS Priority, 1-3 day shipping, with tracking
87
- # - `EXPRESS` - FedEx Express, 3-day shipping, with tracking
88
- # - `2_DAY` - FedEx 2-day shipping, with tracking
89
- # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
89
+ # - `EXPRESS` - FedEx or UPS depending on card manufacturer, Express, 3-day
90
+ # shipping, with tracking
91
+ # - `2_DAY` - FedEx or UPS depending on card manufacturer, 2-day shipping, with
90
92
  # tracking
93
+ # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight
94
+ # or similar international option, with tracking
91
95
  shipping_method: nil,
92
96
  request_options: {}
93
97
  )
@@ -116,10 +120,12 @@ module Lithic
116
120
  # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
117
121
  # with tracking
118
122
  # - `PRIORITY` - USPS Priority, 1-3 day shipping, with tracking
119
- # - `EXPRESS` - FedEx Express, 3-day shipping, with tracking
120
- # - `2_DAY` - FedEx 2-day shipping, with tracking
121
- # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
123
+ # - `EXPRESS` - FedEx or UPS depending on card manufacturer, Express, 3-day
124
+ # shipping, with tracking
125
+ # - `2_DAY` - FedEx or UPS depending on card manufacturer, 2-day shipping, with
122
126
  # tracking
127
+ # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight
128
+ # or similar international option, with tracking
123
129
  module ShippingMethod
124
130
  extend Lithic::Internal::Type::Enum
125
131
 
@@ -58,10 +58,12 @@ module Lithic
58
58
  # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
59
59
  # with tracking
60
60
  # - `PRIORITY` - USPS Priority, 1-3 day shipping, with tracking
61
- # - `EXPRESS` - FedEx Express, 3-day shipping, with tracking
62
- # - `2_DAY` - FedEx 2-day shipping, with tracking
63
- # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
61
+ # - `EXPRESS` - FedEx or UPS depending on card manufacturer, Express, 3-day
62
+ # shipping, with tracking
63
+ # - `2_DAY` - FedEx or UPS depending on card manufacturer, 2-day shipping, with
64
64
  # tracking
65
+ # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight
66
+ # or similar international option, with tracking
65
67
  sig do
66
68
  returns(T.nilable(Lithic::CardRenewParams::ShippingMethod::OrSymbol))
67
69
  end
@@ -108,10 +110,12 @@ module Lithic
108
110
  # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
109
111
  # with tracking
110
112
  # - `PRIORITY` - USPS Priority, 1-3 day shipping, with tracking
111
- # - `EXPRESS` - FedEx Express, 3-day shipping, with tracking
112
- # - `2_DAY` - FedEx 2-day shipping, with tracking
113
- # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
113
+ # - `EXPRESS` - FedEx or UPS depending on card manufacturer, Express, 3-day
114
+ # shipping, with tracking
115
+ # - `2_DAY` - FedEx or UPS depending on card manufacturer, 2-day shipping, with
114
116
  # tracking
117
+ # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight
118
+ # or similar international option, with tracking
115
119
  shipping_method: nil,
116
120
  request_options: {}
117
121
  )
@@ -141,10 +145,12 @@ module Lithic
141
145
  # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
142
146
  # with tracking
143
147
  # - `PRIORITY` - USPS Priority, 1-3 day shipping, with tracking
144
- # - `EXPRESS` - FedEx Express, 3-day shipping, with tracking
145
- # - `2_DAY` - FedEx 2-day shipping, with tracking
146
- # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
148
+ # - `EXPRESS` - FedEx or UPS depending on card manufacturer, Express, 3-day
149
+ # shipping, with tracking
150
+ # - `2_DAY` - FedEx or UPS depending on card manufacturer, 2-day shipping, with
147
151
  # tracking
152
+ # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight
153
+ # or similar international option, with tracking
148
154
  module ShippingMethod
149
155
  extend Lithic::Internal::Type::Enum
150
156
 
@@ -257,9 +257,9 @@ module Lithic
257
257
  end
258
258
  OrSymbol = T.type_alias { T.any(Symbol, String) }
259
259
 
260
- EXTERNALLY_VERIFIED =
260
+ UNVERIFIED =
261
261
  T.let(
262
- :EXTERNALLY_VERIFIED,
262
+ :UNVERIFIED,
263
263
  Lithic::ExternalBankAccountCreateParams::VerificationMethod::TaggedSymbol
264
264
  )
265
265
 
@@ -400,6 +400,11 @@ module Lithic
400
400
  :CLEARING,
401
401
  Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol
402
402
  )
403
+ COLLECTION =
404
+ T.let(
405
+ :COLLECTION,
406
+ Lithic::FinancialAccounts::Statements::StatementLineItems::Data::EventType::TaggedSymbol
407
+ )
403
408
  CORRECTION_CREDIT =
404
409
  T.let(
405
410
  :CORRECTION_CREDIT,
@@ -433,6 +433,11 @@ module Lithic
433
433
  :CLEARING,
434
434
  Lithic::FinancialTransaction::Event::Type::TaggedSymbol
435
435
  )
436
+ COLLECTION =
437
+ T.let(
438
+ :COLLECTION,
439
+ Lithic::FinancialTransaction::Event::Type::TaggedSymbol
440
+ )
436
441
  CORRECTION_CREDIT =
437
442
  T.let(
438
443
  :CORRECTION_CREDIT,
@@ -0,0 +1,263 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module Fraud
6
+ class TransactionReportParams < 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::TransactionReportParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # The fraud status of the transaction, string (enum) supporting the following
19
+ # values:
20
+ #
21
+ # - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
22
+ # hasn’t been confirmed.
23
+ # - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
24
+ # immediately be moved into this state, or be graduated into this state from the
25
+ # `SUSPECTED_FRAUD` state.
26
+ # - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
27
+ # transaction may immediately be moved into this state, or be graduated into
28
+ # this state from the `SUSPECTED_FRAUD` state.
29
+ sig do
30
+ returns(Lithic::Fraud::TransactionReportParams::FraudStatus::OrSymbol)
31
+ end
32
+ attr_accessor :fraud_status
33
+
34
+ # Optional field providing additional information or context about why the
35
+ # transaction is considered fraudulent.
36
+ sig { returns(T.nilable(String)) }
37
+ attr_reader :comment
38
+
39
+ sig { params(comment: String).void }
40
+ attr_writer :comment
41
+
42
+ # Specifies the type or category of fraud that the transaction is suspected or
43
+ # confirmed to involve, string (enum) supporting the following values:
44
+ #
45
+ # - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
46
+ # cardholder intentionally misuses financial services for personal gain. This
47
+ # includes actions such as disputing legitimate transactions to obtain a refund,
48
+ # abusing return policies, or defaulting on credit obligations without intent to
49
+ # repay.
50
+ # - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
51
+ # unauthorized access to an existing account, modifies account settings, and
52
+ # carries out fraudulent transactions.
53
+ # - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
54
+ # access to card details without taking over the account, such as through
55
+ # physical card theft, cloning, or online data breaches.
56
+ # - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
57
+ # personal information, such as Social Security numbers or addresses, to open
58
+ # accounts, apply for loans, or conduct financial transactions in someone's
59
+ # name.
60
+ # - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
61
+ # manipulates or coerces a legitimate cardholder into unauthorized transactions,
62
+ # often through social engineering tactics.
63
+ sig do
64
+ returns(
65
+ T.nilable(
66
+ Lithic::Fraud::TransactionReportParams::FraudType::OrSymbol
67
+ )
68
+ )
69
+ end
70
+ attr_reader :fraud_type
71
+
72
+ sig do
73
+ params(
74
+ fraud_type:
75
+ Lithic::Fraud::TransactionReportParams::FraudType::OrSymbol
76
+ ).void
77
+ end
78
+ attr_writer :fraud_type
79
+
80
+ sig do
81
+ params(
82
+ fraud_status:
83
+ Lithic::Fraud::TransactionReportParams::FraudStatus::OrSymbol,
84
+ comment: String,
85
+ fraud_type:
86
+ Lithic::Fraud::TransactionReportParams::FraudType::OrSymbol,
87
+ request_options: Lithic::RequestOptions::OrHash
88
+ ).returns(T.attached_class)
89
+ end
90
+ def self.new(
91
+ # The fraud status of the transaction, string (enum) supporting the following
92
+ # values:
93
+ #
94
+ # - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
95
+ # hasn’t been confirmed.
96
+ # - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
97
+ # immediately be moved into this state, or be graduated into this state from the
98
+ # `SUSPECTED_FRAUD` state.
99
+ # - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
100
+ # transaction may immediately be moved into this state, or be graduated into
101
+ # this state from the `SUSPECTED_FRAUD` state.
102
+ fraud_status:,
103
+ # Optional field providing additional information or context about why the
104
+ # transaction is considered fraudulent.
105
+ comment: nil,
106
+ # Specifies the type or category of fraud that the transaction is suspected or
107
+ # confirmed to involve, string (enum) supporting the following values:
108
+ #
109
+ # - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
110
+ # cardholder intentionally misuses financial services for personal gain. This
111
+ # includes actions such as disputing legitimate transactions to obtain a refund,
112
+ # abusing return policies, or defaulting on credit obligations without intent to
113
+ # repay.
114
+ # - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
115
+ # unauthorized access to an existing account, modifies account settings, and
116
+ # carries out fraudulent transactions.
117
+ # - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
118
+ # access to card details without taking over the account, such as through
119
+ # physical card theft, cloning, or online data breaches.
120
+ # - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
121
+ # personal information, such as Social Security numbers or addresses, to open
122
+ # accounts, apply for loans, or conduct financial transactions in someone's
123
+ # name.
124
+ # - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
125
+ # manipulates or coerces a legitimate cardholder into unauthorized transactions,
126
+ # often through social engineering tactics.
127
+ fraud_type: nil,
128
+ request_options: {}
129
+ )
130
+ end
131
+
132
+ sig do
133
+ override.returns(
134
+ {
135
+ fraud_status:
136
+ Lithic::Fraud::TransactionReportParams::FraudStatus::OrSymbol,
137
+ comment: String,
138
+ fraud_type:
139
+ Lithic::Fraud::TransactionReportParams::FraudType::OrSymbol,
140
+ request_options: Lithic::RequestOptions
141
+ }
142
+ )
143
+ end
144
+ def to_hash
145
+ end
146
+
147
+ # The fraud status of the transaction, string (enum) supporting the following
148
+ # values:
149
+ #
150
+ # - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
151
+ # hasn’t been confirmed.
152
+ # - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
153
+ # immediately be moved into this state, or be graduated into this state from the
154
+ # `SUSPECTED_FRAUD` state.
155
+ # - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
156
+ # transaction may immediately be moved into this state, or be graduated into
157
+ # this state from the `SUSPECTED_FRAUD` state.
158
+ module FraudStatus
159
+ extend Lithic::Internal::Type::Enum
160
+
161
+ TaggedSymbol =
162
+ T.type_alias do
163
+ T.all(Symbol, Lithic::Fraud::TransactionReportParams::FraudStatus)
164
+ end
165
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
166
+
167
+ SUSPECTED_FRAUD =
168
+ T.let(
169
+ :SUSPECTED_FRAUD,
170
+ Lithic::Fraud::TransactionReportParams::FraudStatus::TaggedSymbol
171
+ )
172
+ FRAUDULENT =
173
+ T.let(
174
+ :FRAUDULENT,
175
+ Lithic::Fraud::TransactionReportParams::FraudStatus::TaggedSymbol
176
+ )
177
+ NOT_FRAUDULENT =
178
+ T.let(
179
+ :NOT_FRAUDULENT,
180
+ Lithic::Fraud::TransactionReportParams::FraudStatus::TaggedSymbol
181
+ )
182
+
183
+ sig do
184
+ override.returns(
185
+ T::Array[
186
+ Lithic::Fraud::TransactionReportParams::FraudStatus::TaggedSymbol
187
+ ]
188
+ )
189
+ end
190
+ def self.values
191
+ end
192
+ end
193
+
194
+ # Specifies the type or category of fraud that the transaction is suspected or
195
+ # confirmed to involve, string (enum) supporting the following values:
196
+ #
197
+ # - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
198
+ # cardholder intentionally misuses financial services for personal gain. This
199
+ # includes actions such as disputing legitimate transactions to obtain a refund,
200
+ # abusing return policies, or defaulting on credit obligations without intent to
201
+ # repay.
202
+ # - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
203
+ # unauthorized access to an existing account, modifies account settings, and
204
+ # carries out fraudulent transactions.
205
+ # - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
206
+ # access to card details without taking over the account, such as through
207
+ # physical card theft, cloning, or online data breaches.
208
+ # - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
209
+ # personal information, such as Social Security numbers or addresses, to open
210
+ # accounts, apply for loans, or conduct financial transactions in someone's
211
+ # name.
212
+ # - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
213
+ # manipulates or coerces a legitimate cardholder into unauthorized transactions,
214
+ # often through social engineering tactics.
215
+ module FraudType
216
+ extend Lithic::Internal::Type::Enum
217
+
218
+ TaggedSymbol =
219
+ T.type_alias do
220
+ T.all(Symbol, Lithic::Fraud::TransactionReportParams::FraudType)
221
+ end
222
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
223
+
224
+ FIRST_PARTY_FRAUD =
225
+ T.let(
226
+ :FIRST_PARTY_FRAUD,
227
+ Lithic::Fraud::TransactionReportParams::FraudType::TaggedSymbol
228
+ )
229
+ ACCOUNT_TAKEOVER =
230
+ T.let(
231
+ :ACCOUNT_TAKEOVER,
232
+ Lithic::Fraud::TransactionReportParams::FraudType::TaggedSymbol
233
+ )
234
+ CARD_COMPROMISED =
235
+ T.let(
236
+ :CARD_COMPROMISED,
237
+ Lithic::Fraud::TransactionReportParams::FraudType::TaggedSymbol
238
+ )
239
+ IDENTITY_THEFT =
240
+ T.let(
241
+ :IDENTITY_THEFT,
242
+ Lithic::Fraud::TransactionReportParams::FraudType::TaggedSymbol
243
+ )
244
+ CARDHOLDER_MANIPULATION =
245
+ T.let(
246
+ :CARDHOLDER_MANIPULATION,
247
+ Lithic::Fraud::TransactionReportParams::FraudType::TaggedSymbol
248
+ )
249
+
250
+ sig do
251
+ override.returns(
252
+ T::Array[
253
+ Lithic::Fraud::TransactionReportParams::FraudType::TaggedSymbol
254
+ ]
255
+ )
256
+ end
257
+ def self.values
258
+ end
259
+ end
260
+ end
261
+ end
262
+ end
263
+ end