lithic 0.1.0.pre.alpha.54 → 0.1.0.pre.alpha.56

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 (229) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/models/account_activity_list_response.rb +60 -148
  6. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +60 -151
  7. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +2 -2
  8. data/lib/lithic/models/account_holder_update_response.rb +4 -4
  9. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +8 -51
  10. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +8 -51
  11. data/lib/lithic/models/auth_rules/conditional_ach_action_parameters.rb +260 -0
  12. data/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +207 -0
  13. data/lib/lithic/models/auth_rules/conditional_operation.rb +26 -0
  14. data/lib/lithic/models/auth_rules/conditional_tokenization_action_parameters.rb +254 -0
  15. data/lib/lithic/models/auth_rules/conditional_value.rb +27 -0
  16. data/lib/lithic/models/auth_rules/v2_create_params.rb +46 -283
  17. data/lib/lithic/models/auth_rules/v2_create_response.rb +23 -510
  18. data/lib/lithic/models/auth_rules/v2_draft_params.rb +6 -248
  19. data/lib/lithic/models/auth_rules/v2_draft_response.rb +23 -510
  20. data/lib/lithic/models/auth_rules/v2_list_params.rb +3 -0
  21. data/lib/lithic/models/auth_rules/v2_list_response.rb +23 -510
  22. data/lib/lithic/models/auth_rules/v2_promote_response.rb +23 -510
  23. data/lib/lithic/models/auth_rules/v2_retrieve_features_response.rb +4 -11
  24. data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +23 -510
  25. data/lib/lithic/models/auth_rules/v2_update_response.rb +23 -510
  26. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +4 -7
  27. data/lib/lithic/models/auth_rules/velocity_limit_period.rb +154 -0
  28. data/lib/lithic/models/book_transfer_response.rb +6 -5
  29. data/lib/lithic/models/category_details.rb +27 -0
  30. data/lib/lithic/models/dispute_v2.rb +555 -0
  31. data/lib/lithic/models/disputes_v2_list_params.rb +84 -0
  32. data/lib/lithic/models/disputes_v2_retrieve_params.rb +14 -0
  33. data/lib/lithic/models/event.rb +213 -69
  34. data/lib/lithic/models/event_list_params.rb +112 -6
  35. data/lib/lithic/models/event_subscription.rb +112 -6
  36. data/lib/lithic/models/events/subscription_create_params.rb +112 -6
  37. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +12 -6
  38. data/lib/lithic/models/events/subscription_update_params.rb +112 -6
  39. data/lib/lithic/models/external_bank_account_address.rb +2 -2
  40. data/lib/lithic/models/external_bank_account_create_response.rb +18 -18
  41. data/lib/lithic/models/external_bank_account_list_response.rb +18 -18
  42. data/lib/lithic/models/external_bank_account_retrieve_response.rb +18 -18
  43. data/lib/lithic/models/external_bank_account_retry_micro_deposits_response.rb +18 -18
  44. data/lib/lithic/models/external_bank_account_retry_prenote_response.rb +18 -18
  45. data/lib/lithic/models/external_bank_account_unpause_params.rb +14 -0
  46. data/lib/lithic/models/external_bank_account_unpause_response.rb +242 -0
  47. data/lib/lithic/models/external_bank_account_update_response.rb +18 -18
  48. data/lib/lithic/models/external_bank_accounts/micro_deposit_create_response.rb +18 -18
  49. data/lib/lithic/models/external_payment.rb +3 -2
  50. data/lib/lithic/models/external_payment_list_params.rb +1 -0
  51. data/lib/lithic/models/financial_account.rb +5 -68
  52. data/lib/lithic/models/financial_accounts/category_balances.rb +29 -0
  53. data/lib/lithic/models/financial_accounts/financial_account_credit_config.rb +1 -64
  54. data/lib/lithic/models/financial_accounts/loan_tape.rb +35 -424
  55. data/lib/lithic/models/financial_accounts/statement.rb +73 -211
  56. data/lib/lithic/models/financial_event.rb +148 -0
  57. data/lib/lithic/models/financial_transaction.rb +3 -146
  58. data/lib/lithic/models/management_operation_list_params.rb +1 -0
  59. data/lib/lithic/models/management_operation_transaction.rb +5 -4
  60. data/lib/lithic/models/merchant.rb +70 -0
  61. data/lib/lithic/models/payment.rb +16 -14
  62. data/lib/lithic/models/payment_return_params.rb +62 -0
  63. data/lib/lithic/models/payment_simulate_action_params.rb +17 -1
  64. data/lib/lithic/models/statement_totals.rb +100 -0
  65. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +9 -9
  66. data/lib/lithic/models/tokenization.rb +189 -23
  67. data/lib/lithic/models/transaction.rb +15 -185
  68. data/lib/lithic/models/transactions/events/enhanced_data.rb +52 -43
  69. data/lib/lithic/models/transfer.rb +3 -146
  70. data/lib/lithic/models.rb +18 -0
  71. data/lib/lithic/resources/auth_rules/v2/backtests.rb +3 -5
  72. data/lib/lithic/resources/auth_rules/v2.rb +13 -56
  73. data/lib/lithic/resources/disputes_v2.rb +74 -0
  74. data/lib/lithic/resources/external_bank_accounts.rb +19 -0
  75. data/lib/lithic/resources/payments.rb +53 -1
  76. data/lib/lithic/version.rb +1 -1
  77. data/lib/lithic.rb +18 -3
  78. data/rbi/lithic/client.rbi +3 -0
  79. data/rbi/lithic/models/account_activity_list_response.rbi +121 -544
  80. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +121 -544
  81. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +3 -6
  82. data/rbi/lithic/models/account_holder_update_response.rbi +6 -12
  83. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +13 -139
  84. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +13 -153
  85. data/rbi/lithic/models/auth_rules/conditional_ach_action_parameters.rbi +789 -0
  86. data/rbi/lithic/models/auth_rules/conditional_authorization_action_parameters.rbi +437 -0
  87. data/rbi/lithic/models/auth_rules/conditional_operation.rbi +74 -0
  88. data/rbi/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbi +674 -0
  89. data/rbi/lithic/models/auth_rules/conditional_value.rbi +28 -0
  90. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +112 -680
  91. data/rbi/lithic/models/auth_rules/v2_create_response.rbi +33 -1149
  92. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +12 -575
  93. data/rbi/lithic/models/auth_rules/v2_draft_response.rbi +33 -1149
  94. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +15 -0
  95. data/rbi/lithic/models/auth_rules/v2_list_response.rbi +33 -1149
  96. data/rbi/lithic/models/auth_rules/v2_promote_response.rbi +33 -1149
  97. data/rbi/lithic/models/auth_rules/v2_retrieve_features_response.rbi +9 -22
  98. data/rbi/lithic/models/auth_rules/v2_retrieve_response.rbi +33 -1149
  99. data/rbi/lithic/models/auth_rules/v2_update_response.rbi +33 -1149
  100. data/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +17 -29
  101. data/rbi/lithic/models/auth_rules/velocity_limit_period.rbi +223 -0
  102. data/rbi/lithic/models/book_transfer_response.rbi +16 -11
  103. data/rbi/lithic/models/category_details.rbi +43 -0
  104. data/rbi/lithic/models/dispute_v2.rbi +965 -0
  105. data/rbi/lithic/models/disputes_v2_list_params.rbi +129 -0
  106. data/rbi/lithic/models/disputes_v2_retrieve_params.rbi +27 -0
  107. data/rbi/lithic/models/event.rbi +348 -111
  108. data/rbi/lithic/models/event_list_params.rbi +155 -25
  109. data/rbi/lithic/models/event_subscription.rbi +155 -25
  110. data/rbi/lithic/models/events/subscription_create_params.rbi +155 -25
  111. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +55 -25
  112. data/rbi/lithic/models/events/subscription_update_params.rbi +155 -25
  113. data/rbi/lithic/models/external_bank_account_address.rbi +3 -6
  114. data/rbi/lithic/models/external_bank_account_create_response.rbi +31 -51
  115. data/rbi/lithic/models/external_bank_account_list_response.rbi +31 -51
  116. data/rbi/lithic/models/external_bank_account_retrieve_response.rbi +31 -51
  117. data/rbi/lithic/models/external_bank_account_retry_micro_deposits_response.rbi +31 -51
  118. data/rbi/lithic/models/external_bank_account_retry_prenote_response.rbi +31 -51
  119. data/rbi/lithic/models/external_bank_account_unpause_params.rbi +30 -0
  120. data/rbi/lithic/models/external_bank_account_unpause_response.rbi +375 -0
  121. data/rbi/lithic/models/external_bank_account_update_response.rbi +31 -51
  122. data/rbi/lithic/models/external_bank_accounts/micro_deposit_create_response.rbi +31 -51
  123. data/rbi/lithic/models/external_payment.rbi +5 -6
  124. data/rbi/lithic/models/external_payment_list_params.rbi +5 -0
  125. data/rbi/lithic/models/financial_account.rbi +15 -136
  126. data/rbi/lithic/models/financial_accounts/category_balances.rbi +42 -0
  127. data/rbi/lithic/models/financial_accounts/financial_account_credit_config.rbi +3 -136
  128. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +47 -679
  129. data/rbi/lithic/models/financial_accounts/statement.rbi +118 -348
  130. data/rbi/lithic/models/financial_event.rbi +409 -0
  131. data/rbi/lithic/models/financial_transaction.rbi +3 -509
  132. data/rbi/lithic/models/management_operation_list_params.rbi +5 -0
  133. data/rbi/lithic/models/management_operation_transaction.rbi +11 -12
  134. data/rbi/lithic/models/merchant.rbi +89 -0
  135. data/rbi/lithic/models/payment.rbi +27 -21
  136. data/rbi/lithic/models/payment_return_params.rbi +85 -0
  137. data/rbi/lithic/models/payment_simulate_action_params.rbi +22 -0
  138. data/rbi/lithic/models/statement_totals.rbi +128 -0
  139. data/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +12 -12
  140. data/rbi/lithic/models/tokenization.rbi +429 -34
  141. data/rbi/lithic/models/transaction.rbi +26 -336
  142. data/rbi/lithic/models/transactions/events/enhanced_data.rbi +77 -136
  143. data/rbi/lithic/models/transfer.rbi +4 -436
  144. data/rbi/lithic/models.rbi +19 -0
  145. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +0 -3
  146. data/rbi/lithic/resources/auth_rules/v2.rbi +29 -72
  147. data/rbi/lithic/resources/disputes_v2.rbi +64 -0
  148. data/rbi/lithic/resources/external_bank_accounts.rbi +10 -0
  149. data/rbi/lithic/resources/payments.rbi +52 -0
  150. data/sig/lithic/client.rbs +2 -0
  151. data/sig/lithic/models/account_activity_list_response.rbs +67 -221
  152. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +67 -221
  153. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +4 -6
  154. data/sig/lithic/models/account_holder_update_response.rbs +8 -12
  155. data/sig/lithic/models/auth_rules/auth_rule_condition.rbs +10 -61
  156. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +10 -61
  157. data/sig/lithic/models/auth_rules/conditional_ach_action_parameters.rbs +293 -0
  158. data/sig/lithic/models/auth_rules/conditional_authorization_action_parameters.rbs +112 -0
  159. data/sig/lithic/models/auth_rules/conditional_operation.rbs +34 -0
  160. data/sig/lithic/models/auth_rules/conditional_tokenization_action_parameters.rbs +237 -0
  161. data/sig/lithic/models/auth_rules/conditional_value.rbs +15 -0
  162. data/sig/lithic/models/auth_rules/v2_create_params.rbs +32 -188
  163. data/sig/lithic/models/auth_rules/v2_create_response.rbs +15 -319
  164. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +3 -159
  165. data/sig/lithic/models/auth_rules/v2_draft_response.rbs +15 -319
  166. data/sig/lithic/models/auth_rules/v2_list_params.rbs +9 -1
  167. data/sig/lithic/models/auth_rules/v2_list_response.rbs +15 -319
  168. data/sig/lithic/models/auth_rules/v2_promote_response.rbs +15 -319
  169. data/sig/lithic/models/auth_rules/v2_retrieve_features_response.rbs +4 -4
  170. data/sig/lithic/models/auth_rules/v2_retrieve_response.rbs +15 -319
  171. data/sig/lithic/models/auth_rules/v2_update_response.rbs +15 -319
  172. data/sig/lithic/models/auth_rules/velocity_limit_params.rbs +4 -4
  173. data/sig/lithic/models/auth_rules/velocity_limit_period.rbs +91 -0
  174. data/sig/lithic/models/book_transfer_response.rbs +10 -8
  175. data/sig/lithic/models/category_details.rbs +26 -0
  176. data/sig/lithic/models/dispute_v2.rbs +438 -0
  177. data/sig/lithic/models/disputes_v2_list_params.rbs +77 -0
  178. data/sig/lithic/models/disputes_v2_retrieve_params.rbs +15 -0
  179. data/sig/lithic/models/event.rbs +25 -13
  180. data/sig/lithic/models/event_list_params.rbs +25 -13
  181. data/sig/lithic/models/event_subscription.rbs +25 -13
  182. data/sig/lithic/models/events/subscription_create_params.rbs +25 -13
  183. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +25 -13
  184. data/sig/lithic/models/events/subscription_update_params.rbs +25 -13
  185. data/sig/lithic/models/external_bank_account_address.rbs +4 -6
  186. data/sig/lithic/models/external_bank_account_create_response.rbs +36 -56
  187. data/sig/lithic/models/external_bank_account_list_response.rbs +36 -56
  188. data/sig/lithic/models/external_bank_account_retrieve_response.rbs +36 -56
  189. data/sig/lithic/models/external_bank_account_retry_micro_deposits_response.rbs +36 -56
  190. data/sig/lithic/models/external_bank_account_retry_prenote_response.rbs +36 -56
  191. data/sig/lithic/models/external_bank_account_unpause_params.rbs +15 -0
  192. data/sig/lithic/models/external_bank_account_unpause_response.rbs +162 -0
  193. data/sig/lithic/models/external_bank_account_update_response.rbs +36 -56
  194. data/sig/lithic/models/external_bank_accounts/micro_deposit_create_response.rbs +36 -56
  195. data/sig/lithic/models/external_payment.rbs +7 -7
  196. data/sig/lithic/models/external_payment_list_params.rbs +3 -1
  197. data/sig/lithic/models/financial_account.rbs +7 -49
  198. data/sig/lithic/models/financial_accounts/category_balances.rbs +24 -0
  199. data/sig/lithic/models/financial_accounts/financial_account_credit_config.rbs +3 -49
  200. data/sig/lithic/models/financial_accounts/loan_tape.rbs +48 -386
  201. data/sig/lithic/models/financial_accounts/statement.rbs +59 -192
  202. data/sig/lithic/models/financial_event.rbs +216 -0
  203. data/sig/lithic/models/financial_transaction.rbs +4 -217
  204. data/sig/lithic/models/management_operation_list_params.rbs +3 -1
  205. data/sig/lithic/models/management_operation_transaction.rbs +11 -13
  206. data/sig/lithic/models/merchant.rbs +50 -0
  207. data/sig/lithic/models/payment.rbs +17 -15
  208. data/sig/lithic/models/payment_return_params.rbs +46 -0
  209. data/sig/lithic/models/payment_simulate_action_params.rbs +14 -0
  210. data/sig/lithic/models/statement_totals.rbs +76 -0
  211. data/sig/lithic/models/tokenization.rbs +160 -13
  212. data/sig/lithic/models/transaction.rbs +17 -145
  213. data/sig/lithic/models/transactions/events/enhanced_data.rbs +78 -124
  214. data/sig/lithic/models/transfer.rbs +6 -219
  215. data/sig/lithic/models.rbs +18 -0
  216. data/sig/lithic/resources/auth_rules/v2.rbs +2 -12
  217. data/sig/lithic/resources/disputes_v2.rbs +24 -0
  218. data/sig/lithic/resources/external_bank_accounts.rbs +5 -0
  219. data/sig/lithic/resources/payments.rbs +12 -0
  220. metadata +56 -11
  221. data/lib/lithic/models/auth_rules/v2_apply_params.rb +0 -56
  222. data/lib/lithic/models/auth_rules/v2_apply_response.rb +0 -766
  223. data/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +0 -248
  224. data/rbi/lithic/models/auth_rules/v2_apply_params.rbi +0 -86
  225. data/rbi/lithic/models/auth_rules/v2_apply_response.rbi +0 -1638
  226. data/rbi/lithic/models/auth_rules/velocity_limit_params_period_window.rbi +0 -557
  227. data/sig/lithic/models/auth_rules/v2_apply_params.rbs +0 -54
  228. data/sig/lithic/models/auth_rules/v2_apply_response.rbs +0 -509
  229. data/sig/lithic/models/auth_rules/velocity_limit_params_period_window.rbs +0 -223
@@ -22,10 +22,6 @@ module Lithic
22
22
  sig { returns(Time) }
23
23
  attr_accessor :created_at
24
24
 
25
- # The device identifier associated with the tokenization.
26
- sig { returns(T.nilable(String)) }
27
- attr_accessor :device_id
28
-
29
25
  # The dynamic pan assigned to the token by the network.
30
26
  sig { returns(T.nilable(String)) }
31
27
  attr_accessor :dpan
@@ -34,9 +30,10 @@ module Lithic
34
30
  sig { returns(Lithic::Tokenization::Status::TaggedSymbol) }
35
31
  attr_accessor :status
36
32
 
37
- # The entity that requested the tokenization. Represents a Digital Wallet or
38
- # merchant.
39
- sig { returns(Lithic::Tokenization::TokenRequestorName::TaggedSymbol) }
33
+ # The entity that requested the tokenization. For digital wallets, this will be
34
+ # one of the defined wallet types. For merchant tokenizations, this will be a
35
+ # free-form merchant name string.
36
+ sig { returns(Lithic::Tokenization::TokenRequestorName::Variants) }
40
37
  attr_accessor :token_requestor_name
41
38
 
42
39
  # The network's unique reference for the tokenization.
@@ -51,15 +48,16 @@ module Lithic
51
48
  sig { returns(Time) }
52
49
  attr_accessor :updated_at
53
50
 
54
- # Specifies the digital card art displayed in the user’s digital wallet after
51
+ # The device identifier associated with the tokenization.
52
+ sig { returns(T.nilable(String)) }
53
+ attr_accessor :device_id
54
+
55
+ # Specifies the digital card art displayed in the user's digital wallet after
55
56
  # tokenization. This will be null if the tokenization was created without an
56
57
  # associated digital card art. See
57
58
  # [Flexible Card Art Guide](https://docs.lithic.com/docs/about-digital-wallets#flexible-card-art).
58
59
  sig { returns(T.nilable(String)) }
59
- attr_reader :digital_card_art_token
60
-
61
- sig { params(digital_card_art_token: String).void }
62
- attr_writer :digital_card_art_token
60
+ attr_accessor :digital_card_art_token
63
61
 
64
62
  # A list of events related to the tokenization.
65
63
  sig { returns(T.nilable(T::Array[Lithic::Tokenization::Event])) }
@@ -78,16 +76,16 @@ module Lithic
78
76
  account_token: String,
79
77
  card_token: String,
80
78
  created_at: Time,
81
- device_id: T.nilable(String),
82
79
  dpan: T.nilable(String),
83
80
  status: Lithic::Tokenization::Status::OrSymbol,
84
81
  token_requestor_name:
85
- Lithic::Tokenization::TokenRequestorName::OrSymbol,
82
+ T.any(Lithic::Tokenization::TokenRequestorName::OrSymbol, String),
86
83
  token_unique_reference: String,
87
84
  tokenization_channel:
88
85
  Lithic::Tokenization::TokenizationChannel::OrSymbol,
89
86
  updated_at: Time,
90
- digital_card_art_token: String,
87
+ device_id: T.nilable(String),
88
+ digital_card_art_token: T.nilable(String),
91
89
  events: T::Array[Lithic::Tokenization::Event::OrHash],
92
90
  payment_account_reference_id: T.nilable(String)
93
91
  ).returns(T.attached_class)
@@ -101,14 +99,13 @@ module Lithic
101
99
  card_token:,
102
100
  # Date and time when the tokenization first occurred. UTC time zone.
103
101
  created_at:,
104
- # The device identifier associated with the tokenization.
105
- device_id:,
106
102
  # The dynamic pan assigned to the token by the network.
107
103
  dpan:,
108
104
  # The status of the tokenization request
109
105
  status:,
110
- # The entity that requested the tokenization. Represents a Digital Wallet or
111
- # merchant.
106
+ # The entity that requested the tokenization. For digital wallets, this will be
107
+ # one of the defined wallet types. For merchant tokenizations, this will be a
108
+ # free-form merchant name string.
112
109
  token_requestor_name:,
113
110
  # The network's unique reference for the tokenization.
114
111
  token_unique_reference:,
@@ -116,7 +113,9 @@ module Lithic
116
113
  tokenization_channel:,
117
114
  # Latest date and time when the tokenization was updated. UTC time zone.
118
115
  updated_at:,
119
- # Specifies the digital card art displayed in the user’s digital wallet after
116
+ # The device identifier associated with the tokenization.
117
+ device_id: nil,
118
+ # Specifies the digital card art displayed in the user's digital wallet after
120
119
  # tokenization. This will be null if the tokenization was created without an
121
120
  # associated digital card art. See
122
121
  # [Flexible Card Art Guide](https://docs.lithic.com/docs/about-digital-wallets#flexible-card-art).
@@ -135,16 +134,16 @@ module Lithic
135
134
  account_token: String,
136
135
  card_token: String,
137
136
  created_at: Time,
138
- device_id: T.nilable(String),
139
137
  dpan: T.nilable(String),
140
138
  status: Lithic::Tokenization::Status::TaggedSymbol,
141
139
  token_requestor_name:
142
- Lithic::Tokenization::TokenRequestorName::TaggedSymbol,
140
+ Lithic::Tokenization::TokenRequestorName::Variants,
143
141
  token_unique_reference: String,
144
142
  tokenization_channel:
145
143
  Lithic::Tokenization::TokenizationChannel::TaggedSymbol,
146
144
  updated_at: Time,
147
- digital_card_art_token: String,
145
+ device_id: T.nilable(String),
146
+ digital_card_art_token: T.nilable(String),
148
147
  events: T::Array[Lithic::Tokenization::Event],
149
148
  payment_account_reference_id: T.nilable(String)
150
149
  }
@@ -179,10 +178,27 @@ module Lithic
179
178
  end
180
179
  end
181
180
 
182
- # The entity that requested the tokenization. Represents a Digital Wallet or
183
- # merchant.
181
+ # The entity that requested the tokenization. For digital wallets, this will be
182
+ # one of the defined wallet types. For merchant tokenizations, this will be a
183
+ # free-form merchant name string.
184
184
  module TokenRequestorName
185
- extend Lithic::Internal::Type::Enum
185
+ extend Lithic::Internal::Type::Union
186
+
187
+ Variants =
188
+ T.type_alias do
189
+ T.any(
190
+ Lithic::Tokenization::TokenRequestorName::TaggedSymbol,
191
+ String
192
+ )
193
+ end
194
+
195
+ sig do
196
+ override.returns(
197
+ T::Array[Lithic::Tokenization::TokenRequestorName::Variants]
198
+ )
199
+ end
200
+ def self.variants
201
+ end
186
202
 
187
203
  TaggedSymbol =
188
204
  T.type_alias do
@@ -220,6 +236,11 @@ module Lithic
220
236
  :GARMIN_PAY,
221
237
  Lithic::Tokenization::TokenRequestorName::TaggedSymbol
222
238
  )
239
+ GOOGLE_PAY =
240
+ T.let(
241
+ :GOOGLE_PAY,
242
+ Lithic::Tokenization::TokenRequestorName::TaggedSymbol
243
+ )
223
244
  MICROSOFT_PAY =
224
245
  T.let(
225
246
  :MICROSOFT_PAY,
@@ -245,14 +266,6 @@ module Lithic
245
266
  :VISA_CHECKOUT,
246
267
  Lithic::Tokenization::TokenRequestorName::TaggedSymbol
247
268
  )
248
-
249
- sig do
250
- override.returns(
251
- T::Array[Lithic::Tokenization::TokenRequestorName::TaggedSymbol]
252
- )
253
- end
254
- def self.values
255
- end
256
269
  end
257
270
 
258
271
  # The channel through which the tokenization was made.
@@ -316,6 +329,64 @@ module Lithic
316
329
  end
317
330
  attr_writer :result
318
331
 
332
+ # Results from rules that were evaluated for this tokenization
333
+ sig do
334
+ returns(T.nilable(T::Array[Lithic::Tokenization::Event::RuleResult]))
335
+ end
336
+ attr_reader :rule_results
337
+
338
+ sig do
339
+ params(
340
+ rule_results:
341
+ T::Array[Lithic::Tokenization::Event::RuleResult::OrHash]
342
+ ).void
343
+ end
344
+ attr_writer :rule_results
345
+
346
+ # List of reasons why the tokenization was declined
347
+ sig do
348
+ returns(
349
+ T.nilable(
350
+ T::Array[
351
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
352
+ ]
353
+ )
354
+ )
355
+ end
356
+ attr_reader :tokenization_decline_reasons
357
+
358
+ sig do
359
+ params(
360
+ tokenization_decline_reasons:
361
+ T::Array[
362
+ Lithic::Tokenization::Event::TokenizationDeclineReason::OrSymbol
363
+ ]
364
+ ).void
365
+ end
366
+ attr_writer :tokenization_decline_reasons
367
+
368
+ # List of reasons why two-factor authentication was required
369
+ sig do
370
+ returns(
371
+ T.nilable(
372
+ T::Array[
373
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
374
+ ]
375
+ )
376
+ )
377
+ end
378
+ attr_reader :tokenization_tfa_reasons
379
+
380
+ sig do
381
+ params(
382
+ tokenization_tfa_reasons:
383
+ T::Array[
384
+ Lithic::Tokenization::Event::TokenizationTfaReason::OrSymbol
385
+ ]
386
+ ).void
387
+ end
388
+ attr_writer :tokenization_tfa_reasons
389
+
319
390
  # Enum representing the type of tokenization event that occurred
320
391
  sig do
321
392
  returns(T.nilable(Lithic::Tokenization::Event::Type::TaggedSymbol))
@@ -330,6 +401,16 @@ module Lithic
330
401
  token: String,
331
402
  created_at: Time,
332
403
  result: Lithic::Tokenization::Event::Result::OrSymbol,
404
+ rule_results:
405
+ T::Array[Lithic::Tokenization::Event::RuleResult::OrHash],
406
+ tokenization_decline_reasons:
407
+ T::Array[
408
+ Lithic::Tokenization::Event::TokenizationDeclineReason::OrSymbol
409
+ ],
410
+ tokenization_tfa_reasons:
411
+ T::Array[
412
+ Lithic::Tokenization::Event::TokenizationTfaReason::OrSymbol
413
+ ],
333
414
  type: Lithic::Tokenization::Event::Type::OrSymbol
334
415
  ).returns(T.attached_class)
335
416
  end
@@ -340,6 +421,12 @@ module Lithic
340
421
  created_at: nil,
341
422
  # Enum representing the result of the tokenization event
342
423
  result: nil,
424
+ # Results from rules that were evaluated for this tokenization
425
+ rule_results: nil,
426
+ # List of reasons why the tokenization was declined
427
+ tokenization_decline_reasons: nil,
428
+ # List of reasons why two-factor authentication was required
429
+ tokenization_tfa_reasons: nil,
343
430
  # Enum representing the type of tokenization event that occurred
344
431
  type: nil
345
432
  )
@@ -351,6 +438,15 @@ module Lithic
351
438
  token: String,
352
439
  created_at: Time,
353
440
  result: Lithic::Tokenization::Event::Result::TaggedSymbol,
441
+ rule_results: T::Array[Lithic::Tokenization::Event::RuleResult],
442
+ tokenization_decline_reasons:
443
+ T::Array[
444
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
445
+ ],
446
+ tokenization_tfa_reasons:
447
+ T::Array[
448
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
449
+ ],
354
450
  type: Lithic::Tokenization::Event::Type::TaggedSymbol
355
451
  }
356
452
  )
@@ -430,6 +526,305 @@ module Lithic
430
526
  end
431
527
  end
432
528
 
529
+ class RuleResult < Lithic::Internal::Type::BaseModel
530
+ OrHash =
531
+ T.type_alias do
532
+ T.any(
533
+ Lithic::Tokenization::Event::RuleResult,
534
+ Lithic::Internal::AnyHash
535
+ )
536
+ end
537
+
538
+ # The Auth Rule Token associated with the rule. If this is set to null, then the
539
+ # result was not associated with a customer-configured rule. This may happen in
540
+ # cases where a tokenization is declined or requires TFA due to a
541
+ # Lithic-configured security or compliance rule, for example.
542
+ sig { returns(T.nilable(String)) }
543
+ attr_accessor :auth_rule_token
544
+
545
+ # A human-readable explanation outlining the motivation for the rule's result
546
+ sig { returns(T.nilable(String)) }
547
+ attr_accessor :explanation
548
+
549
+ # The name for the rule, if any was configured
550
+ sig { returns(T.nilable(String)) }
551
+ attr_accessor :name
552
+
553
+ # The result associated with this rule
554
+ sig do
555
+ returns(
556
+ Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol
557
+ )
558
+ end
559
+ attr_accessor :result
560
+
561
+ sig do
562
+ params(
563
+ auth_rule_token: T.nilable(String),
564
+ explanation: T.nilable(String),
565
+ name: T.nilable(String),
566
+ result: Lithic::Tokenization::Event::RuleResult::Result::OrSymbol
567
+ ).returns(T.attached_class)
568
+ end
569
+ def self.new(
570
+ # The Auth Rule Token associated with the rule. If this is set to null, then the
571
+ # result was not associated with a customer-configured rule. This may happen in
572
+ # cases where a tokenization is declined or requires TFA due to a
573
+ # Lithic-configured security or compliance rule, for example.
574
+ auth_rule_token:,
575
+ # A human-readable explanation outlining the motivation for the rule's result
576
+ explanation:,
577
+ # The name for the rule, if any was configured
578
+ name:,
579
+ # The result associated with this rule
580
+ result:
581
+ )
582
+ end
583
+
584
+ sig do
585
+ override.returns(
586
+ {
587
+ auth_rule_token: T.nilable(String),
588
+ explanation: T.nilable(String),
589
+ name: T.nilable(String),
590
+ result:
591
+ Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol
592
+ }
593
+ )
594
+ end
595
+ def to_hash
596
+ end
597
+
598
+ # The result associated with this rule
599
+ module Result
600
+ extend Lithic::Internal::Type::Enum
601
+
602
+ TaggedSymbol =
603
+ T.type_alias do
604
+ T.all(Symbol, Lithic::Tokenization::Event::RuleResult::Result)
605
+ end
606
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
607
+
608
+ APPROVED =
609
+ T.let(
610
+ :APPROVED,
611
+ Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol
612
+ )
613
+ DECLINED =
614
+ T.let(
615
+ :DECLINED,
616
+ Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol
617
+ )
618
+ REQUIRE_TFA =
619
+ T.let(
620
+ :REQUIRE_TFA,
621
+ Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol
622
+ )
623
+ ERROR =
624
+ T.let(
625
+ :ERROR,
626
+ Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol
627
+ )
628
+
629
+ sig do
630
+ override.returns(
631
+ T::Array[
632
+ Lithic::Tokenization::Event::RuleResult::Result::TaggedSymbol
633
+ ]
634
+ )
635
+ end
636
+ def self.values
637
+ end
638
+ end
639
+ end
640
+
641
+ # Reason code for why a tokenization was declined
642
+ module TokenizationDeclineReason
643
+ extend Lithic::Internal::Type::Enum
644
+
645
+ TaggedSymbol =
646
+ T.type_alias do
647
+ T.all(
648
+ Symbol,
649
+ Lithic::Tokenization::Event::TokenizationDeclineReason
650
+ )
651
+ end
652
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
653
+
654
+ ACCOUNT_SCORE_1 =
655
+ T.let(
656
+ :ACCOUNT_SCORE_1,
657
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
658
+ )
659
+ DEVICE_SCORE_1 =
660
+ T.let(
661
+ :DEVICE_SCORE_1,
662
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
663
+ )
664
+ ALL_WALLET_DECLINE_REASONS_PRESENT =
665
+ T.let(
666
+ :ALL_WALLET_DECLINE_REASONS_PRESENT,
667
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
668
+ )
669
+ WALLET_RECOMMENDED_DECISION_RED =
670
+ T.let(
671
+ :WALLET_RECOMMENDED_DECISION_RED,
672
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
673
+ )
674
+ CVC_MISMATCH =
675
+ T.let(
676
+ :CVC_MISMATCH,
677
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
678
+ )
679
+ CARD_EXPIRY_MONTH_MISMATCH =
680
+ T.let(
681
+ :CARD_EXPIRY_MONTH_MISMATCH,
682
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
683
+ )
684
+ CARD_EXPIRY_YEAR_MISMATCH =
685
+ T.let(
686
+ :CARD_EXPIRY_YEAR_MISMATCH,
687
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
688
+ )
689
+ CARD_INVALID_STATE =
690
+ T.let(
691
+ :CARD_INVALID_STATE,
692
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
693
+ )
694
+ CUSTOMER_RED_PATH =
695
+ T.let(
696
+ :CUSTOMER_RED_PATH,
697
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
698
+ )
699
+ INVALID_CUSTOMER_RESPONSE =
700
+ T.let(
701
+ :INVALID_CUSTOMER_RESPONSE,
702
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
703
+ )
704
+ NETWORK_FAILURE =
705
+ T.let(
706
+ :NETWORK_FAILURE,
707
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
708
+ )
709
+ GENERIC_DECLINE =
710
+ T.let(
711
+ :GENERIC_DECLINE,
712
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
713
+ )
714
+ DIGITAL_CARD_ART_REQUIRED =
715
+ T.let(
716
+ :DIGITAL_CARD_ART_REQUIRED,
717
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
718
+ )
719
+
720
+ sig do
721
+ override.returns(
722
+ T::Array[
723
+ Lithic::Tokenization::Event::TokenizationDeclineReason::TaggedSymbol
724
+ ]
725
+ )
726
+ end
727
+ def self.values
728
+ end
729
+ end
730
+
731
+ # Reason code for why a tokenization required two-factor authentication
732
+ module TokenizationTfaReason
733
+ extend Lithic::Internal::Type::Enum
734
+
735
+ TaggedSymbol =
736
+ T.type_alias do
737
+ T.all(Symbol, Lithic::Tokenization::Event::TokenizationTfaReason)
738
+ end
739
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
740
+
741
+ WALLET_RECOMMENDED_TFA =
742
+ T.let(
743
+ :WALLET_RECOMMENDED_TFA,
744
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
745
+ )
746
+ SUSPICIOUS_ACTIVITY =
747
+ T.let(
748
+ :SUSPICIOUS_ACTIVITY,
749
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
750
+ )
751
+ DEVICE_RECENTLY_LOST =
752
+ T.let(
753
+ :DEVICE_RECENTLY_LOST,
754
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
755
+ )
756
+ TOO_MANY_RECENT_ATTEMPTS =
757
+ T.let(
758
+ :TOO_MANY_RECENT_ATTEMPTS,
759
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
760
+ )
761
+ TOO_MANY_RECENT_TOKENS =
762
+ T.let(
763
+ :TOO_MANY_RECENT_TOKENS,
764
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
765
+ )
766
+ TOO_MANY_DIFFERENT_CARDHOLDERS =
767
+ T.let(
768
+ :TOO_MANY_DIFFERENT_CARDHOLDERS,
769
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
770
+ )
771
+ OUTSIDE_HOME_TERRITORY =
772
+ T.let(
773
+ :OUTSIDE_HOME_TERRITORY,
774
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
775
+ )
776
+ HAS_SUSPENDED_TOKENS =
777
+ T.let(
778
+ :HAS_SUSPENDED_TOKENS,
779
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
780
+ )
781
+ HIGH_RISK =
782
+ T.let(
783
+ :HIGH_RISK,
784
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
785
+ )
786
+ ACCOUNT_SCORE_LOW =
787
+ T.let(
788
+ :ACCOUNT_SCORE_LOW,
789
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
790
+ )
791
+ DEVICE_SCORE_LOW =
792
+ T.let(
793
+ :DEVICE_SCORE_LOW,
794
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
795
+ )
796
+ CARD_STATE_TFA =
797
+ T.let(
798
+ :CARD_STATE_TFA,
799
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
800
+ )
801
+ HARDCODED_TFA =
802
+ T.let(
803
+ :HARDCODED_TFA,
804
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
805
+ )
806
+ CUSTOMER_RULE_TFA =
807
+ T.let(
808
+ :CUSTOMER_RULE_TFA,
809
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
810
+ )
811
+ DEVICE_HOST_CARD_EMULATION =
812
+ T.let(
813
+ :DEVICE_HOST_CARD_EMULATION,
814
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
815
+ )
816
+
817
+ sig do
818
+ override.returns(
819
+ T::Array[
820
+ Lithic::Tokenization::Event::TokenizationTfaReason::TaggedSymbol
821
+ ]
822
+ )
823
+ end
824
+ def self.values
825
+ end
826
+ end
827
+
433
828
  # Enum representing the type of tokenization event that occurred
434
829
  module Type
435
830
  extend Lithic::Internal::Type::Enum