lithic 0.5.0 → 0.6.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 (98) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/models/account_holders/account_holder_entity.rb +183 -0
  5. data/lib/lithic/models/account_holders/entity_create_params.rb +159 -0
  6. data/lib/lithic/models/account_holders/entity_create_response.rb +113 -0
  7. data/lib/lithic/models/account_holders/entity_delete_params.rb +22 -0
  8. data/lib/lithic/models/auth_rules/auth_rule.rb +6 -2
  9. data/lib/lithic/models/auth_rules/conditional_block_parameters.rb +3 -0
  10. data/lib/lithic/models/auth_rules/v2_create_params.rb +5 -2
  11. data/lib/lithic/models/auth_rules/v2_draft_params.rb +1 -0
  12. data/lib/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rb +9 -9
  13. data/lib/lithic/models/financial_account.rb +1 -0
  14. data/lib/lithic/models/financial_account_update_status_params.rb +1 -0
  15. data/lib/lithic/models/financial_accounts/category_tier.rb +28 -0
  16. data/lib/lithic/models/financial_accounts/interest_tier_schedule.rb +50 -0
  17. data/lib/lithic/models/financial_accounts/interest_tier_schedule_create_params.rb +16 -0
  18. data/lib/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rb +22 -0
  19. data/lib/lithic/models/financial_accounts/interest_tier_schedule_list_params.rb +40 -0
  20. data/lib/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rb +22 -0
  21. data/lib/lithic/models/financial_accounts/interest_tier_schedule_update_params.rb +44 -0
  22. data/lib/lithic/models/financial_accounts/loan_tape.rb +1 -0
  23. data/lib/lithic/models/financial_accounts/loan_tape_configuration.rb +63 -0
  24. data/lib/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rb +16 -0
  25. data/lib/lithic/models/financial_accounts/loan_tape_rebuild_configuration.rb +36 -0
  26. data/lib/lithic/models/financial_accounts/statement.rb +1 -0
  27. data/lib/lithic/models/{digital_wallet_token_metadata.rb → token_metadata.rb} +18 -19
  28. data/lib/lithic/models/tokenization_approval_request_webhook_event.rb +9 -9
  29. data/lib/lithic/models/tokenization_decisioning_request_webhook_event.rb +9 -9
  30. data/lib/lithic/models.rb +4 -2
  31. data/lib/lithic/resources/account_holders/entities.rb +89 -0
  32. data/lib/lithic/resources/account_holders.rb +4 -0
  33. data/lib/lithic/resources/financial_accounts/interest_tier_schedule.rb +205 -0
  34. data/lib/lithic/resources/financial_accounts/loan_tape_configuration.rb +36 -0
  35. data/lib/lithic/resources/financial_accounts.rb +9 -0
  36. data/lib/lithic/version.rb +1 -1
  37. data/lib/lithic.rb +18 -1
  38. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +296 -0
  39. data/rbi/lithic/models/account_holders/entity_create_params.rbi +242 -0
  40. data/rbi/lithic/models/account_holders/entity_create_response.rbi +292 -0
  41. data/rbi/lithic/models/account_holders/entity_delete_params.rbi +43 -0
  42. data/rbi/lithic/models/auth_rules/auth_rule.rbi +6 -3
  43. data/rbi/lithic/models/auth_rules/conditional_block_parameters.rbi +1 -0
  44. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +6 -3
  45. data/rbi/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbi +15 -17
  46. data/rbi/lithic/models/financial_account.rbi +5 -0
  47. data/rbi/lithic/models/financial_account_update_status_params.rbi +5 -0
  48. data/rbi/lithic/models/financial_accounts/category_tier.rbi +45 -0
  49. data/rbi/lithic/models/financial_accounts/interest_tier_schedule.rbi +75 -0
  50. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_create_params.rbi +32 -0
  51. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rbi +43 -0
  52. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_list_params.rbi +73 -0
  53. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rbi +43 -0
  54. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbi +70 -0
  55. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +5 -0
  56. data/rbi/lithic/models/financial_accounts/loan_tape_configuration.rbi +99 -0
  57. data/rbi/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rbi +32 -0
  58. data/rbi/lithic/models/financial_accounts/loan_tape_rebuild_configuration.rbi +65 -0
  59. data/rbi/lithic/models/financial_accounts/statement.rbi +5 -0
  60. data/rbi/lithic/models/{digital_wallet_token_metadata.rbi → token_metadata.rbi} +34 -41
  61. data/rbi/lithic/models/tokenization_approval_request_webhook_event.rbi +11 -17
  62. data/rbi/lithic/models/tokenization_decisioning_request_webhook_event.rbi +15 -17
  63. data/rbi/lithic/models.rbi +4 -2
  64. data/rbi/lithic/resources/account_holders/entities.rbi +80 -0
  65. data/rbi/lithic/resources/account_holders.rbi +3 -0
  66. data/rbi/lithic/resources/auth_rules/v2.rbi +2 -1
  67. data/rbi/lithic/resources/financial_accounts/interest_tier_schedule.rbi +156 -0
  68. data/rbi/lithic/resources/financial_accounts/loan_tape_configuration.rbi +30 -0
  69. data/rbi/lithic/resources/financial_accounts.rbi +10 -0
  70. data/sig/lithic/models/account_holders/account_holder_entity.rbs +137 -0
  71. data/sig/lithic/models/account_holders/entity_create_params.rbs +118 -0
  72. data/sig/lithic/models/account_holders/entity_create_response.rbs +117 -0
  73. data/sig/lithic/models/account_holders/entity_delete_params.rbs +26 -0
  74. data/sig/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbs +5 -9
  75. data/sig/lithic/models/financial_account.rbs +2 -0
  76. data/sig/lithic/models/financial_account_update_status_params.rbs +2 -0
  77. data/sig/lithic/models/financial_accounts/category_tier.rbs +21 -0
  78. data/sig/lithic/models/financial_accounts/interest_tier_schedule.rbs +41 -0
  79. data/sig/lithic/models/financial_accounts/interest_tier_schedule_create_params.rbs +17 -0
  80. data/sig/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rbs +26 -0
  81. data/sig/lithic/models/financial_accounts/interest_tier_schedule_list_params.rbs +40 -0
  82. data/sig/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rbs +26 -0
  83. data/sig/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbs +38 -0
  84. data/sig/lithic/models/financial_accounts/loan_tape.rbs +2 -0
  85. data/sig/lithic/models/financial_accounts/loan_tape_configuration.rbs +60 -0
  86. data/sig/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rbs +17 -0
  87. data/sig/lithic/models/financial_accounts/loan_tape_rebuild_configuration.rbs +32 -0
  88. data/sig/lithic/models/financial_accounts/statement.rbs +2 -0
  89. data/sig/lithic/models/{digital_wallet_token_metadata.rbs → token_metadata.rbs} +19 -17
  90. data/sig/lithic/models/tokenization_approval_request_webhook_event.rbs +5 -9
  91. data/sig/lithic/models/tokenization_decisioning_request_webhook_event.rbs +5 -9
  92. data/sig/lithic/models.rbs +4 -2
  93. data/sig/lithic/resources/account_holders/entities.rbs +28 -0
  94. data/sig/lithic/resources/account_holders.rbs +2 -0
  95. data/sig/lithic/resources/financial_accounts/interest_tier_schedule.rbs +46 -0
  96. data/sig/lithic/resources/financial_accounts/loan_tape_configuration.rbs +14 -0
  97. data/sig/lithic/resources/financial_accounts.rbs +4 -0
  98. metadata +56 -5
@@ -0,0 +1,292 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module AccountHolders
6
+ class EntityCreateResponse < Lithic::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Lithic::Models::AccountHolders::EntityCreateResponse,
11
+ Lithic::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Globally unique identifier for the entity
16
+ sig { returns(String) }
17
+ attr_accessor :token
18
+
19
+ # Globally unique identifier for the account holder
20
+ sig { returns(String) }
21
+ attr_accessor :account_holder_token
22
+
23
+ # Timestamp of when the entity was created
24
+ sig { returns(Time) }
25
+ attr_accessor :created
26
+
27
+ # A list of documents required for the entity to be approved
28
+ sig { returns(T::Array[Lithic::RequiredDocument]) }
29
+ attr_accessor :required_documents
30
+
31
+ # Entity verification status
32
+ sig do
33
+ returns(
34
+ Lithic::Models::AccountHolders::EntityCreateResponse::Status::TaggedSymbol
35
+ )
36
+ end
37
+ attr_accessor :status
38
+
39
+ # Reason for the evaluation status
40
+ sig do
41
+ returns(
42
+ T::Array[
43
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
44
+ ]
45
+ )
46
+ end
47
+ attr_accessor :status_reasons
48
+
49
+ # Response body for creating a new beneficial owner or replacing the control
50
+ # person entity on an existing KYB account holder.
51
+ sig do
52
+ params(
53
+ token: String,
54
+ account_holder_token: String,
55
+ created: Time,
56
+ required_documents: T::Array[Lithic::RequiredDocument::OrHash],
57
+ status:
58
+ Lithic::Models::AccountHolders::EntityCreateResponse::Status::OrSymbol,
59
+ status_reasons:
60
+ T::Array[
61
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::OrSymbol
62
+ ]
63
+ ).returns(T.attached_class)
64
+ end
65
+ def self.new(
66
+ # Globally unique identifier for the entity
67
+ token:,
68
+ # Globally unique identifier for the account holder
69
+ account_holder_token:,
70
+ # Timestamp of when the entity was created
71
+ created:,
72
+ # A list of documents required for the entity to be approved
73
+ required_documents:,
74
+ # Entity verification status
75
+ status:,
76
+ # Reason for the evaluation status
77
+ status_reasons:
78
+ )
79
+ end
80
+
81
+ sig do
82
+ override.returns(
83
+ {
84
+ token: String,
85
+ account_holder_token: String,
86
+ created: Time,
87
+ required_documents: T::Array[Lithic::RequiredDocument],
88
+ status:
89
+ Lithic::Models::AccountHolders::EntityCreateResponse::Status::TaggedSymbol,
90
+ status_reasons:
91
+ T::Array[
92
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
93
+ ]
94
+ }
95
+ )
96
+ end
97
+ def to_hash
98
+ end
99
+
100
+ # Entity verification status
101
+ module Status
102
+ extend Lithic::Internal::Type::Enum
103
+
104
+ TaggedSymbol =
105
+ T.type_alias do
106
+ T.all(
107
+ Symbol,
108
+ Lithic::Models::AccountHolders::EntityCreateResponse::Status
109
+ )
110
+ end
111
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
112
+
113
+ ACCEPTED =
114
+ T.let(
115
+ :ACCEPTED,
116
+ Lithic::Models::AccountHolders::EntityCreateResponse::Status::TaggedSymbol
117
+ )
118
+ INACTIVE =
119
+ T.let(
120
+ :INACTIVE,
121
+ Lithic::Models::AccountHolders::EntityCreateResponse::Status::TaggedSymbol
122
+ )
123
+ PENDING_REVIEW =
124
+ T.let(
125
+ :PENDING_REVIEW,
126
+ Lithic::Models::AccountHolders::EntityCreateResponse::Status::TaggedSymbol
127
+ )
128
+ REJECTED =
129
+ T.let(
130
+ :REJECTED,
131
+ Lithic::Models::AccountHolders::EntityCreateResponse::Status::TaggedSymbol
132
+ )
133
+
134
+ sig do
135
+ override.returns(
136
+ T::Array[
137
+ Lithic::Models::AccountHolders::EntityCreateResponse::Status::TaggedSymbol
138
+ ]
139
+ )
140
+ end
141
+ def self.values
142
+ end
143
+ end
144
+
145
+ # Status Reasons for KYC/KYB enrollment states
146
+ module StatusReason
147
+ extend Lithic::Internal::Type::Enum
148
+
149
+ TaggedSymbol =
150
+ T.type_alias do
151
+ T.all(
152
+ Symbol,
153
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason
154
+ )
155
+ end
156
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
157
+
158
+ ADDRESS_VERIFICATION_FAILURE =
159
+ T.let(
160
+ :ADDRESS_VERIFICATION_FAILURE,
161
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
162
+ )
163
+ AGE_THRESHOLD_FAILURE =
164
+ T.let(
165
+ :AGE_THRESHOLD_FAILURE,
166
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
167
+ )
168
+ COMPLETE_VERIFICATION_FAILURE =
169
+ T.let(
170
+ :COMPLETE_VERIFICATION_FAILURE,
171
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
172
+ )
173
+ DOB_VERIFICATION_FAILURE =
174
+ T.let(
175
+ :DOB_VERIFICATION_FAILURE,
176
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
177
+ )
178
+ ID_VERIFICATION_FAILURE =
179
+ T.let(
180
+ :ID_VERIFICATION_FAILURE,
181
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
182
+ )
183
+ MAX_DOCUMENT_ATTEMPTS =
184
+ T.let(
185
+ :MAX_DOCUMENT_ATTEMPTS,
186
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
187
+ )
188
+ MAX_RESUBMISSION_ATTEMPTS =
189
+ T.let(
190
+ :MAX_RESUBMISSION_ATTEMPTS,
191
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
192
+ )
193
+ NAME_VERIFICATION_FAILURE =
194
+ T.let(
195
+ :NAME_VERIFICATION_FAILURE,
196
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
197
+ )
198
+ OTHER_VERIFICATION_FAILURE =
199
+ T.let(
200
+ :OTHER_VERIFICATION_FAILURE,
201
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
202
+ )
203
+ RISK_THRESHOLD_FAILURE =
204
+ T.let(
205
+ :RISK_THRESHOLD_FAILURE,
206
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
207
+ )
208
+ WATCHLIST_ALERT_FAILURE =
209
+ T.let(
210
+ :WATCHLIST_ALERT_FAILURE,
211
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
212
+ )
213
+ PRIMARY_BUSINESS_ENTITY_ID_VERIFICATION_FAILURE =
214
+ T.let(
215
+ :PRIMARY_BUSINESS_ENTITY_ID_VERIFICATION_FAILURE,
216
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
217
+ )
218
+ PRIMARY_BUSINESS_ENTITY_ADDRESS_VERIFICATION_FAILURE =
219
+ T.let(
220
+ :PRIMARY_BUSINESS_ENTITY_ADDRESS_VERIFICATION_FAILURE,
221
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
222
+ )
223
+ PRIMARY_BUSINESS_ENTITY_NAME_VERIFICATION_FAILURE =
224
+ T.let(
225
+ :PRIMARY_BUSINESS_ENTITY_NAME_VERIFICATION_FAILURE,
226
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
227
+ )
228
+ PRIMARY_BUSINESS_ENTITY_BUSINESS_OFFICERS_NOT_MATCHED =
229
+ T.let(
230
+ :PRIMARY_BUSINESS_ENTITY_BUSINESS_OFFICERS_NOT_MATCHED,
231
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
232
+ )
233
+ PRIMARY_BUSINESS_ENTITY_SOS_FILING_INACTIVE =
234
+ T.let(
235
+ :PRIMARY_BUSINESS_ENTITY_SOS_FILING_INACTIVE,
236
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
237
+ )
238
+ PRIMARY_BUSINESS_ENTITY_SOS_NOT_MATCHED =
239
+ T.let(
240
+ :PRIMARY_BUSINESS_ENTITY_SOS_NOT_MATCHED,
241
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
242
+ )
243
+ PRIMARY_BUSINESS_ENTITY_CMRA_FAILURE =
244
+ T.let(
245
+ :PRIMARY_BUSINESS_ENTITY_CMRA_FAILURE,
246
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
247
+ )
248
+ PRIMARY_BUSINESS_ENTITY_WATCHLIST_FAILURE =
249
+ T.let(
250
+ :PRIMARY_BUSINESS_ENTITY_WATCHLIST_FAILURE,
251
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
252
+ )
253
+ PRIMARY_BUSINESS_ENTITY_REGISTERED_AGENT_FAILURE =
254
+ T.let(
255
+ :PRIMARY_BUSINESS_ENTITY_REGISTERED_AGENT_FAILURE,
256
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
257
+ )
258
+ CONTROL_PERSON_BLOCKLIST_ALERT_FAILURE =
259
+ T.let(
260
+ :CONTROL_PERSON_BLOCKLIST_ALERT_FAILURE,
261
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
262
+ )
263
+ CONTROL_PERSON_ID_VERIFICATION_FAILURE =
264
+ T.let(
265
+ :CONTROL_PERSON_ID_VERIFICATION_FAILURE,
266
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
267
+ )
268
+ CONTROL_PERSON_DOB_VERIFICATION_FAILURE =
269
+ T.let(
270
+ :CONTROL_PERSON_DOB_VERIFICATION_FAILURE,
271
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
272
+ )
273
+ CONTROL_PERSON_NAME_VERIFICATION_FAILURE =
274
+ T.let(
275
+ :CONTROL_PERSON_NAME_VERIFICATION_FAILURE,
276
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
277
+ )
278
+
279
+ sig do
280
+ override.returns(
281
+ T::Array[
282
+ Lithic::Models::AccountHolders::EntityCreateResponse::StatusReason::TaggedSymbol
283
+ ]
284
+ )
285
+ end
286
+ def self.values
287
+ end
288
+ end
289
+ end
290
+ end
291
+ end
292
+ end
@@ -0,0 +1,43 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module AccountHolders
6
+ class EntityDeleteParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Lithic::AccountHolders::EntityDeleteParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :account_holder_token
20
+
21
+ sig do
22
+ params(
23
+ account_holder_token: String,
24
+ request_options: Lithic::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(account_holder_token:, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ {
33
+ account_holder_token: String,
34
+ request_options: Lithic::RequestOptions
35
+ }
36
+ )
37
+ end
38
+ def to_hash
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -75,7 +75,8 @@ module Lithic
75
75
  # several event streams, the effective one is defined by the separate
76
76
  # `event_stream` field.
77
77
  #
78
- # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
78
+ # - `CONDITIONAL_BLOCK`: Deprecated. Use `CONDITIONAL_ACTION` instead.
79
+ # AUTHORIZATION event stream.
79
80
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
80
81
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
81
82
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
@@ -136,7 +137,8 @@ module Lithic
136
137
  # several event streams, the effective one is defined by the separate
137
138
  # `event_stream` field.
138
139
  #
139
- # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
140
+ # - `CONDITIONAL_BLOCK`: Deprecated. Use `CONDITIONAL_ACTION` instead.
141
+ # AUTHORIZATION event stream.
140
142
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
141
143
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
142
144
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
@@ -372,7 +374,8 @@ module Lithic
372
374
  # several event streams, the effective one is defined by the separate
373
375
  # `event_stream` field.
374
376
  #
375
- # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
377
+ # - `CONDITIONAL_BLOCK`: Deprecated. Use `CONDITIONAL_ACTION` instead.
378
+ # AUTHORIZATION event stream.
376
379
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
377
380
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
378
381
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
@@ -15,6 +15,7 @@ module Lithic
15
15
  sig { returns(T::Array[Lithic::AuthRules::AuthRuleCondition]) }
16
16
  attr_accessor :conditions
17
17
 
18
+ # Deprecated: Use CONDITIONAL_ACTION instead.
18
19
  sig do
19
20
  params(
20
21
  conditions: T::Array[Lithic::AuthRules::AuthRuleCondition::OrHash]
@@ -33,7 +33,8 @@ module Lithic
33
33
  # several event streams, the effective one is defined by the separate
34
34
  # `event_stream` field.
35
35
  #
36
- # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
36
+ # - `CONDITIONAL_BLOCK`: Deprecated. Use `CONDITIONAL_ACTION` instead.
37
+ # AUTHORIZATION event stream.
37
38
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
38
39
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
39
40
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
@@ -114,7 +115,8 @@ module Lithic
114
115
  # several event streams, the effective one is defined by the separate
115
116
  # `event_stream` field.
116
117
  #
117
- # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
118
+ # - `CONDITIONAL_BLOCK`: Deprecated. Use `CONDITIONAL_ACTION` instead.
119
+ # AUTHORIZATION event stream.
118
120
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
119
121
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
120
122
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
@@ -197,7 +199,8 @@ module Lithic
197
199
  # several event streams, the effective one is defined by the separate
198
200
  # `event_stream` field.
199
201
  #
200
- # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
202
+ # - `CONDITIONAL_BLOCK`: Deprecated. Use `CONDITIONAL_ACTION` instead.
203
+ # AUTHORIZATION event stream.
201
204
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
202
205
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
203
206
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
@@ -43,6 +43,17 @@ module Lithic
43
43
  end
44
44
  attr_writer :customer_tokenization_decision
45
45
 
46
+ # Contains the metadata for the digital wallet being tokenized.
47
+ sig { returns(Lithic::TokenMetadata) }
48
+ attr_reader :digital_wallet_token_metadata
49
+
50
+ sig do
51
+ params(
52
+ digital_wallet_token_metadata: Lithic::TokenMetadata::OrHash
53
+ ).void
54
+ end
55
+ attr_writer :digital_wallet_token_metadata
56
+
46
57
  # The name of this event
47
58
  sig do
48
59
  returns(
@@ -88,18 +99,6 @@ module Lithic
88
99
  sig { params(device: Lithic::Device::OrHash).void }
89
100
  attr_writer :device
90
101
 
91
- # Contains the metadata for the digital wallet being tokenized.
92
- sig { returns(T.nilable(Lithic::DigitalWalletTokenMetadata)) }
93
- attr_reader :digital_wallet_token_metadata
94
-
95
- sig do
96
- params(
97
- digital_wallet_token_metadata:
98
- Lithic::DigitalWalletTokenMetadata::OrHash
99
- ).void
100
- end
101
- attr_writer :digital_wallet_token_metadata
102
-
103
102
  # Results from rules that were evaluated for this tokenization
104
103
  sig { returns(T.nilable(T::Array[Lithic::TokenizationRuleResult])) }
105
104
  attr_reader :rule_results
@@ -170,6 +169,7 @@ module Lithic
170
169
  T.nilable(
171
170
  Lithic::DigitalWalletTokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::OrHash
172
171
  ),
172
+ digital_wallet_token_metadata: Lithic::TokenMetadata::OrHash,
173
173
  event_type:
174
174
  Lithic::DigitalWalletTokenizationApprovalRequestWebhookEvent::EventType::OrSymbol,
175
175
  issuer_decision:
@@ -179,8 +179,6 @@ module Lithic
179
179
  tokenization_token: String,
180
180
  wallet_decisioning_info: Lithic::WalletDecisioningInfo::OrHash,
181
181
  device: Lithic::Device::OrHash,
182
- digital_wallet_token_metadata:
183
- Lithic::DigitalWalletTokenMetadata::OrHash,
184
182
  rule_results: T::Array[Lithic::TokenizationRuleResult::OrHash],
185
183
  tokenization_decline_reasons:
186
184
  T::Array[Lithic::TokenizationDeclineReason::OrSymbol],
@@ -199,6 +197,8 @@ module Lithic
199
197
  created:,
200
198
  # Contains the metadata for the customer tokenization decision.
201
199
  customer_tokenization_decision:,
200
+ # Contains the metadata for the digital wallet being tokenized.
201
+ digital_wallet_token_metadata:,
202
202
  # The name of this event
203
203
  event_type:,
204
204
  # Whether Lithic decisioned on the token, and if so, what the decision was.
@@ -210,8 +210,6 @@ module Lithic
210
210
  tokenization_token:,
211
211
  wallet_decisioning_info:,
212
212
  device: nil,
213
- # Contains the metadata for the digital wallet being tokenized.
214
- digital_wallet_token_metadata: nil,
215
213
  # Results from rules that were evaluated for this tokenization
216
214
  rule_results: nil,
217
215
  # List of reasons why the tokenization was declined
@@ -233,6 +231,7 @@ module Lithic
233
231
  T.nilable(
234
232
  Lithic::DigitalWalletTokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision
235
233
  ),
234
+ digital_wallet_token_metadata: Lithic::TokenMetadata,
236
235
  event_type:
237
236
  Lithic::DigitalWalletTokenizationApprovalRequestWebhookEvent::EventType::TaggedSymbol,
238
237
  issuer_decision:
@@ -242,7 +241,6 @@ module Lithic
242
241
  tokenization_token: String,
243
242
  wallet_decisioning_info: Lithic::WalletDecisioningInfo,
244
243
  device: Lithic::Device,
245
- digital_wallet_token_metadata: Lithic::DigitalWalletTokenMetadata,
246
244
  rule_results: T::Array[Lithic::TokenizationRuleResult],
247
245
  tokenization_decline_reasons:
248
246
  T::Array[Lithic::TokenizationDeclineReason::TaggedSymbol],
@@ -292,6 +292,11 @@ module Lithic
292
292
  )
293
293
  DELINQUENT =
294
294
  T.let(:DELINQUENT, Lithic::FinancialAccount::Substatus::TaggedSymbol)
295
+ INTEREST_AND_FEES_PAUSED =
296
+ T.let(
297
+ :INTEREST_AND_FEES_PAUSED,
298
+ Lithic::FinancialAccount::Substatus::TaggedSymbol
299
+ )
295
300
 
296
301
  sig do
297
302
  override.returns(
@@ -148,6 +148,11 @@ module Lithic
148
148
  :CHARGED_OFF_DELINQUENT,
149
149
  Lithic::FinancialAccountUpdateStatusParams::Substatus::TaggedSymbol
150
150
  )
151
+ INTEREST_AND_FEES_PAUSED =
152
+ T.let(
153
+ :INTEREST_AND_FEES_PAUSED,
154
+ Lithic::FinancialAccountUpdateStatusParams::Substatus::TaggedSymbol
155
+ )
151
156
 
152
157
  sig do
153
158
  override.returns(
@@ -0,0 +1,45 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class CategoryTier < Lithic::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Lithic::FinancialAccounts::CategoryTier,
11
+ Lithic::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Maximum interest rate for this category, e.g. '0.0525' for 5.25%
16
+ sig { returns(T.nilable(String)) }
17
+ attr_reader :cap_rate
18
+
19
+ sig { params(cap_rate: String).void }
20
+ attr_writer :cap_rate
21
+
22
+ # Interest rate for this category, e.g. '0.0525' for 5.25%
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :rate
25
+
26
+ sig { params(rate: String).void }
27
+ attr_writer :rate
28
+
29
+ # Rate and rate cap for interest on a category
30
+ sig { params(cap_rate: String, rate: String).returns(T.attached_class) }
31
+ def self.new(
32
+ # Maximum interest rate for this category, e.g. '0.0525' for 5.25%
33
+ cap_rate: nil,
34
+ # Interest rate for this category, e.g. '0.0525' for 5.25%
35
+ rate: nil
36
+ )
37
+ end
38
+
39
+ sig { override.returns({ cap_rate: String, rate: String }) }
40
+ def to_hash
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,75 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class FinancialAccountsInterestTierSchedule < Lithic::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Lithic::FinancialAccounts::FinancialAccountsInterestTierSchedule,
11
+ Lithic::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Globally unique identifier for a credit product
16
+ sig { returns(String) }
17
+ attr_accessor :credit_product_token
18
+
19
+ # Date the tier should be effective in YYYY-MM-DD format
20
+ sig { returns(Date) }
21
+ attr_accessor :effective_date
22
+
23
+ # Name of a tier contained in the credit product. Mutually exclusive with
24
+ # tier_rates
25
+ sig { returns(T.nilable(String)) }
26
+ attr_reader :tier_name
27
+
28
+ sig { params(tier_name: String).void }
29
+ attr_writer :tier_name
30
+
31
+ # Custom rates per category. Mutually exclusive with tier_name
32
+ sig { returns(T.nilable(T.anything)) }
33
+ attr_reader :tier_rates
34
+
35
+ sig { params(tier_rates: T.anything).void }
36
+ attr_writer :tier_rates
37
+
38
+ # Entry in the Tier Schedule of an account
39
+ sig do
40
+ params(
41
+ credit_product_token: String,
42
+ effective_date: Date,
43
+ tier_name: String,
44
+ tier_rates: T.anything
45
+ ).returns(T.attached_class)
46
+ end
47
+ def self.new(
48
+ # Globally unique identifier for a credit product
49
+ credit_product_token:,
50
+ # Date the tier should be effective in YYYY-MM-DD format
51
+ effective_date:,
52
+ # Name of a tier contained in the credit product. Mutually exclusive with
53
+ # tier_rates
54
+ tier_name: nil,
55
+ # Custom rates per category. Mutually exclusive with tier_name
56
+ tier_rates: nil
57
+ )
58
+ end
59
+
60
+ sig do
61
+ override.returns(
62
+ {
63
+ credit_product_token: String,
64
+ effective_date: Date,
65
+ tier_name: String,
66
+ tier_rates: T.anything
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class InterestTierScheduleCreateParams < Lithic::Models::FinancialAccounts::FinancialAccountsInterestTierSchedule
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Lithic::FinancialAccounts::InterestTierScheduleCreateParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig do
19
+ params(request_options: Lithic::RequestOptions::OrHash).returns(
20
+ T.attached_class
21
+ )
22
+ end
23
+ def self.new(request_options: {})
24
+ end
25
+
26
+ sig { override.returns({ request_options: Lithic::RequestOptions }) }
27
+ def to_hash
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end