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
@@ -50,10 +50,12 @@ module Lithic
50
50
  # - `STANDARD_WITH_TRACKING` - USPS regular mail or similar international option,
51
51
  # with tracking
52
52
  # - `PRIORITY` - USPS Priority, 1-3 day shipping, with tracking
53
- # - `EXPRESS` - FedEx Express, 3-day shipping, with tracking
54
- # - `2_DAY` - FedEx 2-day shipping, with tracking
55
- # - `EXPEDITED` - FedEx Standard Overnight or similar international option, with
53
+ # - `EXPRESS` - FedEx or UPS depending on card manufacturer, Express, 3-day
54
+ # shipping, with tracking
55
+ # - `2_DAY` - FedEx or UPS depending on card manufacturer, 2-day shipping, with
56
56
  # tracking
57
+ # - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight
58
+ # or similar international option, with tracking
57
59
  #
58
60
  # @return [Symbol, Lithic::Models::CardRenewParams::ShippingMethod, nil]
59
61
  optional :shipping_method, enum: -> { Lithic::CardRenewParams::ShippingMethod }
@@ -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
  module ShippingMethod
92
96
  extend Lithic::Internal::Type::Enum
93
97
 
@@ -174,7 +174,7 @@ module Lithic
174
174
  module VerificationMethod
175
175
  extend Lithic::Internal::Type::Enum
176
176
 
177
- EXTERNALLY_VERIFIED = :EXTERNALLY_VERIFIED
177
+ UNVERIFIED = :UNVERIFIED
178
178
 
179
179
  # @!method self.values
180
180
  # @return [Array<Symbol>]
@@ -174,6 +174,7 @@ module Lithic
174
174
  CASH_BACK = :CASH_BACK
175
175
  CASH_BACK_REVERSAL = :CASH_BACK_REVERSAL
176
176
  CLEARING = :CLEARING
177
+ COLLECTION = :COLLECTION
177
178
  CORRECTION_CREDIT = :CORRECTION_CREDIT
178
179
  CORRECTION_DEBIT = :CORRECTION_DEBIT
179
180
  CREDIT_AUTHORIZATION = :CREDIT_AUTHORIZATION
@@ -222,6 +222,7 @@ module Lithic
222
222
  CASH_BACK = :CASH_BACK
223
223
  CASH_BACK_REVERSAL = :CASH_BACK_REVERSAL
224
224
  CLEARING = :CLEARING
225
+ COLLECTION = :COLLECTION
225
226
  CORRECTION_CREDIT = :CORRECTION_CREDIT
226
227
  CORRECTION_DEBIT = :CORRECTION_DEBIT
227
228
  CREDIT_AUTHORIZATION = :CREDIT_AUTHORIZATION
@@ -0,0 +1,130 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module Fraud
6
+ # @see Lithic::Resources::Fraud::Transactions#report
7
+ class TransactionReportParams < Lithic::Internal::Type::BaseModel
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!attribute fraud_status
12
+ # The fraud status of the transaction, string (enum) supporting the following
13
+ # values:
14
+ #
15
+ # - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
16
+ # hasn’t been confirmed.
17
+ # - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
18
+ # immediately be moved into this state, or be graduated into this state from the
19
+ # `SUSPECTED_FRAUD` state.
20
+ # - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
21
+ # transaction may immediately be moved into this state, or be graduated into
22
+ # this state from the `SUSPECTED_FRAUD` state.
23
+ #
24
+ # @return [Symbol, Lithic::Models::Fraud::TransactionReportParams::FraudStatus]
25
+ required :fraud_status, enum: -> { Lithic::Fraud::TransactionReportParams::FraudStatus }
26
+
27
+ # @!attribute comment
28
+ # Optional field providing additional information or context about why the
29
+ # transaction is considered fraudulent.
30
+ #
31
+ # @return [String, nil]
32
+ optional :comment, String
33
+
34
+ # @!attribute fraud_type
35
+ # Specifies the type or category of fraud that the transaction is suspected or
36
+ # confirmed to involve, string (enum) supporting the following values:
37
+ #
38
+ # - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
39
+ # cardholder intentionally misuses financial services for personal gain. This
40
+ # includes actions such as disputing legitimate transactions to obtain a refund,
41
+ # abusing return policies, or defaulting on credit obligations without intent to
42
+ # repay.
43
+ # - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
44
+ # unauthorized access to an existing account, modifies account settings, and
45
+ # carries out fraudulent transactions.
46
+ # - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
47
+ # access to card details without taking over the account, such as through
48
+ # physical card theft, cloning, or online data breaches.
49
+ # - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
50
+ # personal information, such as Social Security numbers or addresses, to open
51
+ # accounts, apply for loans, or conduct financial transactions in someone's
52
+ # name.
53
+ # - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
54
+ # manipulates or coerces a legitimate cardholder into unauthorized transactions,
55
+ # often through social engineering tactics.
56
+ #
57
+ # @return [Symbol, Lithic::Models::Fraud::TransactionReportParams::FraudType, nil]
58
+ optional :fraud_type, enum: -> { Lithic::Fraud::TransactionReportParams::FraudType }
59
+
60
+ # @!method initialize(fraud_status:, comment: nil, fraud_type: nil, request_options: {})
61
+ # Some parameter documentations has been truncated, see
62
+ # {Lithic::Models::Fraud::TransactionReportParams} for more details.
63
+ #
64
+ # @param fraud_status [Symbol, Lithic::Models::Fraud::TransactionReportParams::FraudStatus] The fraud status of the transaction, string (enum) supporting the following valu
65
+ #
66
+ # @param comment [String] Optional field providing additional information or context about why the transac
67
+ #
68
+ # @param fraud_type [Symbol, Lithic::Models::Fraud::TransactionReportParams::FraudType] Specifies the type or category of fraud that the transaction is suspected or con
69
+ #
70
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
71
+
72
+ # The fraud status of the transaction, string (enum) supporting the following
73
+ # values:
74
+ #
75
+ # - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
76
+ # hasn’t been confirmed.
77
+ # - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
78
+ # immediately be moved into this state, or be graduated into this state from the
79
+ # `SUSPECTED_FRAUD` state.
80
+ # - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
81
+ # transaction may immediately be moved into this state, or be graduated into
82
+ # this state from the `SUSPECTED_FRAUD` state.
83
+ module FraudStatus
84
+ extend Lithic::Internal::Type::Enum
85
+
86
+ SUSPECTED_FRAUD = :SUSPECTED_FRAUD
87
+ FRAUDULENT = :FRAUDULENT
88
+ NOT_FRAUDULENT = :NOT_FRAUDULENT
89
+
90
+ # @!method self.values
91
+ # @return [Array<Symbol>]
92
+ end
93
+
94
+ # Specifies the type or category of fraud that the transaction is suspected or
95
+ # confirmed to involve, string (enum) supporting the following values:
96
+ #
97
+ # - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
98
+ # cardholder intentionally misuses financial services for personal gain. This
99
+ # includes actions such as disputing legitimate transactions to obtain a refund,
100
+ # abusing return policies, or defaulting on credit obligations without intent to
101
+ # repay.
102
+ # - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
103
+ # unauthorized access to an existing account, modifies account settings, and
104
+ # carries out fraudulent transactions.
105
+ # - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
106
+ # access to card details without taking over the account, such as through
107
+ # physical card theft, cloning, or online data breaches.
108
+ # - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
109
+ # personal information, such as Social Security numbers or addresses, to open
110
+ # accounts, apply for loans, or conduct financial transactions in someone's
111
+ # name.
112
+ # - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
113
+ # manipulates or coerces a legitimate cardholder into unauthorized transactions,
114
+ # often through social engineering tactics.
115
+ module FraudType
116
+ extend Lithic::Internal::Type::Enum
117
+
118
+ FIRST_PARTY_FRAUD = :FIRST_PARTY_FRAUD
119
+ ACCOUNT_TAKEOVER = :ACCOUNT_TAKEOVER
120
+ CARD_COMPROMISED = :CARD_COMPROMISED
121
+ IDENTITY_THEFT = :IDENTITY_THEFT
122
+ CARDHOLDER_MANIPULATION = :CARDHOLDER_MANIPULATION
123
+
124
+ # @!method self.values
125
+ # @return [Array<Symbol>]
126
+ end
127
+ end
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,160 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module Fraud
6
+ # @see Lithic::Resources::Fraud::Transactions#report
7
+ class TransactionReportResponse < Lithic::Internal::Type::BaseModel
8
+ # @!attribute fraud_status
9
+ # The fraud status of the transaction, string (enum) supporting the following
10
+ # values:
11
+ #
12
+ # - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
13
+ # hasn’t been confirmed.
14
+ # - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
15
+ # immediately be moved into this state, or be graduated into this state from the
16
+ # `SUSPECTED_FRAUD` state.
17
+ # - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
18
+ # transaction may immediately be moved into this state, or be graduated into
19
+ # this state from the `SUSPECTED_FRAUD` state.
20
+ # - `NO_REPORTED_FRAUD`: Indicates that no fraud report exists for the
21
+ # transaction. It is the default state for transactions that have not been
22
+ # analyzed or associated with any known fraudulent activity.
23
+ #
24
+ # @return [Symbol, Lithic::Models::Fraud::TransactionReportResponse::FraudStatus]
25
+ required :fraud_status, enum: -> { Lithic::Models::Fraud::TransactionReportResponse::FraudStatus }
26
+
27
+ # @!attribute transaction_token
28
+ # The universally unique identifier (UUID) associated with the transaction being
29
+ # reported.
30
+ #
31
+ # @return [String]
32
+ required :transaction_token, String
33
+
34
+ # @!attribute comment
35
+ # Provides additional context or details about the fraud report.
36
+ #
37
+ # @return [String, nil]
38
+ optional :comment, String
39
+
40
+ # @!attribute created_at
41
+ # Timestamp representing when the fraud report was created.
42
+ #
43
+ # @return [Time, nil]
44
+ optional :created_at, Time
45
+
46
+ # @!attribute fraud_type
47
+ # Specifies the type or category of fraud that the transaction is suspected or
48
+ # confirmed to involve, string (enum) supporting the following values:
49
+ #
50
+ # - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
51
+ # cardholder intentionally misuses financial services for personal gain. This
52
+ # includes actions such as disputing legitimate transactions to obtain a refund,
53
+ # abusing return policies, or defaulting on credit obligations without intent to
54
+ # repay.
55
+ # - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
56
+ # unauthorized access to an existing account, modifies account settings, and
57
+ # carries out fraudulent transactions.
58
+ # - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
59
+ # access to card details without taking over the account, such as through
60
+ # physical card theft, cloning, or online data breaches.
61
+ # - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
62
+ # personal information, such as Social Security numbers or addresses, to open
63
+ # accounts, apply for loans, or conduct financial transactions in someone's
64
+ # name.
65
+ # - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
66
+ # manipulates or coerces a legitimate cardholder into unauthorized transactions,
67
+ # often through social engineering tactics.
68
+ #
69
+ # @return [Symbol, Lithic::Models::Fraud::TransactionReportResponse::FraudType, nil]
70
+ optional :fraud_type, enum: -> { Lithic::Models::Fraud::TransactionReportResponse::FraudType }
71
+
72
+ # @!attribute updated_at
73
+ # Timestamp representing the last update to the fraud report.
74
+ #
75
+ # @return [Time, nil]
76
+ optional :updated_at, Time
77
+
78
+ # @!method initialize(fraud_status:, transaction_token:, comment: nil, created_at: nil, fraud_type: nil, updated_at: nil)
79
+ # Some parameter documentations has been truncated, see
80
+ # {Lithic::Models::Fraud::TransactionReportResponse} for more details.
81
+ #
82
+ # @param fraud_status [Symbol, Lithic::Models::Fraud::TransactionReportResponse::FraudStatus] The fraud status of the transaction, string (enum) supporting the following valu
83
+ #
84
+ # @param transaction_token [String] The universally unique identifier (UUID) associated with the transaction being r
85
+ #
86
+ # @param comment [String] Provides additional context or details about the fraud report.
87
+ #
88
+ # @param created_at [Time] Timestamp representing when the fraud report was created.
89
+ #
90
+ # @param fraud_type [Symbol, Lithic::Models::Fraud::TransactionReportResponse::FraudType] Specifies the type or category of fraud that the transaction is suspected or con
91
+ #
92
+ # @param updated_at [Time] Timestamp representing the last update to the fraud report.
93
+
94
+ # The fraud status of the transaction, string (enum) supporting the following
95
+ # values:
96
+ #
97
+ # - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
98
+ # hasn’t been confirmed.
99
+ # - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
100
+ # immediately be moved into this state, or be graduated into this state from the
101
+ # `SUSPECTED_FRAUD` state.
102
+ # - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
103
+ # transaction may immediately be moved into this state, or be graduated into
104
+ # this state from the `SUSPECTED_FRAUD` state.
105
+ # - `NO_REPORTED_FRAUD`: Indicates that no fraud report exists for the
106
+ # transaction. It is the default state for transactions that have not been
107
+ # analyzed or associated with any known fraudulent activity.
108
+ #
109
+ # @see Lithic::Models::Fraud::TransactionReportResponse#fraud_status
110
+ module FraudStatus
111
+ extend Lithic::Internal::Type::Enum
112
+
113
+ SUSPECTED_FRAUD = :SUSPECTED_FRAUD
114
+ FRAUDULENT = :FRAUDULENT
115
+ NOT_FRAUDULENT = :NOT_FRAUDULENT
116
+ NO_REPORTED_FRAUD = :NO_REPORTED_FRAUD
117
+
118
+ # @!method self.values
119
+ # @return [Array<Symbol>]
120
+ end
121
+
122
+ # Specifies the type or category of fraud that the transaction is suspected or
123
+ # confirmed to involve, string (enum) supporting the following values:
124
+ #
125
+ # - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
126
+ # cardholder intentionally misuses financial services for personal gain. This
127
+ # includes actions such as disputing legitimate transactions to obtain a refund,
128
+ # abusing return policies, or defaulting on credit obligations without intent to
129
+ # repay.
130
+ # - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
131
+ # unauthorized access to an existing account, modifies account settings, and
132
+ # carries out fraudulent transactions.
133
+ # - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
134
+ # access to card details without taking over the account, such as through
135
+ # physical card theft, cloning, or online data breaches.
136
+ # - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
137
+ # personal information, such as Social Security numbers or addresses, to open
138
+ # accounts, apply for loans, or conduct financial transactions in someone's
139
+ # name.
140
+ # - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
141
+ # manipulates or coerces a legitimate cardholder into unauthorized transactions,
142
+ # often through social engineering tactics.
143
+ #
144
+ # @see Lithic::Models::Fraud::TransactionReportResponse#fraud_type
145
+ module FraudType
146
+ extend Lithic::Internal::Type::Enum
147
+
148
+ FIRST_PARTY_FRAUD = :FIRST_PARTY_FRAUD
149
+ ACCOUNT_TAKEOVER = :ACCOUNT_TAKEOVER
150
+ CARD_COMPROMISED = :CARD_COMPROMISED
151
+ IDENTITY_THEFT = :IDENTITY_THEFT
152
+ CARDHOLDER_MANIPULATION = :CARDHOLDER_MANIPULATION
153
+
154
+ # @!method self.values
155
+ # @return [Array<Symbol>]
156
+ end
157
+ end
158
+ end
159
+ end
160
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module Fraud
6
+ # @see Lithic::Resources::Fraud::Transactions#retrieve
7
+ class TransactionRetrieveParams < Lithic::Internal::Type::BaseModel
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!method initialize(request_options: {})
12
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,160 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module Fraud
6
+ # @see Lithic::Resources::Fraud::Transactions#retrieve
7
+ class TransactionRetrieveResponse < Lithic::Internal::Type::BaseModel
8
+ # @!attribute fraud_status
9
+ # The fraud status of the transaction, string (enum) supporting the following
10
+ # values:
11
+ #
12
+ # - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
13
+ # hasn’t been confirmed.
14
+ # - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
15
+ # immediately be moved into this state, or be graduated into this state from the
16
+ # `SUSPECTED_FRAUD` state.
17
+ # - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
18
+ # transaction may immediately be moved into this state, or be graduated into
19
+ # this state from the `SUSPECTED_FRAUD` state.
20
+ # - `NO_REPORTED_FRAUD`: Indicates that no fraud report exists for the
21
+ # transaction. It is the default state for transactions that have not been
22
+ # analyzed or associated with any known fraudulent activity.
23
+ #
24
+ # @return [Symbol, Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus]
25
+ required :fraud_status, enum: -> { Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus }
26
+
27
+ # @!attribute transaction_token
28
+ # The universally unique identifier (UUID) associated with the transaction being
29
+ # reported.
30
+ #
31
+ # @return [String]
32
+ required :transaction_token, String
33
+
34
+ # @!attribute comment
35
+ # Provides additional context or details about the fraud report.
36
+ #
37
+ # @return [String, nil]
38
+ optional :comment, String
39
+
40
+ # @!attribute created_at
41
+ # Timestamp representing when the fraud report was created.
42
+ #
43
+ # @return [Time, nil]
44
+ optional :created_at, Time
45
+
46
+ # @!attribute fraud_type
47
+ # Specifies the type or category of fraud that the transaction is suspected or
48
+ # confirmed to involve, string (enum) supporting the following values:
49
+ #
50
+ # - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
51
+ # cardholder intentionally misuses financial services for personal gain. This
52
+ # includes actions such as disputing legitimate transactions to obtain a refund,
53
+ # abusing return policies, or defaulting on credit obligations without intent to
54
+ # repay.
55
+ # - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
56
+ # unauthorized access to an existing account, modifies account settings, and
57
+ # carries out fraudulent transactions.
58
+ # - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
59
+ # access to card details without taking over the account, such as through
60
+ # physical card theft, cloning, or online data breaches.
61
+ # - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
62
+ # personal information, such as Social Security numbers or addresses, to open
63
+ # accounts, apply for loans, or conduct financial transactions in someone's
64
+ # name.
65
+ # - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
66
+ # manipulates or coerces a legitimate cardholder into unauthorized transactions,
67
+ # often through social engineering tactics.
68
+ #
69
+ # @return [Symbol, Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType, nil]
70
+ optional :fraud_type, enum: -> { Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType }
71
+
72
+ # @!attribute updated_at
73
+ # Timestamp representing the last update to the fraud report.
74
+ #
75
+ # @return [Time, nil]
76
+ optional :updated_at, Time
77
+
78
+ # @!method initialize(fraud_status:, transaction_token:, comment: nil, created_at: nil, fraud_type: nil, updated_at: nil)
79
+ # Some parameter documentations has been truncated, see
80
+ # {Lithic::Models::Fraud::TransactionRetrieveResponse} for more details.
81
+ #
82
+ # @param fraud_status [Symbol, Lithic::Models::Fraud::TransactionRetrieveResponse::FraudStatus] The fraud status of the transaction, string (enum) supporting the following valu
83
+ #
84
+ # @param transaction_token [String] The universally unique identifier (UUID) associated with the transaction being r
85
+ #
86
+ # @param comment [String] Provides additional context or details about the fraud report.
87
+ #
88
+ # @param created_at [Time] Timestamp representing when the fraud report was created.
89
+ #
90
+ # @param fraud_type [Symbol, Lithic::Models::Fraud::TransactionRetrieveResponse::FraudType] Specifies the type or category of fraud that the transaction is suspected or con
91
+ #
92
+ # @param updated_at [Time] Timestamp representing the last update to the fraud report.
93
+
94
+ # The fraud status of the transaction, string (enum) supporting the following
95
+ # values:
96
+ #
97
+ # - `SUSPECTED_FRAUD`: The transaction is suspected to be fraudulent, but this
98
+ # hasn’t been confirmed.
99
+ # - `FRAUDULENT`: The transaction is confirmed to be fraudulent. A transaction may
100
+ # immediately be moved into this state, or be graduated into this state from the
101
+ # `SUSPECTED_FRAUD` state.
102
+ # - `NOT_FRAUDULENT`: The transaction is (explicitly) marked as not fraudulent. A
103
+ # transaction may immediately be moved into this state, or be graduated into
104
+ # this state from the `SUSPECTED_FRAUD` state.
105
+ # - `NO_REPORTED_FRAUD`: Indicates that no fraud report exists for the
106
+ # transaction. It is the default state for transactions that have not been
107
+ # analyzed or associated with any known fraudulent activity.
108
+ #
109
+ # @see Lithic::Models::Fraud::TransactionRetrieveResponse#fraud_status
110
+ module FraudStatus
111
+ extend Lithic::Internal::Type::Enum
112
+
113
+ SUSPECTED_FRAUD = :SUSPECTED_FRAUD
114
+ FRAUDULENT = :FRAUDULENT
115
+ NOT_FRAUDULENT = :NOT_FRAUDULENT
116
+ NO_REPORTED_FRAUD = :NO_REPORTED_FRAUD
117
+
118
+ # @!method self.values
119
+ # @return [Array<Symbol>]
120
+ end
121
+
122
+ # Specifies the type or category of fraud that the transaction is suspected or
123
+ # confirmed to involve, string (enum) supporting the following values:
124
+ #
125
+ # - `FIRST_PARTY_FRAUD`: First-party fraud occurs when a legitimate account or
126
+ # cardholder intentionally misuses financial services for personal gain. This
127
+ # includes actions such as disputing legitimate transactions to obtain a refund,
128
+ # abusing return policies, or defaulting on credit obligations without intent to
129
+ # repay.
130
+ # - `ACCOUNT_TAKEOVER`: Account takeover fraud occurs when a fraudster gains
131
+ # unauthorized access to an existing account, modifies account settings, and
132
+ # carries out fraudulent transactions.
133
+ # - `CARD_COMPROMISED`: Card compromised fraud occurs when a fraudster gains
134
+ # access to card details without taking over the account, such as through
135
+ # physical card theft, cloning, or online data breaches.
136
+ # - `IDENTITY_THEFT`: Identity theft fraud occurs when a fraudster uses stolen
137
+ # personal information, such as Social Security numbers or addresses, to open
138
+ # accounts, apply for loans, or conduct financial transactions in someone's
139
+ # name.
140
+ # - `CARDHOLDER_MANIPULATION`: This type of fraud occurs when a fraudster
141
+ # manipulates or coerces a legitimate cardholder into unauthorized transactions,
142
+ # often through social engineering tactics.
143
+ #
144
+ # @see Lithic::Models::Fraud::TransactionRetrieveResponse#fraud_type
145
+ module FraudType
146
+ extend Lithic::Internal::Type::Enum
147
+
148
+ FIRST_PARTY_FRAUD = :FIRST_PARTY_FRAUD
149
+ ACCOUNT_TAKEOVER = :ACCOUNT_TAKEOVER
150
+ CARD_COMPROMISED = :CARD_COMPROMISED
151
+ IDENTITY_THEFT = :IDENTITY_THEFT
152
+ CARDHOLDER_MANIPULATION = :CARDHOLDER_MANIPULATION
153
+
154
+ # @!method self.values
155
+ # @return [Array<Symbol>]
156
+ end
157
+ end
158
+ end
159
+ end
160
+ end
@@ -55,10 +55,21 @@ module Lithic
55
55
  required :spend_limit, Integer
56
56
 
57
57
  # @!attribute spend_limit_duration
58
- # Spend limit duration
59
- #
60
- # @return [Symbol, Lithic::Models::NonPCICard::SpendLimitDuration]
61
- required :spend_limit_duration, enum: -> { Lithic::NonPCICard::SpendLimitDuration }
58
+ # Spend limit duration values:
59
+ #
60
+ # - `ANNUALLY` - Card will authorize transactions up to spend limit for the
61
+ # trailing year.
62
+ # - `FOREVER` - Card will authorize only up to spend limit for the entire lifetime
63
+ # of the card.
64
+ # - `MONTHLY` - Card will authorize transactions up to spend limit for the
65
+ # trailing month. To support recurring monthly payments, which can occur on
66
+ # different day every month, the time window we consider for monthly velocity
67
+ # starts 6 days after the current calendar date one month prior.
68
+ # - `TRANSACTION` - Card will authorize multiple transactions if each individual
69
+ # transaction is under the spend limit.
70
+ #
71
+ # @return [Symbol, Lithic::Models::SpendLimitDuration]
72
+ required :spend_limit_duration, enum: -> { Lithic::SpendLimitDuration }
62
73
 
63
74
  # @!attribute state
64
75
  # Card state values: _ `CLOSED` - Card will no longer approve authorizations.
@@ -189,7 +200,7 @@ module Lithic
189
200
  #
190
201
  # @param spend_limit [Integer] Amount (in cents) to limit approved authorizations (e.g. 100000 would be a $1,00
191
202
  #
192
- # @param spend_limit_duration [Symbol, Lithic::Models::NonPCICard::SpendLimitDuration] Spend limit duration
203
+ # @param spend_limit_duration [Symbol, Lithic::Models::SpendLimitDuration] Spend limit duration values:
193
204
  #
194
205
  # @param state [Symbol, Lithic::Models::NonPCICard::State] Card state values: \* `CLOSED` - Card will no longer approve authorizations.
195
206
  # Clos
@@ -335,22 +346,6 @@ module Lithic
335
346
  # @return [Array<Symbol>]
336
347
  end
337
348
 
338
- # Spend limit duration
339
- #
340
- # @see Lithic::Models::NonPCICard#spend_limit_duration
341
- module SpendLimitDuration
342
- extend Lithic::Internal::Type::Enum
343
-
344
- ANNUALLY = :ANNUALLY
345
- FOREVER = :FOREVER
346
- MONTHLY = :MONTHLY
347
- TRANSACTION = :TRANSACTION
348
- DAILY = :DAILY
349
-
350
- # @!method self.values
351
- # @return [Array<Symbol>]
352
- end
353
-
354
349
  # Card state values: _ `CLOSED` - Card will no longer approve authorizations.
355
350
  # Closing a card cannot be undone. _ `OPEN` - Card will approve authorizations (if
356
351
  # they match card and account parameters). _ `PAUSED` - Card will decline
@@ -374,13 +374,19 @@ module Lithic
374
374
  # @return [Array<String, nil>]
375
375
  required :trace_numbers, Lithic::Internal::Type::ArrayOf[String, nil?: true]
376
376
 
377
- # @!method initialize(company_id:, receipt_routing_number:, retries:, return_reason_code:, sec_code:, trace_numbers:)
377
+ # @!attribute addenda
378
+ #
379
+ # @return [String, nil]
380
+ optional :addenda, String, nil?: true
381
+
382
+ # @!method initialize(company_id:, receipt_routing_number:, retries:, return_reason_code:, sec_code:, trace_numbers:, addenda: nil)
378
383
  # @param company_id [String, nil]
379
384
  # @param receipt_routing_number [String, nil]
380
385
  # @param retries [Integer, nil]
381
386
  # @param return_reason_code [String, nil]
382
387
  # @param sec_code [Symbol, Lithic::Models::Payment::MethodAttributes::SecCode]
383
388
  # @param trace_numbers [Array<String, nil>]
389
+ # @param addenda [String, nil]
384
390
 
385
391
  # @see Lithic::Models::Payment::MethodAttributes#sec_code
386
392
  module SecCode
@@ -94,8 +94,14 @@ module Lithic
94
94
  # @return [Symbol, Lithic::Models::PaymentCreateParams::MethodAttributes::SecCode]
95
95
  required :sec_code, enum: -> { Lithic::PaymentCreateParams::MethodAttributes::SecCode }
96
96
 
97
- # @!method initialize(sec_code:)
97
+ # @!attribute addenda
98
+ #
99
+ # @return [String, nil]
100
+ optional :addenda, String, nil?: true
101
+
102
+ # @!method initialize(sec_code:, addenda: nil)
98
103
  # @param sec_code [Symbol, Lithic::Models::PaymentCreateParams::MethodAttributes::SecCode]
104
+ # @param addenda [String, nil]
99
105
 
100
106
  # @see Lithic::Models::PaymentCreateParams::MethodAttributes#sec_code
101
107
  module SecCode