lithic 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +143 -1
  5. data/lib/lithic/models/auth_rules/rule_feature.rb +47 -1
  6. data/lib/lithic/models/auth_rules/typescript_code_parameters.rb +2 -2
  7. data/lib/lithic/models/card_authorization_challenge_response_webhook_event.rb +103 -0
  8. data/lib/lithic/models/event.rb +5 -0
  9. data/lib/lithic/models/event_list_params.rb +3 -0
  10. data/lib/lithic/models/event_subscription.rb +3 -0
  11. data/lib/lithic/models/events/subscription_create_params.rb +3 -0
  12. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +1 -0
  13. data/lib/lithic/models/events/subscription_update_params.rb +3 -0
  14. data/lib/lithic/models/external_bank_account_set_verification_method_params.rb +55 -0
  15. data/lib/lithic/models/parsed_webhook_event.rb +3 -1
  16. data/lib/lithic/models.rb +6 -0
  17. data/lib/lithic/resources/external_bank_accounts.rb +31 -0
  18. data/lib/lithic/resources/webhooks.rb +1 -1
  19. data/lib/lithic/version.rb +1 -1
  20. data/lib/lithic.rb +2 -0
  21. data/rbi/lithic/models/auth_rules/conditional_authorization_action_parameters.rbi +337 -3
  22. data/rbi/lithic/models/auth_rules/rule_feature.rbi +104 -1
  23. data/rbi/lithic/models/auth_rules/typescript_code_parameters.rbi +6 -3
  24. data/rbi/lithic/models/card_authorization_challenge_response_webhook_event.rbi +175 -0
  25. data/rbi/lithic/models/event.rbi +11 -0
  26. data/rbi/lithic/models/event_list_params.rbi +7 -0
  27. data/rbi/lithic/models/event_subscription.rbi +7 -0
  28. data/rbi/lithic/models/events/subscription_create_params.rbi +7 -0
  29. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +5 -0
  30. data/rbi/lithic/models/events/subscription_update_params.rbi +7 -0
  31. data/rbi/lithic/models/external_bank_account_set_verification_method_params.rbi +111 -0
  32. data/rbi/lithic/models/parsed_webhook_event.rbi +1 -0
  33. data/rbi/lithic/models.rbi +6 -0
  34. data/rbi/lithic/resources/external_bank_accounts.rbi +22 -0
  35. data/rbi/lithic/resources/webhooks.rbi +1 -0
  36. data/sig/lithic/models/auth_rules/conditional_authorization_action_parameters.rbs +87 -3
  37. data/sig/lithic/models/auth_rules/rule_feature.rbs +42 -0
  38. data/sig/lithic/models/card_authorization_challenge_response_webhook_event.rbs +76 -0
  39. data/sig/lithic/models/event.rbs +2 -0
  40. data/sig/lithic/models/event_list_params.rbs +2 -0
  41. data/sig/lithic/models/event_subscription.rbs +2 -0
  42. data/sig/lithic/models/events/subscription_create_params.rbs +2 -0
  43. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +2 -0
  44. data/sig/lithic/models/events/subscription_update_params.rbs +2 -0
  45. data/sig/lithic/models/external_bank_account_set_verification_method_params.rbs +51 -0
  46. data/sig/lithic/models/parsed_webhook_event.rbs +1 -0
  47. data/sig/lithic/models.rbs +4 -0
  48. data/sig/lithic/resources/external_bank_accounts.rbs +7 -0
  49. data/sig/lithic/resources/webhooks.rbs +1 -0
  50. metadata +8 -2
@@ -0,0 +1,175 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class CardAuthorizationChallengeResponseWebhookEvent < Lithic::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent,
10
+ Lithic::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The token of the card associated with the challenge
15
+ sig { returns(T.nilable(String)) }
16
+ attr_accessor :card_token
17
+
18
+ # The method used to deliver the challenge to the cardholder
19
+ sig do
20
+ returns(
21
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent::ChallengeMethod::TaggedSymbol
22
+ )
23
+ end
24
+ attr_accessor :challenge_method
25
+
26
+ # The timestamp of when the challenge was completed
27
+ sig { returns(T.nilable(Time)) }
28
+ attr_accessor :completed
29
+
30
+ # The timestamp of when the challenge was created
31
+ sig { returns(Time) }
32
+ attr_accessor :created
33
+
34
+ # Globally unique identifier for the event
35
+ sig { returns(String) }
36
+ attr_accessor :event_token
37
+
38
+ # Event type
39
+ sig { returns(Symbol) }
40
+ attr_accessor :event_type
41
+
42
+ # The cardholder's response to the challenge
43
+ sig do
44
+ returns(
45
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent::Response::TaggedSymbol
46
+ )
47
+ end
48
+ attr_accessor :response
49
+
50
+ # The token of the transaction associated with the authorization event being
51
+ # challenged
52
+ sig { returns(T.nilable(String)) }
53
+ attr_accessor :transaction_token
54
+
55
+ sig do
56
+ params(
57
+ card_token: T.nilable(String),
58
+ challenge_method:
59
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent::ChallengeMethod::OrSymbol,
60
+ completed: T.nilable(Time),
61
+ created: Time,
62
+ event_token: String,
63
+ response:
64
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent::Response::OrSymbol,
65
+ transaction_token: T.nilable(String),
66
+ event_type: Symbol
67
+ ).returns(T.attached_class)
68
+ end
69
+ def self.new(
70
+ # The token of the card associated with the challenge
71
+ card_token:,
72
+ # The method used to deliver the challenge to the cardholder
73
+ challenge_method:,
74
+ # The timestamp of when the challenge was completed
75
+ completed:,
76
+ # The timestamp of when the challenge was created
77
+ created:,
78
+ # Globally unique identifier for the event
79
+ event_token:,
80
+ # The cardholder's response to the challenge
81
+ response:,
82
+ # The token of the transaction associated with the authorization event being
83
+ # challenged
84
+ transaction_token:,
85
+ # Event type
86
+ event_type: :"card_authorization.challenge_response"
87
+ )
88
+ end
89
+
90
+ sig do
91
+ override.returns(
92
+ {
93
+ card_token: T.nilable(String),
94
+ challenge_method:
95
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent::ChallengeMethod::TaggedSymbol,
96
+ completed: T.nilable(Time),
97
+ created: Time,
98
+ event_token: String,
99
+ event_type: Symbol,
100
+ response:
101
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent::Response::TaggedSymbol,
102
+ transaction_token: T.nilable(String)
103
+ }
104
+ )
105
+ end
106
+ def to_hash
107
+ end
108
+
109
+ # The method used to deliver the challenge to the cardholder
110
+ module ChallengeMethod
111
+ extend Lithic::Internal::Type::Enum
112
+
113
+ TaggedSymbol =
114
+ T.type_alias do
115
+ T.all(
116
+ Symbol,
117
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent::ChallengeMethod
118
+ )
119
+ end
120
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
121
+
122
+ SMS =
123
+ T.let(
124
+ :SMS,
125
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent::ChallengeMethod::TaggedSymbol
126
+ )
127
+
128
+ sig do
129
+ override.returns(
130
+ T::Array[
131
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent::ChallengeMethod::TaggedSymbol
132
+ ]
133
+ )
134
+ end
135
+ def self.values
136
+ end
137
+ end
138
+
139
+ # The cardholder's response to the challenge
140
+ module Response
141
+ extend Lithic::Internal::Type::Enum
142
+
143
+ TaggedSymbol =
144
+ T.type_alias do
145
+ T.all(
146
+ Symbol,
147
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent::Response
148
+ )
149
+ end
150
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
151
+
152
+ APPROVE =
153
+ T.let(
154
+ :APPROVE,
155
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent::Response::TaggedSymbol
156
+ )
157
+ DECLINE =
158
+ T.let(
159
+ :DECLINE,
160
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent::Response::TaggedSymbol
161
+ )
162
+
163
+ sig do
164
+ override.returns(
165
+ T::Array[
166
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent::Response::TaggedSymbol
167
+ ]
168
+ )
169
+ end
170
+ def self.values
171
+ end
172
+ end
173
+ end
174
+ end
175
+ end
@@ -29,6 +29,8 @@ module Lithic
29
29
  # created.
30
30
  # - book_transfer_transaction.updated: Occurs when a book transfer transaction is
31
31
  # updated.
32
+ # - card_authorization.challenge_response: Occurs when a cardholder responds to an
33
+ # SMS challenge during card authorization.
32
34
  # - card_transaction.enhanced_data.created: Occurs when L2/L3 enhanced commercial
33
35
  # data is processed for a transaction event.
34
36
  # - card_transaction.enhanced_data.updated: Occurs when L2/L3 enhanced commercial
@@ -149,6 +151,8 @@ module Lithic
149
151
  # created.
150
152
  # - book_transfer_transaction.updated: Occurs when a book transfer transaction is
151
153
  # updated.
154
+ # - card_authorization.challenge_response: Occurs when a cardholder responds to an
155
+ # SMS challenge during card authorization.
152
156
  # - card_transaction.enhanced_data.created: Occurs when L2/L3 enhanced commercial
153
157
  # data is processed for a transaction event.
154
158
  # - card_transaction.enhanced_data.updated: Occurs when L2/L3 enhanced commercial
@@ -265,6 +269,8 @@ module Lithic
265
269
  # created.
266
270
  # - book_transfer_transaction.updated: Occurs when a book transfer transaction is
267
271
  # updated.
272
+ # - card_authorization.challenge_response: Occurs when a cardholder responds to an
273
+ # SMS challenge during card authorization.
268
274
  # - card_transaction.enhanced_data.created: Occurs when L2/L3 enhanced commercial
269
275
  # data is processed for a transaction event.
270
276
  # - card_transaction.enhanced_data.updated: Occurs when L2/L3 enhanced commercial
@@ -392,6 +398,11 @@ module Lithic
392
398
  :"book_transfer_transaction.updated",
393
399
  Lithic::Event::EventType::TaggedSymbol
394
400
  )
401
+ CARD_AUTHORIZATION_CHALLENGE_RESPONSE =
402
+ T.let(
403
+ :"card_authorization.challenge_response",
404
+ Lithic::Event::EventType::TaggedSymbol
405
+ )
395
406
  CARD_TRANSACTION_ENHANCED_DATA_CREATED =
396
407
  T.let(
397
408
  :"card_transaction.enhanced_data.created",
@@ -138,6 +138,8 @@ module Lithic
138
138
  # created.
139
139
  # - book_transfer_transaction.updated: Occurs when a book transfer transaction is
140
140
  # updated.
141
+ # - card_authorization.challenge_response: Occurs when a cardholder responds to an
142
+ # SMS challenge during card authorization.
141
143
  # - card_transaction.enhanced_data.created: Occurs when L2/L3 enhanced commercial
142
144
  # data is processed for a transaction event.
143
145
  # - card_transaction.enhanced_data.updated: Occurs when L2/L3 enhanced commercial
@@ -269,6 +271,11 @@ module Lithic
269
271
  :"book_transfer_transaction.updated",
270
272
  Lithic::EventListParams::EventType::TaggedSymbol
271
273
  )
274
+ CARD_AUTHORIZATION_CHALLENGE_RESPONSE =
275
+ T.let(
276
+ :"card_authorization.challenge_response",
277
+ Lithic::EventListParams::EventType::TaggedSymbol
278
+ )
272
279
  CARD_TRANSACTION_ENHANCED_DATA_CREATED =
273
280
  T.let(
274
281
  :"card_transaction.enhanced_data.created",
@@ -86,6 +86,8 @@ module Lithic
86
86
  # created.
87
87
  # - book_transfer_transaction.updated: Occurs when a book transfer transaction is
88
88
  # updated.
89
+ # - card_authorization.challenge_response: Occurs when a cardholder responds to an
90
+ # SMS challenge during card authorization.
89
91
  # - card_transaction.enhanced_data.created: Occurs when L2/L3 enhanced commercial
90
92
  # data is processed for a transaction event.
91
93
  # - card_transaction.enhanced_data.updated: Occurs when L2/L3 enhanced commercial
@@ -217,6 +219,11 @@ module Lithic
217
219
  :"book_transfer_transaction.updated",
218
220
  Lithic::EventSubscription::EventType::TaggedSymbol
219
221
  )
222
+ CARD_AUTHORIZATION_CHALLENGE_RESPONSE =
223
+ T.let(
224
+ :"card_authorization.challenge_response",
225
+ Lithic::EventSubscription::EventType::TaggedSymbol
226
+ )
220
227
  CARD_TRANSACTION_ENHANCED_DATA_CREATED =
221
228
  T.let(
222
229
  :"card_transaction.enhanced_data.created",
@@ -113,6 +113,8 @@ module Lithic
113
113
  # created.
114
114
  # - book_transfer_transaction.updated: Occurs when a book transfer transaction is
115
115
  # updated.
116
+ # - card_authorization.challenge_response: Occurs when a cardholder responds to an
117
+ # SMS challenge during card authorization.
116
118
  # - card_transaction.enhanced_data.created: Occurs when L2/L3 enhanced commercial
117
119
  # data is processed for a transaction event.
118
120
  # - card_transaction.enhanced_data.updated: Occurs when L2/L3 enhanced commercial
@@ -246,6 +248,11 @@ module Lithic
246
248
  :"book_transfer_transaction.updated",
247
249
  Lithic::Events::SubscriptionCreateParams::EventType::TaggedSymbol
248
250
  )
251
+ CARD_AUTHORIZATION_CHALLENGE_RESPONSE =
252
+ T.let(
253
+ :"card_authorization.challenge_response",
254
+ Lithic::Events::SubscriptionCreateParams::EventType::TaggedSymbol
255
+ )
249
256
  CARD_TRANSACTION_ENHANCED_DATA_CREATED =
250
257
  T.let(
251
258
  :"card_transaction.enhanced_data.created",
@@ -118,6 +118,11 @@ module Lithic
118
118
  :"book_transfer_transaction.updated",
119
119
  Lithic::Events::SubscriptionSendSimulatedExampleParams::EventType::TaggedSymbol
120
120
  )
121
+ CARD_AUTHORIZATION_CHALLENGE_RESPONSE =
122
+ T.let(
123
+ :"card_authorization.challenge_response",
124
+ Lithic::Events::SubscriptionSendSimulatedExampleParams::EventType::TaggedSymbol
125
+ )
121
126
  CARD_TRANSACTION_ENHANCED_DATA_CREATED =
122
127
  T.let(
123
128
  :"card_transaction.enhanced_data.created",
@@ -119,6 +119,8 @@ module Lithic
119
119
  # created.
120
120
  # - book_transfer_transaction.updated: Occurs when a book transfer transaction is
121
121
  # updated.
122
+ # - card_authorization.challenge_response: Occurs when a cardholder responds to an
123
+ # SMS challenge during card authorization.
122
124
  # - card_transaction.enhanced_data.created: Occurs when L2/L3 enhanced commercial
123
125
  # data is processed for a transaction event.
124
126
  # - card_transaction.enhanced_data.updated: Occurs when L2/L3 enhanced commercial
@@ -252,6 +254,11 @@ module Lithic
252
254
  :"book_transfer_transaction.updated",
253
255
  Lithic::Events::SubscriptionUpdateParams::EventType::TaggedSymbol
254
256
  )
257
+ CARD_AUTHORIZATION_CHALLENGE_RESPONSE =
258
+ T.let(
259
+ :"card_authorization.challenge_response",
260
+ Lithic::Events::SubscriptionUpdateParams::EventType::TaggedSymbol
261
+ )
255
262
  CARD_TRANSACTION_ENHANCED_DATA_CREATED =
256
263
  T.let(
257
264
  :"card_transaction.enhanced_data.created",
@@ -0,0 +1,111 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class ExternalBankAccountSetVerificationMethodParams < Lithic::Internal::Type::BaseModel
6
+ extend Lithic::Internal::Type::RequestParameters::Converter
7
+ include Lithic::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Lithic::ExternalBankAccountSetVerificationMethodParams,
13
+ Lithic::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :external_bank_account_token
19
+
20
+ # The verification method to set for the external bank account
21
+ sig do
22
+ returns(
23
+ Lithic::ExternalBankAccountSetVerificationMethodParams::VerificationMethod::OrSymbol
24
+ )
25
+ end
26
+ attr_accessor :verification_method
27
+
28
+ # The financial account token of the operating account to fund the micro deposits.
29
+ # Required when verification_method is MICRO_DEPOSIT or PRENOTE.
30
+ sig { returns(T.nilable(String)) }
31
+ attr_reader :financial_account_token
32
+
33
+ sig { params(financial_account_token: String).void }
34
+ attr_writer :financial_account_token
35
+
36
+ sig do
37
+ params(
38
+ external_bank_account_token: String,
39
+ verification_method:
40
+ Lithic::ExternalBankAccountSetVerificationMethodParams::VerificationMethod::OrSymbol,
41
+ financial_account_token: String,
42
+ request_options: Lithic::RequestOptions::OrHash
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ external_bank_account_token:,
47
+ # The verification method to set for the external bank account
48
+ verification_method:,
49
+ # The financial account token of the operating account to fund the micro deposits.
50
+ # Required when verification_method is MICRO_DEPOSIT or PRENOTE.
51
+ financial_account_token: nil,
52
+ request_options: {}
53
+ )
54
+ end
55
+
56
+ sig do
57
+ override.returns(
58
+ {
59
+ external_bank_account_token: String,
60
+ verification_method:
61
+ Lithic::ExternalBankAccountSetVerificationMethodParams::VerificationMethod::OrSymbol,
62
+ financial_account_token: String,
63
+ request_options: Lithic::RequestOptions
64
+ }
65
+ )
66
+ end
67
+ def to_hash
68
+ end
69
+
70
+ # The verification method to set for the external bank account
71
+ module VerificationMethod
72
+ extend Lithic::Internal::Type::Enum
73
+
74
+ TaggedSymbol =
75
+ T.type_alias do
76
+ T.all(
77
+ Symbol,
78
+ Lithic::ExternalBankAccountSetVerificationMethodParams::VerificationMethod
79
+ )
80
+ end
81
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
82
+
83
+ MICRO_DEPOSIT =
84
+ T.let(
85
+ :MICRO_DEPOSIT,
86
+ Lithic::ExternalBankAccountSetVerificationMethodParams::VerificationMethod::TaggedSymbol
87
+ )
88
+ PRENOTE =
89
+ T.let(
90
+ :PRENOTE,
91
+ Lithic::ExternalBankAccountSetVerificationMethodParams::VerificationMethod::TaggedSymbol
92
+ )
93
+ EXTERNALLY_VERIFIED =
94
+ T.let(
95
+ :EXTERNALLY_VERIFIED,
96
+ Lithic::ExternalBankAccountSetVerificationMethodParams::VerificationMethod::TaggedSymbol
97
+ )
98
+
99
+ sig do
100
+ override.returns(
101
+ T::Array[
102
+ Lithic::ExternalBankAccountSetVerificationMethodParams::VerificationMethod::TaggedSymbol
103
+ ]
104
+ )
105
+ end
106
+ def self.values
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
@@ -16,6 +16,7 @@ module Lithic
16
16
  Lithic::AccountHolderVerificationWebhookEvent,
17
17
  Lithic::AccountHolderDocumentUpdatedWebhookEvent,
18
18
  Lithic::CardAuthorizationApprovalRequestWebhookEvent,
19
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent,
19
20
  Lithic::AuthRulesBacktestReportCreatedWebhookEvent,
20
21
  Lithic::BalanceUpdatedWebhookEvent,
21
22
  Lithic::BookTransferTransactionCreatedWebhookEvent,
@@ -108,6 +108,9 @@ module Lithic
108
108
  CardAuthorizationApprovalRequestWebhookEvent =
109
109
  Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent
110
110
 
111
+ CardAuthorizationChallengeResponseWebhookEvent =
112
+ Lithic::Models::CardAuthorizationChallengeResponseWebhookEvent
113
+
111
114
  CardBulkOrder = Lithic::Models::CardBulkOrder
112
115
 
113
116
  CardBulkOrderCreateParams = Lithic::Models::CardBulkOrderCreateParams
@@ -285,6 +288,9 @@ module Lithic
285
288
 
286
289
  ExternalBankAccounts = Lithic::Models::ExternalBankAccounts
287
290
 
291
+ ExternalBankAccountSetVerificationMethodParams =
292
+ Lithic::Models::ExternalBankAccountSetVerificationMethodParams
293
+
288
294
  ExternalBankAccountUnpauseParams =
289
295
  Lithic::Models::ExternalBankAccountUnpauseParams
290
296
 
@@ -146,6 +146,28 @@ module Lithic
146
146
  )
147
147
  end
148
148
 
149
+ # Update the verification method for an external bank account. Verification method
150
+ # can only be updated if the `verification_state` is `PENDING`.
151
+ sig do
152
+ params(
153
+ external_bank_account_token: String,
154
+ verification_method:
155
+ Lithic::ExternalBankAccountSetVerificationMethodParams::VerificationMethod::OrSymbol,
156
+ financial_account_token: String,
157
+ request_options: Lithic::RequestOptions::OrHash
158
+ ).returns(Lithic::ExternalBankAccount)
159
+ end
160
+ def set_verification_method(
161
+ external_bank_account_token,
162
+ # The verification method to set for the external bank account
163
+ verification_method:,
164
+ # The financial account token of the operating account to fund the micro deposits.
165
+ # Required when verification_method is MICRO_DEPOSIT or PRENOTE.
166
+ financial_account_token: nil,
167
+ request_options: {}
168
+ )
169
+ end
170
+
149
171
  # Unpause an external bank account
150
172
  sig do
151
173
  params(
@@ -17,6 +17,7 @@ module Lithic
17
17
  Lithic::AccountHolderVerificationWebhookEvent,
18
18
  Lithic::AccountHolderDocumentUpdatedWebhookEvent,
19
19
  Lithic::CardAuthorizationApprovalRequestWebhookEvent,
20
+ Lithic::CardAuthorizationChallengeResponseWebhookEvent,
20
21
  Lithic::AuthRulesBacktestReportCreatedWebhookEvent,
21
22
  Lithic::BalanceUpdatedWebhookEvent,
22
23
  Lithic::BookTransferTransactionCreatedWebhookEvent,
@@ -37,7 +37,8 @@ module Lithic
37
37
  {
38
38
  attribute: Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::attribute,
39
39
  operation: Lithic::Models::AuthRules::conditional_operation,
40
- value: Lithic::Models::AuthRules::conditional_value
40
+ value: Lithic::Models::AuthRules::conditional_value,
41
+ parameters: Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters
41
42
  }
42
43
 
43
44
  class Condition < Lithic::Internal::Type::BaseModel
@@ -47,16 +48,24 @@ module Lithic
47
48
 
48
49
  attr_accessor value: Lithic::Models::AuthRules::conditional_value
49
50
 
51
+ attr_reader parameters: Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters?
52
+
53
+ def parameters=: (
54
+ Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters
55
+ ) -> Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters
56
+
50
57
  def initialize: (
51
58
  attribute: Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::attribute,
52
59
  operation: Lithic::Models::AuthRules::conditional_operation,
53
- value: Lithic::Models::AuthRules::conditional_value
60
+ value: Lithic::Models::AuthRules::conditional_value,
61
+ ?parameters: Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters
54
62
  ) -> void
55
63
 
56
64
  def to_hash: -> {
57
65
  attribute: Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::attribute,
58
66
  operation: Lithic::Models::AuthRules::conditional_operation,
59
- value: Lithic::Models::AuthRules::conditional_value
67
+ value: Lithic::Models::AuthRules::conditional_value,
68
+ parameters: Lithic::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters
60
69
  }
61
70
 
62
71
  type attribute =
@@ -86,6 +95,16 @@ module Lithic
86
95
  | :SERVICE_LOCATION_POSTAL_CODE
87
96
  | :CARD_AGE
88
97
  | :ACCOUNT_AGE
98
+ | :AMOUNT_Z_SCORE
99
+ | :AVG_TRANSACTION_AMOUNT
100
+ | :STDEV_TRANSACTION_AMOUNT
101
+ | :IS_NEW_COUNTRY
102
+ | :IS_NEW_MCC
103
+ | :IS_FIRST_TRANSACTION
104
+ | :CONSECUTIVE_DECLINES
105
+ | :TIME_SINCE_LAST_TRANSACTION
106
+ | :DISTINCT_COUNTRY_COUNT
107
+ | :THREE_DS_SUCCESS_RATE
89
108
 
90
109
  module Attribute
91
110
  extend Lithic::Internal::Type::Enum
@@ -116,9 +135,74 @@ module Lithic
116
135
  SERVICE_LOCATION_POSTAL_CODE: :SERVICE_LOCATION_POSTAL_CODE
117
136
  CARD_AGE: :CARD_AGE
118
137
  ACCOUNT_AGE: :ACCOUNT_AGE
138
+ AMOUNT_Z_SCORE: :AMOUNT_Z_SCORE
139
+ AVG_TRANSACTION_AMOUNT: :AVG_TRANSACTION_AMOUNT
140
+ STDEV_TRANSACTION_AMOUNT: :STDEV_TRANSACTION_AMOUNT
141
+ IS_NEW_COUNTRY: :IS_NEW_COUNTRY
142
+ IS_NEW_MCC: :IS_NEW_MCC
143
+ IS_FIRST_TRANSACTION: :IS_FIRST_TRANSACTION
144
+ CONSECUTIVE_DECLINES: :CONSECUTIVE_DECLINES
145
+ TIME_SINCE_LAST_TRANSACTION: :TIME_SINCE_LAST_TRANSACTION
146
+ DISTINCT_COUNTRY_COUNT: :DISTINCT_COUNTRY_COUNT
147
+ THREE_DS_SUCCESS_RATE: :THREE_DS_SUCCESS_RATE
119
148
 
120
149
  def self?.values: -> ::Array[Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::attribute]
121
150
  end
151
+
152
+ type parameters =
153
+ {
154
+ interval: Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::interval,
155
+ scope: Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::scope
156
+ }
157
+
158
+ class Parameters < Lithic::Internal::Type::BaseModel
159
+ attr_reader interval: Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::interval?
160
+
161
+ def interval=: (
162
+ Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::interval
163
+ ) -> Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::interval
164
+
165
+ attr_reader scope: Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::scope?
166
+
167
+ def scope=: (
168
+ Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::scope
169
+ ) -> Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::scope
170
+
171
+ def initialize: (
172
+ ?interval: Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::interval,
173
+ ?scope: Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::scope
174
+ ) -> void
175
+
176
+ def to_hash: -> {
177
+ interval: Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::interval,
178
+ scope: Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::scope
179
+ }
180
+
181
+ type interval = :LIFETIME | :"7D" | :"30D" | :"90D"
182
+
183
+ module Interval
184
+ extend Lithic::Internal::Type::Enum
185
+
186
+ LIFETIME: :LIFETIME
187
+ INTERVAL_7_D: :"7D"
188
+ INTERVAL_30_D: :"30D"
189
+ INTERVAL_90_D: :"90D"
190
+
191
+ def self?.values: -> ::Array[Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::interval]
192
+ end
193
+
194
+ type scope = :CARD | :ACCOUNT | :BUSINESS_ACCOUNT
195
+
196
+ module Scope
197
+ extend Lithic::Internal::Type::Enum
198
+
199
+ CARD: :CARD
200
+ ACCOUNT: :ACCOUNT
201
+ BUSINESS_ACCOUNT: :BUSINESS_ACCOUNT
202
+
203
+ def self?.values: -> ::Array[Lithic::Models::AuthRules::ConditionalAuthorizationActionParameters::Condition::Parameters::scope]
204
+ end
205
+ end
122
206
  end
123
207
  end
124
208
  end
@@ -10,6 +10,7 @@ module Lithic
10
10
  | Lithic::AuthRules::RuleFeature::AccountHolderFeature
11
11
  | Lithic::AuthRules::RuleFeature::IPMetadataFeature
12
12
  | Lithic::AuthRules::RuleFeature::SpendVelocityFeature
13
+ | Lithic::AuthRules::RuleFeature::TransactionHistorySignalsFeature
13
14
 
14
15
  module RuleFeature
15
16
  extend Lithic::Internal::Type::Union
@@ -166,6 +167,47 @@ module Lithic
166
167
  end
167
168
  end
168
169
 
170
+ type transaction_history_signals_feature =
171
+ {
172
+ scope: Lithic::Models::AuthRules::RuleFeature::TransactionHistorySignalsFeature::scope,
173
+ type: :TRANSACTION_HISTORY_SIGNALS,
174
+ name: String
175
+ }
176
+
177
+ class TransactionHistorySignalsFeature < Lithic::Internal::Type::BaseModel
178
+ attr_accessor scope: Lithic::Models::AuthRules::RuleFeature::TransactionHistorySignalsFeature::scope
179
+
180
+ attr_accessor type: :TRANSACTION_HISTORY_SIGNALS
181
+
182
+ attr_reader name: String?
183
+
184
+ def name=: (String) -> String
185
+
186
+ def initialize: (
187
+ scope: Lithic::Models::AuthRules::RuleFeature::TransactionHistorySignalsFeature::scope,
188
+ ?name: String,
189
+ ?type: :TRANSACTION_HISTORY_SIGNALS
190
+ ) -> void
191
+
192
+ def to_hash: -> {
193
+ scope: Lithic::Models::AuthRules::RuleFeature::TransactionHistorySignalsFeature::scope,
194
+ type: :TRANSACTION_HISTORY_SIGNALS,
195
+ name: String
196
+ }
197
+
198
+ type scope = :CARD | :ACCOUNT | :BUSINESS_ACCOUNT
199
+
200
+ module Scope
201
+ extend Lithic::Internal::Type::Enum
202
+
203
+ CARD: :CARD
204
+ ACCOUNT: :ACCOUNT
205
+ BUSINESS_ACCOUNT: :BUSINESS_ACCOUNT
206
+
207
+ def self?.values: -> ::Array[Lithic::Models::AuthRules::RuleFeature::TransactionHistorySignalsFeature::scope]
208
+ end
209
+ end
210
+
169
211
  def self?.variants: -> ::Array[Lithic::Models::AuthRules::rule_feature]
170
212
  end
171
213
  end