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
@@ -0,0 +1,548 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class TokenizationApprovalRequestWebhookEvent < Lithic::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Lithic::TokenizationApprovalRequestWebhookEvent,
10
+ Lithic::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Unique identifier for the user tokenizing a card
15
+ sig { returns(String) }
16
+ attr_accessor :account_token
17
+
18
+ # Unique identifier for the card being tokenized
19
+ sig { returns(String) }
20
+ attr_accessor :card_token
21
+
22
+ # Indicate when the request was received from Mastercard or Visa
23
+ sig { returns(Time) }
24
+ attr_accessor :created
25
+
26
+ # Contains the metadata for the customer tokenization decision.
27
+ sig do
28
+ returns(
29
+ T.nilable(
30
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision
31
+ )
32
+ )
33
+ end
34
+ attr_reader :customer_tokenization_decision
35
+
36
+ sig do
37
+ params(
38
+ customer_tokenization_decision:
39
+ T.nilable(
40
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::OrHash
41
+ )
42
+ ).void
43
+ end
44
+ attr_writer :customer_tokenization_decision
45
+
46
+ # The name of this event
47
+ sig do
48
+ returns(
49
+ Lithic::TokenizationApprovalRequestWebhookEvent::EventType::TaggedSymbol
50
+ )
51
+ end
52
+ attr_accessor :event_type
53
+
54
+ # Whether Lithic decisioned on the token, and if so, what the decision was.
55
+ # APPROVED/VERIFICATION_REQUIRED/DENIED.
56
+ sig do
57
+ returns(
58
+ Lithic::TokenizationApprovalRequestWebhookEvent::IssuerDecision::TaggedSymbol
59
+ )
60
+ end
61
+ attr_accessor :issuer_decision
62
+
63
+ # The channel through which the tokenization was made.
64
+ sig do
65
+ returns(
66
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationChannel::TaggedSymbol
67
+ )
68
+ end
69
+ attr_accessor :tokenization_channel
70
+
71
+ # Unique identifier for the digital wallet token attempt
72
+ sig { returns(String) }
73
+ attr_accessor :tokenization_token
74
+
75
+ sig { returns(Lithic::WalletDecisioningInfo) }
76
+ attr_reader :wallet_decisioning_info
77
+
78
+ sig do
79
+ params(
80
+ wallet_decisioning_info: Lithic::WalletDecisioningInfo::OrHash
81
+ ).void
82
+ end
83
+ attr_writer :wallet_decisioning_info
84
+
85
+ sig { returns(T.nilable(Lithic::Device)) }
86
+ attr_reader :device
87
+
88
+ sig { params(device: Lithic::Device::OrHash).void }
89
+ attr_writer :device
90
+
91
+ # Contains the metadata for the digital wallet being tokenized.
92
+ sig { returns(T.nilable(Lithic::DigitalWalletTokenMetadata)) }
93
+ attr_reader :digital_wallet_token_metadata
94
+
95
+ sig do
96
+ params(
97
+ digital_wallet_token_metadata:
98
+ Lithic::DigitalWalletTokenMetadata::OrHash
99
+ ).void
100
+ end
101
+ attr_writer :digital_wallet_token_metadata
102
+
103
+ # Results from rules that were evaluated for this tokenization
104
+ sig { returns(T.nilable(T::Array[Lithic::TokenizationRuleResult])) }
105
+ attr_reader :rule_results
106
+
107
+ sig do
108
+ params(
109
+ rule_results: T::Array[Lithic::TokenizationRuleResult::OrHash]
110
+ ).void
111
+ end
112
+ attr_writer :rule_results
113
+
114
+ # List of reasons why the tokenization was declined
115
+ sig do
116
+ returns(
117
+ T.nilable(T::Array[Lithic::TokenizationDeclineReason::TaggedSymbol])
118
+ )
119
+ end
120
+ attr_reader :tokenization_decline_reasons
121
+
122
+ sig do
123
+ params(
124
+ tokenization_decline_reasons:
125
+ T::Array[Lithic::TokenizationDeclineReason::OrSymbol]
126
+ ).void
127
+ end
128
+ attr_writer :tokenization_decline_reasons
129
+
130
+ # The source of the tokenization.
131
+ sig do
132
+ returns(
133
+ T.nilable(
134
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationSource::TaggedSymbol
135
+ )
136
+ )
137
+ end
138
+ attr_reader :tokenization_source
139
+
140
+ sig do
141
+ params(
142
+ tokenization_source:
143
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationSource::OrSymbol
144
+ ).void
145
+ end
146
+ attr_writer :tokenization_source
147
+
148
+ # List of reasons why two-factor authentication was required
149
+ sig do
150
+ returns(
151
+ T.nilable(T::Array[Lithic::TokenizationTfaReason::TaggedSymbol])
152
+ )
153
+ end
154
+ attr_reader :tokenization_tfa_reasons
155
+
156
+ sig do
157
+ params(
158
+ tokenization_tfa_reasons:
159
+ T::Array[Lithic::TokenizationTfaReason::OrSymbol]
160
+ ).void
161
+ end
162
+ attr_writer :tokenization_tfa_reasons
163
+
164
+ sig do
165
+ params(
166
+ account_token: String,
167
+ card_token: String,
168
+ created: Time,
169
+ customer_tokenization_decision:
170
+ T.nilable(
171
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::OrHash
172
+ ),
173
+ event_type:
174
+ Lithic::TokenizationApprovalRequestWebhookEvent::EventType::OrSymbol,
175
+ issuer_decision:
176
+ Lithic::TokenizationApprovalRequestWebhookEvent::IssuerDecision::OrSymbol,
177
+ tokenization_channel:
178
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationChannel::OrSymbol,
179
+ tokenization_token: String,
180
+ wallet_decisioning_info: Lithic::WalletDecisioningInfo::OrHash,
181
+ device: Lithic::Device::OrHash,
182
+ digital_wallet_token_metadata:
183
+ Lithic::DigitalWalletTokenMetadata::OrHash,
184
+ rule_results: T::Array[Lithic::TokenizationRuleResult::OrHash],
185
+ tokenization_decline_reasons:
186
+ T::Array[Lithic::TokenizationDeclineReason::OrSymbol],
187
+ tokenization_source:
188
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationSource::OrSymbol,
189
+ tokenization_tfa_reasons:
190
+ T::Array[Lithic::TokenizationTfaReason::OrSymbol]
191
+ ).returns(T.attached_class)
192
+ end
193
+ def self.new(
194
+ # Unique identifier for the user tokenizing a card
195
+ account_token:,
196
+ # Unique identifier for the card being tokenized
197
+ card_token:,
198
+ # Indicate when the request was received from Mastercard or Visa
199
+ created:,
200
+ # Contains the metadata for the customer tokenization decision.
201
+ customer_tokenization_decision:,
202
+ # The name of this event
203
+ event_type:,
204
+ # Whether Lithic decisioned on the token, and if so, what the decision was.
205
+ # APPROVED/VERIFICATION_REQUIRED/DENIED.
206
+ issuer_decision:,
207
+ # The channel through which the tokenization was made.
208
+ tokenization_channel:,
209
+ # Unique identifier for the digital wallet token attempt
210
+ tokenization_token:,
211
+ wallet_decisioning_info:,
212
+ device: nil,
213
+ # Contains the metadata for the digital wallet being tokenized.
214
+ digital_wallet_token_metadata: nil,
215
+ # Results from rules that were evaluated for this tokenization
216
+ rule_results: nil,
217
+ # List of reasons why the tokenization was declined
218
+ tokenization_decline_reasons: nil,
219
+ # The source of the tokenization.
220
+ tokenization_source: nil,
221
+ # List of reasons why two-factor authentication was required
222
+ tokenization_tfa_reasons: nil
223
+ )
224
+ end
225
+
226
+ sig do
227
+ override.returns(
228
+ {
229
+ account_token: String,
230
+ card_token: String,
231
+ created: Time,
232
+ customer_tokenization_decision:
233
+ T.nilable(
234
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision
235
+ ),
236
+ event_type:
237
+ Lithic::TokenizationApprovalRequestWebhookEvent::EventType::TaggedSymbol,
238
+ issuer_decision:
239
+ Lithic::TokenizationApprovalRequestWebhookEvent::IssuerDecision::TaggedSymbol,
240
+ tokenization_channel:
241
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationChannel::TaggedSymbol,
242
+ tokenization_token: String,
243
+ wallet_decisioning_info: Lithic::WalletDecisioningInfo,
244
+ device: Lithic::Device,
245
+ digital_wallet_token_metadata: Lithic::DigitalWalletTokenMetadata,
246
+ rule_results: T::Array[Lithic::TokenizationRuleResult],
247
+ tokenization_decline_reasons:
248
+ T::Array[Lithic::TokenizationDeclineReason::TaggedSymbol],
249
+ tokenization_source:
250
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationSource::TaggedSymbol,
251
+ tokenization_tfa_reasons:
252
+ T::Array[Lithic::TokenizationTfaReason::TaggedSymbol]
253
+ }
254
+ )
255
+ end
256
+ def to_hash
257
+ end
258
+
259
+ class CustomerTokenizationDecision < Lithic::Internal::Type::BaseModel
260
+ OrHash =
261
+ T.type_alias do
262
+ T.any(
263
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision,
264
+ Lithic::Internal::AnyHash
265
+ )
266
+ end
267
+
268
+ # The outcome of the customer's decision
269
+ sig do
270
+ returns(
271
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome::TaggedSymbol
272
+ )
273
+ end
274
+ attr_accessor :outcome
275
+
276
+ # The customer's subscribed URL
277
+ sig { returns(String) }
278
+ attr_accessor :responder_url
279
+
280
+ # Time in ms it took for the customer's URL to respond
281
+ sig { returns(T.nilable(String)) }
282
+ attr_reader :latency
283
+
284
+ sig { params(latency: String).void }
285
+ attr_writer :latency
286
+
287
+ # The response code that the customer provided
288
+ sig { returns(T.nilable(String)) }
289
+ attr_reader :response_code
290
+
291
+ sig { params(response_code: String).void }
292
+ attr_writer :response_code
293
+
294
+ # Contains the metadata for the customer tokenization decision.
295
+ sig do
296
+ params(
297
+ outcome:
298
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome::OrSymbol,
299
+ responder_url: String,
300
+ latency: String,
301
+ response_code: String
302
+ ).returns(T.attached_class)
303
+ end
304
+ def self.new(
305
+ # The outcome of the customer's decision
306
+ outcome:,
307
+ # The customer's subscribed URL
308
+ responder_url:,
309
+ # Time in ms it took for the customer's URL to respond
310
+ latency: nil,
311
+ # The response code that the customer provided
312
+ response_code: nil
313
+ )
314
+ end
315
+
316
+ sig do
317
+ override.returns(
318
+ {
319
+ outcome:
320
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome::TaggedSymbol,
321
+ responder_url: String,
322
+ latency: String,
323
+ response_code: String
324
+ }
325
+ )
326
+ end
327
+ def to_hash
328
+ end
329
+
330
+ # The outcome of the customer's decision
331
+ module Outcome
332
+ extend Lithic::Internal::Type::Enum
333
+
334
+ TaggedSymbol =
335
+ T.type_alias do
336
+ T.all(
337
+ Symbol,
338
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome
339
+ )
340
+ end
341
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
342
+
343
+ APPROVED =
344
+ T.let(
345
+ :APPROVED,
346
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome::TaggedSymbol
347
+ )
348
+ DECLINED =
349
+ T.let(
350
+ :DECLINED,
351
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome::TaggedSymbol
352
+ )
353
+ ERROR =
354
+ T.let(
355
+ :ERROR,
356
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome::TaggedSymbol
357
+ )
358
+ INVALID_RESPONSE =
359
+ T.let(
360
+ :INVALID_RESPONSE,
361
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome::TaggedSymbol
362
+ )
363
+ REQUIRE_ADDITIONAL_AUTHENTICATION =
364
+ T.let(
365
+ :REQUIRE_ADDITIONAL_AUTHENTICATION,
366
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome::TaggedSymbol
367
+ )
368
+ TIMEOUT =
369
+ T.let(
370
+ :TIMEOUT,
371
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome::TaggedSymbol
372
+ )
373
+
374
+ sig do
375
+ override.returns(
376
+ T::Array[
377
+ Lithic::TokenizationApprovalRequestWebhookEvent::CustomerTokenizationDecision::Outcome::TaggedSymbol
378
+ ]
379
+ )
380
+ end
381
+ def self.values
382
+ end
383
+ end
384
+ end
385
+
386
+ # The name of this event
387
+ module EventType
388
+ extend Lithic::Internal::Type::Enum
389
+
390
+ TaggedSymbol =
391
+ T.type_alias do
392
+ T.all(
393
+ Symbol,
394
+ Lithic::TokenizationApprovalRequestWebhookEvent::EventType
395
+ )
396
+ end
397
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
398
+
399
+ TOKENIZATION_APPROVAL_REQUEST =
400
+ T.let(
401
+ :"tokenization.approval_request",
402
+ Lithic::TokenizationApprovalRequestWebhookEvent::EventType::TaggedSymbol
403
+ )
404
+
405
+ sig do
406
+ override.returns(
407
+ T::Array[
408
+ Lithic::TokenizationApprovalRequestWebhookEvent::EventType::TaggedSymbol
409
+ ]
410
+ )
411
+ end
412
+ def self.values
413
+ end
414
+ end
415
+
416
+ # Whether Lithic decisioned on the token, and if so, what the decision was.
417
+ # APPROVED/VERIFICATION_REQUIRED/DENIED.
418
+ module IssuerDecision
419
+ extend Lithic::Internal::Type::Enum
420
+
421
+ TaggedSymbol =
422
+ T.type_alias do
423
+ T.all(
424
+ Symbol,
425
+ Lithic::TokenizationApprovalRequestWebhookEvent::IssuerDecision
426
+ )
427
+ end
428
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
429
+
430
+ APPROVED =
431
+ T.let(
432
+ :APPROVED,
433
+ Lithic::TokenizationApprovalRequestWebhookEvent::IssuerDecision::TaggedSymbol
434
+ )
435
+ DENIED =
436
+ T.let(
437
+ :DENIED,
438
+ Lithic::TokenizationApprovalRequestWebhookEvent::IssuerDecision::TaggedSymbol
439
+ )
440
+ VERIFICATION_REQUIRED =
441
+ T.let(
442
+ :VERIFICATION_REQUIRED,
443
+ Lithic::TokenizationApprovalRequestWebhookEvent::IssuerDecision::TaggedSymbol
444
+ )
445
+
446
+ sig do
447
+ override.returns(
448
+ T::Array[
449
+ Lithic::TokenizationApprovalRequestWebhookEvent::IssuerDecision::TaggedSymbol
450
+ ]
451
+ )
452
+ end
453
+ def self.values
454
+ end
455
+ end
456
+
457
+ # The channel through which the tokenization was made.
458
+ module TokenizationChannel
459
+ extend Lithic::Internal::Type::Enum
460
+
461
+ TaggedSymbol =
462
+ T.type_alias do
463
+ T.all(
464
+ Symbol,
465
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationChannel
466
+ )
467
+ end
468
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
469
+
470
+ DIGITAL_WALLET =
471
+ T.let(
472
+ :DIGITAL_WALLET,
473
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationChannel::TaggedSymbol
474
+ )
475
+ MERCHANT =
476
+ T.let(
477
+ :MERCHANT,
478
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationChannel::TaggedSymbol
479
+ )
480
+
481
+ sig do
482
+ override.returns(
483
+ T::Array[
484
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationChannel::TaggedSymbol
485
+ ]
486
+ )
487
+ end
488
+ def self.values
489
+ end
490
+ end
491
+
492
+ # The source of the tokenization.
493
+ module TokenizationSource
494
+ extend Lithic::Internal::Type::Enum
495
+
496
+ TaggedSymbol =
497
+ T.type_alias do
498
+ T.all(
499
+ Symbol,
500
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationSource
501
+ )
502
+ end
503
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
504
+
505
+ ACCOUNT_ON_FILE =
506
+ T.let(
507
+ :ACCOUNT_ON_FILE,
508
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationSource::TaggedSymbol
509
+ )
510
+ CONTACTLESS_TAP =
511
+ T.let(
512
+ :CONTACTLESS_TAP,
513
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationSource::TaggedSymbol
514
+ )
515
+ MANUAL_PROVISION =
516
+ T.let(
517
+ :MANUAL_PROVISION,
518
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationSource::TaggedSymbol
519
+ )
520
+ PUSH_PROVISION =
521
+ T.let(
522
+ :PUSH_PROVISION,
523
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationSource::TaggedSymbol
524
+ )
525
+ TOKEN =
526
+ T.let(
527
+ :TOKEN,
528
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationSource::TaggedSymbol
529
+ )
530
+ UNKNOWN =
531
+ T.let(
532
+ :UNKNOWN,
533
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationSource::TaggedSymbol
534
+ )
535
+
536
+ sig do
537
+ override.returns(
538
+ T::Array[
539
+ Lithic::TokenizationApprovalRequestWebhookEvent::TokenizationSource::TaggedSymbol
540
+ ]
541
+ )
542
+ end
543
+ def self.values
544
+ end
545
+ end
546
+ end
547
+ end
548
+ end