lithic 0.4.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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +59 -0
  3. data/README.md +10 -1
  4. data/lib/lithic/internal/transport/pooled_net_requester.rb +1 -1
  5. data/lib/lithic/internal/util.rb +1 -1
  6. data/lib/lithic/models/account_holder.rb +14 -5
  7. data/lib/lithic/models/account_holder_create_params.rb +10 -1
  8. data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +1 -0
  9. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +14 -5
  10. data/lib/lithic/models/account_holder_update_params.rb +10 -1
  11. data/lib/lithic/models/account_holder_update_response.rb +14 -5
  12. data/lib/lithic/models/account_holder_updated_webhook_event.rb +10 -1
  13. data/lib/lithic/models/account_holders/account_holder_entity.rb +183 -0
  14. data/lib/lithic/models/account_holders/entity_create_params.rb +159 -0
  15. data/lib/lithic/models/account_holders/entity_create_response.rb +113 -0
  16. data/lib/lithic/models/account_holders/entity_delete_params.rb +22 -0
  17. data/lib/lithic/models/auth_rules/auth_rule.rb +6 -2
  18. data/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb +3 -3
  19. data/lib/lithic/models/auth_rules/conditional_block_parameters.rb +3 -0
  20. data/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb +47 -21
  21. data/lib/lithic/models/auth_rules/v2_create_params.rb +5 -2
  22. data/lib/lithic/models/auth_rules/v2_draft_params.rb +1 -0
  23. data/lib/lithic/models/auth_rules/v2_list_results_params.rb +70 -0
  24. data/lib/lithic/models/auth_rules/v2_list_results_response.rb +740 -0
  25. data/lib/lithic/models/book_transfer_create_params.rb +9 -1
  26. data/lib/lithic/models/card_authorization_approval_request_webhook_event.rb +178 -25
  27. data/lib/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rb +9 -9
  28. data/lib/lithic/models/financial_account.rb +1 -0
  29. data/lib/lithic/models/financial_account_update_status_params.rb +1 -0
  30. data/lib/lithic/models/financial_accounts/category_tier.rb +28 -0
  31. data/lib/lithic/models/financial_accounts/interest_tier_schedule.rb +50 -0
  32. data/lib/lithic/models/financial_accounts/interest_tier_schedule_create_params.rb +16 -0
  33. data/lib/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rb +22 -0
  34. data/lib/lithic/models/financial_accounts/interest_tier_schedule_list_params.rb +40 -0
  35. data/lib/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rb +22 -0
  36. data/lib/lithic/models/financial_accounts/interest_tier_schedule_update_params.rb +44 -0
  37. data/lib/lithic/models/financial_accounts/loan_tape.rb +1 -0
  38. data/lib/lithic/models/financial_accounts/loan_tape_configuration.rb +63 -0
  39. data/lib/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rb +16 -0
  40. data/lib/lithic/models/financial_accounts/loan_tape_rebuild_configuration.rb +36 -0
  41. data/lib/lithic/models/financial_accounts/statement.rb +1 -0
  42. data/lib/lithic/models/kyb.rb +10 -1
  43. data/lib/lithic/models/parsed_webhook_event.rb +10 -1
  44. data/lib/lithic/models/{digital_wallet_token_metadata.rb → token_metadata.rb} +18 -19
  45. data/lib/lithic/models/tokenization_approval_request_webhook_event.rb +9 -9
  46. data/lib/lithic/models/tokenization_decisioning_request_webhook_event.rb +9 -9
  47. data/lib/lithic/models.rb +4 -2
  48. data/lib/lithic/resources/account_holders/entities.rb +89 -0
  49. data/lib/lithic/resources/account_holders.rb +10 -2
  50. data/lib/lithic/resources/auth_rules/v2.rb +42 -0
  51. data/lib/lithic/resources/book_transfers.rb +3 -1
  52. data/lib/lithic/resources/financial_accounts/interest_tier_schedule.rb +205 -0
  53. data/lib/lithic/resources/financial_accounts/loan_tape_configuration.rb +36 -0
  54. data/lib/lithic/resources/financial_accounts.rb +9 -0
  55. data/lib/lithic/version.rb +1 -1
  56. data/lib/lithic.rb +20 -1
  57. data/rbi/lithic/internal/util.rbi +1 -1
  58. data/rbi/lithic/models/account_holder.rbi +19 -6
  59. data/rbi/lithic/models/account_holder_create_params.rbi +13 -0
  60. data/rbi/lithic/models/account_holder_simulate_enrollment_review_params.rbi +5 -0
  61. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +19 -6
  62. data/rbi/lithic/models/account_holder_update_params.rbi +13 -0
  63. data/rbi/lithic/models/account_holder_update_response.rbi +19 -6
  64. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +13 -0
  65. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +296 -0
  66. data/rbi/lithic/models/account_holders/entity_create_params.rbi +242 -0
  67. data/rbi/lithic/models/account_holders/entity_create_response.rbi +292 -0
  68. data/rbi/lithic/models/account_holders/entity_delete_params.rbi +43 -0
  69. data/rbi/lithic/models/auth_rules/auth_rule.rbi +6 -3
  70. data/rbi/lithic/models/auth_rules/conditional_ach_action_parameters.rbi +3 -3
  71. data/rbi/lithic/models/auth_rules/conditional_block_parameters.rbi +1 -0
  72. data/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi +69 -30
  73. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +6 -3
  74. data/rbi/lithic/models/auth_rules/v2_list_results_params.rbi +112 -0
  75. data/rbi/lithic/models/auth_rules/v2_list_results_response.rbi +1826 -0
  76. data/rbi/lithic/models/book_transfer_create_params.rbi +11 -0
  77. data/rbi/lithic/models/card_authorization_approval_request_webhook_event.rbi +337 -36
  78. data/rbi/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbi +15 -17
  79. data/rbi/lithic/models/financial_account.rbi +5 -0
  80. data/rbi/lithic/models/financial_account_update_status_params.rbi +5 -0
  81. data/rbi/lithic/models/financial_accounts/category_tier.rbi +45 -0
  82. data/rbi/lithic/models/financial_accounts/interest_tier_schedule.rbi +75 -0
  83. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_create_params.rbi +32 -0
  84. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rbi +43 -0
  85. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_list_params.rbi +73 -0
  86. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rbi +43 -0
  87. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbi +70 -0
  88. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +5 -0
  89. data/rbi/lithic/models/financial_accounts/loan_tape_configuration.rbi +99 -0
  90. data/rbi/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rbi +32 -0
  91. data/rbi/lithic/models/financial_accounts/loan_tape_rebuild_configuration.rbi +65 -0
  92. data/rbi/lithic/models/financial_accounts/statement.rbi +5 -0
  93. data/rbi/lithic/models/kyb.rbi +13 -0
  94. data/rbi/lithic/models/parsed_webhook_event.rbi +13 -0
  95. data/rbi/lithic/models/{digital_wallet_token_metadata.rbi → token_metadata.rbi} +34 -41
  96. data/rbi/lithic/models/tokenization_approval_request_webhook_event.rbi +11 -17
  97. data/rbi/lithic/models/tokenization_decisioning_request_webhook_event.rbi +15 -17
  98. data/rbi/lithic/models.rbi +4 -2
  99. data/rbi/lithic/resources/account_holders/entities.rbi +80 -0
  100. data/rbi/lithic/resources/account_holders.rbi +11 -0
  101. data/rbi/lithic/resources/auth_rules/v2.rbi +44 -1
  102. data/rbi/lithic/resources/book_transfers.rbi +3 -0
  103. data/rbi/lithic/resources/financial_accounts/interest_tier_schedule.rbi +156 -0
  104. data/rbi/lithic/resources/financial_accounts/loan_tape_configuration.rbi +30 -0
  105. data/rbi/lithic/resources/financial_accounts.rbi +10 -0
  106. data/sig/lithic/models/account_holder.rbs +7 -0
  107. data/sig/lithic/models/account_holder_create_params.rbs +7 -0
  108. data/sig/lithic/models/account_holder_simulate_enrollment_review_params.rbs +2 -1
  109. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +7 -0
  110. data/sig/lithic/models/account_holder_update_params.rbs +7 -0
  111. data/sig/lithic/models/account_holder_update_response.rbs +7 -0
  112. data/sig/lithic/models/account_holder_updated_webhook_event.rbs +7 -0
  113. data/sig/lithic/models/account_holders/account_holder_entity.rbs +137 -0
  114. data/sig/lithic/models/account_holders/entity_create_params.rbs +118 -0
  115. data/sig/lithic/models/account_holders/entity_create_response.rbs +117 -0
  116. data/sig/lithic/models/account_holders/entity_delete_params.rbs +26 -0
  117. data/sig/lithic/models/auth_rules/v2_list_results_params.rbs +65 -0
  118. data/sig/lithic/models/auth_rules/v2_list_results_response.rbs +752 -0
  119. data/sig/lithic/models/book_transfer_create_params.rbs +7 -0
  120. data/sig/lithic/models/card_authorization_approval_request_webhook_event.rbs +96 -0
  121. data/sig/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbs +5 -9
  122. data/sig/lithic/models/financial_account.rbs +2 -0
  123. data/sig/lithic/models/financial_account_update_status_params.rbs +2 -0
  124. data/sig/lithic/models/financial_accounts/category_tier.rbs +21 -0
  125. data/sig/lithic/models/financial_accounts/interest_tier_schedule.rbs +41 -0
  126. data/sig/lithic/models/financial_accounts/interest_tier_schedule_create_params.rbs +17 -0
  127. data/sig/lithic/models/financial_accounts/interest_tier_schedule_delete_params.rbs +26 -0
  128. data/sig/lithic/models/financial_accounts/interest_tier_schedule_list_params.rbs +40 -0
  129. data/sig/lithic/models/financial_accounts/interest_tier_schedule_retrieve_params.rbs +26 -0
  130. data/sig/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbs +38 -0
  131. data/sig/lithic/models/financial_accounts/loan_tape.rbs +2 -0
  132. data/sig/lithic/models/financial_accounts/loan_tape_configuration.rbs +60 -0
  133. data/sig/lithic/models/financial_accounts/loan_tape_configuration_retrieve_params.rbs +17 -0
  134. data/sig/lithic/models/financial_accounts/loan_tape_rebuild_configuration.rbs +32 -0
  135. data/sig/lithic/models/financial_accounts/statement.rbs +2 -0
  136. data/sig/lithic/models/kyb.rbs +7 -0
  137. data/sig/lithic/models/parsed_webhook_event.rbs +7 -0
  138. data/sig/lithic/models/{digital_wallet_token_metadata.rbs → token_metadata.rbs} +19 -17
  139. data/sig/lithic/models/tokenization_approval_request_webhook_event.rbs +5 -9
  140. data/sig/lithic/models/tokenization_decisioning_request_webhook_event.rbs +5 -9
  141. data/sig/lithic/models.rbs +4 -2
  142. data/sig/lithic/resources/account_holders/entities.rbs +28 -0
  143. data/sig/lithic/resources/account_holders.rbs +4 -0
  144. data/sig/lithic/resources/auth_rules/v2.rbs +10 -0
  145. data/sig/lithic/resources/book_transfers.rbs +1 -0
  146. data/sig/lithic/resources/financial_accounts/interest_tier_schedule.rbs +46 -0
  147. data/sig/lithic/resources/financial_accounts/loan_tape_configuration.rbs +14 -0
  148. data/sig/lithic/resources/financial_accounts.rbs +4 -0
  149. metadata +62 -5
@@ -2,20 +2,18 @@
2
2
 
3
3
  module Lithic
4
4
  module Models
5
- class DigitalWalletTokenMetadata < Lithic::Internal::Type::BaseModel
5
+ class TokenMetadata < Lithic::Internal::Type::BaseModel
6
6
  OrHash =
7
- T.type_alias do
8
- T.any(Lithic::DigitalWalletTokenMetadata, Lithic::Internal::AnyHash)
9
- end
7
+ T.type_alias { T.any(Lithic::TokenMetadata, Lithic::Internal::AnyHash) }
10
8
 
11
9
  # Contains the information of the account responsible for the payment.
12
- sig { returns(Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo) }
10
+ sig { returns(Lithic::TokenMetadata::PaymentAccountInfo) }
13
11
  attr_reader :payment_account_info
14
12
 
15
13
  sig do
16
14
  params(
17
15
  payment_account_info:
18
- Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::OrHash
16
+ Lithic::TokenMetadata::PaymentAccountInfo::OrHash
19
17
  ).void
20
18
  end
21
19
  attr_writer :payment_account_info
@@ -39,9 +37,7 @@ module Lithic
39
37
  # Human-readable name of the wallet that the token_requestor_id maps to.
40
38
  sig do
41
39
  returns(
42
- T.nilable(
43
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
44
- )
40
+ T.nilable(Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol)
45
41
  )
46
42
  end
47
43
  attr_reader :token_requestor_name
@@ -49,7 +45,7 @@ module Lithic
49
45
  sig do
50
46
  params(
51
47
  token_requestor_name:
52
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::OrSymbol
48
+ Lithic::TokenMetadata::TokenRequestorName::OrSymbol
53
49
  ).void
54
50
  end
55
51
  attr_writer :token_requestor_name
@@ -58,12 +54,12 @@ module Lithic
58
54
  sig do
59
55
  params(
60
56
  payment_account_info:
61
- Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::OrHash,
57
+ Lithic::TokenMetadata::PaymentAccountInfo::OrHash,
62
58
  status: String,
63
59
  payment_app_instance_id: T.nilable(String),
64
60
  token_requestor_id: String,
65
61
  token_requestor_name:
66
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::OrSymbol
62
+ Lithic::TokenMetadata::TokenRequestorName::OrSymbol
67
63
  ).returns(T.attached_class)
68
64
  end
69
65
  def self.new(
@@ -84,13 +80,12 @@ module Lithic
84
80
  sig do
85
81
  override.returns(
86
82
  {
87
- payment_account_info:
88
- Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo,
83
+ payment_account_info: Lithic::TokenMetadata::PaymentAccountInfo,
89
84
  status: String,
90
85
  payment_app_instance_id: T.nilable(String),
91
86
  token_requestor_id: String,
92
87
  token_requestor_name:
93
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
88
+ Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol
94
89
  }
95
90
  )
96
91
  end
@@ -101,7 +96,7 @@ module Lithic
101
96
  OrHash =
102
97
  T.type_alias do
103
98
  T.any(
104
- Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo,
99
+ Lithic::TokenMetadata::PaymentAccountInfo,
105
100
  Lithic::Internal::AnyHash
106
101
  )
107
102
  end
@@ -109,16 +104,14 @@ module Lithic
109
104
  # Additional information that can be used to identify the account holder, such as
110
105
  # name, address, etc
111
106
  sig do
112
- returns(
113
- Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData
114
- )
107
+ returns(Lithic::TokenMetadata::PaymentAccountInfo::AccountHolderData)
115
108
  end
116
109
  attr_reader :account_holder_data
117
110
 
118
111
  sig do
119
112
  params(
120
113
  account_holder_data:
121
- Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData::OrHash
114
+ Lithic::TokenMetadata::PaymentAccountInfo::AccountHolderData::OrHash
122
115
  ).void
123
116
  end
124
117
  attr_writer :account_holder_data
@@ -140,7 +133,7 @@ module Lithic
140
133
  sig do
141
134
  params(
142
135
  account_holder_data:
143
- Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData::OrHash,
136
+ Lithic::TokenMetadata::PaymentAccountInfo::AccountHolderData::OrHash,
144
137
  pan_unique_reference: T.nilable(String),
145
138
  payment_account_reference: T.nilable(String),
146
139
  token_unique_reference: T.nilable(String)
@@ -164,7 +157,7 @@ module Lithic
164
157
  override.returns(
165
158
  {
166
159
  account_holder_data:
167
- Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData,
160
+ Lithic::TokenMetadata::PaymentAccountInfo::AccountHolderData,
168
161
  pan_unique_reference: T.nilable(String),
169
162
  payment_account_reference: T.nilable(String),
170
163
  token_unique_reference: T.nilable(String)
@@ -178,7 +171,7 @@ module Lithic
178
171
  OrHash =
179
172
  T.type_alias do
180
173
  T.any(
181
- Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData,
174
+ Lithic::TokenMetadata::PaymentAccountInfo::AccountHolderData,
182
175
  Lithic::Internal::AnyHash
183
176
  )
184
177
  end
@@ -212,74 +205,74 @@ module Lithic
212
205
 
213
206
  TaggedSymbol =
214
207
  T.type_alias do
215
- T.all(
216
- Symbol,
217
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName
218
- )
208
+ T.all(Symbol, Lithic::TokenMetadata::TokenRequestorName)
219
209
  end
220
210
  OrSymbol = T.type_alias { T.any(Symbol, String) }
221
211
 
222
212
  AMAZON_ONE =
223
213
  T.let(
224
214
  :AMAZON_ONE,
225
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
215
+ Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol
226
216
  )
227
217
  ANDROID_PAY =
228
218
  T.let(
229
219
  :ANDROID_PAY,
230
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
220
+ Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol
231
221
  )
232
222
  APPLE_PAY =
233
223
  T.let(
234
224
  :APPLE_PAY,
235
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
225
+ Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol
236
226
  )
237
227
  FACEBOOK =
238
228
  T.let(
239
229
  :FACEBOOK,
240
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
230
+ Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol
241
231
  )
242
232
  FITBIT_PAY =
243
233
  T.let(
244
234
  :FITBIT_PAY,
245
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
235
+ Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol
246
236
  )
247
237
  GARMIN_PAY =
248
238
  T.let(
249
239
  :GARMIN_PAY,
250
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
240
+ Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol
241
+ )
242
+ GOOGLE_PAY =
243
+ T.let(
244
+ :GOOGLE_PAY,
245
+ Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol
251
246
  )
252
247
  MICROSOFT_PAY =
253
248
  T.let(
254
249
  :MICROSOFT_PAY,
255
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
250
+ Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol
256
251
  )
257
252
  NETFLIX =
258
253
  T.let(
259
254
  :NETFLIX,
260
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
255
+ Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol
261
256
  )
262
257
  SAMSUNG_PAY =
263
258
  T.let(
264
259
  :SAMSUNG_PAY,
265
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
260
+ Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol
266
261
  )
267
262
  UNKNOWN =
268
263
  T.let(
269
264
  :UNKNOWN,
270
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
265
+ Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol
271
266
  )
272
267
  VISA_CHECKOUT =
273
268
  T.let(
274
269
  :VISA_CHECKOUT,
275
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
270
+ Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol
276
271
  )
277
272
 
278
273
  sig do
279
274
  override.returns(
280
- T::Array[
281
- Lithic::DigitalWalletTokenMetadata::TokenRequestorName::TaggedSymbol
282
- ]
275
+ T::Array[Lithic::TokenMetadata::TokenRequestorName::TaggedSymbol]
283
276
  )
284
277
  end
285
278
  def self.values
@@ -60,6 +60,13 @@ module Lithic
60
60
  end
61
61
  attr_accessor :issuer_decision
62
62
 
63
+ # Contains the metadata for the digital wallet being tokenized.
64
+ sig { returns(Lithic::TokenMetadata) }
65
+ attr_reader :token_metadata
66
+
67
+ sig { params(token_metadata: Lithic::TokenMetadata::OrHash).void }
68
+ attr_writer :token_metadata
69
+
63
70
  # The channel through which the tokenization was made.
64
71
  sig do
65
72
  returns(
@@ -88,18 +95,6 @@ module Lithic
88
95
  sig { params(device: Lithic::Device::OrHash).void }
89
96
  attr_writer :device
90
97
 
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
98
  # Results from rules that were evaluated for this tokenization
104
99
  sig { returns(T.nilable(T::Array[Lithic::TokenizationRuleResult])) }
105
100
  attr_reader :rule_results
@@ -174,13 +169,12 @@ module Lithic
174
169
  Lithic::TokenizationApprovalRequestWebhookEvent::EventType::OrSymbol,
175
170
  issuer_decision:
176
171
  Lithic::TokenizationApprovalRequestWebhookEvent::IssuerDecision::OrSymbol,
172
+ token_metadata: Lithic::TokenMetadata::OrHash,
177
173
  tokenization_channel:
178
174
  Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationChannel::OrSymbol,
179
175
  tokenization_token: String,
180
176
  wallet_decisioning_info: Lithic::WalletDecisioningInfo::OrHash,
181
177
  device: Lithic::Device::OrHash,
182
- digital_wallet_token_metadata:
183
- Lithic::DigitalWalletTokenMetadata::OrHash,
184
178
  rule_results: T::Array[Lithic::TokenizationRuleResult::OrHash],
185
179
  tokenization_decline_reasons:
186
180
  T::Array[Lithic::TokenizationDeclineReason::OrSymbol],
@@ -204,14 +198,14 @@ module Lithic
204
198
  # Whether Lithic decisioned on the token, and if so, what the decision was.
205
199
  # APPROVED/VERIFICATION_REQUIRED/DENIED.
206
200
  issuer_decision:,
201
+ # Contains the metadata for the digital wallet being tokenized.
202
+ token_metadata:,
207
203
  # The channel through which the tokenization was made.
208
204
  tokenization_channel:,
209
205
  # Unique identifier for the digital wallet token attempt
210
206
  tokenization_token:,
211
207
  wallet_decisioning_info:,
212
208
  device: nil,
213
- # Contains the metadata for the digital wallet being tokenized.
214
- digital_wallet_token_metadata: nil,
215
209
  # Results from rules that were evaluated for this tokenization
216
210
  rule_results: nil,
217
211
  # List of reasons why the tokenization was declined
@@ -237,12 +231,12 @@ module Lithic
237
231
  Lithic::TokenizationApprovalRequestWebhookEvent::EventType::TaggedSymbol,
238
232
  issuer_decision:
239
233
  Lithic::TokenizationApprovalRequestWebhookEvent::IssuerDecision::TaggedSymbol,
234
+ token_metadata: Lithic::TokenMetadata,
240
235
  tokenization_channel:
241
236
  Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationChannel::TaggedSymbol,
242
237
  tokenization_token: String,
243
238
  wallet_decisioning_info: Lithic::WalletDecisioningInfo,
244
239
  device: Lithic::Device,
245
- digital_wallet_token_metadata: Lithic::DigitalWalletTokenMetadata,
246
240
  rule_results: T::Array[Lithic::TokenizationRuleResult],
247
241
  tokenization_decline_reasons:
248
242
  T::Array[Lithic::TokenizationDeclineReason::TaggedSymbol],
@@ -23,6 +23,17 @@ module Lithic
23
23
  sig { returns(Time) }
24
24
  attr_accessor :created
25
25
 
26
+ # Contains the metadata for the digital wallet being tokenized.
27
+ sig { returns(Lithic::TokenMetadata) }
28
+ attr_reader :digital_wallet_token_metadata
29
+
30
+ sig do
31
+ params(
32
+ digital_wallet_token_metadata: Lithic::TokenMetadata::OrHash
33
+ ).void
34
+ end
35
+ attr_writer :digital_wallet_token_metadata
36
+
26
37
  # The name of this event
27
38
  sig do
28
39
  returns(
@@ -68,18 +79,6 @@ module Lithic
68
79
  sig { params(device: Lithic::Device::OrHash).void }
69
80
  attr_writer :device
70
81
 
71
- # Contains the metadata for the digital wallet being tokenized.
72
- sig { returns(T.nilable(Lithic::DigitalWalletTokenMetadata)) }
73
- attr_reader :digital_wallet_token_metadata
74
-
75
- sig do
76
- params(
77
- digital_wallet_token_metadata:
78
- Lithic::DigitalWalletTokenMetadata::OrHash
79
- ).void
80
- end
81
- attr_writer :digital_wallet_token_metadata
82
-
83
82
  # The source of the tokenization.
84
83
  sig do
85
84
  returns(
@@ -104,6 +103,7 @@ module Lithic
104
103
  account_token: String,
105
104
  card_token: String,
106
105
  created: Time,
106
+ digital_wallet_token_metadata: Lithic::TokenMetadata::OrHash,
107
107
  event_type:
108
108
  Lithic::TokenizationDecisioningRequestWebhookEvent::EventType::OrSymbol,
109
109
  issuer_decision:
@@ -113,8 +113,6 @@ module Lithic
113
113
  tokenization_token: String,
114
114
  wallet_decisioning_info: Lithic::WalletDecisioningInfo::OrHash,
115
115
  device: Lithic::Device::OrHash,
116
- digital_wallet_token_metadata:
117
- Lithic::DigitalWalletTokenMetadata::OrHash,
118
116
  tokenization_source:
119
117
  Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource::OrSymbol
120
118
  ).returns(T.attached_class)
@@ -126,6 +124,8 @@ module Lithic
126
124
  card_token:,
127
125
  # Indicate when the request was received from Mastercard or Visa
128
126
  created:,
127
+ # Contains the metadata for the digital wallet being tokenized.
128
+ digital_wallet_token_metadata:,
129
129
  # The name of this event
130
130
  event_type:,
131
131
  # Whether Lithic decisioned on the token, and if so, what the decision was.
@@ -137,8 +137,6 @@ module Lithic
137
137
  tokenization_token:,
138
138
  wallet_decisioning_info:,
139
139
  device: nil,
140
- # Contains the metadata for the digital wallet being tokenized.
141
- digital_wallet_token_metadata: nil,
142
140
  # The source of the tokenization.
143
141
  tokenization_source: nil
144
142
  )
@@ -150,6 +148,7 @@ module Lithic
150
148
  account_token: String,
151
149
  card_token: String,
152
150
  created: Time,
151
+ digital_wallet_token_metadata: Lithic::TokenMetadata,
153
152
  event_type:
154
153
  Lithic::TokenizationDecisioningRequestWebhookEvent::EventType::TaggedSymbol,
155
154
  issuer_decision:
@@ -159,7 +158,6 @@ module Lithic
159
158
  tokenization_token: String,
160
159
  wallet_decisioning_info: Lithic::WalletDecisioningInfo,
161
160
  device: Lithic::Device,
162
- digital_wallet_token_metadata: Lithic::DigitalWalletTokenMetadata,
163
161
  tokenization_source:
164
162
  Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource::TaggedSymbol
165
163
  }
@@ -30,6 +30,8 @@ module Lithic
30
30
 
31
31
  AccountHolderRetrieveParams = Lithic::Models::AccountHolderRetrieveParams
32
32
 
33
+ AccountHolders = Lithic::Models::AccountHolders
34
+
33
35
  AccountHolderSimulateEnrollmentDocumentReviewParams =
34
36
  Lithic::Models::AccountHolderSimulateEnrollmentDocumentReviewParams
35
37
 
@@ -206,8 +208,6 @@ module Lithic
206
208
  DigitalWalletTokenizationUpdatedWebhookEvent =
207
209
  Lithic::Models::DigitalWalletTokenizationUpdatedWebhookEvent
208
210
 
209
- DigitalWalletTokenMetadata = Lithic::Models::DigitalWalletTokenMetadata
210
-
211
211
  Dispute = Lithic::Models::Dispute
212
212
 
213
213
  DisputeCreateParams = Lithic::Models::DisputeCreateParams
@@ -561,6 +561,8 @@ module Lithic
561
561
  TokenizationUpdatedWebhookEvent =
562
562
  Lithic::Models::TokenizationUpdatedWebhookEvent
563
563
 
564
+ TokenMetadata = Lithic::Models::TokenMetadata
565
+
564
566
  Transaction = Lithic::Models::Transaction
565
567
 
566
568
  TransactionExpireAuthorizationParams =
@@ -0,0 +1,80 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Resources
5
+ class AccountHolders
6
+ class Entities
7
+ # Create a new beneficial owner or replace the control person entity on an
8
+ # existing KYB account holder. This endpoint is only applicable for account
9
+ # holders enrolled through a KYB workflow with the Persona KYB provider. A new
10
+ # control person can only replace the existing one. A maximum of 4 beneficial
11
+ # owners can be associated with an account holder.
12
+ sig do
13
+ params(
14
+ account_holder_token: String,
15
+ address:
16
+ Lithic::AccountHolders::EntityCreateParams::Address::OrHash,
17
+ dob: String,
18
+ email: String,
19
+ first_name: String,
20
+ government_id: String,
21
+ last_name: String,
22
+ phone_number: String,
23
+ type: Lithic::AccountHolders::EntityCreateParams::Type::OrSymbol,
24
+ request_options: Lithic::RequestOptions::OrHash
25
+ ).returns(Lithic::Models::AccountHolders::EntityCreateResponse)
26
+ end
27
+ def create(
28
+ # Globally unique identifier for the account holder.
29
+ account_holder_token,
30
+ # Individual's current address - PO boxes, UPS drops, and FedEx drops are not
31
+ # acceptable; APO/FPO are acceptable. Only USA addresses are currently supported.
32
+ address:,
33
+ # Individual's date of birth, as an RFC 3339 date.
34
+ dob:,
35
+ # Individual's email address. If utilizing Lithic for chargeback processing, this
36
+ # customer email address may be used to communicate dispute status and resolution.
37
+ email:,
38
+ # Individual's first name, as it appears on government-issued identity documents.
39
+ first_name:,
40
+ # Government-issued identification number (required for identity verification and
41
+ # compliance with banking regulations). Social Security Numbers (SSN) and
42
+ # Individual Taxpayer Identification Numbers (ITIN) are currently supported,
43
+ # entered as full nine-digits, with or without hyphens
44
+ government_id:,
45
+ # Individual's last name, as it appears on government-issued identity documents.
46
+ last_name:,
47
+ # Individual's phone number, entered in E.164 format.
48
+ phone_number:,
49
+ # The type of entity to create on the account holder
50
+ type:,
51
+ request_options: {}
52
+ )
53
+ end
54
+
55
+ # Deactivate a beneficial owner entity on an existing KYB account holder. Only
56
+ # beneficial owner entities can be deactivated.
57
+ sig do
58
+ params(
59
+ entity_token: String,
60
+ account_holder_token: String,
61
+ request_options: Lithic::RequestOptions::OrHash
62
+ ).returns(Lithic::AccountHolders::AccountHolderEntity)
63
+ end
64
+ def delete(
65
+ # Globally unique identifier for the entity.
66
+ entity_token,
67
+ # Globally unique identifier for the account holder.
68
+ account_holder_token:,
69
+ request_options: {}
70
+ )
71
+ end
72
+
73
+ # @api private
74
+ sig { params(client: Lithic::Client).returns(T.attached_class) }
75
+ def self.new(client:)
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
@@ -3,6 +3,9 @@
3
3
  module Lithic
4
4
  module Resources
5
5
  class AccountHolders
6
+ sig { returns(Lithic::Resources::AccountHolders::Entities) }
7
+ attr_reader :entities
8
+
6
9
  # Create an account holder and initiate the appropriate onboarding workflow.
7
10
  # Account holders and accounts have a 1:1 relationship. When an account holder is
8
11
  # successfully created an associated account is also created. All calls to this
@@ -38,6 +41,7 @@ module Lithic
38
41
  ],
39
42
  external_id: String,
40
43
  kyb_passed_timestamp: String,
44
+ naics_code: String,
41
45
  website_url: String,
42
46
  kyc_passed_timestamp: String,
43
47
  business_account_token: String,
@@ -98,6 +102,9 @@ module Lithic
98
102
  #
99
103
  # This field is required only if workflow type is `KYB_BYO`.
100
104
  kyb_passed_timestamp: nil,
105
+ # 6-digit North American Industry Classification System (NAICS) code for the
106
+ # business.
107
+ naics_code: nil,
101
108
  # Company website URL.
102
109
  website_url: nil,
103
110
  # An RFC 3339 timestamp indicating when precomputed KYC was completed on the
@@ -154,6 +161,7 @@ module Lithic
154
161
  control_person:
155
162
  Lithic::AccountHolderUpdateParams::ControlPerson::OrHash,
156
163
  external_id: String,
164
+ naics_code: String,
157
165
  nature_of_business: String,
158
166
  website_url: String,
159
167
  individual: Lithic::AccountHolderUpdateParams::Individual::OrHash,
@@ -194,6 +202,9 @@ module Lithic
194
202
  # A user provided id that can be used to link an account holder with an external
195
203
  # system
196
204
  external_id: nil,
205
+ # 6-digit North American Industry Classification System (NAICS) code for the
206
+ # business.
207
+ naics_code: nil,
197
208
  # Short description of the company's line of business (i.e., what does the company
198
209
  # do?).
199
210
  nature_of_business: nil,
@@ -39,7 +39,8 @@ module Lithic
39
39
  # several event streams, the effective one is defined by the separate
40
40
  # `event_stream` field.
41
41
  #
42
- # - `CONDITIONAL_BLOCK`: AUTHORIZATION event stream.
42
+ # - `CONDITIONAL_BLOCK`: Deprecated. Use `CONDITIONAL_ACTION` instead.
43
+ # AUTHORIZATION event stream.
43
44
  # - `VELOCITY_LIMIT`: AUTHORIZATION event stream.
44
45
  # - `MERCHANT_LOCK`: AUTHORIZATION event stream.
45
46
  # - `CONDITIONAL_ACTION`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
@@ -198,6 +199,48 @@ module Lithic
198
199
  )
199
200
  end
200
201
 
202
+ # Lists Auth Rule evaluation results.
203
+ #
204
+ # **Limitations:**
205
+ #
206
+ # - Results are available for the past 3 months only
207
+ # - At least one filter (`event_token` or `auth_rule_token`) must be provided
208
+ # - When filtering by `event_token`, pagination is not supported
209
+ sig do
210
+ params(
211
+ auth_rule_token: String,
212
+ ending_before: String,
213
+ event_token: String,
214
+ has_actions: T::Boolean,
215
+ page_size: Integer,
216
+ starting_after: String,
217
+ request_options: Lithic::RequestOptions::OrHash
218
+ ).returns(
219
+ Lithic::Internal::CursorPage[
220
+ Lithic::Models::AuthRules::V2ListResultsResponse::Variants
221
+ ]
222
+ )
223
+ end
224
+ def list_results(
225
+ # Filter by Auth Rule token
226
+ auth_rule_token: nil,
227
+ # A cursor representing an item's token before which a page of results should end.
228
+ # Used to retrieve the previous page of results before this item.
229
+ ending_before: nil,
230
+ # Filter by event token
231
+ event_token: nil,
232
+ # Filter by whether the rule evaluation produced any actions. When not provided,
233
+ # all results are returned.
234
+ has_actions: nil,
235
+ # Page size (for pagination).
236
+ page_size: nil,
237
+ # A cursor representing an item's token after which a page of results should
238
+ # begin. Used to retrieve the next page of results after this item.
239
+ starting_after: nil,
240
+ request_options: {}
241
+ )
242
+ end
243
+
201
244
  # Promotes the draft version of an Auth rule to the currently active version such
202
245
  # that it is enforced in the respective stream.
203
246
  sig do
@@ -15,6 +15,7 @@ module Lithic
15
15
  type: Lithic::BookTransferCreateParams::Type::OrSymbol,
16
16
  token: String,
17
17
  external_id: String,
18
+ hold_token: String,
18
19
  memo: String,
19
20
  on_closed_account:
20
21
  Lithic::BookTransferCreateParams::OnClosedAccount::OrSymbol,
@@ -41,6 +42,8 @@ module Lithic
41
42
  token: nil,
42
43
  # External ID defined by the customer
43
44
  external_id: nil,
45
+ # Token of an existing hold to settle when this transfer is initiated
46
+ hold_token: nil,
44
47
  # Optional descriptor for the transfer.
45
48
  memo: nil,
46
49
  # What to do if the financial account is closed when posting an operation