lithic 0.13.0 → 0.15.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 (145) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/internal/transport/base_client.rb +2 -0
  6. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +4 -4
  7. data/lib/lithic/models/account_retrieve_signals_params.rb +20 -0
  8. data/lib/lithic/models/auth_rules/auth_rule.rb +10 -6
  9. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +2 -2
  10. data/lib/lithic/models/auth_rules/auth_rule_version.rb +5 -3
  11. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +8 -6
  12. data/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb +4 -4
  13. data/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +119 -44
  14. data/lib/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rb +533 -0
  15. data/lib/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rb +18 -14
  16. data/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb +6 -6
  17. data/lib/lithic/models/auth_rules/conditional_value.rb +3 -2
  18. data/lib/lithic/models/auth_rules/v2_create_params.rb +15 -9
  19. data/lib/lithic/models/auth_rules/v2_draft_params.rb +5 -3
  20. data/lib/lithic/models/balance.rb +8 -6
  21. data/lib/lithic/models/card_authorization.rb +1266 -0
  22. data/lib/lithic/models/card_authorization_approval_request_webhook_event.rb +3 -1253
  23. data/lib/lithic/models/card_authorization_challenge_response_params.rb +40 -0
  24. data/lib/lithic/models/card_authorization_challenge_response_webhook_event.rb +1 -0
  25. data/lib/lithic/models/card_authorization_challenge_webhook_event.rb +67 -0
  26. data/lib/lithic/models/card_program.rb +2 -2
  27. data/lib/lithic/models/card_retrieve_signals_params.rb +20 -0
  28. data/lib/lithic/models/event.rb +13 -4
  29. data/lib/lithic/models/event_list_params.rb +7 -2
  30. data/lib/lithic/models/event_subscription.rb +7 -2
  31. data/lib/lithic/models/events/subscription_create_params.rb +7 -2
  32. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +1 -0
  33. data/lib/lithic/models/events/subscription_update_params.rb +7 -2
  34. data/lib/lithic/models/external_bank_account.rb +1 -1
  35. data/lib/lithic/models/external_bank_account_pause_params.rb +20 -0
  36. data/lib/lithic/models/financial_accounts/statement.rb +4 -4
  37. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +3 -2
  38. data/lib/lithic/models/financial_event.rb +1 -0
  39. data/lib/lithic/models/kyb_business_entity.rb +2 -2
  40. data/lib/lithic/models/parsed_webhook_event.rb +4 -1
  41. data/lib/lithic/models/settlement_detail.rb +14 -14
  42. data/lib/lithic/models/signals_response.rb +306 -0
  43. data/lib/lithic/models/statement_totals.rb +6 -6
  44. data/lib/lithic/models/tokenization_decline_reason.rb +1 -0
  45. data/lib/lithic/models/transaction.rb +2 -2
  46. data/lib/lithic/models/transfer_limits_response.rb +12 -12
  47. data/lib/lithic/models.rb +14 -0
  48. data/lib/lithic/resources/accounts.rb +27 -0
  49. data/lib/lithic/resources/auth_rules/v2.rb +1 -1
  50. data/lib/lithic/resources/card_authorizations.rb +45 -0
  51. data/lib/lithic/resources/cards.rb +25 -0
  52. data/lib/lithic/resources/external_bank_accounts.rb +19 -0
  53. data/lib/lithic/resources/webhooks.rb +1 -1
  54. data/lib/lithic/version.rb +1 -1
  55. data/lib/lithic.rb +9 -0
  56. data/rbi/lithic/client.rbi +3 -0
  57. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +6 -12
  58. data/rbi/lithic/models/account_retrieve_signals_params.rbi +35 -0
  59. data/rbi/lithic/models/auth_rules/auth_rule.rbi +8 -4
  60. data/rbi/lithic/models/auth_rules/auth_rule_version.rbi +4 -2
  61. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +9 -6
  62. data/rbi/lithic/models/auth_rules/conditional_ach_action_parameters.rbi +3 -3
  63. data/rbi/lithic/models/auth_rules/conditional_authorization_action_parameters.rbi +214 -63
  64. data/rbi/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbi +1147 -0
  65. data/rbi/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbi +24 -18
  66. data/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi +6 -6
  67. data/rbi/lithic/models/auth_rules/conditional_value.rbi +1 -1
  68. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +24 -12
  69. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +8 -4
  70. data/rbi/lithic/models/balance.rbi +12 -6
  71. data/rbi/lithic/models/card_authorization.rbi +2540 -0
  72. data/rbi/lithic/models/card_authorization_approval_request_webhook_event.rbi +5 -2758
  73. data/rbi/lithic/models/card_authorization_challenge_response_params.rbi +93 -0
  74. data/rbi/lithic/models/card_authorization_challenge_response_webhook_event.rbi +5 -0
  75. data/rbi/lithic/models/card_authorization_challenge_webhook_event.rbi +119 -0
  76. data/rbi/lithic/models/card_program.rbi +3 -6
  77. data/rbi/lithic/models/card_retrieve_signals_params.rbi +35 -0
  78. data/rbi/lithic/models/event.rbi +23 -6
  79. data/rbi/lithic/models/event_list_params.rbi +11 -2
  80. data/rbi/lithic/models/event_subscription.rbi +11 -2
  81. data/rbi/lithic/models/events/subscription_create_params.rbi +11 -2
  82. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +5 -0
  83. data/rbi/lithic/models/events/subscription_update_params.rbi +11 -2
  84. data/rbi/lithic/models/external_bank_account_pause_params.rbi +41 -0
  85. data/rbi/lithic/models/financial_accounts/statement.rbi +6 -12
  86. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +8 -6
  87. data/rbi/lithic/models/financial_event.rbi +2 -0
  88. data/rbi/lithic/models/kyb_business_entity.rbi +3 -6
  89. data/rbi/lithic/models/parsed_webhook_event.rbi +1 -0
  90. data/rbi/lithic/models/settlement_detail.rbi +15 -15
  91. data/rbi/lithic/models/signals_response.rbi +352 -0
  92. data/rbi/lithic/models/statement_totals.rbi +9 -18
  93. data/rbi/lithic/models/tokenization_decline_reason.rbi +2 -0
  94. data/rbi/lithic/models/transaction.rbi +3 -3
  95. data/rbi/lithic/models/transfer_limits_response.rbi +48 -48
  96. data/rbi/lithic/models.rbi +17 -0
  97. data/rbi/lithic/resources/accounts.rbi +21 -0
  98. data/rbi/lithic/resources/auth_rules/v2.rbi +2 -1
  99. data/rbi/lithic/resources/card_authorizations.rbi +35 -0
  100. data/rbi/lithic/resources/cards.rbi +19 -0
  101. data/rbi/lithic/resources/external_bank_accounts.rbi +10 -0
  102. data/rbi/lithic/resources/webhooks.rbi +4 -1
  103. data/sig/lithic/client.rbs +2 -0
  104. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +8 -12
  105. data/sig/lithic/models/account_retrieve_signals_params.rbs +23 -0
  106. data/sig/lithic/models/auth_rules/auth_rule.rbs +2 -0
  107. data/sig/lithic/models/auth_rules/auth_rule_version.rbs +1 -0
  108. data/sig/lithic/models/auth_rules/conditional_authorization_action_parameters.rbs +29 -3
  109. data/sig/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbs +276 -0
  110. data/sig/lithic/models/auth_rules/conditional_value.rbs +1 -1
  111. data/sig/lithic/models/auth_rules/v2_create_params.rbs +3 -0
  112. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -0
  113. data/sig/lithic/models/balance.rbs +17 -9
  114. data/sig/lithic/models/card_authorization.rbs +1038 -0
  115. data/sig/lithic/models/card_authorization_approval_request_webhook_event.rbs +7 -1013
  116. data/sig/lithic/models/card_authorization_challenge_response_params.rbs +42 -0
  117. data/sig/lithic/models/card_authorization_challenge_response_webhook_event.rbs +2 -1
  118. data/sig/lithic/models/card_authorization_challenge_webhook_event.rbs +53 -0
  119. data/sig/lithic/models/card_program.rbs +4 -6
  120. data/sig/lithic/models/card_retrieve_signals_params.rbs +23 -0
  121. data/sig/lithic/models/event.rbs +2 -0
  122. data/sig/lithic/models/event_list_params.rbs +2 -0
  123. data/sig/lithic/models/event_subscription.rbs +2 -0
  124. data/sig/lithic/models/events/subscription_create_params.rbs +2 -0
  125. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +2 -0
  126. data/sig/lithic/models/events/subscription_update_params.rbs +2 -0
  127. data/sig/lithic/models/external_bank_account_pause_params.rbs +24 -0
  128. data/sig/lithic/models/financial_accounts/statement.rbs +8 -12
  129. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +6 -6
  130. data/sig/lithic/models/financial_event.rbs +2 -0
  131. data/sig/lithic/models/kyb_business_entity.rbs +4 -6
  132. data/sig/lithic/models/parsed_webhook_event.rbs +1 -0
  133. data/sig/lithic/models/settlement_detail.rbs +18 -18
  134. data/sig/lithic/models/signals_response.rbs +170 -0
  135. data/sig/lithic/models/statement_totals.rbs +12 -18
  136. data/sig/lithic/models/tokenization_decline_reason.rbs +2 -0
  137. data/sig/lithic/models/transaction.rbs +4 -8
  138. data/sig/lithic/models/transfer_limits_response.rbs +24 -36
  139. data/sig/lithic/models.rbs +14 -0
  140. data/sig/lithic/resources/accounts.rbs +5 -0
  141. data/sig/lithic/resources/card_authorizations.rbs +13 -0
  142. data/sig/lithic/resources/cards.rbs +5 -0
  143. data/sig/lithic/resources/external_bank_accounts.rbs +5 -0
  144. data/sig/lithic/resources/webhooks.rbs +1 -0
  145. metadata +29 -2
@@ -130,26 +130,27 @@ module Lithic
130
130
  # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
131
131
  # fee field in the settlement/cardholder billing currency. This is the amount
132
132
  # the issuer should authorize against unless the issuer is paying the acquirer
133
- # fee on behalf of the cardholder.
133
+ # fee on behalf of the cardholder. Use an integer value.
134
134
  # - `CASH_AMOUNT`: The cash amount of the transaction in minor units (cents). This
135
- # represents the amount of cash being withdrawn or advanced.
135
+ # represents the amount of cash being withdrawn or advanced. Use an integer
136
+ # value.
136
137
  # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
137
138
  # given authorization. Scores are on a range of 0-999, with 0 representing the
138
139
  # lowest risk and 999 representing the highest risk. For Visa transactions,
139
140
  # where the raw score has a range of 0-99, Lithic will normalize the score by
140
- # multiplying the raw score by 10x.
141
+ # multiplying the raw score by 10x. Use an integer value.
141
142
  # - `CARD_TRANSACTION_COUNT_15M`: The number of transactions on the card in the
142
- # trailing 15 minutes before the authorization.
143
+ # trailing 15 minutes before the authorization. Use an integer value.
143
144
  # - `CARD_TRANSACTION_COUNT_1H`: The number of transactions on the card in the
144
- # trailing hour up and until the authorization.
145
+ # trailing hour up and until the authorization. Use an integer value.
145
146
  # - `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the
146
- # trailing 24 hours up and until the authorization.
147
+ # trailing 24 hours up and until the authorization. Use an integer value.
147
148
  # - `CARD_DECLINE_COUNT_15M`: The number of declined transactions on the card in
148
- # the trailing 15 minutes before the authorization.
149
+ # the trailing 15 minutes before the authorization. Use an integer value.
149
150
  # - `CARD_DECLINE_COUNT_1H`: The number of declined transactions on the card in
150
- # the trailing hour up and until the authorization.
151
+ # the trailing hour up and until the authorization. Use an integer value.
151
152
  # - `CARD_DECLINE_COUNT_24H`: The number of declined transactions on the card in
152
- # the trailing 24 hours up and until the authorization.
153
+ # the trailing 24 hours up and until the authorization. Use an integer value.
153
154
  # - `CARD_STATE`: The current state of the card associated with the transaction.
154
155
  # Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`,
155
156
  # `PENDING_FULFILLMENT`.
@@ -174,18 +175,21 @@ module Lithic
174
175
  # data, the service location postal code is used. Otherwise, falls back to the
175
176
  # card acceptor postal code.
176
177
  # - `CARD_AGE`: The age of the card in seconds at the time of the authorization.
178
+ # Use an integer value.
177
179
  # - `ACCOUNT_AGE`: The age of the account holder's account in seconds at the time
178
- # of the authorization.
180
+ # of the authorization. Use an integer value. For programs where Lithic does not
181
+ # manage or retain account holder data, this attribute does not evaluate.
179
182
  # - `AMOUNT_Z_SCORE`: The z-score of the transaction amount relative to the
180
183
  # entity's transaction history. Null if fewer than 30 approved transactions in
181
184
  # the specified window. Requires `parameters.scope` and `parameters.interval`.
185
+ # Use a decimal value.
182
186
  # - `AVG_TRANSACTION_AMOUNT`: The average approved transaction amount for the
183
187
  # entity over the specified window, in cents. Requires `parameters.scope` and
184
- # `parameters.interval`.
188
+ # `parameters.interval`. Use a decimal value.
185
189
  # - `STDEV_TRANSACTION_AMOUNT`: The standard deviation of approved transaction
186
190
  # amounts for the entity over the specified window, in cents. Null if fewer than
187
191
  # 30 approved transactions in the specified window. Requires `parameters.scope`
188
- # and `parameters.interval`.
192
+ # and `parameters.interval`. Use a decimal value.
189
193
  # - `IS_NEW_COUNTRY`: Whether the transaction's merchant country has not been seen
190
194
  # in the entity's transaction history. Valid values are `TRUE`, `FALSE`.
191
195
  # Requires `parameters.scope`.
@@ -196,17 +200,31 @@ module Lithic
196
200
  # Valid values are `TRUE`, `FALSE`. Requires `parameters.scope`.
197
201
  # - `CONSECUTIVE_DECLINES`: The number of consecutive declined transactions for
198
202
  # the entity over the last 30 days (rolling). Requires `parameters.scope`. Not
199
- # supported for `BUSINESS_ACCOUNT` scope.
203
+ # supported for `BUSINESS_ACCOUNT` scope. Use an integer value.
200
204
  # - `TIME_SINCE_LAST_TRANSACTION`: The number of days since the last approved
201
- # transaction for the entity. Requires `parameters.scope`.
205
+ # transaction for the entity, rounded to the nearest whole day. Requires
206
+ # `parameters.scope`. Use an integer value.
202
207
  # - `DISTINCT_COUNTRY_COUNT`: The number of distinct merchant countries seen in
203
- # the entity's transaction history. Requires `parameters.scope`.
208
+ # the entity's transaction history. Requires `parameters.scope`. Use an integer
209
+ # value.
204
210
  # - `IS_NEW_MERCHANT`: Whether the card acceptor ID has not been seen in the
205
211
  # card's approved transaction history (capped at the 1000 most recently seen
206
212
  # merchants). Valid values are `TRUE`, `FALSE`. Card-scoped only; no
207
213
  # `parameters` required.
208
214
  # - `THREE_DS_SUCCESS_RATE`: The 3DS authentication success rate for the card, as
209
215
  # a percentage from 0.0 to 100.0. Card-scoped only; no `parameters` required.
216
+ # Use a decimal value.
217
+ # - `TRAVEL_SPEED`: The estimated speed of travel derived from the distance
218
+ # between the postal code centers of the last card-present transaction and the
219
+ # current transaction, divided by the elapsed time. Null if there is no prior
220
+ # card-present transaction, if either postal code cannot be geocoded, or if
221
+ # elapsed time is zero. Requires `parameters.unit` set to `MPH` or `KPH`. Use a
222
+ # decimal value.
223
+ # - `DISTANCE_FROM_LAST_TRANSACTION`: The estimated distance between the postal
224
+ # code centers of the last card-present transaction and the current transaction.
225
+ # Null if there is no prior card-present transaction or if either postal code
226
+ # cannot be geocoded. Requires `parameters.unit` set to `MILES` or `KILOMETERS`.
227
+ # Use a decimal value.
210
228
  sig do
211
229
  returns(
212
230
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::OrSymbol
@@ -222,11 +240,12 @@ module Lithic
222
240
  sig { returns(Lithic::AuthRules::ConditionalValue::Variants) }
223
241
  attr_accessor :value
224
242
 
225
- # Additional parameters required for transaction history signal attributes.
226
- # Required when `attribute` is one of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`,
227
- # `STDEV_TRANSACTION_AMOUNT`, `IS_NEW_COUNTRY`, `IS_NEW_MCC`,
228
- # `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`, `TIME_SINCE_LAST_TRANSACTION`,
229
- # or `DISTINCT_COUNTRY_COUNT`. Not used for other attributes.
243
+ # Additional parameters for certain attributes. Required when `attribute` is one
244
+ # of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`, `STDEV_TRANSACTION_AMOUNT`,
245
+ # `IS_NEW_COUNTRY`, `IS_NEW_MCC`, `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`,
246
+ # `TIME_SINCE_LAST_TRANSACTION`, or `DISTINCT_COUNTRY_COUNT` (require `scope`); or
247
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION` (require `unit`). Not used
248
+ # for other attributes.
230
249
  sig do
231
250
  returns(
232
251
  T.nilable(
@@ -280,26 +299,27 @@ module Lithic
280
299
  # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
281
300
  # fee field in the settlement/cardholder billing currency. This is the amount
282
301
  # the issuer should authorize against unless the issuer is paying the acquirer
283
- # fee on behalf of the cardholder.
302
+ # fee on behalf of the cardholder. Use an integer value.
284
303
  # - `CASH_AMOUNT`: The cash amount of the transaction in minor units (cents). This
285
- # represents the amount of cash being withdrawn or advanced.
304
+ # represents the amount of cash being withdrawn or advanced. Use an integer
305
+ # value.
286
306
  # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
287
307
  # given authorization. Scores are on a range of 0-999, with 0 representing the
288
308
  # lowest risk and 999 representing the highest risk. For Visa transactions,
289
309
  # where the raw score has a range of 0-99, Lithic will normalize the score by
290
- # multiplying the raw score by 10x.
310
+ # multiplying the raw score by 10x. Use an integer value.
291
311
  # - `CARD_TRANSACTION_COUNT_15M`: The number of transactions on the card in the
292
- # trailing 15 minutes before the authorization.
312
+ # trailing 15 minutes before the authorization. Use an integer value.
293
313
  # - `CARD_TRANSACTION_COUNT_1H`: The number of transactions on the card in the
294
- # trailing hour up and until the authorization.
314
+ # trailing hour up and until the authorization. Use an integer value.
295
315
  # - `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the
296
- # trailing 24 hours up and until the authorization.
316
+ # trailing 24 hours up and until the authorization. Use an integer value.
297
317
  # - `CARD_DECLINE_COUNT_15M`: The number of declined transactions on the card in
298
- # the trailing 15 minutes before the authorization.
318
+ # the trailing 15 minutes before the authorization. Use an integer value.
299
319
  # - `CARD_DECLINE_COUNT_1H`: The number of declined transactions on the card in
300
- # the trailing hour up and until the authorization.
320
+ # the trailing hour up and until the authorization. Use an integer value.
301
321
  # - `CARD_DECLINE_COUNT_24H`: The number of declined transactions on the card in
302
- # the trailing 24 hours up and until the authorization.
322
+ # the trailing 24 hours up and until the authorization. Use an integer value.
303
323
  # - `CARD_STATE`: The current state of the card associated with the transaction.
304
324
  # Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`,
305
325
  # `PENDING_FULFILLMENT`.
@@ -324,18 +344,21 @@ module Lithic
324
344
  # data, the service location postal code is used. Otherwise, falls back to the
325
345
  # card acceptor postal code.
326
346
  # - `CARD_AGE`: The age of the card in seconds at the time of the authorization.
347
+ # Use an integer value.
327
348
  # - `ACCOUNT_AGE`: The age of the account holder's account in seconds at the time
328
- # of the authorization.
349
+ # of the authorization. Use an integer value. For programs where Lithic does not
350
+ # manage or retain account holder data, this attribute does not evaluate.
329
351
  # - `AMOUNT_Z_SCORE`: The z-score of the transaction amount relative to the
330
352
  # entity's transaction history. Null if fewer than 30 approved transactions in
331
353
  # the specified window. Requires `parameters.scope` and `parameters.interval`.
354
+ # Use a decimal value.
332
355
  # - `AVG_TRANSACTION_AMOUNT`: The average approved transaction amount for the
333
356
  # entity over the specified window, in cents. Requires `parameters.scope` and
334
- # `parameters.interval`.
357
+ # `parameters.interval`. Use a decimal value.
335
358
  # - `STDEV_TRANSACTION_AMOUNT`: The standard deviation of approved transaction
336
359
  # amounts for the entity over the specified window, in cents. Null if fewer than
337
360
  # 30 approved transactions in the specified window. Requires `parameters.scope`
338
- # and `parameters.interval`.
361
+ # and `parameters.interval`. Use a decimal value.
339
362
  # - `IS_NEW_COUNTRY`: Whether the transaction's merchant country has not been seen
340
363
  # in the entity's transaction history. Valid values are `TRUE`, `FALSE`.
341
364
  # Requires `parameters.scope`.
@@ -346,27 +369,42 @@ module Lithic
346
369
  # Valid values are `TRUE`, `FALSE`. Requires `parameters.scope`.
347
370
  # - `CONSECUTIVE_DECLINES`: The number of consecutive declined transactions for
348
371
  # the entity over the last 30 days (rolling). Requires `parameters.scope`. Not
349
- # supported for `BUSINESS_ACCOUNT` scope.
372
+ # supported for `BUSINESS_ACCOUNT` scope. Use an integer value.
350
373
  # - `TIME_SINCE_LAST_TRANSACTION`: The number of days since the last approved
351
- # transaction for the entity. Requires `parameters.scope`.
374
+ # transaction for the entity, rounded to the nearest whole day. Requires
375
+ # `parameters.scope`. Use an integer value.
352
376
  # - `DISTINCT_COUNTRY_COUNT`: The number of distinct merchant countries seen in
353
- # the entity's transaction history. Requires `parameters.scope`.
377
+ # the entity's transaction history. Requires `parameters.scope`. Use an integer
378
+ # value.
354
379
  # - `IS_NEW_MERCHANT`: Whether the card acceptor ID has not been seen in the
355
380
  # card's approved transaction history (capped at the 1000 most recently seen
356
381
  # merchants). Valid values are `TRUE`, `FALSE`. Card-scoped only; no
357
382
  # `parameters` required.
358
383
  # - `THREE_DS_SUCCESS_RATE`: The 3DS authentication success rate for the card, as
359
384
  # a percentage from 0.0 to 100.0. Card-scoped only; no `parameters` required.
385
+ # Use a decimal value.
386
+ # - `TRAVEL_SPEED`: The estimated speed of travel derived from the distance
387
+ # between the postal code centers of the last card-present transaction and the
388
+ # current transaction, divided by the elapsed time. Null if there is no prior
389
+ # card-present transaction, if either postal code cannot be geocoded, or if
390
+ # elapsed time is zero. Requires `parameters.unit` set to `MPH` or `KPH`. Use a
391
+ # decimal value.
392
+ # - `DISTANCE_FROM_LAST_TRANSACTION`: The estimated distance between the postal
393
+ # code centers of the last card-present transaction and the current transaction.
394
+ # Null if there is no prior card-present transaction or if either postal code
395
+ # cannot be geocoded. Requires `parameters.unit` set to `MILES` or `KILOMETERS`.
396
+ # Use a decimal value.
360
397
  attribute:,
361
398
  # The operation to apply to the attribute
362
399
  operation:,
363
400
  # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
364
401
  value:,
365
- # Additional parameters required for transaction history signal attributes.
366
- # Required when `attribute` is one of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`,
367
- # `STDEV_TRANSACTION_AMOUNT`, `IS_NEW_COUNTRY`, `IS_NEW_MCC`,
368
- # `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`, `TIME_SINCE_LAST_TRANSACTION`,
369
- # or `DISTINCT_COUNTRY_COUNT`. Not used for other attributes.
402
+ # Additional parameters for certain attributes. Required when `attribute` is one
403
+ # of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`, `STDEV_TRANSACTION_AMOUNT`,
404
+ # `IS_NEW_COUNTRY`, `IS_NEW_MCC`, `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`,
405
+ # `TIME_SINCE_LAST_TRANSACTION`, or `DISTINCT_COUNTRY_COUNT` (require `scope`); or
406
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION` (require `unit`). Not used
407
+ # for other attributes.
370
408
  parameters: nil
371
409
  )
372
410
  end
@@ -411,26 +449,27 @@ module Lithic
411
449
  # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
412
450
  # fee field in the settlement/cardholder billing currency. This is the amount
413
451
  # the issuer should authorize against unless the issuer is paying the acquirer
414
- # fee on behalf of the cardholder.
452
+ # fee on behalf of the cardholder. Use an integer value.
415
453
  # - `CASH_AMOUNT`: The cash amount of the transaction in minor units (cents). This
416
- # represents the amount of cash being withdrawn or advanced.
454
+ # represents the amount of cash being withdrawn or advanced. Use an integer
455
+ # value.
417
456
  # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
418
457
  # given authorization. Scores are on a range of 0-999, with 0 representing the
419
458
  # lowest risk and 999 representing the highest risk. For Visa transactions,
420
459
  # where the raw score has a range of 0-99, Lithic will normalize the score by
421
- # multiplying the raw score by 10x.
460
+ # multiplying the raw score by 10x. Use an integer value.
422
461
  # - `CARD_TRANSACTION_COUNT_15M`: The number of transactions on the card in the
423
- # trailing 15 minutes before the authorization.
462
+ # trailing 15 minutes before the authorization. Use an integer value.
424
463
  # - `CARD_TRANSACTION_COUNT_1H`: The number of transactions on the card in the
425
- # trailing hour up and until the authorization.
464
+ # trailing hour up and until the authorization. Use an integer value.
426
465
  # - `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the
427
- # trailing 24 hours up and until the authorization.
466
+ # trailing 24 hours up and until the authorization. Use an integer value.
428
467
  # - `CARD_DECLINE_COUNT_15M`: The number of declined transactions on the card in
429
- # the trailing 15 minutes before the authorization.
468
+ # the trailing 15 minutes before the authorization. Use an integer value.
430
469
  # - `CARD_DECLINE_COUNT_1H`: The number of declined transactions on the card in
431
- # the trailing hour up and until the authorization.
470
+ # the trailing hour up and until the authorization. Use an integer value.
432
471
  # - `CARD_DECLINE_COUNT_24H`: The number of declined transactions on the card in
433
- # the trailing 24 hours up and until the authorization.
472
+ # the trailing 24 hours up and until the authorization. Use an integer value.
434
473
  # - `CARD_STATE`: The current state of the card associated with the transaction.
435
474
  # Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`,
436
475
  # `PENDING_FULFILLMENT`.
@@ -455,18 +494,21 @@ module Lithic
455
494
  # data, the service location postal code is used. Otherwise, falls back to the
456
495
  # card acceptor postal code.
457
496
  # - `CARD_AGE`: The age of the card in seconds at the time of the authorization.
497
+ # Use an integer value.
458
498
  # - `ACCOUNT_AGE`: The age of the account holder's account in seconds at the time
459
- # of the authorization.
499
+ # of the authorization. Use an integer value. For programs where Lithic does not
500
+ # manage or retain account holder data, this attribute does not evaluate.
460
501
  # - `AMOUNT_Z_SCORE`: The z-score of the transaction amount relative to the
461
502
  # entity's transaction history. Null if fewer than 30 approved transactions in
462
503
  # the specified window. Requires `parameters.scope` and `parameters.interval`.
504
+ # Use a decimal value.
463
505
  # - `AVG_TRANSACTION_AMOUNT`: The average approved transaction amount for the
464
506
  # entity over the specified window, in cents. Requires `parameters.scope` and
465
- # `parameters.interval`.
507
+ # `parameters.interval`. Use a decimal value.
466
508
  # - `STDEV_TRANSACTION_AMOUNT`: The standard deviation of approved transaction
467
509
  # amounts for the entity over the specified window, in cents. Null if fewer than
468
510
  # 30 approved transactions in the specified window. Requires `parameters.scope`
469
- # and `parameters.interval`.
511
+ # and `parameters.interval`. Use a decimal value.
470
512
  # - `IS_NEW_COUNTRY`: Whether the transaction's merchant country has not been seen
471
513
  # in the entity's transaction history. Valid values are `TRUE`, `FALSE`.
472
514
  # Requires `parameters.scope`.
@@ -477,17 +519,31 @@ module Lithic
477
519
  # Valid values are `TRUE`, `FALSE`. Requires `parameters.scope`.
478
520
  # - `CONSECUTIVE_DECLINES`: The number of consecutive declined transactions for
479
521
  # the entity over the last 30 days (rolling). Requires `parameters.scope`. Not
480
- # supported for `BUSINESS_ACCOUNT` scope.
522
+ # supported for `BUSINESS_ACCOUNT` scope. Use an integer value.
481
523
  # - `TIME_SINCE_LAST_TRANSACTION`: The number of days since the last approved
482
- # transaction for the entity. Requires `parameters.scope`.
524
+ # transaction for the entity, rounded to the nearest whole day. Requires
525
+ # `parameters.scope`. Use an integer value.
483
526
  # - `DISTINCT_COUNTRY_COUNT`: The number of distinct merchant countries seen in
484
- # the entity's transaction history. Requires `parameters.scope`.
527
+ # the entity's transaction history. Requires `parameters.scope`. Use an integer
528
+ # value.
485
529
  # - `IS_NEW_MERCHANT`: Whether the card acceptor ID has not been seen in the
486
530
  # card's approved transaction history (capped at the 1000 most recently seen
487
531
  # merchants). Valid values are `TRUE`, `FALSE`. Card-scoped only; no
488
532
  # `parameters` required.
489
533
  # - `THREE_DS_SUCCESS_RATE`: The 3DS authentication success rate for the card, as
490
534
  # a percentage from 0.0 to 100.0. Card-scoped only; no `parameters` required.
535
+ # Use a decimal value.
536
+ # - `TRAVEL_SPEED`: The estimated speed of travel derived from the distance
537
+ # between the postal code centers of the last card-present transaction and the
538
+ # current transaction, divided by the elapsed time. Null if there is no prior
539
+ # card-present transaction, if either postal code cannot be geocoded, or if
540
+ # elapsed time is zero. Requires `parameters.unit` set to `MPH` or `KPH`. Use a
541
+ # decimal value.
542
+ # - `DISTANCE_FROM_LAST_TRANSACTION`: The estimated distance between the postal
543
+ # code centers of the last card-present transaction and the current transaction.
544
+ # Null if there is no prior card-present transaction or if either postal code
545
+ # cannot be geocoded. Requires `parameters.unit` set to `MILES` or `KILOMETERS`.
546
+ # Use a decimal value.
491
547
  module Attribute
492
548
  extend Lithic::Internal::Type::Enum
493
549
 
@@ -685,6 +741,16 @@ module Lithic
685
741
  :THREE_DS_SUCCESS_RATE,
686
742
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
687
743
  )
744
+ TRAVEL_SPEED =
745
+ T.let(
746
+ :TRAVEL_SPEED,
747
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
748
+ )
749
+ DISTANCE_FROM_LAST_TRANSACTION =
750
+ T.let(
751
+ :DISTANCE_FROM_LAST_TRANSACTION,
752
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
753
+ )
688
754
 
689
755
  sig do
690
756
  override.returns(
@@ -744,17 +810,43 @@ module Lithic
744
810
  end
745
811
  attr_writer :scope
746
812
 
747
- # Additional parameters required for transaction history signal attributes.
748
- # Required when `attribute` is one of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`,
749
- # `STDEV_TRANSACTION_AMOUNT`, `IS_NEW_COUNTRY`, `IS_NEW_MCC`,
750
- # `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`, `TIME_SINCE_LAST_TRANSACTION`,
751
- # or `DISTINCT_COUNTRY_COUNT`. Not used for other attributes.
813
+ # The unit for impossible travel attributes. Required when `attribute` is
814
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION`.
815
+ #
816
+ # For `TRAVEL_SPEED`: `MPH` (miles per hour) or `KPH` (kilometers per hour).
817
+ #
818
+ # For `DISTANCE_FROM_LAST_TRANSACTION`: `MILES` or `KILOMETERS`.
819
+ sig do
820
+ returns(
821
+ T.nilable(
822
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::OrSymbol
823
+ )
824
+ )
825
+ end
826
+ attr_reader :unit
827
+
828
+ sig do
829
+ params(
830
+ unit:
831
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::OrSymbol
832
+ ).void
833
+ end
834
+ attr_writer :unit
835
+
836
+ # Additional parameters for certain attributes. Required when `attribute` is one
837
+ # of `AMOUNT_Z_SCORE`, `AVG_TRANSACTION_AMOUNT`, `STDEV_TRANSACTION_AMOUNT`,
838
+ # `IS_NEW_COUNTRY`, `IS_NEW_MCC`, `IS_FIRST_TRANSACTION`, `CONSECUTIVE_DECLINES`,
839
+ # `TIME_SINCE_LAST_TRANSACTION`, or `DISTINCT_COUNTRY_COUNT` (require `scope`); or
840
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION` (require `unit`). Not used
841
+ # for other attributes.
752
842
  sig do
753
843
  params(
754
844
  interval:
755
845
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Interval::OrSymbol,
756
846
  scope:
757
- Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Scope::OrSymbol
847
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Scope::OrSymbol,
848
+ unit:
849
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::OrSymbol
758
850
  ).returns(T.attached_class)
759
851
  end
760
852
  def self.new(
@@ -763,7 +855,14 @@ module Lithic
763
855
  # all-time history or a specific window (`7D`, `30D`, `90D`).
764
856
  interval: nil,
765
857
  # The entity scope to evaluate the attribute against.
766
- scope: nil
858
+ scope: nil,
859
+ # The unit for impossible travel attributes. Required when `attribute` is
860
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION`.
861
+ #
862
+ # For `TRAVEL_SPEED`: `MPH` (miles per hour) or `KPH` (kilometers per hour).
863
+ #
864
+ # For `DISTANCE_FROM_LAST_TRANSACTION`: `MILES` or `KILOMETERS`.
865
+ unit: nil
767
866
  )
768
867
  end
769
868
 
@@ -773,7 +872,9 @@ module Lithic
773
872
  interval:
774
873
  Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Interval::OrSymbol,
775
874
  scope:
776
- Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Scope::OrSymbol
875
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Scope::OrSymbol,
876
+ unit:
877
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::OrSymbol
777
878
  }
778
879
  )
779
880
  end
@@ -866,6 +967,56 @@ module Lithic
866
967
  def self.values
867
968
  end
868
969
  end
970
+
971
+ # The unit for impossible travel attributes. Required when `attribute` is
972
+ # `TRAVEL_SPEED` or `DISTANCE_FROM_LAST_TRANSACTION`.
973
+ #
974
+ # For `TRAVEL_SPEED`: `MPH` (miles per hour) or `KPH` (kilometers per hour).
975
+ #
976
+ # For `DISTANCE_FROM_LAST_TRANSACTION`: `MILES` or `KILOMETERS`.
977
+ module Unit
978
+ extend Lithic::Internal::Type::Enum
979
+
980
+ TaggedSymbol =
981
+ T.type_alias do
982
+ T.all(
983
+ Symbol,
984
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit
985
+ )
986
+ end
987
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
988
+
989
+ MPH =
990
+ T.let(
991
+ :MPH,
992
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::TaggedSymbol
993
+ )
994
+ KPH =
995
+ T.let(
996
+ :KPH,
997
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::TaggedSymbol
998
+ )
999
+ MILES =
1000
+ T.let(
1001
+ :MILES,
1002
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::TaggedSymbol
1003
+ )
1004
+ KILOMETERS =
1005
+ T.let(
1006
+ :KILOMETERS,
1007
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::TaggedSymbol
1008
+ )
1009
+
1010
+ sig do
1011
+ override.returns(
1012
+ T::Array[
1013
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::Unit::TaggedSymbol
1014
+ ]
1015
+ )
1016
+ end
1017
+ def self.values
1018
+ end
1019
+ end
869
1020
  end
870
1021
  end
871
1022
  end