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
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ # @see Lithic::Resources::FinancialAccounts::LoanTapeConfiguration#retrieve
7
+ class FinancialAccountsLoanTapeConfiguration < Lithic::Internal::Type::BaseModel
8
+ # @!attribute created_at
9
+ #
10
+ # @return [Time]
11
+ required :created_at, Time
12
+
13
+ # @!attribute financial_account_token
14
+ #
15
+ # @return [String]
16
+ required :financial_account_token, String
17
+
18
+ # @!attribute instance_token
19
+ #
20
+ # @return [String]
21
+ required :instance_token, String
22
+
23
+ # @!attribute updated_at
24
+ #
25
+ # @return [Time]
26
+ required :updated_at, Time
27
+
28
+ # @!attribute credit_product_token
29
+ #
30
+ # @return [String, nil]
31
+ optional :credit_product_token, String
32
+
33
+ # @!attribute loan_tape_rebuild_configuration
34
+ # Configuration for building loan tapes
35
+ #
36
+ # @return [Lithic::Models::FinancialAccounts::LoanTapeRebuildConfiguration, nil]
37
+ optional :loan_tape_rebuild_configuration, -> { Lithic::FinancialAccounts::LoanTapeRebuildConfiguration }
38
+
39
+ # @!attribute tier_schedule_changed_at
40
+ #
41
+ # @return [Time, nil]
42
+ optional :tier_schedule_changed_at, Time
43
+
44
+ # @!method initialize(created_at:, financial_account_token:, instance_token:, updated_at:, credit_product_token: nil, loan_tape_rebuild_configuration: nil, tier_schedule_changed_at: nil)
45
+ # Configuration for loan tapes
46
+ #
47
+ # @param created_at [Time]
48
+ #
49
+ # @param financial_account_token [String]
50
+ #
51
+ # @param instance_token [String]
52
+ #
53
+ # @param updated_at [Time]
54
+ #
55
+ # @param credit_product_token [String]
56
+ #
57
+ # @param loan_tape_rebuild_configuration [Lithic::Models::FinancialAccounts::LoanTapeRebuildConfiguration] Configuration for building loan tapes
58
+ #
59
+ # @param tier_schedule_changed_at [Time]
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ # @see Lithic::Resources::FinancialAccounts::LoanTapeConfiguration#retrieve
7
+ class LoanTapeConfigurationRetrieveParams < Lithic::Internal::Type::BaseModel
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!method initialize(request_options: {})
12
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ class LoanTapeRebuildConfiguration < Lithic::Internal::Type::BaseModel
7
+ # @!attribute rebuild_needed
8
+ # Whether the account's loan tapes need to be rebuilt or not
9
+ #
10
+ # @return [Boolean]
11
+ required :rebuild_needed, Lithic::Internal::Type::Boolean
12
+
13
+ # @!attribute last_rebuild
14
+ # The date for which the account's loan tapes were last rebuilt
15
+ #
16
+ # @return [Date, nil]
17
+ optional :last_rebuild, Date
18
+
19
+ # @!attribute rebuild_from
20
+ # Date from which to start rebuilding from if the account requires a rebuild
21
+ #
22
+ # @return [Date, nil]
23
+ optional :rebuild_from, Date
24
+
25
+ # @!method initialize(rebuild_needed:, last_rebuild: nil, rebuild_from: nil)
26
+ # Configuration for building loan tapes
27
+ #
28
+ # @param rebuild_needed [Boolean] Whether the account's loan tapes need to be rebuilt or not
29
+ #
30
+ # @param last_rebuild [Date] The date for which the account's loan tapes were last rebuilt
31
+ #
32
+ # @param rebuild_from [Date] Date from which to start rebuilding from if the account requires a rebuild
33
+ end
34
+ end
35
+ end
36
+ end
@@ -299,6 +299,7 @@ module Lithic
299
299
  END_USER_REQUEST = :END_USER_REQUEST
300
300
  BANK_REQUEST = :BANK_REQUEST
301
301
  DELINQUENT = :DELINQUENT
302
+ INTEREST_AND_FEES_PAUSED = :INTEREST_AND_FEES_PAUSED
302
303
 
303
304
  # @!method self.values
304
305
  # @return [Array<Symbol>]
@@ -81,13 +81,20 @@ module Lithic
81
81
  # @return [String, nil]
82
82
  optional :kyb_passed_timestamp, String
83
83
 
84
+ # @!attribute naics_code
85
+ # 6-digit North American Industry Classification System (NAICS) code for the
86
+ # business.
87
+ #
88
+ # @return [String, nil]
89
+ optional :naics_code, String
90
+
84
91
  # @!attribute website_url
85
92
  # Company website URL.
86
93
  #
87
94
  # @return [String, nil]
88
95
  optional :website_url, String
89
96
 
90
- # @!method initialize(beneficial_owner_individuals:, business_entity:, control_person:, nature_of_business:, tos_timestamp:, workflow:, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, website_url: nil)
97
+ # @!method initialize(beneficial_owner_individuals:, business_entity:, control_person:, nature_of_business:, tos_timestamp:, workflow:, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, naics_code: nil, website_url: nil)
91
98
  # Some parameter documentations has been truncated, see {Lithic::Models::KYB} for
92
99
  # more details.
93
100
  #
@@ -109,6 +116,8 @@ module Lithic
109
116
  #
110
117
  # @param kyb_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYB was completed on the busin
111
118
  #
119
+ # @param naics_code [String] 6-digit North American Industry Classification System (NAICS) code for the busin
120
+ #
112
121
  # @param website_url [String] Company website URL.
113
122
 
114
123
  class BeneficialOwnerIndividual < Lithic::Internal::Type::BaseModel
@@ -163,6 +163,13 @@ module Lithic
163
163
  # @return [String, nil]
164
164
  optional :external_id, String
165
165
 
166
+ # @!attribute naics_code
167
+ # 6-digit North American Industry Classification System (NAICS) code for the
168
+ # business. Only present if naics_code was included in the update request.
169
+ #
170
+ # @return [String, nil]
171
+ optional :naics_code, String
172
+
166
173
  # @!attribute nature_of_business
167
174
  # Short description of the company's line of business (i.e., what does the company
168
175
  # do?).
@@ -176,7 +183,7 @@ module Lithic
176
183
  # @return [String, nil]
177
184
  optional :website_url, String
178
185
 
179
- # @!method initialize(token:, update_request:, event_type: nil, external_id: nil, nature_of_business: nil, website_url: nil)
186
+ # @!method initialize(token:, update_request:, event_type: nil, external_id: nil, naics_code: nil, nature_of_business: nil, website_url: nil)
180
187
  # Some parameter documentations has been truncated, see
181
188
  # {Lithic::Models::ParsedWebhookEvent::KYBPayload} for more details.
182
189
  #
@@ -190,6 +197,8 @@ module Lithic
190
197
  #
191
198
  # @param external_id [String] A user provided id that can be used to link an account holder with an external s
192
199
  #
200
+ # @param naics_code [String] 6-digit North American Industry Classification System (NAICS) code for the busin
201
+ #
193
202
  # @param nature_of_business [String] Short description of the company's line of business (i.e., what does the company
194
203
  #
195
204
  # @param website_url [String] Company website URL.
@@ -2,12 +2,12 @@
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
  # @!attribute payment_account_info
7
7
  # Contains the information of the account responsible for the payment.
8
8
  #
9
- # @return [Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo]
10
- required :payment_account_info, -> { Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo }
9
+ # @return [Lithic::Models::TokenMetadata::PaymentAccountInfo]
10
+ required :payment_account_info, -> { Lithic::TokenMetadata::PaymentAccountInfo }
11
11
 
12
12
  # @!attribute status
13
13
  # The current status of the digital wallet token. Pending or declined.
@@ -31,16 +31,16 @@ module Lithic
31
31
  # @!attribute token_requestor_name
32
32
  # Human-readable name of the wallet that the token_requestor_id maps to.
33
33
  #
34
- # @return [Symbol, Lithic::Models::DigitalWalletTokenMetadata::TokenRequestorName, nil]
35
- optional :token_requestor_name, enum: -> { Lithic::DigitalWalletTokenMetadata::TokenRequestorName }
34
+ # @return [Symbol, Lithic::Models::TokenMetadata::TokenRequestorName, nil]
35
+ optional :token_requestor_name, enum: -> { Lithic::TokenMetadata::TokenRequestorName }
36
36
 
37
37
  # @!method initialize(payment_account_info:, status:, payment_app_instance_id: nil, token_requestor_id: nil, token_requestor_name: nil)
38
38
  # Some parameter documentations has been truncated, see
39
- # {Lithic::Models::DigitalWalletTokenMetadata} for more details.
39
+ # {Lithic::Models::TokenMetadata} for more details.
40
40
  #
41
41
  # Contains the metadata for the digital wallet being tokenized.
42
42
  #
43
- # @param payment_account_info [Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo] Contains the information of the account responsible for the payment.
43
+ # @param payment_account_info [Lithic::Models::TokenMetadata::PaymentAccountInfo] Contains the information of the account responsible for the payment.
44
44
  #
45
45
  # @param status [String] The current status of the digital wallet token. Pending or declined.
46
46
  #
@@ -48,17 +48,16 @@ module Lithic
48
48
  #
49
49
  # @param token_requestor_id [String] The party that requested the digitization
50
50
  #
51
- # @param token_requestor_name [Symbol, Lithic::Models::DigitalWalletTokenMetadata::TokenRequestorName] Human-readable name of the wallet that the token_requestor_id maps to.
51
+ # @param token_requestor_name [Symbol, Lithic::Models::TokenMetadata::TokenRequestorName] Human-readable name of the wallet that the token_requestor_id maps to.
52
52
 
53
- # @see Lithic::Models::DigitalWalletTokenMetadata#payment_account_info
53
+ # @see Lithic::Models::TokenMetadata#payment_account_info
54
54
  class PaymentAccountInfo < Lithic::Internal::Type::BaseModel
55
55
  # @!attribute account_holder_data
56
56
  # Additional information that can be used to identify the account holder, such as
57
57
  # name, address, etc
58
58
  #
59
- # @return [Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData]
60
- required :account_holder_data,
61
- -> { Lithic::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData }
59
+ # @return [Lithic::Models::TokenMetadata::PaymentAccountInfo::AccountHolderData]
60
+ required :account_holder_data, -> { Lithic::TokenMetadata::PaymentAccountInfo::AccountHolderData }
62
61
 
63
62
  # @!attribute pan_unique_reference
64
63
  # Reference to the PAN that is unique per Wallet Provider
@@ -81,12 +80,11 @@ module Lithic
81
80
 
82
81
  # @!method initialize(account_holder_data:, pan_unique_reference: nil, payment_account_reference: nil, token_unique_reference: nil)
83
82
  # Some parameter documentations has been truncated, see
84
- # {Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo} for more
85
- # details.
83
+ # {Lithic::Models::TokenMetadata::PaymentAccountInfo} for more details.
86
84
  #
87
85
  # Contains the information of the account responsible for the payment.
88
86
  #
89
- # @param account_holder_data [Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData] Additional information that can be used to identify the account holder, such as
87
+ # @param account_holder_data [Lithic::Models::TokenMetadata::PaymentAccountInfo::AccountHolderData] Additional information that can be used to identify the account holder, such as
90
88
  #
91
89
  # @param pan_unique_reference [String, nil] Reference to the PAN that is unique per Wallet Provider
92
90
  #
@@ -94,7 +92,7 @@ module Lithic
94
92
  #
95
93
  # @param token_unique_reference [String, nil] A unique reference assigned following the allocation of a token used to identify
96
94
 
97
- # @see Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo#account_holder_data
95
+ # @see Lithic::Models::TokenMetadata::PaymentAccountInfo#account_holder_data
98
96
  class AccountHolderData < Lithic::Internal::Type::BaseModel
99
97
  # @!attribute phone_number
100
98
  # The phone number, may contain country code along with phone number when
@@ -105,8 +103,8 @@ module Lithic
105
103
 
106
104
  # @!method initialize(phone_number: nil)
107
105
  # Some parameter documentations has been truncated, see
108
- # {Lithic::Models::DigitalWalletTokenMetadata::PaymentAccountInfo::AccountHolderData}
109
- # for more details.
106
+ # {Lithic::Models::TokenMetadata::PaymentAccountInfo::AccountHolderData} for more
107
+ # details.
110
108
  #
111
109
  # Additional information that can be used to identify the account holder, such as
112
110
  # name, address, etc
@@ -117,7 +115,7 @@ module Lithic
117
115
 
118
116
  # Human-readable name of the wallet that the token_requestor_id maps to.
119
117
  #
120
- # @see Lithic::Models::DigitalWalletTokenMetadata#token_requestor_name
118
+ # @see Lithic::Models::TokenMetadata#token_requestor_name
121
119
  module TokenRequestorName
122
120
  extend Lithic::Internal::Type::Enum
123
121
 
@@ -127,6 +125,7 @@ module Lithic
127
125
  FACEBOOK = :FACEBOOK
128
126
  FITBIT_PAY = :FITBIT_PAY
129
127
  GARMIN_PAY = :GARMIN_PAY
128
+ GOOGLE_PAY = :GOOGLE_PAY
130
129
  MICROSOFT_PAY = :MICROSOFT_PAY
131
130
  NETFLIX = :NETFLIX
132
131
  SAMSUNG_PAY = :SAMSUNG_PAY
@@ -42,6 +42,12 @@ module Lithic
42
42
  # @return [Symbol, Lithic::Models::TokenizationApprovalRequestWebhookEvent::IssuerDecision]
43
43
  required :issuer_decision, enum: -> { Lithic::TokenizationApprovalRequestWebhookEvent::IssuerDecision }
44
44
 
45
+ # @!attribute token_metadata
46
+ # Contains the metadata for the digital wallet being tokenized.
47
+ #
48
+ # @return [Lithic::Models::TokenMetadata]
49
+ required :token_metadata, -> { Lithic::TokenMetadata }
50
+
45
51
  # @!attribute tokenization_channel
46
52
  # The channel through which the tokenization was made.
47
53
  #
@@ -65,12 +71,6 @@ module Lithic
65
71
  # @return [Lithic::Models::Device, nil]
66
72
  optional :device, -> { Lithic::Device }
67
73
 
68
- # @!attribute digital_wallet_token_metadata
69
- # Contains the metadata for the digital wallet being tokenized.
70
- #
71
- # @return [Lithic::Models::DigitalWalletTokenMetadata, nil]
72
- optional :digital_wallet_token_metadata, -> { Lithic::DigitalWalletTokenMetadata }
73
-
74
74
  # @!attribute rule_results
75
75
  # Results from rules that were evaluated for this tokenization
76
76
  #
@@ -98,7 +98,7 @@ module Lithic
98
98
  optional :tokenization_tfa_reasons,
99
99
  -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::TokenizationTfaReason] }
100
100
 
101
- # @!method initialize(account_token:, card_token:, created:, customer_tokenization_decision:, event_type:, issuer_decision:, tokenization_channel:, tokenization_token:, wallet_decisioning_info:, device: nil, digital_wallet_token_metadata: nil, rule_results: nil, tokenization_decline_reasons: nil, tokenization_source: nil, tokenization_tfa_reasons: nil)
101
+ # @!method initialize(account_token:, card_token:, created:, customer_tokenization_decision:, event_type:, issuer_decision:, token_metadata:, tokenization_channel:, tokenization_token:, wallet_decisioning_info:, device: nil, rule_results: nil, tokenization_decline_reasons: nil, tokenization_source: nil, tokenization_tfa_reasons: nil)
102
102
  # Some parameter documentations has been truncated, see
103
103
  # {Lithic::Models::TokenizationApprovalRequestWebhookEvent} for more details.
104
104
  #
@@ -114,6 +114,8 @@ module Lithic
114
114
  #
115
115
  # @param issuer_decision [Symbol, Lithic::Models::TokenizationApprovalRequestWebhookEvent::IssuerDecision] Whether Lithic decisioned on the token, and if so, what the decision was. APPROV
116
116
  #
117
+ # @param token_metadata [Lithic::Models::TokenMetadata] Contains the metadata for the digital wallet being tokenized.
118
+ #
117
119
  # @param tokenization_channel [Symbol, Lithic::Models::TokenizationApprovalRequestWebhookEvent::TokenizationChannel] The channel through which the tokenization was made.
118
120
  #
119
121
  # @param tokenization_token [String] Unique identifier for the digital wallet token attempt
@@ -122,8 +124,6 @@ module Lithic
122
124
  #
123
125
  # @param device [Lithic::Models::Device]
124
126
  #
125
- # @param digital_wallet_token_metadata [Lithic::Models::DigitalWalletTokenMetadata] Contains the metadata for the digital wallet being tokenized.
126
- #
127
127
  # @param rule_results [Array<Lithic::Models::TokenizationRuleResult>] Results from rules that were evaluated for this tokenization
128
128
  #
129
129
  # @param tokenization_decline_reasons [Array<Symbol, Lithic::Models::TokenizationDeclineReason>] List of reasons why the tokenization was declined
@@ -21,6 +21,12 @@ module Lithic
21
21
  # @return [Time]
22
22
  required :created, Time
23
23
 
24
+ # @!attribute digital_wallet_token_metadata
25
+ # Contains the metadata for the digital wallet being tokenized.
26
+ #
27
+ # @return [Lithic::Models::TokenMetadata]
28
+ required :digital_wallet_token_metadata, -> { Lithic::TokenMetadata }
29
+
24
30
  # @!attribute event_type
25
31
  # The name of this event
26
32
  #
@@ -57,12 +63,6 @@ module Lithic
57
63
  # @return [Lithic::Models::Device, nil]
58
64
  optional :device, -> { Lithic::Device }
59
65
 
60
- # @!attribute digital_wallet_token_metadata
61
- # Contains the metadata for the digital wallet being tokenized.
62
- #
63
- # @return [Lithic::Models::DigitalWalletTokenMetadata, nil]
64
- optional :digital_wallet_token_metadata, -> { Lithic::DigitalWalletTokenMetadata }
65
-
66
66
  # @!attribute tokenization_source
67
67
  # The source of the tokenization.
68
68
  #
@@ -70,7 +70,7 @@ module Lithic
70
70
  optional :tokenization_source,
71
71
  enum: -> { Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource }
72
72
 
73
- # @!method initialize(account_token:, card_token:, created:, event_type:, issuer_decision:, tokenization_channel:, tokenization_token:, wallet_decisioning_info:, device: nil, digital_wallet_token_metadata: nil, tokenization_source: nil)
73
+ # @!method initialize(account_token:, card_token:, created:, digital_wallet_token_metadata:, event_type:, issuer_decision:, tokenization_channel:, tokenization_token:, wallet_decisioning_info:, device: nil, tokenization_source: nil)
74
74
  # Some parameter documentations has been truncated, see
75
75
  # {Lithic::Models::TokenizationDecisioningRequestWebhookEvent} for more details.
76
76
  #
@@ -82,6 +82,8 @@ module Lithic
82
82
  #
83
83
  # @param created [Time] Indicate when the request was received from Mastercard or Visa
84
84
  #
85
+ # @param digital_wallet_token_metadata [Lithic::Models::TokenMetadata] Contains the metadata for the digital wallet being tokenized.
86
+ #
85
87
  # @param event_type [Symbol, Lithic::Models::TokenizationDecisioningRequestWebhookEvent::EventType] The name of this event
86
88
  #
87
89
  # @param issuer_decision [Symbol, Lithic::Models::TokenizationDecisioningRequestWebhookEvent::IssuerDecision] Whether Lithic decisioned on the token, and if so, what the decision was. APPROV
@@ -94,8 +96,6 @@ module Lithic
94
96
  #
95
97
  # @param device [Lithic::Models::Device]
96
98
  #
97
- # @param digital_wallet_token_metadata [Lithic::Models::DigitalWalletTokenMetadata] Contains the metadata for the digital wallet being tokenized.
98
- #
99
99
  # @param tokenization_source [Symbol, Lithic::Models::TokenizationDecisioningRequestWebhookEvent::TokenizationSource] The source of the tokenization.
100
100
 
101
101
  # The name of this event
data/lib/lithic/models.rb CHANGED
@@ -63,6 +63,8 @@ module Lithic
63
63
 
64
64
  AccountHolderRetrieveParams = Lithic::Models::AccountHolderRetrieveParams
65
65
 
66
+ AccountHolders = Lithic::Models::AccountHolders
67
+
66
68
  AccountHolderSimulateEnrollmentDocumentReviewParams =
67
69
  Lithic::Models::AccountHolderSimulateEnrollmentDocumentReviewParams
68
70
 
@@ -227,8 +229,6 @@ module Lithic
227
229
  DigitalWalletTokenizationUpdatedWebhookEvent =
228
230
  Lithic::Models::DigitalWalletTokenizationUpdatedWebhookEvent
229
231
 
230
- DigitalWalletTokenMetadata = Lithic::Models::DigitalWalletTokenMetadata
231
-
232
232
  Dispute = Lithic::Models::Dispute
233
233
 
234
234
  DisputeCreateParams = Lithic::Models::DisputeCreateParams
@@ -536,6 +536,8 @@ module Lithic
536
536
 
537
537
  TokenizationUpdatedWebhookEvent = Lithic::Models::TokenizationUpdatedWebhookEvent
538
538
 
539
+ TokenMetadata = Lithic::Models::TokenMetadata
540
+
539
541
  Transaction = Lithic::Models::Transaction
540
542
 
541
543
  TransactionExpireAuthorizationParams = Lithic::Models::TransactionExpireAuthorizationParams
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class AccountHolders
6
+ class Entities
7
+ # Some parameter documentations has been truncated, see
8
+ # {Lithic::Models::AccountHolders::EntityCreateParams} for more details.
9
+ #
10
+ # Create a new beneficial owner or replace the control person entity on an
11
+ # existing KYB account holder. This endpoint is only applicable for account
12
+ # holders enrolled through a KYB workflow with the Persona KYB provider. A new
13
+ # control person can only replace the existing one. A maximum of 4 beneficial
14
+ # owners can be associated with an account holder.
15
+ #
16
+ # @overload create(account_holder_token, address:, dob:, email:, first_name:, government_id:, last_name:, phone_number:, type:, request_options: {})
17
+ #
18
+ # @param account_holder_token [String] Globally unique identifier for the account holder.
19
+ #
20
+ # @param address [Lithic::Models::AccountHolders::EntityCreateParams::Address] Individual's current address - PO boxes, UPS drops, and FedEx drops are not acce
21
+ #
22
+ # @param dob [String] Individual's date of birth, as an RFC 3339 date.
23
+ #
24
+ # @param email [String] Individual's email address. If utilizing Lithic for chargeback processing, this
25
+ #
26
+ # @param first_name [String] Individual's first name, as it appears on government-issued identity documents.
27
+ #
28
+ # @param government_id [String] Government-issued identification number (required for identity verification and
29
+ #
30
+ # @param last_name [String] Individual's last name, as it appears on government-issued identity documents.
31
+ #
32
+ # @param phone_number [String] Individual's phone number, entered in E.164 format.
33
+ #
34
+ # @param type [Symbol, Lithic::Models::AccountHolders::EntityCreateParams::Type] The type of entity to create on the account holder
35
+ #
36
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
37
+ #
38
+ # @return [Lithic::Models::AccountHolders::EntityCreateResponse]
39
+ #
40
+ # @see Lithic::Models::AccountHolders::EntityCreateParams
41
+ def create(account_holder_token, params)
42
+ parsed, options = Lithic::AccountHolders::EntityCreateParams.dump_request(params)
43
+ @client.request(
44
+ method: :post,
45
+ path: ["v1/account_holders/%1$s/entities", account_holder_token],
46
+ body: parsed,
47
+ model: Lithic::Models::AccountHolders::EntityCreateResponse,
48
+ options: options
49
+ )
50
+ end
51
+
52
+ # Deactivate a beneficial owner entity on an existing KYB account holder. Only
53
+ # beneficial owner entities can be deactivated.
54
+ #
55
+ # @overload delete(entity_token, account_holder_token:, request_options: {})
56
+ #
57
+ # @param entity_token [String] Globally unique identifier for the entity.
58
+ #
59
+ # @param account_holder_token [String] Globally unique identifier for the account holder.
60
+ #
61
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
62
+ #
63
+ # @return [Lithic::Models::AccountHolders::AccountHolderEntity]
64
+ #
65
+ # @see Lithic::Models::AccountHolders::EntityDeleteParams
66
+ def delete(entity_token, params)
67
+ parsed, options = Lithic::AccountHolders::EntityDeleteParams.dump_request(params)
68
+ account_holder_token =
69
+ parsed.delete(:account_holder_token) do
70
+ raise ArgumentError.new("missing required path argument #{_1}")
71
+ end
72
+ @client.request(
73
+ method: :delete,
74
+ path: ["v1/account_holders/%1$s/entities/%2$s", account_holder_token, entity_token],
75
+ model: Lithic::AccountHolders::AccountHolderEntity,
76
+ options: options
77
+ )
78
+ end
79
+
80
+ # @api private
81
+ #
82
+ # @param client [Lithic::Client]
83
+ def initialize(client:)
84
+ @client = client
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -3,6 +3,9 @@
3
3
  module Lithic
4
4
  module Resources
5
5
  class AccountHolders
6
+ # @return [Lithic::Resources::AccountHolders::Entities]
7
+ attr_reader :entities
8
+
6
9
  # Some parameter documentations has been truncated, see
7
10
  # {Lithic::Models::AccountHolderCreateParams} for more details.
8
11
  #
@@ -15,7 +18,7 @@ module Lithic
15
18
  # process. This endpoint can only be used on accounts that are part of the program
16
19
  # that the calling API key manages.
17
20
  #
18
- # @overload create(business_entity:, tos_timestamp:, workflow:, individual:, address:, email:, first_name:, kyc_exemption_type:, last_name:, phone_number:, beneficial_owner_individuals: nil, control_person: nil, nature_of_business: nil, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, website_url: nil, kyc_passed_timestamp: nil, business_account_token: nil, request_options: {})
21
+ # @overload create(business_entity:, tos_timestamp:, workflow:, individual:, address:, email:, first_name:, kyc_exemption_type:, last_name:, phone_number:, beneficial_owner_individuals: nil, control_person: nil, nature_of_business: nil, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, naics_code: nil, website_url: nil, kyc_passed_timestamp: nil, business_account_token: nil, request_options: {})
19
22
  #
20
23
  # @param business_entity [Lithic::Models::AccountHolderCreateParams::BusinessEntity] Information for business for which the account is being opened.
21
24
  #
@@ -49,6 +52,8 @@ module Lithic
49
52
  #
50
53
  # @param kyb_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYB was completed on the busin
51
54
  #
55
+ # @param naics_code [String] 6-digit North American Industry Classification System (NAICS) code for the busin
56
+ #
52
57
  # @param website_url [String] Company website URL.
53
58
  #
54
59
  # @param kyc_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYC was completed on the indiv
@@ -106,7 +111,7 @@ module Lithic
106
111
  # process. This endpoint can only be used on existing accounts that are part of
107
112
  # the program that the calling API key manages.
108
113
  #
109
- # @overload update(account_holder_token, beneficial_owner_entities: nil, beneficial_owner_individuals: nil, business_entity: nil, control_person: nil, external_id: nil, nature_of_business: nil, website_url: nil, individual: nil, address: nil, business_account_token: nil, email: nil, first_name: nil, last_name: nil, legal_business_name: nil, phone_number: nil, request_options: {})
114
+ # @overload update(account_holder_token, beneficial_owner_entities: nil, beneficial_owner_individuals: nil, business_entity: nil, control_person: nil, external_id: nil, naics_code: nil, nature_of_business: nil, website_url: nil, individual: nil, address: nil, business_account_token: nil, email: nil, first_name: nil, last_name: nil, legal_business_name: nil, phone_number: nil, request_options: {})
110
115
  #
111
116
  # @param account_holder_token [String] Globally unique identifier for the account holder.
112
117
  #
@@ -120,6 +125,8 @@ module Lithic
120
125
  #
121
126
  # @param external_id [String] A user provided id that can be used to link an account holder with an external s
122
127
  #
128
+ # @param naics_code [String] 6-digit North American Industry Classification System (NAICS) code for the busin
129
+ #
123
130
  # @param nature_of_business [String] Short description of the company's line of business (i.e., what does the company
124
131
  #
125
132
  # @param website_url [String] Company website URL.
@@ -387,6 +394,7 @@ module Lithic
387
394
  # @param client [Lithic::Client]
388
395
  def initialize(client:)
389
396
  @client = client
397
+ @entities = Lithic::Resources::AccountHolders::Entities.new(client: client)
390
398
  end
391
399
  end
392
400
  end
@@ -198,6 +198,48 @@ module Lithic
198
198
  )
199
199
  end
200
200
 
201
+ # Some parameter documentations has been truncated, see
202
+ # {Lithic::Models::AuthRules::V2ListResultsParams} for more details.
203
+ #
204
+ # Lists Auth Rule evaluation results.
205
+ #
206
+ # **Limitations:**
207
+ #
208
+ # - Results are available for the past 3 months only
209
+ # - At least one filter (`event_token` or `auth_rule_token`) must be provided
210
+ # - When filtering by `event_token`, pagination is not supported
211
+ #
212
+ # @overload list_results(auth_rule_token: nil, ending_before: nil, event_token: nil, has_actions: nil, page_size: nil, starting_after: nil, request_options: {})
213
+ #
214
+ # @param auth_rule_token [String] Filter by Auth Rule token
215
+ #
216
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
217
+ #
218
+ # @param event_token [String] Filter by event token
219
+ #
220
+ # @param has_actions [Boolean] Filter by whether the rule evaluation produced any actions. When not provided, a
221
+ #
222
+ # @param page_size [Integer] Page size (for pagination).
223
+ #
224
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
225
+ #
226
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
227
+ #
228
+ # @return [Lithic::Internal::CursorPage<Lithic::Models::AuthRules::V2ListResultsResponse::AuthorizationResult, Lithic::Models::AuthRules::V2ListResultsResponse::Authentication3DSResult, Lithic::Models::AuthRules::V2ListResultsResponse::TokenizationResult, Lithic::Models::AuthRules::V2ListResultsResponse::ACHResult>]
229
+ #
230
+ # @see Lithic::Models::AuthRules::V2ListResultsParams
231
+ def list_results(params = {})
232
+ parsed, options = Lithic::AuthRules::V2ListResultsParams.dump_request(params)
233
+ @client.request(
234
+ method: :get,
235
+ path: "v2/auth_rules/results",
236
+ query: parsed,
237
+ page: Lithic::Internal::CursorPage,
238
+ model: Lithic::Models::AuthRules::V2ListResultsResponse,
239
+ options: options
240
+ )
241
+ end
242
+
201
243
  # Promotes the draft version of an Auth rule to the currently active version such
202
244
  # that it is enforced in the respective stream.
203
245
  #
@@ -9,7 +9,7 @@ module Lithic
9
9
  # Book transfer funds between two financial accounts or between a financial
10
10
  # account and card
11
11
  #
12
- # @overload create(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, external_id: nil, memo: nil, on_closed_account: nil, request_options: {})
12
+ # @overload create(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, external_id: nil, hold_token: nil, memo: nil, on_closed_account: nil, request_options: {})
13
13
  #
14
14
  # @param amount [Integer] Amount to be transferred in the currency's smallest unit (e.g., cents for USD).
15
15
  #
@@ -27,6 +27,8 @@ module Lithic
27
27
  #
28
28
  # @param external_id [String] External ID defined by the customer
29
29
  #
30
+ # @param hold_token [String] Token of an existing hold to settle when this transfer is initiated
31
+ #
30
32
  # @param memo [String] Optional descriptor for the transfer.
31
33
  #
32
34
  # @param on_closed_account [Symbol, Lithic::Models::BookTransferCreateParams::OnClosedAccount] What to do if the financial account is closed when posting an operation