lithic 0.1.0.pre.alpha.30 → 0.1.0.pre.alpha.32

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