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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +36 -1
- data/lib/lithic/client.rb +4 -0
- data/lib/lithic/errors.rb +15 -0
- data/lib/lithic/models/account_holder_created_webhook_event.rb +75 -0
- data/lib/lithic/models/account_holder_document_updated_webhook_event.rb +191 -0
- data/lib/lithic/models/account_holder_updated_webhook_event.rb +702 -0
- data/lib/lithic/models/account_holder_verification_webhook_event.rb +69 -0
- data/lib/lithic/models/asa_request_webhook_event.rb +1010 -0
- data/lib/lithic/models/auth_rules_backtest_report_created_webhook_event.rb +16 -0
- data/lib/lithic/models/balance_updated_webhook_event.rb +23 -0
- data/lib/lithic/models/book_transfer_transaction_created_webhook_event.rb +18 -0
- data/lib/lithic/models/book_transfer_transaction_updated_webhook_event.rb +18 -0
- data/lib/lithic/models/card_converted_webhook_event.rb +24 -0
- data/lib/lithic/models/card_created_webhook_event.rb +32 -0
- data/lib/lithic/models/card_reissued_webhook_event.rb +24 -0
- data/lib/lithic/models/card_renewed_webhook_event.rb +56 -0
- data/lib/lithic/models/card_shipped_webhook_event.rb +70 -0
- data/lib/lithic/models/card_transaction_enhanced_data_created_webhook_event.rb +16 -0
- data/lib/lithic/models/card_transaction_enhanced_data_updated_webhook_event.rb +16 -0
- data/lib/lithic/models/card_transaction_updated_webhook_event.rb +16 -0
- data/lib/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rb +253 -0
- data/lib/lithic/models/digital_wallet_tokenization_result_webhook_event.rb +145 -0
- data/lib/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_sent_webhook_event.rb +100 -0
- data/lib/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_webhook_event.rb +108 -0
- data/lib/lithic/models/digital_wallet_tokenization_updated_webhook_event.rb +47 -0
- data/lib/lithic/models/dispute_evidence_upload_failed_webhook_event.rb +18 -0
- data/lib/lithic/models/dispute_transaction_created_webhook_event.rb +18 -0
- data/lib/lithic/models/dispute_transaction_updated_webhook_event.rb +18 -0
- data/lib/lithic/models/dispute_updated_webhook_event.rb +18 -0
- data/lib/lithic/models/external_bank_account_created_webhook_event.rb +16 -0
- data/lib/lithic/models/external_bank_account_updated_webhook_event.rb +16 -0
- data/lib/lithic/models/external_payment_created_webhook_event.rb +16 -0
- data/lib/lithic/models/external_payment_updated_webhook_event.rb +16 -0
- data/lib/lithic/models/financial_account_created_webhook_event.rb +16 -0
- data/lib/lithic/models/financial_account_updated_webhook_event.rb +16 -0
- data/lib/lithic/models/funding_event_created_webhook_event.rb +16 -0
- data/lib/lithic/models/internal_transaction_created_webhook_event.rb +16 -0
- data/lib/lithic/models/internal_transaction_updated_webhook_event.rb +16 -0
- data/lib/lithic/models/loan_tape_created_webhook_event.rb +16 -0
- data/lib/lithic/models/loan_tape_updated_webhook_event.rb +16 -0
- data/lib/lithic/models/management_operation_created_webhook_event.rb +16 -0
- data/lib/lithic/models/management_operation_updated_webhook_event.rb +16 -0
- data/lib/lithic/models/network_total_created_webhook_event.rb +16 -0
- data/lib/lithic/models/network_total_updated_webhook_event.rb +16 -0
- data/lib/lithic/models/parsed_webhook_event.rb +818 -0
- data/lib/lithic/models/payment_transaction_created_webhook_event.rb +18 -0
- data/lib/lithic/models/payment_transaction_updated_webhook_event.rb +18 -0
- data/lib/lithic/models/settlement_report_updated_webhook_event.rb +16 -0
- data/lib/lithic/models/statements_created_webhook_event.rb +16 -0
- data/lib/lithic/models/three_ds_authentication_challenge_webhook_event.rb +89 -0
- data/lib/lithic/models/three_ds_authentication_created_webhook_event.rb +18 -0
- data/lib/lithic/models/three_ds_authentication_updated_webhook_event.rb +18 -0
- data/lib/lithic/models/tokenization_approval_request_webhook_event.rb +249 -0
- data/lib/lithic/models/tokenization_decisioning_request_webhook_event.rb +159 -0
- data/lib/lithic/models/tokenization_result_webhook_event.rb +141 -0
- data/lib/lithic/models/tokenization_two_factor_authentication_code_sent_webhook_event.rb +100 -0
- data/lib/lithic/models/tokenization_two_factor_authentication_code_webhook_event.rb +108 -0
- data/lib/lithic/models/tokenization_updated_webhook_event.rb +47 -0
- data/lib/lithic/models/webhook_parsed_params.rb +14 -0
- data/lib/lithic/models.rb +120 -0
- data/lib/lithic/resources/webhooks.rb +87 -0
- data/lib/lithic/version.rb +1 -1
- data/lib/lithic.rb +74 -17
- data/rbi/lithic/client.rbi +3 -0
- data/rbi/lithic/models/account_holder_created_webhook_event.rbi +149 -0
- data/rbi/lithic/models/account_holder_document_updated_webhook_event.rbi +479 -0
- data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +1274 -0
- data/rbi/lithic/models/account_holder_verification_webhook_event.rbi +143 -0
- data/rbi/lithic/models/asa_request_webhook_event.rbi +2229 -0
- data/rbi/lithic/models/auth_rules_backtest_report_created_webhook_event.rbi +30 -0
- data/rbi/lithic/models/balance_updated_webhook_event.rbi +43 -0
- data/rbi/lithic/models/book_transfer_transaction_created_webhook_event.rbi +31 -0
- data/rbi/lithic/models/book_transfer_transaction_updated_webhook_event.rbi +31 -0
- data/rbi/lithic/models/card_converted_webhook_event.rbi +35 -0
- data/rbi/lithic/models/card_created_webhook_event.rbi +53 -0
- data/rbi/lithic/models/card_reissued_webhook_event.rbi +38 -0
- data/rbi/lithic/models/card_renewed_webhook_event.rbi +92 -0
- data/rbi/lithic/models/card_shipped_webhook_event.rbi +150 -0
- data/rbi/lithic/models/card_transaction_enhanced_data_created_webhook_event.rbi +30 -0
- data/rbi/lithic/models/card_transaction_enhanced_data_updated_webhook_event.rbi +30 -0
- data/rbi/lithic/models/card_transaction_updated_webhook_event.rbi +30 -0
- data/rbi/lithic/models/digital_wallet_token_metadata.rbi +2 -2
- data/rbi/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbi +548 -0
- data/rbi/lithic/models/digital_wallet_tokenization_result_webhook_event.rbi +295 -0
- data/rbi/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_sent_webhook_event.rbi +186 -0
- data/rbi/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_webhook_event.rbi +194 -0
- data/rbi/lithic/models/digital_wallet_tokenization_updated_webhook_event.rbi +73 -0
- data/rbi/lithic/models/dispute_evidence_upload_failed_webhook_event.rbi +31 -0
- data/rbi/lithic/models/dispute_transaction_created_webhook_event.rbi +31 -0
- data/rbi/lithic/models/dispute_transaction_updated_webhook_event.rbi +31 -0
- data/rbi/lithic/models/dispute_updated_webhook_event.rbi +28 -0
- data/rbi/lithic/models/external_bank_account_created_webhook_event.rbi +30 -0
- data/rbi/lithic/models/external_bank_account_updated_webhook_event.rbi +30 -0
- data/rbi/lithic/models/external_payment_created_webhook_event.rbi +30 -0
- data/rbi/lithic/models/external_payment_updated_webhook_event.rbi +30 -0
- data/rbi/lithic/models/financial_account_created_webhook_event.rbi +30 -0
- data/rbi/lithic/models/financial_account_updated_webhook_event.rbi +30 -0
- data/rbi/lithic/models/funding_event_created_webhook_event.rbi +30 -0
- data/rbi/lithic/models/internal_transaction.rbi +15 -10
- data/rbi/lithic/models/internal_transaction_created_webhook_event.rbi +30 -0
- data/rbi/lithic/models/internal_transaction_updated_webhook_event.rbi +30 -0
- data/rbi/lithic/models/loan_tape_created_webhook_event.rbi +27 -0
- data/rbi/lithic/models/loan_tape_updated_webhook_event.rbi +27 -0
- data/rbi/lithic/models/management_operation_created_webhook_event.rbi +30 -0
- data/rbi/lithic/models/management_operation_updated_webhook_event.rbi +30 -0
- data/rbi/lithic/models/network_total_created_webhook_event.rbi +30 -0
- data/rbi/lithic/models/network_total_updated_webhook_event.rbi +30 -0
- data/rbi/lithic/models/parsed_webhook_event.rbi +1310 -0
- data/rbi/lithic/models/payment_transaction_created_webhook_event.rbi +31 -0
- data/rbi/lithic/models/payment_transaction_updated_webhook_event.rbi +31 -0
- data/rbi/lithic/models/settlement_report_updated_webhook_event.rbi +30 -0
- data/rbi/lithic/models/statements_created_webhook_event.rbi +30 -0
- data/rbi/lithic/models/three_ds_authentication_challenge_webhook_event.rbi +175 -0
- data/rbi/lithic/models/three_ds_authentication_created_webhook_event.rbi +31 -0
- data/rbi/lithic/models/three_ds_authentication_updated_webhook_event.rbi +31 -0
- data/rbi/lithic/models/tokenization_approval_request_webhook_event.rbi +548 -0
- data/rbi/lithic/models/tokenization_decisioning_request_webhook_event.rbi +333 -0
- data/rbi/lithic/models/tokenization_result_webhook_event.rbi +295 -0
- data/rbi/lithic/models/tokenization_two_factor_authentication_code_sent_webhook_event.rbi +186 -0
- data/rbi/lithic/models/tokenization_two_factor_authentication_code_webhook_event.rbi +194 -0
- data/rbi/lithic/models/tokenization_updated_webhook_event.rbi +73 -0
- data/rbi/lithic/models/webhook_parsed_params.rbi +27 -0
- data/rbi/lithic/models.rbi +155 -0
- data/rbi/lithic/resources/webhooks.rbi +158 -0
- data/sig/lithic/client.rbs +2 -0
- data/sig/lithic/models/account_holder_created_webhook_event.rbs +77 -0
- data/sig/lithic/models/account_holder_document_updated_webhook_event.rbs +219 -0
- data/sig/lithic/models/account_holder_updated_webhook_event.rbs +587 -0
- data/sig/lithic/models/account_holder_verification_webhook_event.rbs +69 -0
- data/sig/lithic/models/asa_request_webhook_event.rbs +881 -0
- data/sig/lithic/models/auth_rules_backtest_report_created_webhook_event.rbs +20 -0
- data/sig/lithic/models/balance_updated_webhook_event.rbs +25 -0
- data/sig/lithic/models/book_transfer_transaction_created_webhook_event.rbs +20 -0
- data/sig/lithic/models/book_transfer_transaction_updated_webhook_event.rbs +20 -0
- data/sig/lithic/models/card_converted_webhook_event.rbs +19 -0
- data/sig/lithic/models/card_created_webhook_event.rbs +30 -0
- data/sig/lithic/models/card_reissued_webhook_event.rbs +21 -0
- data/sig/lithic/models/card_renewed_webhook_event.rbs +55 -0
- data/sig/lithic/models/card_shipped_webhook_event.rbs +71 -0
- data/sig/lithic/models/card_transaction_enhanced_data_created_webhook_event.rbs +20 -0
- data/sig/lithic/models/card_transaction_enhanced_data_updated_webhook_event.rbs +20 -0
- data/sig/lithic/models/card_transaction_updated_webhook_event.rbs +18 -0
- data/sig/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbs +223 -0
- data/sig/lithic/models/digital_wallet_tokenization_result_webhook_event.rbs +133 -0
- data/sig/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_sent_webhook_event.rbs +78 -0
- data/sig/lithic/models/digital_wallet_tokenization_two_factor_authentication_code_webhook_event.rbs +83 -0
- data/sig/lithic/models/digital_wallet_tokenization_updated_webhook_event.rbs +40 -0
- data/sig/lithic/models/dispute_evidence_upload_failed_webhook_event.rbs +18 -0
- data/sig/lithic/models/dispute_transaction_created_webhook_event.rbs +18 -0
- data/sig/lithic/models/dispute_transaction_updated_webhook_event.rbs +18 -0
- data/sig/lithic/models/dispute_updated_webhook_event.rbs +15 -0
- data/sig/lithic/models/external_bank_account_created_webhook_event.rbs +18 -0
- data/sig/lithic/models/external_bank_account_updated_webhook_event.rbs +18 -0
- data/sig/lithic/models/external_payment_created_webhook_event.rbs +18 -0
- data/sig/lithic/models/external_payment_updated_webhook_event.rbs +18 -0
- data/sig/lithic/models/financial_account_created_webhook_event.rbs +18 -0
- data/sig/lithic/models/financial_account_updated_webhook_event.rbs +18 -0
- data/sig/lithic/models/funding_event_created_webhook_event.rbs +16 -0
- data/sig/lithic/models/internal_transaction_created_webhook_event.rbs +18 -0
- data/sig/lithic/models/internal_transaction_updated_webhook_event.rbs +18 -0
- data/sig/lithic/models/loan_tape_created_webhook_event.rbs +15 -0
- data/sig/lithic/models/loan_tape_updated_webhook_event.rbs +15 -0
- data/sig/lithic/models/management_operation_created_webhook_event.rbs +18 -0
- data/sig/lithic/models/management_operation_updated_webhook_event.rbs +18 -0
- data/sig/lithic/models/network_total_created_webhook_event.rbs +16 -0
- data/sig/lithic/models/network_total_updated_webhook_event.rbs +16 -0
- data/sig/lithic/models/parsed_webhook_event.rbs +641 -0
- data/sig/lithic/models/payment_transaction_created_webhook_event.rbs +18 -0
- data/sig/lithic/models/payment_transaction_updated_webhook_event.rbs +18 -0
- data/sig/lithic/models/settlement_report_updated_webhook_event.rbs +18 -0
- data/sig/lithic/models/statements_created_webhook_event.rbs +16 -0
- data/sig/lithic/models/three_ds_authentication_challenge_webhook_event.rbs +72 -0
- data/sig/lithic/models/three_ds_authentication_created_webhook_event.rbs +18 -0
- data/sig/lithic/models/three_ds_authentication_updated_webhook_event.rbs +18 -0
- data/sig/lithic/models/tokenization_approval_request_webhook_event.rbs +223 -0
- data/sig/lithic/models/tokenization_decisioning_request_webhook_event.rbs +134 -0
- data/sig/lithic/models/tokenization_result_webhook_event.rbs +133 -0
- data/sig/lithic/models/tokenization_two_factor_authentication_code_sent_webhook_event.rbs +78 -0
- data/sig/lithic/models/tokenization_two_factor_authentication_code_webhook_event.rbs +83 -0
- data/sig/lithic/models/tokenization_updated_webhook_event.rbs +40 -0
- data/sig/lithic/models/webhook_parsed_params.rbs +15 -0
- data/sig/lithic/models.rbs +112 -0
- data/sig/lithic/resources/webhooks.rbs +135 -0
- 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
|
data/lib/lithic/version.rb
CHANGED