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
data/lib/lithic/models.rb CHANGED
@@ -49,8 +49,12 @@ module Lithic
49
49
 
50
50
  AccountHolder = Lithic::Models::AccountHolder
51
51
 
52
+ AccountHolderCreatedWebhookEvent = Lithic::Models::AccountHolderCreatedWebhookEvent
53
+
52
54
  AccountHolderCreateParams = Lithic::Models::AccountHolderCreateParams
53
55
 
56
+ AccountHolderDocumentUpdatedWebhookEvent = Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent
57
+
54
58
  AccountHolderListDocumentsParams = Lithic::Models::AccountHolderListDocumentsParams
55
59
 
56
60
  AccountHolderListParams = Lithic::Models::AccountHolderListParams
@@ -64,10 +68,14 @@ module Lithic
64
68
 
65
69
  AccountHolderSimulateEnrollmentReviewParams = Lithic::Models::AccountHolderSimulateEnrollmentReviewParams
66
70
 
71
+ AccountHolderUpdatedWebhookEvent = Lithic::Models::AccountHolderUpdatedWebhookEvent
72
+
67
73
  AccountHolderUpdateParams = Lithic::Models::AccountHolderUpdateParams
68
74
 
69
75
  AccountHolderUploadDocumentParams = Lithic::Models::AccountHolderUploadDocumentParams
70
76
 
77
+ AccountHolderVerificationWebhookEvent = Lithic::Models::AccountHolderVerificationWebhookEvent
78
+
71
79
  AccountListParams = Lithic::Models::AccountListParams
72
80
 
73
81
  AccountRetrieveParams = Lithic::Models::AccountRetrieveParams
@@ -88,8 +96,12 @@ module Lithic
88
96
 
89
97
  APIStatus = Lithic::Models::APIStatus
90
98
 
99
+ AsaRequestWebhookEvent = Lithic::Models::AsaRequestWebhookEvent
100
+
91
101
  AuthRules = Lithic::Models::AuthRules
92
102
 
103
+ AuthRulesBacktestReportCreatedWebhookEvent = Lithic::Models::AuthRulesBacktestReportCreatedWebhookEvent
104
+
93
105
  AuthStreamEnrollmentRetrieveSecretParams = Lithic::Models::AuthStreamEnrollmentRetrieveSecretParams
94
106
 
95
107
  AuthStreamEnrollmentRotateSecretParams = Lithic::Models::AuthStreamEnrollmentRotateSecretParams
@@ -100,6 +112,8 @@ module Lithic
100
112
 
101
113
  BalanceListParams = Lithic::Models::BalanceListParams
102
114
 
115
+ BalanceUpdatedWebhookEvent = Lithic::Models::BalanceUpdatedWebhookEvent
116
+
103
117
  BookTransferCreateParams = Lithic::Models::BookTransferCreateParams
104
118
 
105
119
  BookTransferListParams = Lithic::Models::BookTransferListParams
@@ -110,6 +124,10 @@ module Lithic
110
124
 
111
125
  BookTransferReverseParams = Lithic::Models::BookTransferReverseParams
112
126
 
127
+ BookTransferTransactionCreatedWebhookEvent = Lithic::Models::BookTransferTransactionCreatedWebhookEvent
128
+
129
+ BookTransferTransactionUpdatedWebhookEvent = Lithic::Models::BookTransferTransactionUpdatedWebhookEvent
130
+
113
131
  Card = Lithic::Models::Card
114
132
 
115
133
  CardBulkOrder = Lithic::Models::CardBulkOrder
@@ -122,8 +140,12 @@ module Lithic
122
140
 
123
141
  CardBulkOrderUpdateParams = Lithic::Models::CardBulkOrderUpdateParams
124
142
 
143
+ CardConvertedWebhookEvent = Lithic::Models::CardConvertedWebhookEvent
144
+
125
145
  CardConvertPhysicalParams = Lithic::Models::CardConvertPhysicalParams
126
146
 
147
+ CardCreatedWebhookEvent = Lithic::Models::CardCreatedWebhookEvent
148
+
127
149
  CardCreateParams = Lithic::Models::CardCreateParams
128
150
 
129
151
  CardEmbedParams = Lithic::Models::CardEmbedParams
@@ -140,8 +162,12 @@ module Lithic
140
162
 
141
163
  CardProvisionParams = Lithic::Models::CardProvisionParams
142
164
 
165
+ CardReissuedWebhookEvent = Lithic::Models::CardReissuedWebhookEvent
166
+
143
167
  CardReissueParams = Lithic::Models::CardReissueParams
144
168
 
169
+ CardRenewedWebhookEvent = Lithic::Models::CardRenewedWebhookEvent
170
+
145
171
  CardRenewParams = Lithic::Models::CardRenewParams
146
172
 
147
173
  CardRetrieveParams = Lithic::Models::CardRetrieveParams
@@ -152,8 +178,18 @@ module Lithic
152
178
 
153
179
  CardSearchByPanParams = Lithic::Models::CardSearchByPanParams
154
180
 
181
+ CardShippedWebhookEvent = Lithic::Models::CardShippedWebhookEvent
182
+
155
183
  CardSpendLimits = Lithic::Models::CardSpendLimits
156
184
 
185
+ CardTransactionEnhancedDataCreatedWebhookEvent =
186
+ Lithic::Models::CardTransactionEnhancedDataCreatedWebhookEvent
187
+
188
+ CardTransactionEnhancedDataUpdatedWebhookEvent =
189
+ Lithic::Models::CardTransactionEnhancedDataUpdatedWebhookEvent
190
+
191
+ CardTransactionUpdatedWebhookEvent = Lithic::Models::CardTransactionUpdatedWebhookEvent
192
+
157
193
  CardUpdateParams = Lithic::Models::CardUpdateParams
158
194
 
159
195
  CardWebProvisionParams = Lithic::Models::CardWebProvisionParams
@@ -176,6 +212,20 @@ module Lithic
176
212
 
177
213
  DigitalCardArtRetrieveParams = Lithic::Models::DigitalCardArtRetrieveParams
178
214
 
215
+ DigitalWalletTokenizationApprovalRequestWebhookEvent =
216
+ Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent
217
+
218
+ DigitalWalletTokenizationResultWebhookEvent = Lithic::Models::DigitalWalletTokenizationResultWebhookEvent
219
+
220
+ DigitalWalletTokenizationTwoFactorAuthenticationCodeSentWebhookEvent =
221
+ Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeSentWebhookEvent
222
+
223
+ DigitalWalletTokenizationTwoFactorAuthenticationCodeWebhookEvent =
224
+ Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeWebhookEvent
225
+
226
+ DigitalWalletTokenizationUpdatedWebhookEvent =
227
+ Lithic::Models::DigitalWalletTokenizationUpdatedWebhookEvent
228
+
179
229
  DigitalWalletTokenMetadata = Lithic::Models::DigitalWalletTokenMetadata
180
230
 
181
231
  Dispute = Lithic::Models::Dispute
@@ -188,6 +238,8 @@ module Lithic
188
238
 
189
239
  DisputeEvidence = Lithic::Models::DisputeEvidence
190
240
 
241
+ DisputeEvidenceUploadFailedWebhookEvent = Lithic::Models::DisputeEvidenceUploadFailedWebhookEvent
242
+
191
243
  DisputeInitiateEvidenceUploadParams = Lithic::Models::DisputeInitiateEvidenceUploadParams
192
244
 
193
245
  DisputeListEvidencesParams = Lithic::Models::DisputeListEvidencesParams
@@ -202,6 +254,12 @@ module Lithic
202
254
 
203
255
  DisputesV2RetrieveParams = Lithic::Models::DisputesV2RetrieveParams
204
256
 
257
+ DisputeTransactionCreatedWebhookEvent = Lithic::Models::DisputeTransactionCreatedWebhookEvent
258
+
259
+ DisputeTransactionUpdatedWebhookEvent = Lithic::Models::DisputeTransactionUpdatedWebhookEvent
260
+
261
+ DisputeUpdatedWebhookEvent = Lithic::Models::DisputeUpdatedWebhookEvent
262
+
205
263
  DisputeUpdateParams = Lithic::Models::DisputeUpdateParams
206
264
 
207
265
  DisputeV2 = Lithic::Models::DisputeV2
@@ -224,6 +282,8 @@ module Lithic
224
282
 
225
283
  ExternalBankAccountAddress = Lithic::Models::ExternalBankAccountAddress
226
284
 
285
+ ExternalBankAccountCreatedWebhookEvent = Lithic::Models::ExternalBankAccountCreatedWebhookEvent
286
+
227
287
  ExternalBankAccountCreateParams = Lithic::Models::ExternalBankAccountCreateParams
228
288
 
229
289
  ExternalBankAccountListParams = Lithic::Models::ExternalBankAccountListParams
@@ -238,12 +298,16 @@ module Lithic
238
298
 
239
299
  ExternalBankAccountUnpauseParams = Lithic::Models::ExternalBankAccountUnpauseParams
240
300
 
301
+ ExternalBankAccountUpdatedWebhookEvent = Lithic::Models::ExternalBankAccountUpdatedWebhookEvent
302
+
241
303
  ExternalBankAccountUpdateParams = Lithic::Models::ExternalBankAccountUpdateParams
242
304
 
243
305
  ExternalPayment = Lithic::Models::ExternalPayment
244
306
 
245
307
  ExternalPaymentCancelParams = Lithic::Models::ExternalPaymentCancelParams
246
308
 
309
+ ExternalPaymentCreatedWebhookEvent = Lithic::Models::ExternalPaymentCreatedWebhookEvent
310
+
247
311
  ExternalPaymentCreateParams = Lithic::Models::ExternalPaymentCreateParams
248
312
 
249
313
  ExternalPaymentListParams = Lithic::Models::ExternalPaymentListParams
@@ -256,6 +320,8 @@ module Lithic
256
320
 
257
321
  ExternalPaymentSettleParams = Lithic::Models::ExternalPaymentSettleParams
258
322
 
323
+ ExternalPaymentUpdatedWebhookEvent = Lithic::Models::ExternalPaymentUpdatedWebhookEvent
324
+
259
325
  ExternalResource = Lithic::Models::ExternalResource
260
326
 
261
327
  ExternalResourceType = Lithic::Models::ExternalResourceType
@@ -264,6 +330,8 @@ module Lithic
264
330
 
265
331
  FinancialAccountBalance = Lithic::Models::FinancialAccountBalance
266
332
 
333
+ FinancialAccountCreatedWebhookEvent = Lithic::Models::FinancialAccountCreatedWebhookEvent
334
+
267
335
  FinancialAccountCreateParams = Lithic::Models::FinancialAccountCreateParams
268
336
 
269
337
  FinancialAccountListParams = Lithic::Models::FinancialAccountListParams
@@ -274,6 +342,8 @@ module Lithic
274
342
 
275
343
  FinancialAccounts = Lithic::Models::FinancialAccounts
276
344
 
345
+ FinancialAccountUpdatedWebhookEvent = Lithic::Models::FinancialAccountUpdatedWebhookEvent
346
+
277
347
  FinancialAccountUpdateParams = Lithic::Models::FinancialAccountUpdateParams
278
348
 
279
349
  FinancialAccountUpdateStatusParams = Lithic::Models::FinancialAccountUpdateStatusParams
@@ -286,6 +356,8 @@ module Lithic
286
356
 
287
357
  FundingEvent = Lithic::Models::FundingEvent
288
358
 
359
+ FundingEventCreatedWebhookEvent = Lithic::Models::FundingEventCreatedWebhookEvent
360
+
289
361
  FundingEventListParams = Lithic::Models::FundingEventListParams
290
362
 
291
363
  FundingEventRetrieveDetailsParams = Lithic::Models::FundingEventRetrieveDetailsParams
@@ -296,6 +368,10 @@ module Lithic
296
368
 
297
369
  InternalTransactionAPI = Lithic::Models::InternalTransactionAPI
298
370
 
371
+ InternalTransactionCreatedWebhookEvent = Lithic::Models::InternalTransactionCreatedWebhookEvent
372
+
373
+ InternalTransactionUpdatedWebhookEvent = Lithic::Models::InternalTransactionUpdatedWebhookEvent
374
+
299
375
  KYB = Lithic::Models::KYB
300
376
 
301
377
  KYBBusinessEntity = Lithic::Models::KYBBusinessEntity
@@ -304,6 +380,12 @@ module Lithic
304
380
 
305
381
  KYCExempt = Lithic::Models::KYCExempt
306
382
 
383
+ LoanTapeCreatedWebhookEvent = Lithic::Models::LoanTapeCreatedWebhookEvent
384
+
385
+ LoanTapeUpdatedWebhookEvent = Lithic::Models::LoanTapeUpdatedWebhookEvent
386
+
387
+ ManagementOperationCreatedWebhookEvent = Lithic::Models::ManagementOperationCreatedWebhookEvent
388
+
307
389
  ManagementOperationCreateParams = Lithic::Models::ManagementOperationCreateParams
308
390
 
309
391
  ManagementOperationListParams = Lithic::Models::ManagementOperationListParams
@@ -314,6 +396,8 @@ module Lithic
314
396
 
315
397
  ManagementOperationTransaction = Lithic::Models::ManagementOperationTransaction
316
398
 
399
+ ManagementOperationUpdatedWebhookEvent = Lithic::Models::ManagementOperationUpdatedWebhookEvent
400
+
317
401
  Merchant = Lithic::Models::Merchant
318
402
 
319
403
  MessageAttempt = Lithic::Models::MessageAttempt
@@ -326,10 +410,16 @@ module Lithic
326
410
 
327
411
  NetworkTotal = Lithic::Models::NetworkTotal
328
412
 
413
+ NetworkTotalCreatedWebhookEvent = Lithic::Models::NetworkTotalCreatedWebhookEvent
414
+
415
+ NetworkTotalUpdatedWebhookEvent = Lithic::Models::NetworkTotalUpdatedWebhookEvent
416
+
329
417
  NonPCICard = Lithic::Models::NonPCICard
330
418
 
331
419
  OwnerType = Lithic::Models::OwnerType
332
420
 
421
+ ParsedWebhookEvent = Lithic::Models::ParsedWebhookEvent
422
+
333
423
  Payment = Lithic::Models::Payment
334
424
 
335
425
  PaymentCreateParams = Lithic::Models::PaymentCreateParams
@@ -350,6 +440,10 @@ module Lithic
350
440
 
351
441
  PaymentSimulateReturnParams = Lithic::Models::PaymentSimulateReturnParams
352
442
 
443
+ PaymentTransactionCreatedWebhookEvent = Lithic::Models::PaymentTransactionCreatedWebhookEvent
444
+
445
+ PaymentTransactionUpdatedWebhookEvent = Lithic::Models::PaymentTransactionUpdatedWebhookEvent
446
+
353
447
  ProvisionResponse = Lithic::Models::ProvisionResponse
354
448
 
355
449
  Reports = Lithic::Models::Reports
@@ -368,26 +462,40 @@ module Lithic
368
462
 
369
463
  SettlementReport = Lithic::Models::SettlementReport
370
464
 
465
+ SettlementReportUpdatedWebhookEvent = Lithic::Models::SettlementReportUpdatedWebhookEvent
466
+
371
467
  SettlementSummaryDetails = Lithic::Models::SettlementSummaryDetails
372
468
 
373
469
  ShippingAddress = Lithic::Models::ShippingAddress
374
470
 
375
471
  SpendLimitDuration = Lithic::Models::SpendLimitDuration
376
472
 
473
+ StatementsCreatedWebhookEvent = Lithic::Models::StatementsCreatedWebhookEvent
474
+
377
475
  StatementTotals = Lithic::Models::StatementTotals
378
476
 
379
477
  ThreeDS = Lithic::Models::ThreeDS
380
478
 
381
479
  ThreeDSAuthentication = Lithic::Models::ThreeDSAuthentication
382
480
 
481
+ ThreeDSAuthenticationChallengeWebhookEvent = Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent
482
+
483
+ ThreeDSAuthenticationCreatedWebhookEvent = Lithic::Models::ThreeDSAuthenticationCreatedWebhookEvent
484
+
485
+ ThreeDSAuthenticationUpdatedWebhookEvent = Lithic::Models::ThreeDSAuthenticationUpdatedWebhookEvent
486
+
383
487
  TokenInfo = Lithic::Models::TokenInfo
384
488
 
385
489
  Tokenization = Lithic::Models::Tokenization
386
490
 
387
491
  TokenizationActivateParams = Lithic::Models::TokenizationActivateParams
388
492
 
493
+ TokenizationApprovalRequestWebhookEvent = Lithic::Models::TokenizationApprovalRequestWebhookEvent
494
+
389
495
  TokenizationDeactivateParams = Lithic::Models::TokenizationDeactivateParams
390
496
 
497
+ TokenizationDecisioningRequestWebhookEvent = Lithic::Models::TokenizationDecisioningRequestWebhookEvent
498
+
391
499
  TokenizationDecisioningRetrieveSecretParams = Lithic::Models::TokenizationDecisioningRetrieveSecretParams
392
500
 
393
501
  TokenizationDecisioningRotateSecretParams = Lithic::Models::TokenizationDecisioningRotateSecretParams
@@ -400,6 +508,8 @@ module Lithic
400
508
 
401
509
  TokenizationResendActivationCodeParams = Lithic::Models::TokenizationResendActivationCodeParams
402
510
 
511
+ TokenizationResultWebhookEvent = Lithic::Models::TokenizationResultWebhookEvent
512
+
403
513
  TokenizationRetrieveParams = Lithic::Models::TokenizationRetrieveParams
404
514
 
405
515
  TokenizationRuleResult = Lithic::Models::TokenizationRuleResult
@@ -410,10 +520,18 @@ module Lithic
410
520
 
411
521
  TokenizationTfaReason = Lithic::Models::TokenizationTfaReason
412
522
 
523
+ TokenizationTwoFactorAuthenticationCodeSentWebhookEvent =
524
+ Lithic::Models::TokenizationTwoFactorAuthenticationCodeSentWebhookEvent
525
+
526
+ TokenizationTwoFactorAuthenticationCodeWebhookEvent =
527
+ Lithic::Models::TokenizationTwoFactorAuthenticationCodeWebhookEvent
528
+
413
529
  TokenizationUnpauseParams = Lithic::Models::TokenizationUnpauseParams
414
530
 
415
531
  TokenizationUpdateDigitalCardArtParams = Lithic::Models::TokenizationUpdateDigitalCardArtParams
416
532
 
533
+ TokenizationUpdatedWebhookEvent = Lithic::Models::TokenizationUpdatedWebhookEvent
534
+
417
535
  Transaction = Lithic::Models::Transaction
418
536
 
419
537
  TransactionExpireAuthorizationParams = Lithic::Models::TransactionExpireAuthorizationParams
@@ -448,5 +566,7 @@ module Lithic
448
566
 
449
567
  WalletDecisioningInfo = Lithic::Models::WalletDecisioningInfo
450
568
 
569
+ WebhookParsedParams = Lithic::Models::WebhookParsedParams
570
+
451
571
  WirePartyDetails = Lithic::Models::WirePartyDetails
452
572
  end
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class Webhooks
6
+ # Parses and verifies a webhook payload. Verifies the signature before parsing.
7
+ #
8
+ # @param payload [String] The raw webhook payload as a string
9
+ # @param headers [Hash{String => String}] The webhook request headers
10
+ # @param secret [String, nil] The webhook secret. If not provided, reads from LITHIC_WEBHOOK_SECRET environment variable.
11
+ #
12
+ # @return [Lithic::Models::AccountHolderCreatedWebhookEvent, Lithic::Models::ParsedWebhookEvent::KYBPayload, Lithic::Models::ParsedWebhookEvent::KYCPayload, Lithic::Models::ParsedWebhookEvent::LegacyPayload, Lithic::Models::AccountHolderVerificationWebhookEvent, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent, Lithic::Models::AsaRequestWebhookEvent, Lithic::Models::TokenizationDecisioningRequestWebhookEvent, Lithic::Models::AuthRulesBacktestReportCreatedWebhookEvent, Lithic::Models::BalanceUpdatedWebhookEvent, Lithic::Models::BookTransferTransactionCreatedWebhookEvent, Lithic::Models::BookTransferTransactionUpdatedWebhookEvent, Lithic::Models::CardCreatedWebhookEvent, Lithic::Models::CardConvertedWebhookEvent, Lithic::Models::CardRenewedWebhookEvent, Lithic::Models::CardReissuedWebhookEvent, Lithic::Models::CardShippedWebhookEvent, Lithic::Models::CardTransactionUpdatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataCreatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataUpdatedWebhookEvent, Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent, Lithic::Models::DigitalWalletTokenizationResultWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::DigitalWalletTokenizationUpdatedWebhookEvent, Lithic::Models::DisputeUpdatedWebhookEvent, Lithic::Models::DisputeEvidenceUploadFailedWebhookEvent, Lithic::Models::ExternalBankAccountCreatedWebhookEvent, Lithic::Models::ExternalBankAccountUpdatedWebhookEvent, Lithic::Models::ExternalPaymentCreatedWebhookEvent, Lithic::Models::ExternalPaymentUpdatedWebhookEvent, Lithic::Models::FinancialAccountCreatedWebhookEvent, Lithic::Models::FinancialAccountUpdatedWebhookEvent, Lithic::Models::FundingEventCreatedWebhookEvent, Lithic::Models::LoanTapeCreatedWebhookEvent, Lithic::Models::LoanTapeUpdatedWebhookEvent, Lithic::Models::ManagementOperationCreatedWebhookEvent, Lithic::Models::ManagementOperationUpdatedWebhookEvent, Lithic::Models::InternalTransactionCreatedWebhookEvent, Lithic::Models::InternalTransactionUpdatedWebhookEvent, Lithic::Models::NetworkTotalCreatedWebhookEvent, Lithic::Models::NetworkTotalUpdatedWebhookEvent, Lithic::Models::PaymentTransactionCreatedWebhookEvent, Lithic::Models::PaymentTransactionUpdatedWebhookEvent, Lithic::Models::SettlementReportUpdatedWebhookEvent, Lithic::Models::StatementsCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent, Lithic::Models::TokenizationApprovalRequestWebhookEvent, Lithic::Models::TokenizationResultWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::TokenizationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthentication, Lithic::Models::DisputeTransactionCreatedWebhookEvent, Lithic::Models::DisputeTransactionUpdatedWebhookEvent]
13
+ #
14
+ # @raise [ArgumentError] if secret is not provided and LITHIC_WEBHOOK_SECRET env var is not set
15
+ # @raise [Lithic::Errors::MissingDependencyError] if the standardwebhooks gem is not installed
16
+ # @raise [StandardWebhooks::WebhookVerificationError] if the signature is invalid
17
+ #
18
+ # @example
19
+ # event = lithic.webhooks.parse(
20
+ # request.body.read,
21
+ # headers: request.headers
22
+ # )
23
+ def parse(payload, headers:, secret: nil)
24
+ verified_json = verify_signature(payload: payload, headers: headers, secret: secret)
25
+ Lithic::Internal::Type::Converter.coerce(Lithic::Models::ParsedWebhookEvent, verified_json)
26
+ end
27
+
28
+ # Parses a webhook payload without verifying the signature.
29
+ #
30
+ # WARNING: This method does not verify the webhook signature. Use only for testing or when
31
+ # signature verification is not required.
32
+ #
33
+ # @param payload [String] The raw webhook payload as a string
34
+ #
35
+ # @return [Lithic::Models::AccountHolderCreatedWebhookEvent, Lithic::Models::ParsedWebhookEvent::KYBPayload, Lithic::Models::ParsedWebhookEvent::KYCPayload, Lithic::Models::ParsedWebhookEvent::LegacyPayload, Lithic::Models::AccountHolderVerificationWebhookEvent, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent, Lithic::Models::AsaRequestWebhookEvent, Lithic::Models::TokenizationDecisioningRequestWebhookEvent, Lithic::Models::AuthRulesBacktestReportCreatedWebhookEvent, Lithic::Models::BalanceUpdatedWebhookEvent, Lithic::Models::BookTransferTransactionCreatedWebhookEvent, Lithic::Models::BookTransferTransactionUpdatedWebhookEvent, Lithic::Models::CardCreatedWebhookEvent, Lithic::Models::CardConvertedWebhookEvent, Lithic::Models::CardRenewedWebhookEvent, Lithic::Models::CardReissuedWebhookEvent, Lithic::Models::CardShippedWebhookEvent, Lithic::Models::CardTransactionUpdatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataCreatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataUpdatedWebhookEvent, Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent, Lithic::Models::DigitalWalletTokenizationResultWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::DigitalWalletTokenizationUpdatedWebhookEvent, Lithic::Models::DisputeUpdatedWebhookEvent, Lithic::Models::DisputeEvidenceUploadFailedWebhookEvent, Lithic::Models::ExternalBankAccountCreatedWebhookEvent, Lithic::Models::ExternalBankAccountUpdatedWebhookEvent, Lithic::Models::ExternalPaymentCreatedWebhookEvent, Lithic::Models::ExternalPaymentUpdatedWebhookEvent, Lithic::Models::FinancialAccountCreatedWebhookEvent, Lithic::Models::FinancialAccountUpdatedWebhookEvent, Lithic::Models::FundingEventCreatedWebhookEvent, Lithic::Models::LoanTapeCreatedWebhookEvent, Lithic::Models::LoanTapeUpdatedWebhookEvent, Lithic::Models::ManagementOperationCreatedWebhookEvent, Lithic::Models::ManagementOperationUpdatedWebhookEvent, Lithic::Models::InternalTransactionCreatedWebhookEvent, Lithic::Models::InternalTransactionUpdatedWebhookEvent, Lithic::Models::NetworkTotalCreatedWebhookEvent, Lithic::Models::NetworkTotalUpdatedWebhookEvent, Lithic::Models::PaymentTransactionCreatedWebhookEvent, Lithic::Models::PaymentTransactionUpdatedWebhookEvent, Lithic::Models::SettlementReportUpdatedWebhookEvent, Lithic::Models::StatementsCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent, Lithic::Models::TokenizationApprovalRequestWebhookEvent, Lithic::Models::TokenizationResultWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::TokenizationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthentication, Lithic::Models::DisputeTransactionCreatedWebhookEvent, Lithic::Models::DisputeTransactionUpdatedWebhookEvent]
36
+ def parse_unsafe(payload)
37
+ parsed = JSON.parse(payload, symbolize_names: true)
38
+ Lithic::Internal::Type::Converter.coerce(Lithic::Models::ParsedWebhookEvent, parsed)
39
+ end
40
+
41
+ # Verifies the signature of a webhook payload using the Standard Webhooks specification.
42
+ #
43
+ # @param payload [String] The raw webhook payload as a string
44
+ # @param headers [Hash{String => String}] The webhook request headers
45
+ # @param secret [String, nil] The webhook secret (with or without the "whsec_" prefix).
46
+ # If not provided, reads from LITHIC_WEBHOOK_SECRET environment variable.
47
+ #
48
+ # @return [Hash] The parsed webhook payload with symbolized keys
49
+ #
50
+ # @raise [ArgumentError] if secret is not provided and LITHIC_WEBHOOK_SECRET env var is not set
51
+ # @raise [Lithic::Errors::MissingDependencyError] if the standardwebhooks gem is not installed
52
+ # @raise [StandardWebhooks::WebhookVerificationError] if the signature is invalid
53
+ #
54
+ # @example
55
+ # json = lithic.webhooks.verify_signature(
56
+ # payload: request.body.read,
57
+ # headers: request.headers
58
+ # )
59
+ # puts json[:event_type]
60
+ def verify_signature(payload:, headers:, secret: nil)
61
+ secret ||= ENV["LITHIC_WEBHOOK_SECRET"]
62
+ if secret.nil? || secret.empty?
63
+ raise ArgumentError, "Webhook secret must be provided or set in LITHIC_WEBHOOK_SECRET environment variable"
64
+ end
65
+
66
+ begin
67
+ require("standardwebhooks")
68
+ rescue LoadError
69
+ raise Lithic::Errors::MissingDependencyError.new(
70
+ gem_name: "standardwebhooks",
71
+ feature: "webhook signature verification"
72
+ )
73
+ end
74
+
75
+ wh = StandardWebhooks::Webhook.new(secret)
76
+ wh.verify(payload, headers)
77
+ end
78
+
79
+ # @api private
80
+ #
81
+ # @param client [Lithic::Client]
82
+ def initialize(client:)
83
+ @client = client
84
+ end
85
+ end
86
+ end
87
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lithic
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end