lithic 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +37 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +15 -1
  5. data/lib/lithic/models/account.rb +2 -2
  6. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +5 -4
  7. data/lib/lithic/models/account_holder_update_response.rb +3 -3
  8. data/lib/lithic/models/account_retrieve_signals_params.rb +20 -0
  9. data/lib/lithic/models/account_update_params.rb +2 -2
  10. data/lib/lithic/models/auth_rules/auth_rule.rb +14 -8
  11. data/lib/lithic/models/auth_rules/auth_rule_version.rb +5 -3
  12. data/lib/lithic/models/auth_rules/card_transaction_update_action.rb +109 -0
  13. data/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +78 -12
  14. data/lib/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rb +244 -0
  15. data/lib/lithic/models/auth_rules/event_stream.rb +1 -0
  16. data/lib/lithic/models/auth_rules/spend_velocity_filters.rb +33 -0
  17. data/lib/lithic/models/auth_rules/v2_create_params.rb +27 -15
  18. data/lib/lithic/models/auth_rules/v2_draft_params.rb +5 -3
  19. data/lib/lithic/models/card_create_params.rb +4 -2
  20. data/lib/lithic/models/card_renew_params.rb +4 -2
  21. data/lib/lithic/models/card_retrieve_signals_params.rb +20 -0
  22. data/lib/lithic/models/non_pci_card.rb +13 -13
  23. data/lib/lithic/models/reports/settlement/network_total_list_params.rb +1 -0
  24. data/lib/lithic/models/settlement_detail.rb +11 -4
  25. data/lib/lithic/models/settlement_summary_details.rb +1 -0
  26. data/lib/lithic/models/signals_response.rb +306 -0
  27. data/lib/lithic/models.rb +6 -0
  28. data/lib/lithic/resources/accounts.rb +28 -1
  29. data/lib/lithic/resources/auth_rules/v2.rb +1 -1
  30. data/lib/lithic/resources/cards.rb +25 -0
  31. data/lib/lithic/version.rb +1 -1
  32. data/lib/lithic.rb +7 -1
  33. data/rbi/lithic/models/account.rbi +3 -6
  34. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +10 -14
  35. data/rbi/lithic/models/account_holder_update_response.rbi +3 -3
  36. data/rbi/lithic/models/account_retrieve_signals_params.rbi +35 -0
  37. data/rbi/lithic/models/account_update_params.rbi +5 -8
  38. data/rbi/lithic/models/auth_rules/auth_rule.rbi +10 -3
  39. data/rbi/lithic/models/auth_rules/auth_rule_version.rbi +2 -0
  40. data/rbi/lithic/models/auth_rules/card_transaction_update_action.rbi +242 -0
  41. data/rbi/lithic/models/auth_rules/conditional_authorization_action_parameters.rbi +159 -18
  42. data/rbi/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbi +573 -0
  43. data/rbi/lithic/models/auth_rules/event_stream.rbi +5 -0
  44. data/rbi/lithic/models/auth_rules/spend_velocity_filters.rbi +58 -0
  45. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +30 -9
  46. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +4 -0
  47. data/rbi/lithic/models/card_create_params.rbi +8 -4
  48. data/rbi/lithic/models/card_renew_params.rbi +8 -4
  49. data/rbi/lithic/models/card_retrieve_signals_params.rbi +35 -0
  50. data/rbi/lithic/models/non_pci_card.rbi +21 -31
  51. data/rbi/lithic/models/reports/settlement/network_total_list_params.rbi +5 -0
  52. data/rbi/lithic/models/settlement_detail.rbi +17 -4
  53. data/rbi/lithic/models/settlement_summary_details.rbi +2 -0
  54. data/rbi/lithic/models/signals_response.rbi +352 -0
  55. data/rbi/lithic/models.rbi +6 -0
  56. data/rbi/lithic/resources/accounts.rbi +23 -1
  57. data/rbi/lithic/resources/auth_rules/v2.rbi +1 -0
  58. data/rbi/lithic/resources/cards.rbi +27 -4
  59. data/sig/lithic/models/account.rbs +4 -8
  60. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +4 -8
  61. data/sig/lithic/models/account_retrieve_signals_params.rbs +23 -0
  62. data/sig/lithic/models/account_update_params.rbs +4 -8
  63. data/sig/lithic/models/auth_rules/auth_rule.rbs +2 -0
  64. data/sig/lithic/models/auth_rules/auth_rule_version.rbs +1 -0
  65. data/sig/lithic/models/auth_rules/card_transaction_update_action.rbs +100 -0
  66. data/sig/lithic/models/auth_rules/conditional_authorization_action_parameters.rbs +31 -3
  67. data/sig/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbs +155 -0
  68. data/sig/lithic/models/auth_rules/event_stream.rbs +2 -0
  69. data/sig/lithic/models/auth_rules/spend_velocity_filters.rbs +35 -0
  70. data/sig/lithic/models/auth_rules/v2_create_params.rbs +3 -0
  71. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -0
  72. data/sig/lithic/models/card_retrieve_signals_params.rbs +23 -0
  73. data/sig/lithic/models/non_pci_card.rbs +20 -30
  74. data/sig/lithic/models/reports/settlement/network_total_list_params.rbs +2 -1
  75. data/sig/lithic/models/settlement_detail.rbs +3 -1
  76. data/sig/lithic/models/settlement_summary_details.rbs +3 -1
  77. data/sig/lithic/models/signals_response.rbs +170 -0
  78. data/sig/lithic/models.rbs +6 -0
  79. data/sig/lithic/resources/accounts.rbs +6 -1
  80. data/sig/lithic/resources/cards.rbs +5 -0
  81. metadata +20 -2
@@ -121,7 +121,7 @@ module Lithic
121
121
  sig { params(email: String).void }
122
122
  attr_writer :email
123
123
 
124
- # The type of KYC exemption for a KYC-Exempt Account Holder. "None" if the account
124
+ # The type of KYC exemption for a KYC-Exempt Account Holder. `null` if the account
125
125
  # holder is not KYC-Exempt.
126
126
  sig do
127
127
  returns(
@@ -370,7 +370,7 @@ module Lithic
370
370
  # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of
371
371
  # Account Holder.
372
372
  email: nil,
373
- # The type of KYC exemption for a KYC-Exempt Account Holder. "None" if the account
373
+ # The type of KYC exemption for a KYC-Exempt Account Holder. `null` if the account
374
374
  # holder is not KYC-Exempt.
375
375
  exemption_type: nil,
376
376
  # Customer-provided token that indicates a relationship with an object outside of
@@ -861,7 +861,7 @@ module Lithic
861
861
  end
862
862
  end
863
863
 
864
- # The type of KYC exemption for a KYC-Exempt Account Holder. "None" if the account
864
+ # The type of KYC exemption for a KYC-Exempt Account Holder. `null` if the account
865
865
  # holder is not KYC-Exempt.
866
866
  module ExemptionType
867
867
  extend Lithic::Internal::Type::Enum
@@ -0,0 +1,35 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class AccountRetrieveSignalsParams < Lithic::Internal::Type::BaseModel
6
+ extend Lithic::Internal::Type::RequestParameters::Converter
7
+ include Lithic::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Lithic::AccountRetrieveSignalsParams, Lithic::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :account_token
16
+
17
+ sig do
18
+ params(
19
+ account_token: String,
20
+ request_options: Lithic::RequestOptions::OrHash
21
+ ).returns(T.attached_class)
22
+ end
23
+ def self.new(account_token:, request_options: {})
24
+ end
25
+
26
+ sig do
27
+ override.returns(
28
+ { account_token: String, request_options: Lithic::RequestOptions }
29
+ )
30
+ end
31
+ def to_hash
32
+ end
33
+ end
34
+ end
35
+ end
@@ -87,12 +87,7 @@ module Lithic
87
87
  sig do
88
88
  returns(T.nilable(Lithic::AccountUpdateParams::Substatus::OrSymbol))
89
89
  end
90
- attr_reader :substatus
91
-
92
- sig do
93
- params(substatus: Lithic::AccountUpdateParams::Substatus::OrSymbol).void
94
- end
95
- attr_writer :substatus
90
+ attr_accessor :substatus
96
91
 
97
92
  # Address used during Address Verification Service (AVS) checks during
98
93
  # transactions if enabled via Auth Rules. This field is deprecated as AVS checks
@@ -119,7 +114,8 @@ module Lithic
119
114
  lifetime_spend_limit: Integer,
120
115
  monthly_spend_limit: Integer,
121
116
  state: Lithic::AccountUpdateParams::State::OrSymbol,
122
- substatus: Lithic::AccountUpdateParams::Substatus::OrSymbol,
117
+ substatus:
118
+ T.nilable(Lithic::AccountUpdateParams::Substatus::OrSymbol),
123
119
  verification_address:
124
120
  Lithic::AccountUpdateParams::VerificationAddress::OrHash,
125
121
  request_options: Lithic::RequestOptions::OrHash
@@ -191,7 +187,8 @@ module Lithic
191
187
  lifetime_spend_limit: Integer,
192
188
  monthly_spend_limit: Integer,
193
189
  state: Lithic::AccountUpdateParams::State::OrSymbol,
194
- substatus: Lithic::AccountUpdateParams::Substatus::OrSymbol,
190
+ substatus:
191
+ T.nilable(Lithic::AccountUpdateParams::Substatus::OrSymbol),
195
192
  verification_address:
196
193
  Lithic::AccountUpdateParams::VerificationAddress,
197
194
  request_options: Lithic::RequestOptions
@@ -80,7 +80,8 @@ module Lithic
80
80
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
81
81
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
82
82
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
83
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
83
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
84
+ # stream.
84
85
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
85
86
  # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
86
87
  sig { returns(Lithic::AuthRules::AuthRule::Type::TaggedSymbol) }
@@ -160,7 +161,8 @@ module Lithic
160
161
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
161
162
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
162
163
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
163
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
164
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
165
+ # stream.
164
166
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
165
167
  # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
166
168
  type:,
@@ -232,6 +234,7 @@ module Lithic
232
234
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash,
233
235
  Lithic::AuthRules::ConditionalACHActionParameters::OrHash,
234
236
  Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash,
237
+ Lithic::AuthRules::ConditionalCardTransactionUpdateActionParameters::OrHash,
235
238
  Lithic::AuthRules::TypescriptCodeParameters::OrHash
236
239
  ),
237
240
  version: Integer
@@ -272,6 +275,7 @@ module Lithic
272
275
  Lithic::AuthRules::ConditionalAuthorizationActionParameters,
273
276
  Lithic::AuthRules::ConditionalACHActionParameters,
274
277
  Lithic::AuthRules::ConditionalTokenizationActionParameters,
278
+ Lithic::AuthRules::ConditionalCardTransactionUpdateActionParameters,
275
279
  Lithic::AuthRules::TypescriptCodeParameters
276
280
  )
277
281
  end
@@ -344,6 +348,7 @@ module Lithic
344
348
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash,
345
349
  Lithic::AuthRules::ConditionalACHActionParameters::OrHash,
346
350
  Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash,
351
+ Lithic::AuthRules::ConditionalCardTransactionUpdateActionParameters::OrHash,
347
352
  Lithic::AuthRules::TypescriptCodeParameters::OrHash
348
353
  ),
349
354
  state: Lithic::AuthRules::AuthRule::DraftVersion::State::OrSymbol,
@@ -402,6 +407,7 @@ module Lithic
402
407
  Lithic::AuthRules::ConditionalAuthorizationActionParameters,
403
408
  Lithic::AuthRules::ConditionalACHActionParameters,
404
409
  Lithic::AuthRules::ConditionalTokenizationActionParameters,
410
+ Lithic::AuthRules::ConditionalCardTransactionUpdateActionParameters,
405
411
  Lithic::AuthRules::TypescriptCodeParameters
406
412
  )
407
413
  end
@@ -496,7 +502,8 @@ module Lithic
496
502
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
497
503
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
498
504
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
499
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
505
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
506
+ # stream.
500
507
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
501
508
  # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
502
509
  module Type
@@ -42,6 +42,7 @@ module Lithic
42
42
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::OrHash,
43
43
  Lithic::AuthRules::ConditionalACHActionParameters::OrHash,
44
44
  Lithic::AuthRules::ConditionalTokenizationActionParameters::OrHash,
45
+ Lithic::AuthRules::ConditionalCardTransactionUpdateActionParameters::OrHash,
45
46
  Lithic::AuthRules::TypescriptCodeParameters::OrHash
46
47
  ),
47
48
  state: Lithic::AuthRules::AuthRuleVersion::State::OrSymbol,
@@ -89,6 +90,7 @@ module Lithic
89
90
  Lithic::AuthRules::ConditionalAuthorizationActionParameters,
90
91
  Lithic::AuthRules::ConditionalACHActionParameters,
91
92
  Lithic::AuthRules::ConditionalTokenizationActionParameters,
93
+ Lithic::AuthRules::ConditionalCardTransactionUpdateActionParameters,
92
94
  Lithic::AuthRules::TypescriptCodeParameters
93
95
  )
94
96
  end
@@ -0,0 +1,242 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module AuthRules
6
+ module CardTransactionUpdateAction
7
+ extend Lithic::Internal::Type::Union
8
+
9
+ Variants =
10
+ T.type_alias do
11
+ T.any(
12
+ Lithic::AuthRules::CardTransactionUpdateAction::TagAction,
13
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction
14
+ )
15
+ end
16
+
17
+ class TagAction < Lithic::Internal::Type::BaseModel
18
+ OrHash =
19
+ T.type_alias do
20
+ T.any(
21
+ Lithic::AuthRules::CardTransactionUpdateAction::TagAction,
22
+ Lithic::Internal::AnyHash
23
+ )
24
+ end
25
+
26
+ # The key of the tag to apply to the transaction
27
+ sig { returns(String) }
28
+ attr_accessor :key
29
+
30
+ # Tag the transaction with key-value metadata
31
+ sig do
32
+ returns(
33
+ Lithic::AuthRules::CardTransactionUpdateAction::TagAction::Type::OrSymbol
34
+ )
35
+ end
36
+ attr_accessor :type
37
+
38
+ # The value of the tag to apply to the transaction
39
+ sig { returns(String) }
40
+ attr_accessor :value
41
+
42
+ sig do
43
+ params(
44
+ key: String,
45
+ type:
46
+ Lithic::AuthRules::CardTransactionUpdateAction::TagAction::Type::OrSymbol,
47
+ value: String
48
+ ).returns(T.attached_class)
49
+ end
50
+ def self.new(
51
+ # The key of the tag to apply to the transaction
52
+ key:,
53
+ # Tag the transaction with key-value metadata
54
+ type:,
55
+ # The value of the tag to apply to the transaction
56
+ value:
57
+ )
58
+ end
59
+
60
+ sig do
61
+ override.returns(
62
+ {
63
+ key: String,
64
+ type:
65
+ Lithic::AuthRules::CardTransactionUpdateAction::TagAction::Type::OrSymbol,
66
+ value: String
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+
73
+ # Tag the transaction with key-value metadata
74
+ module Type
75
+ extend Lithic::Internal::Type::Enum
76
+
77
+ TaggedSymbol =
78
+ T.type_alias do
79
+ T.all(
80
+ Symbol,
81
+ Lithic::AuthRules::CardTransactionUpdateAction::TagAction::Type
82
+ )
83
+ end
84
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
85
+
86
+ TAG =
87
+ T.let(
88
+ :TAG,
89
+ Lithic::AuthRules::CardTransactionUpdateAction::TagAction::Type::TaggedSymbol
90
+ )
91
+
92
+ sig do
93
+ override.returns(
94
+ T::Array[
95
+ Lithic::AuthRules::CardTransactionUpdateAction::TagAction::Type::TaggedSymbol
96
+ ]
97
+ )
98
+ end
99
+ def self.values
100
+ end
101
+ end
102
+ end
103
+
104
+ class CreateCaseAction < Lithic::Internal::Type::BaseModel
105
+ OrHash =
106
+ T.type_alias do
107
+ T.any(
108
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction,
109
+ Lithic::Internal::AnyHash
110
+ )
111
+ end
112
+
113
+ # The token of the queue to create the case in
114
+ sig { returns(String) }
115
+ attr_accessor :queue_token
116
+
117
+ # The scope of the case to create
118
+ sig do
119
+ returns(
120
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Scope::OrSymbol
121
+ )
122
+ end
123
+ attr_accessor :scope
124
+
125
+ # Create a case for the transaction
126
+ sig do
127
+ returns(
128
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Type::OrSymbol
129
+ )
130
+ end
131
+ attr_accessor :type
132
+
133
+ sig do
134
+ params(
135
+ queue_token: String,
136
+ scope:
137
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Scope::OrSymbol,
138
+ type:
139
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Type::OrSymbol
140
+ ).returns(T.attached_class)
141
+ end
142
+ def self.new(
143
+ # The token of the queue to create the case in
144
+ queue_token:,
145
+ # The scope of the case to create
146
+ scope:,
147
+ # Create a case for the transaction
148
+ type:
149
+ )
150
+ end
151
+
152
+ sig do
153
+ override.returns(
154
+ {
155
+ queue_token: String,
156
+ scope:
157
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Scope::OrSymbol,
158
+ type:
159
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Type::OrSymbol
160
+ }
161
+ )
162
+ end
163
+ def to_hash
164
+ end
165
+
166
+ # The scope of the case to create
167
+ module Scope
168
+ extend Lithic::Internal::Type::Enum
169
+
170
+ TaggedSymbol =
171
+ T.type_alias do
172
+ T.all(
173
+ Symbol,
174
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Scope
175
+ )
176
+ end
177
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
178
+
179
+ CARD =
180
+ T.let(
181
+ :CARD,
182
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Scope::TaggedSymbol
183
+ )
184
+ ACCOUNT =
185
+ T.let(
186
+ :ACCOUNT,
187
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Scope::TaggedSymbol
188
+ )
189
+
190
+ sig do
191
+ override.returns(
192
+ T::Array[
193
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Scope::TaggedSymbol
194
+ ]
195
+ )
196
+ end
197
+ def self.values
198
+ end
199
+ end
200
+
201
+ # Create a case for the transaction
202
+ module Type
203
+ extend Lithic::Internal::Type::Enum
204
+
205
+ TaggedSymbol =
206
+ T.type_alias do
207
+ T.all(
208
+ Symbol,
209
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Type
210
+ )
211
+ end
212
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
213
+
214
+ CREATE_CASE =
215
+ T.let(
216
+ :CREATE_CASE,
217
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Type::TaggedSymbol
218
+ )
219
+
220
+ sig do
221
+ override.returns(
222
+ T::Array[
223
+ Lithic::AuthRules::CardTransactionUpdateAction::CreateCaseAction::Type::TaggedSymbol
224
+ ]
225
+ )
226
+ end
227
+ def self.values
228
+ end
229
+ end
230
+ end
231
+
232
+ sig do
233
+ override.returns(
234
+ T::Array[Lithic::AuthRules::CardTransactionUpdateAction::Variants]
235
+ )
236
+ end
237
+ def self.variants
238
+ end
239
+ end
240
+ end
241
+ end
242
+ end
@@ -201,8 +201,21 @@ module Lithic
201
201
  # transaction for the entity. Requires `parameters.scope`.
202
202
  # - `DISTINCT_COUNTRY_COUNT`: The number of distinct merchant countries seen in
203
203
  # the entity's transaction history. Requires `parameters.scope`.
204
+ # - `IS_NEW_MERCHANT`: Whether the card acceptor ID has not been seen in the
205
+ # card's approved transaction history (capped at the 1000 most recently seen
206
+ # merchants). Valid values are `TRUE`, `FALSE`. Card-scoped only; no
207
+ # `parameters` required.
204
208
  # - `THREE_DS_SUCCESS_RATE`: The 3DS authentication success rate for the card, as
205
209
  # a percentage from 0.0 to 100.0. Card-scoped only; no `parameters` required.
210
+ # - `TRAVEL_SPEED`: The estimated speed of travel derived from the distance
211
+ # between the postal code centers of the last card-present transaction and the
212
+ # current transaction, divided by the elapsed time. Null if there is no prior
213
+ # card-present transaction, if either postal code cannot be geocoded, or if
214
+ # elapsed time is zero. Requires `parameters.unit` set to `MPH` or `KPH`.
215
+ # - `DISTANCE_FROM_LAST_TRANSACTION`: The estimated distance between the postal
216
+ # code centers of the last card-present transaction and the current transaction.
217
+ # Null if there is no prior card-present transaction or if either postal code
218
+ # cannot be geocoded. Requires `parameters.unit` set to `MILES` or `KILOMETERS`.
206
219
  sig do
207
220
  returns(
208
221
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::OrSymbol
@@ -218,11 +231,12 @@ module Lithic
218
231
  sig { returns(Lithic::AuthRules::ConditionalValue::Variants) }
219
232
  attr_accessor :value
220
233
 
221
- # Additional parameters required for transaction history signal attributes.
222
- # Required when `attribute` is one of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`,
223
- # `STDEV_TRANSACTION_AMOUNT`, `IS_NEW_COUNTRY`, `IS_NEW_MCC`,
224
- # `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`, `TIME_SINCE_LAST_TRANSACTION`,
225
- # or `DISTINCT_COUNTRY_COUNT`. Not used for other attributes.
234
+ # Additional parameters for certain attributes. Required when `attribute` is one
235
+ # of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`, `STDEV_TRANSACTION_AMOUNT`,
236
+ # `IS_NEW_COUNTRY`, `IS_NEW_MCC`, `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`,
237
+ # `TIME_SINCE_LAST_TRANSACTION`, or `DISTINCT_COUNTRY_COUNT` (require `scope`); or
238
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION` (require `unit`). Not used
239
+ # for other attributes.
226
240
  sig do
227
241
  returns(
228
242
  T.nilable(
@@ -347,18 +361,32 @@ module Lithic
347
361
  # transaction for the entity. Requires `parameters.scope`.
348
362
  # - `DISTINCT_COUNTRY_COUNT`: The number of distinct merchant countries seen in
349
363
  # the entity's transaction history. Requires `parameters.scope`.
364
+ # - `IS_NEW_MERCHANT`: Whether the card acceptor ID has not been seen in the
365
+ # card's approved transaction history (capped at the 1000 most recently seen
366
+ # merchants). Valid values are `TRUE`, `FALSE`. Card-scoped only; no
367
+ # `parameters` required.
350
368
  # - `THREE_DS_SUCCESS_RATE`: The 3DS authentication success rate for the card, as
351
369
  # a percentage from 0.0 to 100.0. Card-scoped only; no `parameters` required.
370
+ # - `TRAVEL_SPEED`: The estimated speed of travel derived from the distance
371
+ # between the postal code centers of the last card-present transaction and the
372
+ # current transaction, divided by the elapsed time. Null if there is no prior
373
+ # card-present transaction, if either postal code cannot be geocoded, or if
374
+ # elapsed time is zero. Requires `parameters.unit` set to `MPH` or `KPH`.
375
+ # - `DISTANCE_FROM_LAST_TRANSACTION`: The estimated distance between the postal
376
+ # code centers of the last card-present transaction and the current transaction.
377
+ # Null if there is no prior card-present transaction or if either postal code
378
+ # cannot be geocoded. Requires `parameters.unit` set to `MILES` or `KILOMETERS`.
352
379
  attribute:,
353
380
  # The operation to apply to the attribute
354
381
  operation:,
355
382
  # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
356
383
  value:,
357
- # Additional parameters required for transaction history signal attributes.
358
- # Required when `attribute` is one of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`,
359
- # `STDEV_TRANSACTION_AMOUNT`, `IS_NEW_COUNTRY`, `IS_NEW_MCC`,
360
- # `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`, `TIME_SINCE_LAST_TRANSACTION`,
361
- # or `DISTINCT_COUNTRY_COUNT`. Not used for other attributes.
384
+ # Additional parameters for certain attributes. Required when `attribute` is one
385
+ # of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`, `STDEV_TRANSACTION_AMOUNT`,
386
+ # `IS_NEW_COUNTRY`, `IS_NEW_MCC`, `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`,
387
+ # `TIME_SINCE_LAST_TRANSACTION`, or `DISTINCT_COUNTRY_COUNT` (require `scope`); or
388
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION` (require `unit`). Not used
389
+ # for other attributes.
362
390
  parameters: nil
363
391
  )
364
392
  end
@@ -474,8 +502,21 @@ module Lithic
474
502
  # transaction for the entity. Requires `parameters.scope`.
475
503
  # - `DISTINCT_COUNTRY_COUNT`: The number of distinct merchant countries seen in
476
504
  # the entity's transaction history. Requires `parameters.scope`.
505
+ # - `IS_NEW_MERCHANT`: Whether the card acceptor ID has not been seen in the
506
+ # card's approved transaction history (capped at the 1000 most recently seen
507
+ # merchants). Valid values are `TRUE`, `FALSE`. Card-scoped only; no
508
+ # `parameters` required.
477
509
  # - `THREE_DS_SUCCESS_RATE`: The 3DS authentication success rate for the card, as
478
510
  # a percentage from 0.0 to 100.0. Card-scoped only; no `parameters` required.
511
+ # - `TRAVEL_SPEED`: The estimated speed of travel derived from the distance
512
+ # between the postal code centers of the last card-present transaction and the
513
+ # current transaction, divided by the elapsed time. Null if there is no prior
514
+ # card-present transaction, if either postal code cannot be geocoded, or if
515
+ # elapsed time is zero. Requires `parameters.unit` set to `MPH` or `KPH`.
516
+ # - `DISTANCE_FROM_LAST_TRANSACTION`: The estimated distance between the postal
517
+ # code centers of the last card-present transaction and the current transaction.
518
+ # Null if there is no prior card-present transaction or if either postal code
519
+ # cannot be geocoded. Requires `parameters.unit` set to `MILES` or `KILOMETERS`.
479
520
  module Attribute
480
521
  extend Lithic::Internal::Type::Enum
481
522
 
@@ -663,11 +704,26 @@ module Lithic
663
704
  :DISTINCT_COUNTRY_COUNT,
664
705
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
665
706
  )
707
+ IS_NEW_MERCHANT =
708
+ T.let(
709
+ :IS_NEW_MERCHANT,
710
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
711
+ )
666
712
  THREE_DS_SUCCESS_RATE =
667
713
  T.let(
668
714
  :THREE_DS_SUCCESS_RATE,
669
715
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
670
716
  )
717
+ TRAVEL_SPEED =
718
+ T.let(
719
+ :TRAVEL_SPEED,
720
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
721
+ )
722
+ DISTANCE_FROM_LAST_TRANSACTION =
723
+ T.let(
724
+ :DISTANCE_FROM_LAST_TRANSACTION,
725
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
726
+ )
671
727
 
672
728
  sig do
673
729
  override.returns(
@@ -727,17 +783,43 @@ module Lithic
727
783
  end
728
784
  attr_writer :scope
729
785
 
730
- # Additional parameters required for transaction history signal attributes.
731
- # Required when `attribute` is one of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`,
732
- # `STDEV_TRANSACTION_AMOUNT`, `IS_NEW_COUNTRY`, `IS_NEW_MCC`,
733
- # `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`, `TIME_SINCE_LAST_TRANSACTION`,
734
- # or `DISTINCT_COUNTRY_COUNT`. Not used for other attributes.
786
+ # The unit for impossible travel attributes. Required when `attribute` is
787
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION`.
788
+ #
789
+ # For `TRAVEL_SPEED`: `MPH` (miles per hour) or `KPH` (kilometers per hour).
790
+ #
791
+ # For `DISTANCE_FROM_LAST_TRANSACTION`: `MILES` or `KILOMETERS`.
792
+ sig do
793
+ returns(
794
+ T.nilable(
795
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::OrSymbol
796
+ )
797
+ )
798
+ end
799
+ attr_reader :unit
800
+
801
+ sig do
802
+ params(
803
+ unit:
804
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::OrSymbol
805
+ ).void
806
+ end
807
+ attr_writer :unit
808
+
809
+ # Additional parameters for certain attributes. Required when `attribute` is one
810
+ # of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`, `STDEV_TRANSACTION_AMOUNT`,
811
+ # `IS_NEW_COUNTRY`, `IS_NEW_MCC`, `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`,
812
+ # `TIME_SINCE_LAST_TRANSACTION`, or `DISTINCT_COUNTRY_COUNT` (require `scope`); or
813
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION` (require `unit`). Not used
814
+ # for other attributes.
735
815
  sig do
736
816
  params(
737
817
  interval:
738
818
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Interval::OrSymbol,
739
819
  scope:
740
- Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Scope::OrSymbol
820
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Scope::OrSymbol,
821
+ unit:
822
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::OrSymbol
741
823
  ).returns(T.attached_class)
742
824
  end
743
825
  def self.new(
@@ -746,7 +828,14 @@ module Lithic
746
828
  # all-time history or a specific window (`7D`, `30D`, `90D`).
747
829
  interval: nil,
748
830
  # The entity scope to evaluate the attribute against.
749
- scope: nil
831
+ scope: nil,
832
+ # The unit for impossible travel attributes. Required when `attribute` is
833
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION`.
834
+ #
835
+ # For `TRAVEL_SPEED`: `MPH` (miles per hour) or `KPH` (kilometers per hour).
836
+ #
837
+ # For `DISTANCE_FROM_LAST_TRANSACTION`: `MILES` or `KILOMETERS`.
838
+ unit: nil
750
839
  )
751
840
  end
752
841
 
@@ -756,7 +845,9 @@ module Lithic
756
845
  interval:
757
846
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Interval::OrSymbol,
758
847
  scope:
759
- Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Scope::OrSymbol
848
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Scope::OrSymbol,
849
+ unit:
850
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::OrSymbol
760
851
  }
761
852
  )
762
853
  end
@@ -849,6 +940,56 @@ module Lithic
849
940
  def self.values
850
941
  end
851
942
  end
943
+
944
+ # The unit for impossible travel attributes. Required when `attribute` is
945
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION`.
946
+ #
947
+ # For `TRAVEL_SPEED`: `MPH` (miles per hour) or `KPH` (kilometers per hour).
948
+ #
949
+ # For `DISTANCE_FROM_LAST_TRANSACTION`: `MILES` or `KILOMETERS`.
950
+ module Unit
951
+ extend Lithic::Internal::Type::Enum
952
+
953
+ TaggedSymbol =
954
+ T.type_alias do
955
+ T.all(
956
+ Symbol,
957
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit
958
+ )
959
+ end
960
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
961
+
962
+ MPH =
963
+ T.let(
964
+ :MPH,
965
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::TaggedSymbol
966
+ )
967
+ KPH =
968
+ T.let(
969
+ :KPH,
970
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::TaggedSymbol
971
+ )
972
+ MILES =
973
+ T.let(
974
+ :MILES,
975
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::TaggedSymbol
976
+ )
977
+ KILOMETERS =
978
+ T.let(
979
+ :KILOMETERS,
980
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::TaggedSymbol
981
+ )
982
+
983
+ sig do
984
+ override.returns(
985
+ T::Array[
986
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::TaggedSymbol
987
+ ]
988
+ )
989
+ end
990
+ def self.values
991
+ end
992
+ end
852
993
  end
853
994
  end
854
995
  end