lithic 0.1.0.pre.alpha.41 → 0.1.0.pre.alpha.42

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 (76) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/models/account_activity_list_params.rb +10 -8
  5. data/lib/lithic/models/auth_rules/v2_apply_params.rb +13 -5
  6. data/lib/lithic/models/auth_rules/v2_apply_response.rb +510 -18
  7. data/lib/lithic/models/auth_rules/v2_create_params.rb +283 -16
  8. data/lib/lithic/models/auth_rules/v2_create_response.rb +510 -18
  9. data/lib/lithic/models/auth_rules/v2_draft_params.rb +239 -3
  10. data/lib/lithic/models/auth_rules/v2_draft_response.rb +510 -18
  11. data/lib/lithic/models/auth_rules/v2_list_params.rb +10 -1
  12. data/lib/lithic/models/auth_rules/v2_list_response.rb +510 -18
  13. data/lib/lithic/models/auth_rules/v2_promote_response.rb +510 -18
  14. data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +510 -18
  15. data/lib/lithic/models/auth_rules/v2_update_params.rb +1 -9
  16. data/lib/lithic/models/auth_rules/v2_update_response.rb +510 -18
  17. data/lib/lithic/models/event.rb +6 -0
  18. data/lib/lithic/models/event_list_params.rb +2 -0
  19. data/lib/lithic/models/event_subscription.rb +2 -0
  20. data/lib/lithic/models/events/subscription_create_params.rb +2 -0
  21. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +2 -0
  22. data/lib/lithic/models/events/subscription_update_params.rb +2 -0
  23. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +28 -26
  24. data/lib/lithic/models/transaction.rb +4 -0
  25. data/lib/lithic/resources/account_activity.rb +2 -2
  26. data/lib/lithic/resources/auth_rules/v2/backtests.rb +3 -3
  27. data/lib/lithic/resources/auth_rules/v2.rb +19 -13
  28. data/lib/lithic/version.rb +1 -1
  29. data/rbi/lithic/models/account_activity_list_params.rbi +18 -30
  30. data/rbi/lithic/models/auth_rules/v2_apply_params.rbi +19 -5
  31. data/rbi/lithic/models/auth_rules/v2_apply_response.rbi +1128 -18
  32. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +646 -21
  33. data/rbi/lithic/models/auth_rules/v2_create_response.rbi +1128 -18
  34. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +554 -4
  35. data/rbi/lithic/models/auth_rules/v2_draft_response.rbi +1128 -18
  36. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +16 -0
  37. data/rbi/lithic/models/auth_rules/v2_list_response.rbi +1128 -18
  38. data/rbi/lithic/models/auth_rules/v2_promote_response.rbi +1128 -18
  39. data/rbi/lithic/models/auth_rules/v2_retrieve_response.rbi +1128 -18
  40. data/rbi/lithic/models/auth_rules/v2_update_params.rbi +0 -11
  41. data/rbi/lithic/models/auth_rules/v2_update_response.rbi +1128 -18
  42. data/rbi/lithic/models/event.rbi +16 -0
  43. data/rbi/lithic/models/event_list_params.rbi +10 -0
  44. data/rbi/lithic/models/event_subscription.rbi +10 -0
  45. data/rbi/lithic/models/events/subscription_create_params.rbi +10 -0
  46. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +10 -0
  47. data/rbi/lithic/models/events/subscription_update_params.rbi +10 -0
  48. data/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +45 -41
  49. data/rbi/lithic/models/transaction.rbi +17 -0
  50. data/rbi/lithic/resources/account_activity.rbi +2 -2
  51. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +3 -3
  52. data/rbi/lithic/resources/auth_rules/v2.rbi +28 -14
  53. data/sig/lithic/models/account_activity_list_params.rbs +16 -16
  54. data/sig/lithic/models/auth_rules/v2_apply_params.rbs +11 -2
  55. data/sig/lithic/models/auth_rules/v2_apply_response.rbs +317 -2
  56. data/sig/lithic/models/auth_rules/v2_create_params.rbs +188 -4
  57. data/sig/lithic/models/auth_rules/v2_create_response.rbs +317 -2
  58. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +155 -0
  59. data/sig/lithic/models/auth_rules/v2_draft_response.rbs +317 -2
  60. data/sig/lithic/models/auth_rules/v2_list_params.rbs +9 -1
  61. data/sig/lithic/models/auth_rules/v2_list_response.rbs +317 -2
  62. data/sig/lithic/models/auth_rules/v2_promote_response.rbs +317 -2
  63. data/sig/lithic/models/auth_rules/v2_retrieve_response.rbs +317 -2
  64. data/sig/lithic/models/auth_rules/v2_update_params.rbs +0 -7
  65. data/sig/lithic/models/auth_rules/v2_update_response.rbs +317 -2
  66. data/sig/lithic/models/event.rbs +4 -0
  67. data/sig/lithic/models/event_list_params.rbs +4 -0
  68. data/sig/lithic/models/event_subscription.rbs +4 -0
  69. data/sig/lithic/models/events/subscription_create_params.rbs +4 -0
  70. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +4 -0
  71. data/sig/lithic/models/events/subscription_update_params.rbs +4 -0
  72. data/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +20 -20
  73. data/sig/lithic/models/transaction.rbs +10 -2
  74. data/sig/lithic/resources/account_activity.rbs +2 -2
  75. data/sig/lithic/resources/auth_rules/v2.rbs +6 -3
  76. metadata +2 -2
@@ -13,8 +13,34 @@ module Lithic
13
13
  end
14
14
 
15
15
  # Account tokens to which the Auth Rule applies.
16
- sig { returns(T::Array[String]) }
17
- attr_accessor :account_tokens
16
+ sig { returns(T.nilable(T::Array[String])) }
17
+ attr_reader :account_tokens
18
+
19
+ sig { params(account_tokens: T::Array[String]).void }
20
+ attr_writer :account_tokens
21
+
22
+ # Business Account tokens to which the Auth Rule applies.
23
+ sig { returns(T.nilable(T::Array[String])) }
24
+ attr_reader :business_account_tokens
25
+
26
+ sig { params(business_account_tokens: T::Array[String]).void }
27
+ attr_writer :business_account_tokens
28
+
29
+ # The event stream during which the rule will be evaluated.
30
+ sig do
31
+ returns(
32
+ T.nilable(Lithic::AuthRules::V2CreateParams::EventStream::OrSymbol)
33
+ )
34
+ end
35
+ attr_reader :event_stream
36
+
37
+ sig do
38
+ params(
39
+ event_stream:
40
+ Lithic::AuthRules::V2CreateParams::EventStream::OrSymbol
41
+ ).void
42
+ end
43
+ attr_writer :event_stream
18
44
 
19
45
  # Auth Rule Name
20
46
  sig { returns(T.nilable(String)) }
@@ -28,7 +54,8 @@ module Lithic
28
54
  Lithic::AuthRules::ConditionalBlockParameters,
29
55
  Lithic::AuthRules::VelocityLimitParams,
30
56
  Lithic::AuthRules::MerchantLockParameters,
31
- Lithic::AuthRules::Conditional3DSActionParameters
57
+ Lithic::AuthRules::Conditional3DSActionParameters,
58
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters
32
59
  )
33
60
  )
34
61
  )
@@ -42,19 +69,22 @@ module Lithic
42
69
  Lithic::AuthRules::ConditionalBlockParameters::OrHash,
43
70
  Lithic::AuthRules::VelocityLimitParams::OrHash,
44
71
  Lithic::AuthRules::MerchantLockParameters::OrHash,
45
- Lithic::AuthRules::Conditional3DSActionParameters::OrHash
72
+ Lithic::AuthRules::Conditional3DSActionParameters::OrHash,
73
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::OrHash
46
74
  )
47
75
  ).void
48
76
  end
49
77
  attr_writer :parameters
50
78
 
51
- # The type of Auth Rule. Effectively determines the event stream during which it
52
- # will be evaluated.
79
+ # The type of Auth Rule. For certain rule types, this determines the event stream
80
+ # during which it will be evaluated. For rules that can be applied to one of
81
+ # several event streams, the effective one is defined by the separate
82
+ # `event_stream` field.
53
83
  #
54
84
  # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
55
85
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
56
86
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
57
- # - `CONDITIONAL_3DS_ACTION`: THREE_DS_AUTHENTICATION event stream.
87
+ # - `CONDITIONAL_ACTION`: AUTHORIZATION or THREE_DS_AUTHENTICATION event stream.
58
88
  sig do
59
89
  returns(T.nilable(Lithic::AuthRules::V2CreateParams::Type::OrSymbol))
60
90
  end
@@ -82,16 +112,20 @@ module Lithic
82
112
 
83
113
  sig do
84
114
  params(
85
- account_tokens: T::Array[String],
86
115
  card_tokens: T::Array[String],
87
116
  program_level: T::Boolean,
117
+ account_tokens: T::Array[String],
118
+ business_account_tokens: T::Array[String],
119
+ event_stream:
120
+ Lithic::AuthRules::V2CreateParams::EventStream::OrSymbol,
88
121
  name: T.nilable(String),
89
122
  parameters:
90
123
  T.any(
91
124
  Lithic::AuthRules::ConditionalBlockParameters::OrHash,
92
125
  Lithic::AuthRules::VelocityLimitParams::OrHash,
93
126
  Lithic::AuthRules::MerchantLockParameters::OrHash,
94
- Lithic::AuthRules::Conditional3DSActionParameters::OrHash
127
+ Lithic::AuthRules::Conditional3DSActionParameters::OrHash,
128
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::OrHash
95
129
  ),
96
130
  type: Lithic::AuthRules::V2CreateParams::Type::OrSymbol,
97
131
  excluded_card_tokens: T::Array[String],
@@ -99,23 +133,29 @@ module Lithic
99
133
  ).returns(T.attached_class)
100
134
  end
101
135
  def self.new(
102
- # Account tokens to which the Auth Rule applies.
103
- account_tokens:,
104
136
  # Card tokens to which the Auth Rule applies.
105
137
  card_tokens:,
106
138
  # Whether the Auth Rule applies to all authorizations on the card program.
107
139
  program_level:,
140
+ # Account tokens to which the Auth Rule applies.
141
+ account_tokens: nil,
142
+ # Business Account tokens to which the Auth Rule applies.
143
+ business_account_tokens: nil,
144
+ # The event stream during which the rule will be evaluated.
145
+ event_stream: nil,
108
146
  # Auth Rule Name
109
147
  name: nil,
110
148
  # Parameters for the Auth Rule
111
149
  parameters: nil,
112
- # The type of Auth Rule. Effectively determines the event stream during which it
113
- # will be evaluated.
150
+ # The type of Auth Rule. For certain rule types, this determines the event stream
151
+ # during which it will be evaluated. For rules that can be applied to one of
152
+ # several event streams, the effective one is defined by the separate
153
+ # `event_stream` field.
114
154
  #
115
155
  # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
116
156
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
117
157
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
118
- # - `CONDITIONAL_3DS_ACTION`: THREE_DS_AUTHENTICATION event stream.
158
+ # - `CONDITIONAL_ACTION`: AUTHORIZATION or THREE_DS_AUTHENTICATION event stream.
119
159
  type: nil,
120
160
  # Card tokens to which the Auth Rule does not apply.
121
161
  excluded_card_tokens: nil,
@@ -127,13 +167,17 @@ module Lithic
127
167
  override.returns(
128
168
  {
129
169
  account_tokens: T::Array[String],
170
+ business_account_tokens: T::Array[String],
171
+ event_stream:
172
+ Lithic::AuthRules::V2CreateParams::EventStream::OrSymbol,
130
173
  name: T.nilable(String),
131
174
  parameters:
132
175
  T.any(
133
176
  Lithic::AuthRules::ConditionalBlockParameters,
134
177
  Lithic::AuthRules::VelocityLimitParams,
135
178
  Lithic::AuthRules::MerchantLockParameters,
136
- Lithic::AuthRules::Conditional3DSActionParameters
179
+ Lithic::AuthRules::Conditional3DSActionParameters,
180
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters
137
181
  ),
138
182
  type: Lithic::AuthRules::V2CreateParams::Type::OrSymbol,
139
183
  card_tokens: T::Array[String],
@@ -146,6 +190,38 @@ module Lithic
146
190
  def to_hash
147
191
  end
148
192
 
193
+ # The event stream during which the rule will be evaluated.
194
+ module EventStream
195
+ extend Lithic::Internal::Type::Enum
196
+
197
+ TaggedSymbol =
198
+ T.type_alias do
199
+ T.all(Symbol, Lithic::AuthRules::V2CreateParams::EventStream)
200
+ end
201
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
202
+
203
+ AUTHORIZATION =
204
+ T.let(
205
+ :AUTHORIZATION,
206
+ Lithic::AuthRules::V2CreateParams::EventStream::TaggedSymbol
207
+ )
208
+ THREE_DS_AUTHENTICATION =
209
+ T.let(
210
+ :THREE_DS_AUTHENTICATION,
211
+ Lithic::AuthRules::V2CreateParams::EventStream::TaggedSymbol
212
+ )
213
+
214
+ sig do
215
+ override.returns(
216
+ T::Array[
217
+ Lithic::AuthRules::V2CreateParams::EventStream::TaggedSymbol
218
+ ]
219
+ )
220
+ end
221
+ def self.values
222
+ end
223
+ end
224
+
149
225
  # Parameters for the Auth Rule
150
226
  module Parameters
151
227
  extend Lithic::Internal::Type::Union
@@ -156,10 +232,557 @@ module Lithic
156
232
  Lithic::AuthRules::ConditionalBlockParameters,
157
233
  Lithic::AuthRules::VelocityLimitParams,
158
234
  Lithic::AuthRules::MerchantLockParameters,
159
- Lithic::AuthRules::Conditional3DSActionParameters
235
+ Lithic::AuthRules::Conditional3DSActionParameters,
236
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters
160
237
  )
161
238
  end
162
239
 
240
+ class ConditionalAuthorizationActionParameters < Lithic::Internal::Type::BaseModel
241
+ OrHash =
242
+ T.type_alias do
243
+ T.any(
244
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters,
245
+ Lithic::Internal::AnyHash
246
+ )
247
+ end
248
+
249
+ # The action to take if the conditions are met.
250
+ sig do
251
+ returns(
252
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Action::OrSymbol
253
+ )
254
+ end
255
+ attr_accessor :action
256
+
257
+ sig do
258
+ returns(
259
+ T::Array[
260
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition
261
+ ]
262
+ )
263
+ end
264
+ attr_accessor :conditions
265
+
266
+ sig do
267
+ params(
268
+ action:
269
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Action::OrSymbol,
270
+ conditions:
271
+ T::Array[
272
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::OrHash
273
+ ]
274
+ ).returns(T.attached_class)
275
+ end
276
+ def self.new(
277
+ # The action to take if the conditions are met.
278
+ action:,
279
+ conditions:
280
+ )
281
+ end
282
+
283
+ sig do
284
+ override.returns(
285
+ {
286
+ action:
287
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Action::OrSymbol,
288
+ conditions:
289
+ T::Array[
290
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition
291
+ ]
292
+ }
293
+ )
294
+ end
295
+ def to_hash
296
+ end
297
+
298
+ # The action to take if the conditions are met.
299
+ module Action
300
+ extend Lithic::Internal::Type::Enum
301
+
302
+ TaggedSymbol =
303
+ T.type_alias do
304
+ T.all(
305
+ Symbol,
306
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Action
307
+ )
308
+ end
309
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
310
+
311
+ DECLINE =
312
+ T.let(
313
+ :DECLINE,
314
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Action::TaggedSymbol
315
+ )
316
+ CHALLENGE =
317
+ T.let(
318
+ :CHALLENGE,
319
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Action::TaggedSymbol
320
+ )
321
+
322
+ sig do
323
+ override.returns(
324
+ T::Array[
325
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Action::TaggedSymbol
326
+ ]
327
+ )
328
+ end
329
+ def self.values
330
+ end
331
+ end
332
+
333
+ class Condition < Lithic::Internal::Type::BaseModel
334
+ OrHash =
335
+ T.type_alias do
336
+ T.any(
337
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition,
338
+ Lithic::Internal::AnyHash
339
+ )
340
+ end
341
+
342
+ # The attribute to target.
343
+ #
344
+ # The following attributes may be targeted:
345
+ #
346
+ # - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a
347
+ # business by the types of goods or services it provides.
348
+ # - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all
349
+ # ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for
350
+ # Netherlands Antilles.
351
+ # - `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of
352
+ # the transaction.
353
+ # - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor
354
+ # (merchant).
355
+ # - `DESCRIPTOR`: Short description of card acceptor.
356
+ # - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the issuer
357
+ # applies to the transaction. Valid values are `NONE`, `3DS_AUTHENTICATED`, or
358
+ # `TOKEN_AUTHENTICATED`.
359
+ # - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account number
360
+ # (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, `CONTACTLESS`,
361
+ # `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, `KEY_ENTERED`,
362
+ # `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, `UNSPECIFIED`,
363
+ # `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`.
364
+ # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
365
+ # fee field in the settlement/cardholder billing currency. This is the amount
366
+ # the issuer should authorize against unless the issuer is paying the acquirer
367
+ # fee on behalf of the cardholder.
368
+ # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
369
+ # given authorization. Scores are on a range of 0-999, with 0 representing the
370
+ # lowest risk and 999 representing the highest risk. For Visa transactions,
371
+ # where the raw score has a range of 0-99, Lithic will normalize the score by
372
+ # multiplying the raw score by 10x.
373
+ # - `CARD_TRANSACTION_COUNT_15M`: The number of transactions on the card in the
374
+ # trailing 15 minutes before the authorization.
375
+ # - `CARD_TRANSACTION_COUNT_1H`: The number of transactions on the card in the
376
+ # trailing hour up and until the authorization.
377
+ # - `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the
378
+ # trailing 24 hours up and until the authorization.
379
+ # - `CARD_STATE`: The current state of the card associated with the transaction.
380
+ # Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`,
381
+ # `PENDING_FULFILLMENT`.
382
+ # - `PIN_ENTERED`: Indicates whether a PIN was entered during the transaction.
383
+ # Valid values are `TRUE`, `FALSE`.
384
+ # - `PIN_STATUS`: The current state of card's PIN. Valid values are `NOT_SET`,
385
+ # `OK`, `BLOCKED`.
386
+ # - `WALLET_TYPE`: For transactions using a digital wallet token, indicates the
387
+ # source of the token. Valid values are `APPLE_PAY`, `GOOGLE_PAY`,
388
+ # `SAMSUNG_PAY`, `MASTERPASS`, `MERCHANT`, `OTHER`, `NONE`.
389
+ # - `TRANSACTION_INITIATOR`: The entity that initiated the transaction indicates
390
+ # the source of the token. Valid values are `CARDHOLDER`, `MERCHANT`, `UNKNOWN`.
391
+ sig do
392
+ returns(
393
+ T.nilable(
394
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::OrSymbol
395
+ )
396
+ )
397
+ end
398
+ attr_reader :attribute
399
+
400
+ sig do
401
+ params(
402
+ attribute:
403
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::OrSymbol
404
+ ).void
405
+ end
406
+ attr_writer :attribute
407
+
408
+ # The operation to apply to the attribute
409
+ sig do
410
+ returns(
411
+ T.nilable(
412
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::OrSymbol
413
+ )
414
+ )
415
+ end
416
+ attr_reader :operation
417
+
418
+ sig do
419
+ params(
420
+ operation:
421
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::OrSymbol
422
+ ).void
423
+ end
424
+ attr_writer :operation
425
+
426
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
427
+ sig do
428
+ returns(
429
+ T.nilable(
430
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Value::Variants
431
+ )
432
+ )
433
+ end
434
+ attr_reader :value
435
+
436
+ sig do
437
+ params(
438
+ value:
439
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Value::Variants
440
+ ).void
441
+ end
442
+ attr_writer :value
443
+
444
+ sig do
445
+ params(
446
+ attribute:
447
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::OrSymbol,
448
+ operation:
449
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::OrSymbol,
450
+ value:
451
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Value::Variants
452
+ ).returns(T.attached_class)
453
+ end
454
+ def self.new(
455
+ # The attribute to target.
456
+ #
457
+ # The following attributes may be targeted:
458
+ #
459
+ # - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a
460
+ # business by the types of goods or services it provides.
461
+ # - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all
462
+ # ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for
463
+ # Netherlands Antilles.
464
+ # - `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of
465
+ # the transaction.
466
+ # - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor
467
+ # (merchant).
468
+ # - `DESCRIPTOR`: Short description of card acceptor.
469
+ # - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the issuer
470
+ # applies to the transaction. Valid values are `NONE`, `3DS_AUTHENTICATED`, or
471
+ # `TOKEN_AUTHENTICATED`.
472
+ # - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account number
473
+ # (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, `CONTACTLESS`,
474
+ # `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, `KEY_ENTERED`,
475
+ # `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, `UNSPECIFIED`,
476
+ # `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`.
477
+ # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
478
+ # fee field in the settlement/cardholder billing currency. This is the amount
479
+ # the issuer should authorize against unless the issuer is paying the acquirer
480
+ # fee on behalf of the cardholder.
481
+ # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
482
+ # given authorization. Scores are on a range of 0-999, with 0 representing the
483
+ # lowest risk and 999 representing the highest risk. For Visa transactions,
484
+ # where the raw score has a range of 0-99, Lithic will normalize the score by
485
+ # multiplying the raw score by 10x.
486
+ # - `CARD_TRANSACTION_COUNT_15M`: The number of transactions on the card in the
487
+ # trailing 15 minutes before the authorization.
488
+ # - `CARD_TRANSACTION_COUNT_1H`: The number of transactions on the card in the
489
+ # trailing hour up and until the authorization.
490
+ # - `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the
491
+ # trailing 24 hours up and until the authorization.
492
+ # - `CARD_STATE`: The current state of the card associated with the transaction.
493
+ # Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`,
494
+ # `PENDING_FULFILLMENT`.
495
+ # - `PIN_ENTERED`: Indicates whether a PIN was entered during the transaction.
496
+ # Valid values are `TRUE`, `FALSE`.
497
+ # - `PIN_STATUS`: The current state of card's PIN. Valid values are `NOT_SET`,
498
+ # `OK`, `BLOCKED`.
499
+ # - `WALLET_TYPE`: For transactions using a digital wallet token, indicates the
500
+ # source of the token. Valid values are `APPLE_PAY`, `GOOGLE_PAY`,
501
+ # `SAMSUNG_PAY`, `MASTERPASS`, `MERCHANT`, `OTHER`, `NONE`.
502
+ # - `TRANSACTION_INITIATOR`: The entity that initiated the transaction indicates
503
+ # the source of the token. Valid values are `CARDHOLDER`, `MERCHANT`, `UNKNOWN`.
504
+ attribute: nil,
505
+ # The operation to apply to the attribute
506
+ operation: nil,
507
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
508
+ value: nil
509
+ )
510
+ end
511
+
512
+ sig do
513
+ override.returns(
514
+ {
515
+ attribute:
516
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::OrSymbol,
517
+ operation:
518
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::OrSymbol,
519
+ value:
520
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Value::Variants
521
+ }
522
+ )
523
+ end
524
+ def to_hash
525
+ end
526
+
527
+ # The attribute to target.
528
+ #
529
+ # The following attributes may be targeted:
530
+ #
531
+ # - `MCC`: A four-digit number listed in ISO 18245. An MCC is used to classify a
532
+ # business by the types of goods or services it provides.
533
+ # - `COUNTRY`: Country of entity of card acceptor. Possible values are: (1) all
534
+ # ISO 3166-1 alpha-3 country codes, (2) QZZ for Kosovo, and (3) ANT for
535
+ # Netherlands Antilles.
536
+ # - `CURRENCY`: 3-character alphabetic ISO 4217 code for the merchant currency of
537
+ # the transaction.
538
+ # - `MERCHANT_ID`: Unique alphanumeric identifier for the payment card acceptor
539
+ # (merchant).
540
+ # - `DESCRIPTOR`: Short description of card acceptor.
541
+ # - `LIABILITY_SHIFT`: Indicates whether chargeback liability shift to the issuer
542
+ # applies to the transaction. Valid values are `NONE`, `3DS_AUTHENTICATED`, or
543
+ # `TOKEN_AUTHENTICATED`.
544
+ # - `PAN_ENTRY_MODE`: The method by which the cardholder's primary account number
545
+ # (PAN) was entered. Valid values are `AUTO_ENTRY`, `BAR_CODE`, `CONTACTLESS`,
546
+ # `ECOMMERCE`, `ERROR_KEYED`, `ERROR_MAGNETIC_STRIPE`, `ICC`, `KEY_ENTERED`,
547
+ # `MAGNETIC_STRIPE`, `MANUAL`, `OCR`, `SECURE_CARDLESS`, `UNSPECIFIED`,
548
+ # `UNKNOWN`, `CREDENTIAL_ON_FILE`, or `ECOMMERCE`.
549
+ # - `TRANSACTION_AMOUNT`: The base transaction amount (in cents) plus the acquirer
550
+ # fee field in the settlement/cardholder billing currency. This is the amount
551
+ # the issuer should authorize against unless the issuer is paying the acquirer
552
+ # fee on behalf of the cardholder.
553
+ # - `RISK_SCORE`: Network-provided score assessing risk level associated with a
554
+ # given authorization. Scores are on a range of 0-999, with 0 representing the
555
+ # lowest risk and 999 representing the highest risk. For Visa transactions,
556
+ # where the raw score has a range of 0-99, Lithic will normalize the score by
557
+ # multiplying the raw score by 10x.
558
+ # - `CARD_TRANSACTION_COUNT_15M`: The number of transactions on the card in the
559
+ # trailing 15 minutes before the authorization.
560
+ # - `CARD_TRANSACTION_COUNT_1H`: The number of transactions on the card in the
561
+ # trailing hour up and until the authorization.
562
+ # - `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the
563
+ # trailing 24 hours up and until the authorization.
564
+ # - `CARD_STATE`: The current state of the card associated with the transaction.
565
+ # Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`,
566
+ # `PENDING_FULFILLMENT`.
567
+ # - `PIN_ENTERED`: Indicates whether a PIN was entered during the transaction.
568
+ # Valid values are `TRUE`, `FALSE`.
569
+ # - `PIN_STATUS`: The current state of card's PIN. Valid values are `NOT_SET`,
570
+ # `OK`, `BLOCKED`.
571
+ # - `WALLET_TYPE`: For transactions using a digital wallet token, indicates the
572
+ # source of the token. Valid values are `APPLE_PAY`, `GOOGLE_PAY`,
573
+ # `SAMSUNG_PAY`, `MASTERPASS`, `MERCHANT`, `OTHER`, `NONE`.
574
+ # - `TRANSACTION_INITIATOR`: The entity that initiated the transaction indicates
575
+ # the source of the token. Valid values are `CARDHOLDER`, `MERCHANT`, `UNKNOWN`.
576
+ module Attribute
577
+ extend Lithic::Internal::Type::Enum
578
+
579
+ TaggedSymbol =
580
+ T.type_alias do
581
+ T.all(
582
+ Symbol,
583
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute
584
+ )
585
+ end
586
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
587
+
588
+ MCC =
589
+ T.let(
590
+ :MCC,
591
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
592
+ )
593
+ COUNTRY =
594
+ T.let(
595
+ :COUNTRY,
596
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
597
+ )
598
+ CURRENCY =
599
+ T.let(
600
+ :CURRENCY,
601
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
602
+ )
603
+ MERCHANT_ID =
604
+ T.let(
605
+ :MERCHANT_ID,
606
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
607
+ )
608
+ DESCRIPTOR =
609
+ T.let(
610
+ :DESCRIPTOR,
611
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
612
+ )
613
+ LIABILITY_SHIFT =
614
+ T.let(
615
+ :LIABILITY_SHIFT,
616
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
617
+ )
618
+ PAN_ENTRY_MODE =
619
+ T.let(
620
+ :PAN_ENTRY_MODE,
621
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
622
+ )
623
+ TRANSACTION_AMOUNT =
624
+ T.let(
625
+ :TRANSACTION_AMOUNT,
626
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
627
+ )
628
+ RISK_SCORE =
629
+ T.let(
630
+ :RISK_SCORE,
631
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
632
+ )
633
+ CARD_TRANSACTION_COUNT_15_M =
634
+ T.let(
635
+ :CARD_TRANSACTION_COUNT_15M,
636
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
637
+ )
638
+ CARD_TRANSACTION_COUNT_1_H =
639
+ T.let(
640
+ :CARD_TRANSACTION_COUNT_1H,
641
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
642
+ )
643
+ CARD_TRANSACTION_COUNT_24_H =
644
+ T.let(
645
+ :CARD_TRANSACTION_COUNT_24H,
646
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
647
+ )
648
+ CARD_STATE =
649
+ T.let(
650
+ :CARD_STATE,
651
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
652
+ )
653
+ PIN_ENTERED =
654
+ T.let(
655
+ :PIN_ENTERED,
656
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
657
+ )
658
+ PIN_STATUS =
659
+ T.let(
660
+ :PIN_STATUS,
661
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
662
+ )
663
+ WALLET_TYPE =
664
+ T.let(
665
+ :WALLET_TYPE,
666
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
667
+ )
668
+ TRANSACTION_INITIATOR =
669
+ T.let(
670
+ :TRANSACTION_INITIATOR,
671
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
672
+ )
673
+
674
+ sig do
675
+ override.returns(
676
+ T::Array[
677
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Attribute::TaggedSymbol
678
+ ]
679
+ )
680
+ end
681
+ def self.values
682
+ end
683
+ end
684
+
685
+ # The operation to apply to the attribute
686
+ module Operation
687
+ extend Lithic::Internal::Type::Enum
688
+
689
+ TaggedSymbol =
690
+ T.type_alias do
691
+ T.all(
692
+ Symbol,
693
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation
694
+ )
695
+ end
696
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
697
+
698
+ IS_ONE_OF =
699
+ T.let(
700
+ :IS_ONE_OF,
701
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::TaggedSymbol
702
+ )
703
+ IS_NOT_ONE_OF =
704
+ T.let(
705
+ :IS_NOT_ONE_OF,
706
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::TaggedSymbol
707
+ )
708
+ MATCHES =
709
+ T.let(
710
+ :MATCHES,
711
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::TaggedSymbol
712
+ )
713
+ DOES_NOT_MATCH =
714
+ T.let(
715
+ :DOES_NOT_MATCH,
716
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::TaggedSymbol
717
+ )
718
+ IS_EQUAL_TO =
719
+ T.let(
720
+ :IS_EQUAL_TO,
721
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::TaggedSymbol
722
+ )
723
+ IS_NOT_EQUAL_TO =
724
+ T.let(
725
+ :IS_NOT_EQUAL_TO,
726
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::TaggedSymbol
727
+ )
728
+ IS_GREATER_THAN =
729
+ T.let(
730
+ :IS_GREATER_THAN,
731
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::TaggedSymbol
732
+ )
733
+ IS_GREATER_THAN_OR_EQUAL_TO =
734
+ T.let(
735
+ :IS_GREATER_THAN_OR_EQUAL_TO,
736
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::TaggedSymbol
737
+ )
738
+ IS_LESS_THAN =
739
+ T.let(
740
+ :IS_LESS_THAN,
741
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::TaggedSymbol
742
+ )
743
+ IS_LESS_THAN_OR_EQUAL_TO =
744
+ T.let(
745
+ :IS_LESS_THAN_OR_EQUAL_TO,
746
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::TaggedSymbol
747
+ )
748
+
749
+ sig do
750
+ override.returns(
751
+ T::Array[
752
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Operation::TaggedSymbol
753
+ ]
754
+ )
755
+ end
756
+ def self.values
757
+ end
758
+ end
759
+
760
+ # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH`
761
+ module Value
762
+ extend Lithic::Internal::Type::Union
763
+
764
+ Variants =
765
+ T.type_alias { T.any(String, Integer, T::Array[String]) }
766
+
767
+ sig do
768
+ override.returns(
769
+ T::Array[
770
+ Lithic::AuthRules::V2CreateParams::Parameters::ConditionalAuthorizationActionParameters::Condition::Value::Variants
771
+ ]
772
+ )
773
+ end
774
+ def self.variants
775
+ end
776
+
777
+ StringArray =
778
+ T.let(
779
+ Lithic::Internal::Type::ArrayOf[String],
780
+ Lithic::Internal::Type::Converter
781
+ )
782
+ end
783
+ end
784
+ end
785
+
163
786
  sig do
164
787
  override.returns(
165
788
  T::Array[Lithic::AuthRules::V2CreateParams::Parameters::Variants]
@@ -169,13 +792,15 @@ module Lithic
169
792
  end
170
793
  end
171
794
 
172
- # The type of Auth Rule. Effectively determines the event stream during which it
173
- # will be evaluated.
795
+ # The type of Auth Rule. For certain rule types, this determines the event stream
796
+ # during which it will be evaluated. For rules that can be applied to one of
797
+ # several event streams, the effective one is defined by the separate
798
+ # `event_stream` field.
174
799
  #
175
800
  # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
176
801
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
177
802
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
178
- # - `CONDITIONAL_3DS_ACTION`: THREE_DS_AUTHENTICATION event stream.
803
+ # - `CONDITIONAL_ACTION`: AUTHORIZATION or THREE_DS_AUTHENTICATION event stream.
179
804
  module Type
180
805
  extend Lithic::Internal::Type::Enum
181
806
 
@@ -200,9 +825,9 @@ module Lithic
200
825
  :MERCHANT_LOCK,
201
826
  Lithic::AuthRules::V2CreateParams::Type::TaggedSymbol
202
827
  )
203
- CONDITIONAL_3DS_ACTION =
828
+ CONDITIONAL_ACTION =
204
829
  T.let(
205
- :CONDITIONAL_3DS_ACTION,
830
+ :CONDITIONAL_ACTION,
206
831
  Lithic::AuthRules::V2CreateParams::Type::TaggedSymbol
207
832
  )
208
833