lithic 0.1.0 → 0.2.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 (186) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +36 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/errors.rb +15 -0
  6. data/lib/lithic/models/account_holder_created_webhook_event.rb +75 -0
  7. data/lib/lithic/models/account_holder_document_updated_webhook_event.rb +191 -0
  8. data/lib/lithic/models/account_holder_updated_webhook_event.rb +702 -0
  9. data/lib/lithic/models/account_holder_verification_webhook_event.rb +69 -0
  10. data/lib/lithic/models/asa_request_webhook_event.rb +1010 -0
  11. data/lib/lithic/models/auth_rules_backtest_report_created_webhook_event.rb +16 -0
  12. data/lib/lithic/models/balance_updated_webhook_event.rb +23 -0
  13. data/lib/lithic/models/book_transfer_transaction_created_webhook_event.rb +18 -0
  14. data/lib/lithic/models/book_transfer_transaction_updated_webhook_event.rb +18 -0
  15. data/lib/lithic/models/card_converted_webhook_event.rb +24 -0
  16. data/lib/lithic/models/card_created_webhook_event.rb +32 -0
  17. data/lib/lithic/models/card_reissued_webhook_event.rb +24 -0
  18. data/lib/lithic/models/card_renewed_webhook_event.rb +56 -0
  19. data/lib/lithic/models/card_shipped_webhook_event.rb +70 -0
  20. data/lib/lithic/models/card_transaction_enhanced_data_created_webhook_event.rb +16 -0
  21. data/lib/lithic/models/card_transaction_enhanced_data_updated_webhook_event.rb +16 -0
  22. data/lib/lithic/models/card_transaction_updated_webhook_event.rb +16 -0
  23. data/lib/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rb +253 -0
  24. data/lib/lithic/models/digital_wallet_tokenization_result_webhook_event.rb +145 -0
  25. data/lib/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_sent_webhook_event.rb +100 -0
  26. data/lib/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_webhook_event.rb +108 -0
  27. data/lib/lithic/models/digital_wallet_tokenization_updated_webhook_event.rb +47 -0
  28. data/lib/lithic/models/dispute_evidence_upload_failed_webhook_event.rb +18 -0
  29. data/lib/lithic/models/dispute_transaction_created_webhook_event.rb +18 -0
  30. data/lib/lithic/models/dispute_transaction_updated_webhook_event.rb +18 -0
  31. data/lib/lithic/models/dispute_updated_webhook_event.rb +18 -0
  32. data/lib/lithic/models/external_bank_account_created_webhook_event.rb +16 -0
  33. data/lib/lithic/models/external_bank_account_updated_webhook_event.rb +16 -0
  34. data/lib/lithic/models/external_payment_created_webhook_event.rb +16 -0
  35. data/lib/lithic/models/external_payment_updated_webhook_event.rb +16 -0
  36. data/lib/lithic/models/financial_account_created_webhook_event.rb +16 -0
  37. data/lib/lithic/models/financial_account_updated_webhook_event.rb +16 -0
  38. data/lib/lithic/models/funding_event_created_webhook_event.rb +16 -0
  39. data/lib/lithic/models/internal_transaction_created_webhook_event.rb +16 -0
  40. data/lib/lithic/models/internal_transaction_updated_webhook_event.rb +16 -0
  41. data/lib/lithic/models/loan_tape_created_webhook_event.rb +16 -0
  42. data/lib/lithic/models/loan_tape_updated_webhook_event.rb +16 -0
  43. data/lib/lithic/models/management_operation_created_webhook_event.rb +16 -0
  44. data/lib/lithic/models/management_operation_updated_webhook_event.rb +16 -0
  45. data/lib/lithic/models/network_total_created_webhook_event.rb +16 -0
  46. data/lib/lithic/models/network_total_updated_webhook_event.rb +16 -0
  47. data/lib/lithic/models/parsed_webhook_event.rb +818 -0
  48. data/lib/lithic/models/payment_transaction_created_webhook_event.rb +18 -0
  49. data/lib/lithic/models/payment_transaction_updated_webhook_event.rb +18 -0
  50. data/lib/lithic/models/settlement_report_updated_webhook_event.rb +16 -0
  51. data/lib/lithic/models/statements_created_webhook_event.rb +16 -0
  52. data/lib/lithic/models/three_ds_authentication_challenge_webhook_event.rb +89 -0
  53. data/lib/lithic/models/three_ds_authentication_created_webhook_event.rb +18 -0
  54. data/lib/lithic/models/three_ds_authentication_updated_webhook_event.rb +18 -0
  55. data/lib/lithic/models/tokenization_approval_request_webhook_event.rb +249 -0
  56. data/lib/lithic/models/tokenization_decisioning_request_webhook_event.rb +159 -0
  57. data/lib/lithic/models/tokenization_result_webhook_event.rb +141 -0
  58. data/lib/lithic/models/tokenization_two_factor_authentication_code_sent_webhook_event.rb +100 -0
  59. data/lib/lithic/models/tokenization_two_factor_authentication_code_webhook_event.rb +108 -0
  60. data/lib/lithic/models/tokenization_updated_webhook_event.rb +47 -0
  61. data/lib/lithic/models/webhook_parsed_params.rb +14 -0
  62. data/lib/lithic/models.rb +120 -0
  63. data/lib/lithic/resources/webhooks.rb +87 -0
  64. data/lib/lithic/version.rb +1 -1
  65. data/lib/lithic.rb +74 -17
  66. data/rbi/lithic/client.rbi +3 -0
  67. data/rbi/lithic/models/account_holder_created_webhook_event.rbi +149 -0
  68. data/rbi/lithic/models/account_holder_document_updated_webhook_event.rbi +479 -0
  69. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +1274 -0
  70. data/rbi/lithic/models/account_holder_verification_webhook_event.rbi +143 -0
  71. data/rbi/lithic/models/asa_request_webhook_event.rbi +2229 -0
  72. data/rbi/lithic/models/auth_rules_backtest_report_created_webhook_event.rbi +30 -0
  73. data/rbi/lithic/models/balance_updated_webhook_event.rbi +43 -0
  74. data/rbi/lithic/models/book_transfer_transaction_created_webhook_event.rbi +31 -0
  75. data/rbi/lithic/models/book_transfer_transaction_updated_webhook_event.rbi +31 -0
  76. data/rbi/lithic/models/card_converted_webhook_event.rbi +35 -0
  77. data/rbi/lithic/models/card_created_webhook_event.rbi +53 -0
  78. data/rbi/lithic/models/card_reissued_webhook_event.rbi +38 -0
  79. data/rbi/lithic/models/card_renewed_webhook_event.rbi +92 -0
  80. data/rbi/lithic/models/card_shipped_webhook_event.rbi +150 -0
  81. data/rbi/lithic/models/card_transaction_enhanced_data_created_webhook_event.rbi +30 -0
  82. data/rbi/lithic/models/card_transaction_enhanced_data_updated_webhook_event.rbi +30 -0
  83. data/rbi/lithic/models/card_transaction_updated_webhook_event.rbi +30 -0
  84. data/rbi/lithic/models/digital_wallet_token_metadata.rbi +2 -2
  85. data/rbi/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbi +548 -0
  86. data/rbi/lithic/models/digital_wallet_tokenization_result_webhook_event.rbi +295 -0
  87. data/rbi/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_sent_webhook_event.rbi +186 -0
  88. data/rbi/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_webhook_event.rbi +194 -0
  89. data/rbi/lithic/models/digital_wallet_tokenization_updated_webhook_event.rbi +73 -0
  90. data/rbi/lithic/models/dispute_evidence_upload_failed_webhook_event.rbi +31 -0
  91. data/rbi/lithic/models/dispute_transaction_created_webhook_event.rbi +31 -0
  92. data/rbi/lithic/models/dispute_transaction_updated_webhook_event.rbi +31 -0
  93. data/rbi/lithic/models/dispute_updated_webhook_event.rbi +28 -0
  94. data/rbi/lithic/models/external_bank_account_created_webhook_event.rbi +30 -0
  95. data/rbi/lithic/models/external_bank_account_updated_webhook_event.rbi +30 -0
  96. data/rbi/lithic/models/external_payment_created_webhook_event.rbi +30 -0
  97. data/rbi/lithic/models/external_payment_updated_webhook_event.rbi +30 -0
  98. data/rbi/lithic/models/financial_account_created_webhook_event.rbi +30 -0
  99. data/rbi/lithic/models/financial_account_updated_webhook_event.rbi +30 -0
  100. data/rbi/lithic/models/funding_event_created_webhook_event.rbi +30 -0
  101. data/rbi/lithic/models/internal_transaction.rbi +15 -10
  102. data/rbi/lithic/models/internal_transaction_created_webhook_event.rbi +30 -0
  103. data/rbi/lithic/models/internal_transaction_updated_webhook_event.rbi +30 -0
  104. data/rbi/lithic/models/loan_tape_created_webhook_event.rbi +27 -0
  105. data/rbi/lithic/models/loan_tape_updated_webhook_event.rbi +27 -0
  106. data/rbi/lithic/models/management_operation_created_webhook_event.rbi +30 -0
  107. data/rbi/lithic/models/management_operation_updated_webhook_event.rbi +30 -0
  108. data/rbi/lithic/models/network_total_created_webhook_event.rbi +30 -0
  109. data/rbi/lithic/models/network_total_updated_webhook_event.rbi +30 -0
  110. data/rbi/lithic/models/parsed_webhook_event.rbi +1310 -0
  111. data/rbi/lithic/models/payment_transaction_created_webhook_event.rbi +31 -0
  112. data/rbi/lithic/models/payment_transaction_updated_webhook_event.rbi +31 -0
  113. data/rbi/lithic/models/settlement_report_updated_webhook_event.rbi +30 -0
  114. data/rbi/lithic/models/statements_created_webhook_event.rbi +30 -0
  115. data/rbi/lithic/models/three_ds_authentication_challenge_webhook_event.rbi +175 -0
  116. data/rbi/lithic/models/three_ds_authentication_created_webhook_event.rbi +31 -0
  117. data/rbi/lithic/models/three_ds_authentication_updated_webhook_event.rbi +31 -0
  118. data/rbi/lithic/models/tokenization_approval_request_webhook_event.rbi +548 -0
  119. data/rbi/lithic/models/tokenization_decisioning_request_webhook_event.rbi +333 -0
  120. data/rbi/lithic/models/tokenization_result_webhook_event.rbi +295 -0
  121. data/rbi/lithic/models/tokenization_two_factor_authentication_code_sent_webhook_event.rbi +186 -0
  122. data/rbi/lithic/models/tokenization_two_factor_authentication_code_webhook_event.rbi +194 -0
  123. data/rbi/lithic/models/tokenization_updated_webhook_event.rbi +73 -0
  124. data/rbi/lithic/models/webhook_parsed_params.rbi +27 -0
  125. data/rbi/lithic/models.rbi +155 -0
  126. data/rbi/lithic/resources/webhooks.rbi +158 -0
  127. data/sig/lithic/client.rbs +2 -0
  128. data/sig/lithic/models/account_holder_created_webhook_event.rbs +77 -0
  129. data/sig/lithic/models/account_holder_document_updated_webhook_event.rbs +219 -0
  130. data/sig/lithic/models/account_holder_updated_webhook_event.rbs +587 -0
  131. data/sig/lithic/models/account_holder_verification_webhook_event.rbs +69 -0
  132. data/sig/lithic/models/asa_request_webhook_event.rbs +881 -0
  133. data/sig/lithic/models/auth_rules_backtest_report_created_webhook_event.rbs +20 -0
  134. data/sig/lithic/models/balance_updated_webhook_event.rbs +25 -0
  135. data/sig/lithic/models/book_transfer_transaction_created_webhook_event.rbs +20 -0
  136. data/sig/lithic/models/book_transfer_transaction_updated_webhook_event.rbs +20 -0
  137. data/sig/lithic/models/card_converted_webhook_event.rbs +19 -0
  138. data/sig/lithic/models/card_created_webhook_event.rbs +30 -0
  139. data/sig/lithic/models/card_reissued_webhook_event.rbs +21 -0
  140. data/sig/lithic/models/card_renewed_webhook_event.rbs +55 -0
  141. data/sig/lithic/models/card_shipped_webhook_event.rbs +71 -0
  142. data/sig/lithic/models/card_transaction_enhanced_data_created_webhook_event.rbs +20 -0
  143. data/sig/lithic/models/card_transaction_enhanced_data_updated_webhook_event.rbs +20 -0
  144. data/sig/lithic/models/card_transaction_updated_webhook_event.rbs +18 -0
  145. data/sig/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbs +223 -0
  146. data/sig/lithic/models/digital_wallet_tokenization_result_webhook_event.rbs +133 -0
  147. data/sig/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_sent_webhook_event.rbs +78 -0
  148. data/sig/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_webhook_event.rbs +83 -0
  149. data/sig/lithic/models/digital_wallet_tokenization_updated_webhook_event.rbs +40 -0
  150. data/sig/lithic/models/dispute_evidence_upload_failed_webhook_event.rbs +18 -0
  151. data/sig/lithic/models/dispute_transaction_created_webhook_event.rbs +18 -0
  152. data/sig/lithic/models/dispute_transaction_updated_webhook_event.rbs +18 -0
  153. data/sig/lithic/models/dispute_updated_webhook_event.rbs +15 -0
  154. data/sig/lithic/models/external_bank_account_created_webhook_event.rbs +18 -0
  155. data/sig/lithic/models/external_bank_account_updated_webhook_event.rbs +18 -0
  156. data/sig/lithic/models/external_payment_created_webhook_event.rbs +18 -0
  157. data/sig/lithic/models/external_payment_updated_webhook_event.rbs +18 -0
  158. data/sig/lithic/models/financial_account_created_webhook_event.rbs +18 -0
  159. data/sig/lithic/models/financial_account_updated_webhook_event.rbs +18 -0
  160. data/sig/lithic/models/funding_event_created_webhook_event.rbs +16 -0
  161. data/sig/lithic/models/internal_transaction_created_webhook_event.rbs +18 -0
  162. data/sig/lithic/models/internal_transaction_updated_webhook_event.rbs +18 -0
  163. data/sig/lithic/models/loan_tape_created_webhook_event.rbs +15 -0
  164. data/sig/lithic/models/loan_tape_updated_webhook_event.rbs +15 -0
  165. data/sig/lithic/models/management_operation_created_webhook_event.rbs +18 -0
  166. data/sig/lithic/models/management_operation_updated_webhook_event.rbs +18 -0
  167. data/sig/lithic/models/network_total_created_webhook_event.rbs +16 -0
  168. data/sig/lithic/models/network_total_updated_webhook_event.rbs +16 -0
  169. data/sig/lithic/models/parsed_webhook_event.rbs +641 -0
  170. data/sig/lithic/models/payment_transaction_created_webhook_event.rbs +18 -0
  171. data/sig/lithic/models/payment_transaction_updated_webhook_event.rbs +18 -0
  172. data/sig/lithic/models/settlement_report_updated_webhook_event.rbs +18 -0
  173. data/sig/lithic/models/statements_created_webhook_event.rbs +16 -0
  174. data/sig/lithic/models/three_ds_authentication_challenge_webhook_event.rbs +72 -0
  175. data/sig/lithic/models/three_ds_authentication_created_webhook_event.rbs +18 -0
  176. data/sig/lithic/models/three_ds_authentication_updated_webhook_event.rbs +18 -0
  177. data/sig/lithic/models/tokenization_approval_request_webhook_event.rbs +223 -0
  178. data/sig/lithic/models/tokenization_decisioning_request_webhook_event.rbs +134 -0
  179. data/sig/lithic/models/tokenization_result_webhook_event.rbs +133 -0
  180. data/sig/lithic/models/tokenization_two_factor_authentication_code_sent_webhook_event.rbs +78 -0
  181. data/sig/lithic/models/tokenization_two_factor_authentication_code_webhook_event.rbs +83 -0
  182. data/sig/lithic/models/tokenization_updated_webhook_event.rbs +40 -0
  183. data/sig/lithic/models/webhook_parsed_params.rbs +15 -0
  184. data/sig/lithic/models.rbs +112 -0
  185. data/sig/lithic/resources/webhooks.rbs +135 -0
  186. metadata +173 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84dffb32640f09dd777742e8279eb660addc6b5783cf2787b133ec5247e50507
4
- data.tar.gz: 75d175963aceb1d75c46f7d2022cba419f4a7df0bb2d01e98dabb21f4f004b98
3
+ metadata.gz: f8946d1c458ae277f59faee42210befe43f7ad248f2af24d1a96700ace4bffd5
4
+ data.tar.gz: 7ec367fffbd069f955681d5b3e59328ae0714493739c8d7f6f0291ebfa13315f
5
5
  SHA512:
6
- metadata.gz: 982807e64981a671609612a7bb9381655301310165373e3d1bdb13387b89dfe6f1dec73099f436fe32d224a7b6417ee949a9b9cafe14869a3125c8ce957c3415
7
- data.tar.gz: 9e2231d392a1eb813a3e6a797c1d7625720d84833720deddca711f76ea9316eec61e55c20248d1d6d3b06a746d86a6036a4f59840d8bbecbbe1b3ea222f8b85d
6
+ metadata.gz: f0ca88aa8c35a14f40e5387407acdf493491c40f5b100bef248632c2d55e5bf2c31bcf9a659f074319b4314a7560819da891a6d8ec58ce50fac2f1726d6997be
7
+ data.tar.gz: 9a0d64b55815fd2ad4a7e414ba4864e3612f3107e17e2d93609978023d8904df2c7450bb40f8f86efad97e1e7c7b1741a7e6f0c25c03868726cbab89e23f2d6a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.0 (2025-12-10)
4
+
5
+ Full Changelog: [v0.1.0...v0.2.0](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0...v0.2.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** add webhook schemas to SDKs - add parse and parse_unsafe ([c40835b](https://github.com/lithic-com/lithic-ruby/commit/c40835b8afae6973e80baccab4017a99d15b4ac4))
10
+
11
+
12
+ ### Chores
13
+
14
+ * replace custom webhook signature verification with standardwebhooks ([c40835b](https://github.com/lithic-com/lithic-ruby/commit/c40835b8afae6973e80baccab4017a99d15b4ac4))
15
+
3
16
  ## 0.1.0 (2025-12-09)
4
17
 
5
18
  Full Changelog: [v0.1.0-alpha.56...v0.1.0](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.56...v0.1.0)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "lithic", "~> 0.1.0"
18
+ gem "lithic", "~> 0.2.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -64,6 +64,41 @@ if page.next_page?
64
64
  end
65
65
  ```
66
66
 
67
+ ### Webhooks
68
+
69
+ Lithic uses webhooks to notify your application when events happen. The library provides signature verification via the optional `standardwebhooks` gem.
70
+
71
+ #### Parsing and verifying webhooks
72
+
73
+ ```ruby
74
+ # Verifies signature and returns typed event
75
+ event = lithic.webhooks.parse(
76
+ request.body.read,
77
+ headers: request.headers,
78
+ secret: ENV["LITHIC_WEBHOOK_SECRET"] # optional, reads from env by default
79
+ )
80
+
81
+ case event
82
+ when Lithic::Models::CardCreatedWebhookEvent
83
+ puts("Card created: #{event.data.token}")
84
+ end
85
+ ```
86
+
87
+ #### Parsing without verification
88
+
89
+ ```ruby
90
+ # Parse only - skips signature verification (not recommended for production)
91
+ event = lithic.webhooks.parse_unsafe(request.body.read)
92
+ ```
93
+
94
+ #### Installing standardwebhooks (optional)
95
+
96
+ To use signature verification, install from GitHub:
97
+
98
+ ```ruby
99
+ gem "standardwebhooks", "~> 1.0", github: "standard-webhooks/standard-webhooks", glob: "libraries/ruby/*.gemspec"
100
+ ```
101
+
67
102
  ### Handling errors
68
103
 
69
104
  When the library is unable to connect to the API, or if the API returns a non-success status code (i.e., 4xx or 5xx response), a subclass of `Lithic::Errors::APIError` will be thrown:
data/lib/lithic/client.rb CHANGED
@@ -119,6 +119,9 @@ module Lithic
119
119
  # @return [Lithic::Resources::AccountActivity]
120
120
  attr_reader :account_activity
121
121
 
122
+ # @return [Lithic::Resources::Webhooks]
123
+ attr_reader :webhooks
124
+
122
125
  # Status of api
123
126
  #
124
127
  # @overload api_status(request_options: {})
@@ -225,6 +228,7 @@ module Lithic
225
228
  @fraud = Lithic::Resources::Fraud.new(client: self)
226
229
  @network_programs = Lithic::Resources::NetworkPrograms.new(client: self)
227
230
  @account_activity = Lithic::Resources::AccountActivity.new(client: self)
231
+ @webhooks = Lithic::Resources::Webhooks.new(client: self)
228
232
  end
229
233
  end
230
234
  end
data/lib/lithic/errors.rb CHANGED
@@ -224,5 +224,20 @@ module Lithic
224
224
  class InternalServerError < Lithic::Errors::APIStatusError
225
225
  HTTP_STATUS = (500..)
226
226
  end
227
+
228
+ class MissingDependencyError < Lithic::Errors::Error
229
+ # @api private
230
+ #
231
+ # @param gem_name [String]
232
+ # @param feature [String]
233
+ def initialize(gem_name:, feature:)
234
+ message = [
235
+ "The '#{gem_name}' gem is required to use #{feature}.",
236
+ "Install it with: gem install #{gem_name}",
237
+ "Or add it to your Gemfile: gem '#{gem_name}'"
238
+ ].join("\n")
239
+ super(message)
240
+ end
241
+ end
227
242
  end
228
243
  end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ class AccountHolderCreatedWebhookEvent < Lithic::Internal::Type::BaseModel
6
+ # @!attribute event_type
7
+ # The type of event that occurred.
8
+ #
9
+ # @return [Symbol, :"account_holder.created"]
10
+ required :event_type, const: :"account_holder.created"
11
+
12
+ # @!attribute token
13
+ # The token of the account_holder that was created.
14
+ #
15
+ # @return [String, nil]
16
+ optional :token, String
17
+
18
+ # @!attribute account_token
19
+ # The token of the account that was created.
20
+ #
21
+ # @return [String, nil]
22
+ optional :account_token, String
23
+
24
+ # @!attribute created
25
+ # When the account_holder was created
26
+ #
27
+ # @return [Time, nil]
28
+ optional :created, Time
29
+
30
+ # @!attribute required_documents
31
+ #
32
+ # @return [Array<Lithic::Models::RequiredDocument>, nil]
33
+ optional :required_documents, -> { Lithic::Internal::Type::ArrayOf[Lithic::RequiredDocument] }
34
+
35
+ # @!attribute status
36
+ # The status of the account_holder that was created.
37
+ #
38
+ # @return [Symbol, Lithic::Models::AccountHolderCreatedWebhookEvent::Status, nil]
39
+ optional :status, enum: -> { Lithic::AccountHolderCreatedWebhookEvent::Status }
40
+
41
+ # @!attribute status_reason
42
+ #
43
+ # @return [Array<String>, nil]
44
+ optional :status_reason, Lithic::Internal::Type::ArrayOf[String]
45
+
46
+ # @!method initialize(token: nil, account_token: nil, created: nil, required_documents: nil, status: nil, status_reason: nil, event_type: :"account_holder.created")
47
+ # @param token [String] The token of the account_holder that was created.
48
+ #
49
+ # @param account_token [String] The token of the account that was created.
50
+ #
51
+ # @param created [Time] When the account_holder was created
52
+ #
53
+ # @param required_documents [Array<Lithic::Models::RequiredDocument>]
54
+ #
55
+ # @param status [Symbol, Lithic::Models::AccountHolderCreatedWebhookEvent::Status] The status of the account_holder that was created.
56
+ #
57
+ # @param status_reason [Array<String>]
58
+ #
59
+ # @param event_type [Symbol, :"account_holder.created"] The type of event that occurred.
60
+
61
+ # The status of the account_holder that was created.
62
+ #
63
+ # @see Lithic::Models::AccountHolderCreatedWebhookEvent#status
64
+ module Status
65
+ extend Lithic::Internal::Type::Enum
66
+
67
+ ACCEPTED = :ACCEPTED
68
+ PENDING_REVIEW = :PENDING_REVIEW
69
+
70
+ # @!method self.values
71
+ # @return [Array<Symbol>]
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,191 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ class AccountHolderDocumentUpdatedWebhookEvent < Lithic::Internal::Type::BaseModel
6
+ # @!attribute event_type
7
+ # The type of event that occurred.
8
+ #
9
+ # @return [Symbol, :"account_holder_document.updated"]
10
+ required :event_type, const: :"account_holder_document.updated"
11
+
12
+ # @!attribute token
13
+ # The token of the account holder document
14
+ #
15
+ # @return [String, nil]
16
+ optional :token, String
17
+
18
+ # @!attribute account_holder_token
19
+ # The token of the account_holder that the document belongs to
20
+ #
21
+ # @return [String, nil]
22
+ optional :account_holder_token, String
23
+
24
+ # @!attribute created
25
+ # When the account_holder was created
26
+ #
27
+ # @return [Time, nil]
28
+ optional :created, Time
29
+
30
+ # @!attribute document_type
31
+ # Type of documentation to be submitted for verification of an account holder
32
+ #
33
+ # @return [Symbol, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent::DocumentType, nil]
34
+ optional :document_type, enum: -> { Lithic::AccountHolderDocumentUpdatedWebhookEvent::DocumentType }
35
+
36
+ # @!attribute entity_token
37
+ # The token of the entity that the document belongs to
38
+ #
39
+ # @return [String, nil]
40
+ optional :entity_token, String
41
+
42
+ # @!attribute required_document_uploads
43
+ #
44
+ # @return [Array<Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent::RequiredDocumentUpload>, nil]
45
+ optional :required_document_uploads,
46
+ -> { Lithic::Internal::Type::ArrayOf[Lithic::AccountHolderDocumentUpdatedWebhookEvent::RequiredDocumentUpload] }
47
+
48
+ # @!method initialize(token: nil, account_holder_token: nil, created: nil, document_type: nil, entity_token: nil, required_document_uploads: nil, event_type: :"account_holder_document.updated")
49
+ # @param token [String] The token of the account holder document
50
+ #
51
+ # @param account_holder_token [String] The token of the account_holder that the document belongs to
52
+ #
53
+ # @param created [Time] When the account_holder was created
54
+ #
55
+ # @param document_type [Symbol, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent::DocumentType] Type of documentation to be submitted for verification of an account holder
56
+ #
57
+ # @param entity_token [String] The token of the entity that the document belongs to
58
+ #
59
+ # @param required_document_uploads [Array<Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent::RequiredDocumentUpload>]
60
+ #
61
+ # @param event_type [Symbol, :"account_holder_document.updated"] The type of event that occurred.
62
+
63
+ # Type of documentation to be submitted for verification of an account holder
64
+ #
65
+ # @see Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent#document_type
66
+ module DocumentType
67
+ extend Lithic::Internal::Type::Enum
68
+
69
+ DRIVERS_LICENSE = :DRIVERS_LICENSE
70
+ PASSPORT = :PASSPORT
71
+ PASSPORT_CARD = :PASSPORT_CARD
72
+ EIN_LETTER = :EIN_LETTER
73
+ TAX_RETURN = :TAX_RETURN
74
+ OPERATING_AGREEMENT = :OPERATING_AGREEMENT
75
+ CERTIFICATE_OF_FORMATION = :CERTIFICATE_OF_FORMATION
76
+ CERTIFICATE_OF_GOOD_STANDING = :CERTIFICATE_OF_GOOD_STANDING
77
+ ARTICLES_OF_INCORPORATION = :ARTICLES_OF_INCORPORATION
78
+ ARTICLES_OF_ORGANIZATION = :ARTICLES_OF_ORGANIZATION
79
+ BYLAWS = :BYLAWS
80
+ GOVERNMENT_BUSINESS_LICENSE = :GOVERNMENT_BUSINESS_LICENSE
81
+ PARTNERSHIP_AGREEMENT = :PARTNERSHIP_AGREEMENT
82
+ SS4_FORM = :SS4_FORM
83
+ BANK_STATEMENT = :BANK_STATEMENT
84
+ UTILITY_BILL_STATEMENT = :UTILITY_BILL_STATEMENT
85
+ SSN_CARD = :SSN_CARD
86
+ ITIN_LETTER = :ITIN_LETTER
87
+ FINCEN_BOI_REPORT = :FINCEN_BOI_REPORT
88
+
89
+ # @!method self.values
90
+ # @return [Array<Symbol>]
91
+ end
92
+
93
+ class RequiredDocumentUpload < Lithic::Internal::Type::BaseModel
94
+ # @!attribute token
95
+ # The token of the document upload
96
+ #
97
+ # @return [String, nil]
98
+ optional :token, String
99
+
100
+ # @!attribute accepted_entity_status_reasons
101
+ #
102
+ # @return [Array<String>, nil]
103
+ optional :accepted_entity_status_reasons, Lithic::Internal::Type::ArrayOf[String]
104
+
105
+ # @!attribute created
106
+ # When the document upload was created
107
+ #
108
+ # @return [Time, nil]
109
+ optional :created, Time
110
+
111
+ # @!attribute image_type
112
+ # The type of image that was uploaded
113
+ #
114
+ # @return [Symbol, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent::RequiredDocumentUpload::ImageType, nil]
115
+ optional :image_type,
116
+ enum: -> { Lithic::AccountHolderDocumentUpdatedWebhookEvent::RequiredDocumentUpload::ImageType }
117
+
118
+ # @!attribute rejected_entity_status_reasons
119
+ #
120
+ # @return [Array<String>, nil]
121
+ optional :rejected_entity_status_reasons, Lithic::Internal::Type::ArrayOf[String]
122
+
123
+ # @!attribute status
124
+ # The status of the document upload
125
+ #
126
+ # @return [Symbol, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent::RequiredDocumentUpload::Status, nil]
127
+ optional :status,
128
+ enum: -> { Lithic::AccountHolderDocumentUpdatedWebhookEvent::RequiredDocumentUpload::Status }
129
+
130
+ # @!attribute status_reasons
131
+ #
132
+ # @return [Array<String>, nil]
133
+ optional :status_reasons, Lithic::Internal::Type::ArrayOf[String]
134
+
135
+ # @!attribute updated
136
+ # When the document upload was last updated
137
+ #
138
+ # @return [Time, nil]
139
+ optional :updated, Time
140
+
141
+ # @!method initialize(token: nil, accepted_entity_status_reasons: nil, created: nil, image_type: nil, rejected_entity_status_reasons: nil, status: nil, status_reasons: nil, updated: nil)
142
+ # A document upload that belongs to the overall account holder document
143
+ #
144
+ # @param token [String] The token of the document upload
145
+ #
146
+ # @param accepted_entity_status_reasons [Array<String>]
147
+ #
148
+ # @param created [Time] When the document upload was created
149
+ #
150
+ # @param image_type [Symbol, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent::RequiredDocumentUpload::ImageType] The type of image that was uploaded
151
+ #
152
+ # @param rejected_entity_status_reasons [Array<String>]
153
+ #
154
+ # @param status [Symbol, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent::RequiredDocumentUpload::Status] The status of the document upload
155
+ #
156
+ # @param status_reasons [Array<String>]
157
+ #
158
+ # @param updated [Time] When the document upload was last updated
159
+
160
+ # The type of image that was uploaded
161
+ #
162
+ # @see Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent::RequiredDocumentUpload#image_type
163
+ module ImageType
164
+ extend Lithic::Internal::Type::Enum
165
+
166
+ FRONT = :FRONT
167
+ BACK = :BACK
168
+
169
+ # @!method self.values
170
+ # @return [Array<Symbol>]
171
+ end
172
+
173
+ # The status of the document upload
174
+ #
175
+ # @see Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent::RequiredDocumentUpload#status
176
+ module Status
177
+ extend Lithic::Internal::Type::Enum
178
+
179
+ ACCEPTED = :ACCEPTED
180
+ REJECTED = :REJECTED
181
+ PENDING_UPLOAD = :PENDING_UPLOAD
182
+ UPLOADED = :UPLOADED
183
+ PARTIAL_APPROVAL = :PARTIAL_APPROVAL
184
+
185
+ # @!method self.values
186
+ # @return [Array<Symbol>]
187
+ end
188
+ end
189
+ end
190
+ end
191
+ end