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,333 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class TokenizationDecisioningRequestWebhookEvent < Lithic::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Lithic::TokenizationDecisioningRequestWebhookEvent,
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
+ # The name of this event
27
+ sig do
28
+ returns(
29
+ Lithic::TokenizationDecisioningRequestWebhookEvent::EventType::TaggedSymbol
30
+ )
31
+ end
32
+ attr_accessor :event_type
33
+
34
+ # Whether Lithic decisioned on the token, and if so, what the decision was.
35
+ # APPROVED/VERIFICATION_REQUIRED/DENIED.
36
+ sig do
37
+ returns(
38
+ Lithic::TokenizationDecisioningRequestWebhookEvent::IssuerDecision::TaggedSymbol
39
+ )
40
+ end
41
+ attr_accessor :issuer_decision
42
+
43
+ # The channel through which the tokenization was made.
44
+ sig do
45
+ returns(
46
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationChannel::TaggedSymbol
47
+ )
48
+ end
49
+ attr_accessor :tokenization_channel
50
+
51
+ # Unique identifier for the digital wallet token attempt
52
+ sig { returns(String) }
53
+ attr_accessor :tokenization_token
54
+
55
+ sig { returns(Lithic::WalletDecisioningInfo) }
56
+ attr_reader :wallet_decisioning_info
57
+
58
+ sig do
59
+ params(
60
+ wallet_decisioning_info: Lithic::WalletDecisioningInfo::OrHash
61
+ ).void
62
+ end
63
+ attr_writer :wallet_decisioning_info
64
+
65
+ sig { returns(T.nilable(Lithic::Device)) }
66
+ attr_reader :device
67
+
68
+ sig { params(device: Lithic::Device::OrHash).void }
69
+ attr_writer :device
70
+
71
+ # Contains the metadata for the digital wallet being tokenized.
72
+ sig { returns(T.nilable(Lithic::DigitalWalletTokenMetadata)) }
73
+ attr_reader :digital_wallet_token_metadata
74
+
75
+ sig do
76
+ params(
77
+ digital_wallet_token_metadata:
78
+ Lithic::DigitalWalletTokenMetadata::OrHash
79
+ ).void
80
+ end
81
+ attr_writer :digital_wallet_token_metadata
82
+
83
+ # The source of the tokenization.
84
+ sig do
85
+ returns(
86
+ T.nilable(
87
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource::TaggedSymbol
88
+ )
89
+ )
90
+ end
91
+ attr_reader :tokenization_source
92
+
93
+ sig do
94
+ params(
95
+ tokenization_source:
96
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource::OrSymbol
97
+ ).void
98
+ end
99
+ attr_writer :tokenization_source
100
+
101
+ # A webhook for tokenization decisioning sent to the customer's responder endpoint
102
+ sig do
103
+ params(
104
+ account_token: String,
105
+ card_token: String,
106
+ created: Time,
107
+ event_type:
108
+ Lithic::TokenizationDecisioningRequestWebhookEvent::EventType::OrSymbol,
109
+ issuer_decision:
110
+ Lithic::TokenizationDecisioningRequestWebhookEvent::IssuerDecision::OrSymbol,
111
+ tokenization_channel:
112
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationChannel::OrSymbol,
113
+ tokenization_token: String,
114
+ wallet_decisioning_info: Lithic::WalletDecisioningInfo::OrHash,
115
+ device: Lithic::Device::OrHash,
116
+ digital_wallet_token_metadata:
117
+ Lithic::DigitalWalletTokenMetadata::OrHash,
118
+ tokenization_source:
119
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource::OrSymbol
120
+ ).returns(T.attached_class)
121
+ end
122
+ def self.new(
123
+ # Unique identifier for the user tokenizing a card
124
+ account_token:,
125
+ # Unique identifier for the card being tokenized
126
+ card_token:,
127
+ # Indicate when the request was received from Mastercard or Visa
128
+ created:,
129
+ # The name of this event
130
+ event_type:,
131
+ # Whether Lithic decisioned on the token, and if so, what the decision was.
132
+ # APPROVED/VERIFICATION_REQUIRED/DENIED.
133
+ issuer_decision:,
134
+ # The channel through which the tokenization was made.
135
+ tokenization_channel:,
136
+ # Unique identifier for the digital wallet token attempt
137
+ tokenization_token:,
138
+ wallet_decisioning_info:,
139
+ device: nil,
140
+ # Contains the metadata for the digital wallet being tokenized.
141
+ digital_wallet_token_metadata: nil,
142
+ # The source of the tokenization.
143
+ tokenization_source: nil
144
+ )
145
+ end
146
+
147
+ sig do
148
+ override.returns(
149
+ {
150
+ account_token: String,
151
+ card_token: String,
152
+ created: Time,
153
+ event_type:
154
+ Lithic::TokenizationDecisioningRequestWebhookEvent::EventType::TaggedSymbol,
155
+ issuer_decision:
156
+ Lithic::TokenizationDecisioningRequestWebhookEvent::IssuerDecision::TaggedSymbol,
157
+ tokenization_channel:
158
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationChannel::TaggedSymbol,
159
+ tokenization_token: String,
160
+ wallet_decisioning_info: Lithic::WalletDecisioningInfo,
161
+ device: Lithic::Device,
162
+ digital_wallet_token_metadata: Lithic::DigitalWalletTokenMetadata,
163
+ tokenization_source:
164
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource::TaggedSymbol
165
+ }
166
+ )
167
+ end
168
+ def to_hash
169
+ end
170
+
171
+ # The name of this event
172
+ module EventType
173
+ extend Lithic::Internal::Type::Enum
174
+
175
+ TaggedSymbol =
176
+ T.type_alias do
177
+ T.all(
178
+ Symbol,
179
+ Lithic::TokenizationDecisioningRequestWebhookEvent::EventType
180
+ )
181
+ end
182
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
183
+
184
+ DIGITAL_WALLET_TOKENIZATION_APPROVAL_REQUEST =
185
+ T.let(
186
+ :"digital_wallet.tokenization_approval_request",
187
+ Lithic::TokenizationDecisioningRequestWebhookEvent::EventType::TaggedSymbol
188
+ )
189
+
190
+ sig do
191
+ override.returns(
192
+ T::Array[
193
+ Lithic::TokenizationDecisioningRequestWebhookEvent::EventType::TaggedSymbol
194
+ ]
195
+ )
196
+ end
197
+ def self.values
198
+ end
199
+ end
200
+
201
+ # Whether Lithic decisioned on the token, and if so, what the decision was.
202
+ # APPROVED/VERIFICATION_REQUIRED/DENIED.
203
+ module IssuerDecision
204
+ extend Lithic::Internal::Type::Enum
205
+
206
+ TaggedSymbol =
207
+ T.type_alias do
208
+ T.all(
209
+ Symbol,
210
+ Lithic::TokenizationDecisioningRequestWebhookEvent::IssuerDecision
211
+ )
212
+ end
213
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
214
+
215
+ APPROVED =
216
+ T.let(
217
+ :APPROVED,
218
+ Lithic::TokenizationDecisioningRequestWebhookEvent::IssuerDecision::TaggedSymbol
219
+ )
220
+ DENIED =
221
+ T.let(
222
+ :DENIED,
223
+ Lithic::TokenizationDecisioningRequestWebhookEvent::IssuerDecision::TaggedSymbol
224
+ )
225
+ VERIFICATION_REQUIRED =
226
+ T.let(
227
+ :VERIFICATION_REQUIRED,
228
+ Lithic::TokenizationDecisioningRequestWebhookEvent::IssuerDecision::TaggedSymbol
229
+ )
230
+
231
+ sig do
232
+ override.returns(
233
+ T::Array[
234
+ Lithic::TokenizationDecisioningRequestWebhookEvent::IssuerDecision::TaggedSymbol
235
+ ]
236
+ )
237
+ end
238
+ def self.values
239
+ end
240
+ end
241
+
242
+ # The channel through which the tokenization was made.
243
+ module TokenizationChannel
244
+ extend Lithic::Internal::Type::Enum
245
+
246
+ TaggedSymbol =
247
+ T.type_alias do
248
+ T.all(
249
+ Symbol,
250
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationChannel
251
+ )
252
+ end
253
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
254
+
255
+ DIGITAL_WALLET =
256
+ T.let(
257
+ :DIGITAL_WALLET,
258
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationChannel::TaggedSymbol
259
+ )
260
+ MERCHANT =
261
+ T.let(
262
+ :MERCHANT,
263
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationChannel::TaggedSymbol
264
+ )
265
+
266
+ sig do
267
+ override.returns(
268
+ T::Array[
269
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationChannel::TaggedSymbol
270
+ ]
271
+ )
272
+ end
273
+ def self.values
274
+ end
275
+ end
276
+
277
+ # The source of the tokenization.
278
+ module TokenizationSource
279
+ extend Lithic::Internal::Type::Enum
280
+
281
+ TaggedSymbol =
282
+ T.type_alias do
283
+ T.all(
284
+ Symbol,
285
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource
286
+ )
287
+ end
288
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
289
+
290
+ ACCOUNT_ON_FILE =
291
+ T.let(
292
+ :ACCOUNT_ON_FILE,
293
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource::TaggedSymbol
294
+ )
295
+ CONTACTLESS_TAP =
296
+ T.let(
297
+ :CONTACTLESS_TAP,
298
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource::TaggedSymbol
299
+ )
300
+ MANUAL_PROVISION =
301
+ T.let(
302
+ :MANUAL_PROVISION,
303
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource::TaggedSymbol
304
+ )
305
+ PUSH_PROVISION =
306
+ T.let(
307
+ :PUSH_PROVISION,
308
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource::TaggedSymbol
309
+ )
310
+ TOKEN =
311
+ T.let(
312
+ :TOKEN,
313
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource::TaggedSymbol
314
+ )
315
+ UNKNOWN =
316
+ T.let(
317
+ :UNKNOWN,
318
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource::TaggedSymbol
319
+ )
320
+
321
+ sig do
322
+ override.returns(
323
+ T::Array[
324
+ Lithic::TokenizationDecisioningRequestWebhookEvent::TokenizationSource::TaggedSymbol
325
+ ]
326
+ )
327
+ end
328
+ def self.values
329
+ end
330
+ end
331
+ end
332
+ end
333
+ end
@@ -0,0 +1,295 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class TokenizationResultWebhookEvent < Lithic::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Lithic::TokenizationResultWebhookEvent,
10
+ Lithic::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Account token
15
+ sig { returns(String) }
16
+ attr_accessor :account_token
17
+
18
+ # Card token
19
+ sig { returns(String) }
20
+ attr_accessor :card_token
21
+
22
+ # Created date
23
+ sig { returns(Time) }
24
+ attr_accessor :created
25
+
26
+ # The type of event that occurred.
27
+ sig { returns(Symbol) }
28
+ attr_accessor :event_type
29
+
30
+ # The result of the tokenization request.
31
+ sig do
32
+ returns(
33
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails
34
+ )
35
+ end
36
+ attr_reader :tokenization_result_details
37
+
38
+ sig do
39
+ params(
40
+ tokenization_result_details:
41
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::OrHash
42
+ ).void
43
+ end
44
+ attr_writer :tokenization_result_details
45
+
46
+ # Tokenization token
47
+ sig { returns(String) }
48
+ attr_accessor :tokenization_token
49
+
50
+ sig do
51
+ params(
52
+ account_token: String,
53
+ card_token: String,
54
+ created: Time,
55
+ tokenization_result_details:
56
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::OrHash,
57
+ tokenization_token: String,
58
+ event_type: Symbol
59
+ ).returns(T.attached_class)
60
+ end
61
+ def self.new(
62
+ # Account token
63
+ account_token:,
64
+ # Card token
65
+ card_token:,
66
+ # Created date
67
+ created:,
68
+ # The result of the tokenization request.
69
+ tokenization_result_details:,
70
+ # Tokenization token
71
+ tokenization_token:,
72
+ # The type of event that occurred.
73
+ event_type: :"tokenization.result"
74
+ )
75
+ end
76
+
77
+ sig do
78
+ override.returns(
79
+ {
80
+ account_token: String,
81
+ card_token: String,
82
+ created: Time,
83
+ event_type: Symbol,
84
+ tokenization_result_details:
85
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails,
86
+ tokenization_token: String
87
+ }
88
+ )
89
+ end
90
+ def to_hash
91
+ end
92
+
93
+ class TokenizationResultDetails < Lithic::Internal::Type::BaseModel
94
+ OrHash =
95
+ T.type_alias do
96
+ T.any(
97
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails,
98
+ Lithic::Internal::AnyHash
99
+ )
100
+ end
101
+
102
+ # Lithic's tokenization decision.
103
+ sig { returns(String) }
104
+ attr_accessor :issuer_decision
105
+
106
+ # List of reasons why the tokenization was declined
107
+ sig do
108
+ returns(
109
+ T::Array[
110
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
111
+ ]
112
+ )
113
+ end
114
+ attr_accessor :tokenization_decline_reasons
115
+
116
+ # The customer's tokenization decision if applicable.
117
+ sig { returns(T.nilable(String)) }
118
+ attr_accessor :customer_decision
119
+
120
+ # Results from rules that were evaluated for this tokenization
121
+ sig { returns(T.nilable(T::Array[Lithic::TokenizationRuleResult])) }
122
+ attr_reader :rule_results
123
+
124
+ sig do
125
+ params(
126
+ rule_results: T::Array[Lithic::TokenizationRuleResult::OrHash]
127
+ ).void
128
+ end
129
+ attr_writer :rule_results
130
+
131
+ # An RFC 3339 timestamp indicating when the tokenization succeeded.
132
+ sig { returns(T.nilable(Time)) }
133
+ attr_accessor :token_activated_date_time
134
+
135
+ # List of reasons why two-factor authentication was required
136
+ sig do
137
+ returns(
138
+ T.nilable(T::Array[Lithic::TokenizationTfaReason::TaggedSymbol])
139
+ )
140
+ end
141
+ attr_reader :tokenization_tfa_reasons
142
+
143
+ sig do
144
+ params(
145
+ tokenization_tfa_reasons:
146
+ T::Array[Lithic::TokenizationTfaReason::OrSymbol]
147
+ ).void
148
+ end
149
+ attr_writer :tokenization_tfa_reasons
150
+
151
+ # The wallet's recommended decision.
152
+ sig { returns(T.nilable(String)) }
153
+ attr_accessor :wallet_decision
154
+
155
+ # The result of the tokenization request.
156
+ sig do
157
+ params(
158
+ issuer_decision: String,
159
+ tokenization_decline_reasons:
160
+ T::Array[
161
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::OrSymbol
162
+ ],
163
+ customer_decision: T.nilable(String),
164
+ rule_results: T::Array[Lithic::TokenizationRuleResult::OrHash],
165
+ token_activated_date_time: T.nilable(Time),
166
+ tokenization_tfa_reasons:
167
+ T::Array[Lithic::TokenizationTfaReason::OrSymbol],
168
+ wallet_decision: T.nilable(String)
169
+ ).returns(T.attached_class)
170
+ end
171
+ def self.new(
172
+ # Lithic's tokenization decision.
173
+ issuer_decision:,
174
+ # List of reasons why the tokenization was declined
175
+ tokenization_decline_reasons:,
176
+ # The customer's tokenization decision if applicable.
177
+ customer_decision: nil,
178
+ # Results from rules that were evaluated for this tokenization
179
+ rule_results: nil,
180
+ # An RFC 3339 timestamp indicating when the tokenization succeeded.
181
+ token_activated_date_time: nil,
182
+ # List of reasons why two-factor authentication was required
183
+ tokenization_tfa_reasons: nil,
184
+ # The wallet's recommended decision.
185
+ wallet_decision: nil
186
+ )
187
+ end
188
+
189
+ sig do
190
+ override.returns(
191
+ {
192
+ issuer_decision: String,
193
+ tokenization_decline_reasons:
194
+ T::Array[
195
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
196
+ ],
197
+ customer_decision: T.nilable(String),
198
+ rule_results: T::Array[Lithic::TokenizationRuleResult],
199
+ token_activated_date_time: T.nilable(Time),
200
+ tokenization_tfa_reasons:
201
+ T::Array[Lithic::TokenizationTfaReason::TaggedSymbol],
202
+ wallet_decision: T.nilable(String)
203
+ }
204
+ )
205
+ end
206
+ def to_hash
207
+ end
208
+
209
+ module TokenizationDeclineReason
210
+ extend Lithic::Internal::Type::Enum
211
+
212
+ TaggedSymbol =
213
+ T.type_alias do
214
+ T.all(
215
+ Symbol,
216
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason
217
+ )
218
+ end
219
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
220
+
221
+ ACCOUNT_SCORE_1 =
222
+ T.let(
223
+ :ACCOUNT_SCORE_1,
224
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
225
+ )
226
+ ALL_WALLET_DECLINE_REASONS_PRESENT =
227
+ T.let(
228
+ :ALL_WALLET_DECLINE_REASONS_PRESENT,
229
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
230
+ )
231
+ CARD_EXPIRY_MONTH_MISMATCH =
232
+ T.let(
233
+ :CARD_EXPIRY_MONTH_MISMATCH,
234
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
235
+ )
236
+ CARD_EXPIRY_YEAR_MISMATCH =
237
+ T.let(
238
+ :CARD_EXPIRY_YEAR_MISMATCH,
239
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
240
+ )
241
+ CARD_INVALID_STATE =
242
+ T.let(
243
+ :CARD_INVALID_STATE,
244
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
245
+ )
246
+ CUSTOMER_RED_PATH =
247
+ T.let(
248
+ :CUSTOMER_RED_PATH,
249
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
250
+ )
251
+ CVC_MISMATCH =
252
+ T.let(
253
+ :CVC_MISMATCH,
254
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
255
+ )
256
+ DEVICE_SCORE_1 =
257
+ T.let(
258
+ :DEVICE_SCORE_1,
259
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
260
+ )
261
+ GENERIC_DECLINE =
262
+ T.let(
263
+ :GENERIC_DECLINE,
264
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
265
+ )
266
+ INVALID_CUSTOMER_RESPONSE =
267
+ T.let(
268
+ :INVALID_CUSTOMER_RESPONSE,
269
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
270
+ )
271
+ NETWORK_FAILURE =
272
+ T.let(
273
+ :NETWORK_FAILURE,
274
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
275
+ )
276
+ WALLET_RECOMMENDED_DECISION_RED =
277
+ T.let(
278
+ :WALLET_RECOMMENDED_DECISION_RED,
279
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
280
+ )
281
+
282
+ sig do
283
+ override.returns(
284
+ T::Array[
285
+ Lithic::TokenizationResultWebhookEvent::TokenizationResultDetails::TokenizationDeclineReason::TaggedSymbol
286
+ ]
287
+ )
288
+ end
289
+ def self.values
290
+ end
291
+ end
292
+ end
293
+ end
294
+ end
295
+ end