lithic 0.1.0.pre.alpha.29 → 0.1.0.pre.alpha.31

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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/internal/type/enum.rb +6 -3
  5. data/lib/lithic/internal/type/union.rb +5 -2
  6. data/lib/lithic/internal/util.rb +8 -9
  7. data/lib/lithic/models/account_update_params.rb +4 -4
  8. data/lib/lithic/models/auth_rules/v2/backtest_results.rb +100 -28
  9. data/lib/lithic/models/auth_rules/v2_apply_response.rb +401 -10
  10. data/lib/lithic/models/auth_rules/v2_create_params.rb +205 -6
  11. data/lib/lithic/models/auth_rules/v2_create_response.rb +401 -10
  12. data/lib/lithic/models/auth_rules/v2_draft_params.rb +186 -3
  13. data/lib/lithic/models/auth_rules/v2_draft_response.rb +401 -10
  14. data/lib/lithic/models/auth_rules/v2_list_params.rb +27 -8
  15. data/lib/lithic/models/auth_rules/v2_list_response.rb +401 -10
  16. data/lib/lithic/models/auth_rules/v2_promote_response.rb +401 -10
  17. data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +401 -10
  18. data/lib/lithic/models/auth_rules/v2_update_response.rb +401 -10
  19. data/lib/lithic/models/funding_event_list_response.rb +26 -22
  20. data/lib/lithic/models/funding_event_retrieve_response.rb +26 -22
  21. data/lib/lithic/models/payment.rb +2 -2
  22. data/lib/lithic/models/required_document.rb +2 -2
  23. data/lib/lithic/models/transaction.rb +2 -1
  24. data/lib/lithic/models.rb +4 -4
  25. data/lib/lithic/resources/auth_rules/v2/backtests.rb +12 -13
  26. data/lib/lithic/resources/auth_rules/v2.rb +45 -39
  27. data/lib/lithic/resources/transfers.rb +2 -0
  28. data/lib/lithic/version.rb +1 -1
  29. data/rbi/lithic/internal/util.rbi +2 -0
  30. data/rbi/lithic/models/account_update_params.rbi +6 -6
  31. data/rbi/lithic/models/auth_rules/v2/backtest_results.rbi +186 -24
  32. data/rbi/lithic/models/auth_rules/v2_apply_response.rbi +895 -7
  33. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +442 -8
  34. data/rbi/lithic/models/auth_rules/v2_create_response.rbi +895 -7
  35. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +414 -4
  36. data/rbi/lithic/models/auth_rules/v2_draft_response.rbi +895 -7
  37. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +60 -7
  38. data/rbi/lithic/models/auth_rules/v2_list_response.rbi +895 -7
  39. data/rbi/lithic/models/auth_rules/v2_promote_response.rbi +895 -7
  40. data/rbi/lithic/models/auth_rules/v2_retrieve_response.rbi +895 -7
  41. data/rbi/lithic/models/auth_rules/v2_update_response.rbi +895 -7
  42. data/rbi/lithic/models/funding_event_list_response.rbi +35 -28
  43. data/rbi/lithic/models/funding_event_retrieve_response.rbi +35 -28
  44. data/rbi/lithic/models/payment.rbi +3 -3
  45. data/rbi/lithic/models/required_document.rbi +2 -2
  46. data/rbi/lithic/models/transaction.rbi +4 -2
  47. data/rbi/lithic/resources/accounts.rbi +2 -2
  48. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +12 -13
  49. data/rbi/lithic/resources/auth_rules/v2.rbi +49 -38
  50. data/sig/lithic/models/auth_rules/v2/backtest_results.rbs +66 -2
  51. data/sig/lithic/models/auth_rules/v2_apply_response.rbs +280 -1
  52. data/sig/lithic/models/auth_rules/v2_create_params.rbs +135 -1
  53. data/sig/lithic/models/auth_rules/v2_create_response.rbs +280 -1
  54. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +129 -0
  55. data/sig/lithic/models/auth_rules/v2_draft_response.rbs +280 -1
  56. data/sig/lithic/models/auth_rules/v2_list_params.rbs +20 -0
  57. data/sig/lithic/models/auth_rules/v2_list_response.rbs +280 -1
  58. data/sig/lithic/models/auth_rules/v2_promote_response.rbs +280 -1
  59. data/sig/lithic/models/auth_rules/v2_retrieve_response.rbs +280 -1
  60. data/sig/lithic/models/auth_rules/v2_update_response.rbs +280 -1
  61. data/sig/lithic/models/funding_event_list_response.rbs +18 -11
  62. data/sig/lithic/models/funding_event_retrieve_response.rbs +18 -11
  63. data/sig/lithic/resources/auth_rules/v2.rbs +1 -0
  64. metadata +2 -2
@@ -35,6 +35,12 @@ module Lithic
35
35
  # @return [Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion, nil]
36
36
  required :draft_version, -> { Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion }, nil?: true
37
37
 
38
+ # @!attribute event_stream
39
+ # The type of event stream the Auth rule applies to.
40
+ #
41
+ # @return [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::EventStream]
42
+ required :event_stream, enum: -> { Lithic::Models::AuthRules::V2RetrieveResponse::EventStream }
43
+
38
44
  # @!attribute name
39
45
  # Auth Rule Name
40
46
  #
@@ -54,7 +60,13 @@ module Lithic
54
60
  required :state, enum: -> { Lithic::Models::AuthRules::V2RetrieveResponse::State }
55
61
 
56
62
  # @!attribute type
57
- # The type of Auth Rule
63
+ # The type of Auth Rule. Effectively determines the event stream during which it
64
+ # will be evaluated.
65
+ #
66
+ # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
67
+ # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
68
+ # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
69
+ # - `CONDITIONAL_3DS_ACTION`: THREE_DS_AUTHENTICATION event stream.
58
70
  #
59
71
  # @return [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::Type]
60
72
  required :type, enum: -> { Lithic::Models::AuthRules::V2RetrieveResponse::Type }
@@ -65,7 +77,10 @@ module Lithic
65
77
  # @return [Array<String>, nil]
66
78
  optional :excluded_card_tokens, Lithic::Internal::Type::ArrayOf[String]
67
79
 
68
- # @!method initialize(token:, account_tokens:, card_tokens:, current_version:, draft_version:, name:, program_level:, state:, type:, excluded_card_tokens: nil)
80
+ # @!method initialize(token:, account_tokens:, card_tokens:, current_version:, draft_version:, event_stream:, name:, program_level:, state:, type:, excluded_card_tokens: nil)
81
+ # Some parameter documentations has been truncated, see
82
+ # {Lithic::Models::AuthRules::V2RetrieveResponse} for more details.
83
+ #
69
84
  # @param token [String] Auth Rule Token
70
85
  #
71
86
  # @param account_tokens [Array<String>] Account tokens to which the Auth Rule applies.
@@ -76,13 +91,15 @@ module Lithic
76
91
  #
77
92
  # @param draft_version [Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion, nil]
78
93
  #
94
+ # @param event_stream [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::EventStream] The type of event stream the Auth rule applies to.
95
+ #
79
96
  # @param name [String, nil] Auth Rule Name
80
97
  #
81
98
  # @param program_level [Boolean] Whether the Auth Rule applies to all authorizations on the card program.
82
99
  #
83
100
  # @param state [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::State] The state of the Auth Rule
84
101
  #
85
- # @param type [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::Type] The type of Auth Rule
102
+ # @param type [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::Type] The type of Auth Rule. Effectively determines the event stream during which it w
86
103
  #
87
104
  # @param excluded_card_tokens [Array<String>] Card tokens to which the Auth Rule does not apply.
88
105
 
@@ -91,7 +108,7 @@ module Lithic
91
108
  # @!attribute parameters
92
109
  # Parameters for the Auth Rule
93
110
  #
94
- # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::MerchantLockParameters]
111
+ # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::MerchantLockParameters, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters]
95
112
  required :parameters,
96
113
  union: -> { Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters }
97
114
 
@@ -109,7 +126,7 @@ module Lithic
109
126
  # {Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion} for more
110
127
  # details.
111
128
  #
112
- # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::MerchantLockParameters] Parameters for the Auth Rule
129
+ # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::MerchantLockParameters, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters] Parameters for the Auth Rule
113
130
  #
114
131
  # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan
115
132
 
@@ -125,6 +142,8 @@ module Lithic
125
142
 
126
143
  variant -> { Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::MerchantLockParameters }
127
144
 
145
+ variant -> { Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters }
146
+
128
147
  class MerchantLockParameters < Lithic::Internal::Type::BaseModel
129
148
  # @!attribute merchants
130
149
  # A list of merchant locks defining specific merchants or groups of merchants
@@ -186,8 +205,183 @@ module Lithic
186
205
  end
187
206
  end
188
207
 
208
+ class Conditional3DSActionParameters < Lithic::Internal::Type::BaseModel
209
+ # @!attribute action
210
+ # The action to take if the conditions are met.
211
+ #
212
+ # @return [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Action]
213
+ required :action,
214
+ enum: -> { Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Action }
215
+
216
+ # @!attribute conditions
217
+ #
218
+ # @return [Array<Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition>]
219
+ required :conditions,
220
+ -> do
221
+ Lithic::Internal::Type::ArrayOf[
222
+ Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition
223
+ ]
224
+ end
225
+
226
+ # @!method initialize(action:, conditions:)
227
+ # @param action [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Action] The action to take if the conditions are met.
228
+ #
229
+ # @param conditions [Array<Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition>]
230
+
231
+ # The action to take if the conditions are met.
232
+ #
233
+ # @see Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters#action
234
+ module Action
235
+ extend Lithic::Internal::Type::Enum
236
+
237
+ DECLINE = :DECLINE
238
+ CHALLENGE = :CHALLENGE
239
+
240
+ # @!method self.values
241
+ # @return [Array<Symbol>]
242
+ end
243
+
244
+ class Condition < Lithic::Internal::Type::BaseModel
245
+ # @!attribute attribute
246
+ # The attribute to target.
247
+ #
248
+ # The following attributes may be targeted:
249
+ #
250
+ # - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a
251
+ # business by the types of goods or services it provides.
252
+ # - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all
253
+ # ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for
254
+ # Netherlands Antilles.
255
+ # - `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of
256
+ # the transaction.
257
+ # - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor
258
+ # (merchant).
259
+ # - `DESCRIPTOR`: Short description of card acceptor.
260
+ # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
261
+ # fee field in the settlement/cardholder billing currency. This is the amount
262
+ # the issuer should authorize against unless the issuer is paying the acquirer
263
+ # fee on behalf of the cardholder.
264
+ # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
265
+ # given authentication. Scores are on a range of 0-999, with 0 representing the
266
+ # lowest risk and 999 representing the highest risk. For Visa transactions,
267
+ # where the raw score has a range of 0-99, Lithic will normalize the score by
268
+ # multiplying the raw score by 10x.
269
+ # - `MESSAGE_CATEGORY`: The category of the authentication being processed.
270
+ #
271
+ # @return [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition::Attribute, nil]
272
+ optional :attribute,
273
+ enum: -> { Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition::Attribute }
274
+
275
+ # @!attribute operation
276
+ # The operation to apply to the attribute
277
+ #
278
+ # @return [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition::Operation, nil]
279
+ optional :operation,
280
+ enum: -> { Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition::Operation }
281
+
282
+ # @!attribute value
283
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
284
+ #
285
+ # @return [String, Integer, Array<String>, nil]
286
+ optional :value,
287
+ union: -> { Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition::Value }
288
+
289
+ # @!method initialize(attribute: nil, operation: nil, value: nil)
290
+ # Some parameter documentations has been truncated, see
291
+ # {Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition}
292
+ # for more details.
293
+ #
294
+ # @param attribute [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition::Attribute] The attribute to target.
295
+ #
296
+ # @param operation [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition::Operation] The operation to apply to the attribute
297
+ #
298
+ # @param value [String, Integer, Array<String>] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
299
+
300
+ # The attribute to target.
301
+ #
302
+ # The following attributes may be targeted:
303
+ #
304
+ # - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a
305
+ # business by the types of goods or services it provides.
306
+ # - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all
307
+ # ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for
308
+ # Netherlands Antilles.
309
+ # - `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of
310
+ # the transaction.
311
+ # - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor
312
+ # (merchant).
313
+ # - `DESCRIPTOR`: Short description of card acceptor.
314
+ # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
315
+ # fee field in the settlement/cardholder billing currency. This is the amount
316
+ # the issuer should authorize against unless the issuer is paying the acquirer
317
+ # fee on behalf of the cardholder.
318
+ # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
319
+ # given authentication. Scores are on a range of 0-999, with 0 representing the
320
+ # lowest risk and 999 representing the highest risk. For Visa transactions,
321
+ # where the raw score has a range of 0-99, Lithic will normalize the score by
322
+ # multiplying the raw score by 10x.
323
+ # - `MESSAGE_CATEGORY`: The category of the authentication being processed.
324
+ #
325
+ # @see Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition#attribute
326
+ module Attribute
327
+ extend Lithic::Internal::Type::Enum
328
+
329
+ MCC = :MCC
330
+ COUNTRY = :COUNTRY
331
+ CURRENCY = :CURRENCY
332
+ MERCHANT_ID = :MERCHANT_ID
333
+ DESCRIPTOR = :DESCRIPTOR
334
+ TRANSACTION_AMOUNT = :TRANSACTION_AMOUNT
335
+ RISK_SCORE = :RISK_SCORE
336
+ MESSAGE_CATEGORY = :MESSAGE_CATEGORY
337
+
338
+ # @!method self.values
339
+ # @return [Array<Symbol>]
340
+ end
341
+
342
+ # The operation to apply to the attribute
343
+ #
344
+ # @see Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition#operation
345
+ module Operation
346
+ extend Lithic::Internal::Type::Enum
347
+
348
+ IS_ONE_OF = :IS_ONE_OF
349
+ IS_NOT_ONE_OF = :IS_NOT_ONE_OF
350
+ MATCHES = :MATCHES
351
+ DOES_NOT_MATCH = :DOES_NOT_MATCH
352
+ IS_GREATER_THAN = :IS_GREATER_THAN
353
+ IS_LESS_THAN = :IS_LESS_THAN
354
+
355
+ # @!method self.values
356
+ # @return [Array<Symbol>]
357
+ end
358
+
359
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
360
+ #
361
+ # @see Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition#value
362
+ module Value
363
+ extend Lithic::Internal::Type::Union
364
+
365
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
366
+ variant String
367
+
368
+ # A number, to be used with `IS_GREATER_THAN` or `IS_LESS_THAN`
369
+ variant Integer
370
+
371
+ # An array of strings, to be used with `IS_ONE_OF` or `IS_NOT_ONE_OF`
372
+ variant -> { Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters::Condition::Value::StringArray }
373
+
374
+ # @!method self.variants
375
+ # @return [Array(String, Integer, Array<String>)]
376
+
377
+ # @type [Lithic::Internal::Type::Converter]
378
+ StringArray = Lithic::Internal::Type::ArrayOf[String]
379
+ end
380
+ end
381
+ end
382
+
189
383
  # @!method self.variants
190
- # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::MerchantLockParameters)]
384
+ # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::MerchantLockParameters, Lithic::Models::AuthRules::V2RetrieveResponse::CurrentVersion::Parameters::Conditional3DSActionParameters)]
191
385
  end
192
386
  end
193
387
 
@@ -196,7 +390,7 @@ module Lithic
196
390
  # @!attribute parameters
197
391
  # Parameters for the Auth Rule
198
392
  #
199
- # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::MerchantLockParameters]
393
+ # @return [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::MerchantLockParameters, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters]
200
394
  required :parameters,
201
395
  union: -> { Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters }
202
396
 
@@ -213,7 +407,7 @@ module Lithic
213
407
  # Some parameter documentations has been truncated, see
214
408
  # {Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion} for more details.
215
409
  #
216
- # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::MerchantLockParameters] Parameters for the Auth Rule
410
+ # @param parameters [Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::MerchantLockParameters, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters] Parameters for the Auth Rule
217
411
  #
218
412
  # @param version [Integer] The version of the rule, this is incremented whenever the rule's parameters chan
219
413
 
@@ -229,6 +423,8 @@ module Lithic
229
423
 
230
424
  variant -> { Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::MerchantLockParameters }
231
425
 
426
+ variant -> { Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters }
427
+
232
428
  class MerchantLockParameters < Lithic::Internal::Type::BaseModel
233
429
  # @!attribute merchants
234
430
  # A list of merchant locks defining specific merchants or groups of merchants
@@ -286,11 +482,199 @@ module Lithic
286
482
  end
287
483
  end
288
484
 
485
+ class Conditional3DSActionParameters < Lithic::Internal::Type::BaseModel
486
+ # @!attribute action
487
+ # The action to take if the conditions are met.
488
+ #
489
+ # @return [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Action]
490
+ required :action,
491
+ enum: -> { Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Action }
492
+
493
+ # @!attribute conditions
494
+ #
495
+ # @return [Array<Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition>]
496
+ required :conditions,
497
+ -> do
498
+ Lithic::Internal::Type::ArrayOf[
499
+ Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition
500
+ ]
501
+ end
502
+
503
+ # @!method initialize(action:, conditions:)
504
+ # @param action [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Action] The action to take if the conditions are met.
505
+ #
506
+ # @param conditions [Array<Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition>]
507
+
508
+ # The action to take if the conditions are met.
509
+ #
510
+ # @see Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters#action
511
+ module Action
512
+ extend Lithic::Internal::Type::Enum
513
+
514
+ DECLINE = :DECLINE
515
+ CHALLENGE = :CHALLENGE
516
+
517
+ # @!method self.values
518
+ # @return [Array<Symbol>]
519
+ end
520
+
521
+ class Condition < Lithic::Internal::Type::BaseModel
522
+ # @!attribute attribute
523
+ # The attribute to target.
524
+ #
525
+ # The following attributes may be targeted:
526
+ #
527
+ # - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a
528
+ # business by the types of goods or services it provides.
529
+ # - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all
530
+ # ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for
531
+ # Netherlands Antilles.
532
+ # - `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of
533
+ # the transaction.
534
+ # - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor
535
+ # (merchant).
536
+ # - `DESCRIPTOR`: Short description of card acceptor.
537
+ # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
538
+ # fee field in the settlement/cardholder billing currency. This is the amount
539
+ # the issuer should authorize against unless the issuer is paying the acquirer
540
+ # fee on behalf of the cardholder.
541
+ # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
542
+ # given authentication. Scores are on a range of 0-999, with 0 representing the
543
+ # lowest risk and 999 representing the highest risk. For Visa transactions,
544
+ # where the raw score has a range of 0-99, Lithic will normalize the score by
545
+ # multiplying the raw score by 10x.
546
+ # - `MESSAGE_CATEGORY`: The category of the authentication being processed.
547
+ #
548
+ # @return [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition::Attribute, nil]
549
+ optional :attribute,
550
+ enum: -> { Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition::Attribute }
551
+
552
+ # @!attribute operation
553
+ # The operation to apply to the attribute
554
+ #
555
+ # @return [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition::Operation, nil]
556
+ optional :operation,
557
+ enum: -> { Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition::Operation }
558
+
559
+ # @!attribute value
560
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
561
+ #
562
+ # @return [String, Integer, Array<String>, nil]
563
+ optional :value,
564
+ union: -> { Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition::Value }
565
+
566
+ # @!method initialize(attribute: nil, operation: nil, value: nil)
567
+ # Some parameter documentations has been truncated, see
568
+ # {Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition}
569
+ # for more details.
570
+ #
571
+ # @param attribute [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition::Attribute] The attribute to target.
572
+ #
573
+ # @param operation [Symbol, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition::Operation] The operation to apply to the attribute
574
+ #
575
+ # @param value [String, Integer, Array<String>] A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
576
+
577
+ # The attribute to target.
578
+ #
579
+ # The following attributes may be targeted:
580
+ #
581
+ # - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a
582
+ # business by the types of goods or services it provides.
583
+ # - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all
584
+ # ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for
585
+ # Netherlands Antilles.
586
+ # - `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of
587
+ # the transaction.
588
+ # - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor
589
+ # (merchant).
590
+ # - `DESCRIPTOR`: Short description of card acceptor.
591
+ # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
592
+ # fee field in the settlement/cardholder billing currency. This is the amount
593
+ # the issuer should authorize against unless the issuer is paying the acquirer
594
+ # fee on behalf of the cardholder.
595
+ # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
596
+ # given authentication. Scores are on a range of 0-999, with 0 representing the
597
+ # lowest risk and 999 representing the highest risk. For Visa transactions,
598
+ # where the raw score has a range of 0-99, Lithic will normalize the score by
599
+ # multiplying the raw score by 10x.
600
+ # - `MESSAGE_CATEGORY`: The category of the authentication being processed.
601
+ #
602
+ # @see Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition#attribute
603
+ module Attribute
604
+ extend Lithic::Internal::Type::Enum
605
+
606
+ MCC = :MCC
607
+ COUNTRY = :COUNTRY
608
+ CURRENCY = :CURRENCY
609
+ MERCHANT_ID = :MERCHANT_ID
610
+ DESCRIPTOR = :DESCRIPTOR
611
+ TRANSACTION_AMOUNT = :TRANSACTION_AMOUNT
612
+ RISK_SCORE = :RISK_SCORE
613
+ MESSAGE_CATEGORY = :MESSAGE_CATEGORY
614
+
615
+ # @!method self.values
616
+ # @return [Array<Symbol>]
617
+ end
618
+
619
+ # The operation to apply to the attribute
620
+ #
621
+ # @see Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition#operation
622
+ module Operation
623
+ extend Lithic::Internal::Type::Enum
624
+
625
+ IS_ONE_OF = :IS_ONE_OF
626
+ IS_NOT_ONE_OF = :IS_NOT_ONE_OF
627
+ MATCHES = :MATCHES
628
+ DOES_NOT_MATCH = :DOES_NOT_MATCH
629
+ IS_GREATER_THAN = :IS_GREATER_THAN
630
+ IS_LESS_THAN = :IS_LESS_THAN
631
+
632
+ # @!method self.values
633
+ # @return [Array<Symbol>]
634
+ end
635
+
636
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
637
+ #
638
+ # @see Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition#value
639
+ module Value
640
+ extend Lithic::Internal::Type::Union
641
+
642
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
643
+ variant String
644
+
645
+ # A number, to be used with `IS_GREATER_THAN` or `IS_LESS_THAN`
646
+ variant Integer
647
+
648
+ # An array of strings, to be used with `IS_ONE_OF` or `IS_NOT_ONE_OF`
649
+ variant -> { Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters::Condition::Value::StringArray }
650
+
651
+ # @!method self.variants
652
+ # @return [Array(String, Integer, Array<String>)]
653
+
654
+ # @type [Lithic::Internal::Type::Converter]
655
+ StringArray = Lithic::Internal::Type::ArrayOf[String]
656
+ end
657
+ end
658
+ end
659
+
289
660
  # @!method self.variants
290
- # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::MerchantLockParameters)]
661
+ # @return [Array(Lithic::Models::AuthRules::ConditionalBlockParameters, Lithic::Models::AuthRules::VelocityLimitParams, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::MerchantLockParameters, Lithic::Models::AuthRules::V2RetrieveResponse::DraftVersion::Parameters::Conditional3DSActionParameters)]
291
662
  end
292
663
  end
293
664
 
665
+ # The type of event stream the Auth rule applies to.
666
+ #
667
+ # @see Lithic::Models::AuthRules::V2RetrieveResponse#event_stream
668
+ module EventStream
669
+ extend Lithic::Internal::Type::Enum
670
+
671
+ AUTHORIZATION = :AUTHORIZATION
672
+ THREE_DS_AUTHENTICATION = :THREE_DS_AUTHENTICATION
673
+
674
+ # @!method self.values
675
+ # @return [Array<Symbol>]
676
+ end
677
+
294
678
  # The state of the Auth Rule
295
679
  #
296
680
  # @see Lithic::Models::AuthRules::V2RetrieveResponse#state
@@ -304,7 +688,13 @@ module Lithic
304
688
  # @return [Array<Symbol>]
305
689
  end
306
690
 
307
- # The type of Auth Rule
691
+ # The type of Auth Rule. Effectively determines the event stream during which it
692
+ # will be evaluated.
693
+ #
694
+ # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
695
+ # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
696
+ # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
697
+ # - `CONDITIONAL_3DS_ACTION`: THREE_DS_AUTHENTICATION event stream.
308
698
  #
309
699
  # @see Lithic::Models::AuthRules::V2RetrieveResponse#type
310
700
  module Type
@@ -313,6 +703,7 @@ module Lithic
313
703
  CONDITIONAL_BLOCK = :CONDITIONAL_BLOCK
314
704
  VELOCITY_LIMIT = :VELOCITY_LIMIT
315
705
  MERCHANT_LOCK = :MERCHANT_LOCK
706
+ CONDITIONAL_3DS_ACTION = :CONDITIONAL_3DS_ACTION
316
707
 
317
708
  # @!method self.values
318
709
  # @return [Array<Symbol>]