lithic 0.15.0 → 0.17.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 (197) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/internal/transport/base_client.rb +4 -1
  6. data/lib/lithic/models/account.rb +2 -2
  7. data/lib/lithic/models/account_holders/account_holder_entity.rb +3 -16
  8. data/lib/lithic/models/account_holders/entity_create_params.rb +3 -14
  9. data/lib/lithic/models/auth_rules/ach_payment_update_action.rb +108 -0
  10. data/lib/lithic/models/auth_rules/auth_rule.rb +18 -12
  11. data/lib/lithic/models/auth_rules/auth_rule_version.rb +5 -3
  12. data/lib/lithic/models/auth_rules/conditional_ach_payment_update_action_parameters.rb +142 -0
  13. data/lib/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rb +18 -20
  14. data/lib/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rb +195 -9
  15. data/lib/lithic/models/auth_rules/event_stream.rb +1 -0
  16. data/lib/lithic/models/auth_rules/rule_feature.rb +52 -7
  17. data/lib/lithic/models/auth_rules/typescript_code_parameters.rb +2 -2
  18. data/lib/lithic/models/auth_rules/v2_create_params.rb +39 -27
  19. data/lib/lithic/models/auth_rules/v2_draft_params.rb +5 -3
  20. data/lib/lithic/models/auth_rules/v2_list_results_response.rb +426 -1
  21. data/lib/lithic/models/card.rb +1 -1
  22. data/lib/lithic/models/card_authorization.rb +117 -11
  23. data/lib/lithic/models/financial_accounts/loan_tape.rb +9 -1
  24. data/lib/lithic/models/payment.rb +13 -1
  25. data/lib/lithic/models/transaction_monitoring/case_activity_entry.rb +74 -0
  26. data/lib/lithic/models/transaction_monitoring/case_activity_type.rb +35 -0
  27. data/lib/lithic/models/transaction_monitoring/case_card.rb +37 -0
  28. data/lib/lithic/models/transaction_monitoring/case_entity.rb +50 -0
  29. data/lib/lithic/models/transaction_monitoring/case_list_activity_params.rb +53 -0
  30. data/lib/lithic/models/transaction_monitoring/case_list_params.rb +136 -0
  31. data/lib/lithic/models/transaction_monitoring/case_list_transactions_params.rb +53 -0
  32. data/lib/lithic/models/transaction_monitoring/case_priority.rb +20 -0
  33. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_params.rb +22 -0
  34. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_response.rb +11 -0
  35. data/lib/lithic/models/transaction_monitoring/case_retrieve_params.rb +22 -0
  36. data/lib/lithic/models/transaction_monitoring/case_sort_order.rb +29 -0
  37. data/lib/lithic/models/transaction_monitoring/case_status.rb +31 -0
  38. data/lib/lithic/models/transaction_monitoring/case_transaction.rb +53 -0
  39. data/lib/lithic/models/transaction_monitoring/case_update_params.rb +116 -0
  40. data/lib/lithic/models/transaction_monitoring/cases/case_file.rb +141 -0
  41. data/lib/lithic/models/transaction_monitoring/cases/comment_create_params.rb +47 -0
  42. data/lib/lithic/models/transaction_monitoring/cases/comment_delete_params.rb +30 -0
  43. data/lib/lithic/models/transaction_monitoring/cases/comment_update_params.rb +54 -0
  44. data/lib/lithic/models/transaction_monitoring/cases/file_create_params.rb +33 -0
  45. data/lib/lithic/models/transaction_monitoring/cases/file_delete_params.rb +30 -0
  46. data/lib/lithic/models/transaction_monitoring/cases/file_list_params.rb +54 -0
  47. data/lib/lithic/models/transaction_monitoring/cases/file_retrieve_params.rb +30 -0
  48. data/lib/lithic/models/transaction_monitoring/cases/file_status.rb +26 -0
  49. data/lib/lithic/models/transaction_monitoring/cases/upload_constraints.rb +31 -0
  50. data/lib/lithic/models/transaction_monitoring/entity_type.rb +18 -0
  51. data/lib/lithic/models/transaction_monitoring/monitoring_case.rb +168 -0
  52. data/lib/lithic/models/transaction_monitoring/queue.rb +120 -0
  53. data/lib/lithic/models/transaction_monitoring/queue_create_params.rb +32 -0
  54. data/lib/lithic/models/transaction_monitoring/queue_delete_params.rb +22 -0
  55. data/lib/lithic/models/transaction_monitoring/queue_list_params.rb +45 -0
  56. data/lib/lithic/models/transaction_monitoring/queue_retrieve_params.rb +22 -0
  57. data/lib/lithic/models/transaction_monitoring/queue_update_params.rb +39 -0
  58. data/lib/lithic/models/transaction_monitoring/resolution_outcome.rb +28 -0
  59. data/lib/lithic/models/transaction_route_params.rb +29 -0
  60. data/lib/lithic/models.rb +4 -0
  61. data/lib/lithic/resources/account_holders/entities.rb +1 -1
  62. data/lib/lithic/resources/auth_rules/v2.rb +2 -2
  63. data/lib/lithic/resources/cards.rb +2 -2
  64. data/lib/lithic/resources/transaction_monitoring/cases/comments.rb +111 -0
  65. data/lib/lithic/resources/transaction_monitoring/cases/files.rb +131 -0
  66. data/lib/lithic/resources/transaction_monitoring/cases.rb +228 -0
  67. data/lib/lithic/resources/transaction_monitoring/queues.rb +137 -0
  68. data/lib/lithic/resources/transaction_monitoring.rb +22 -0
  69. data/lib/lithic/resources/transactions.rb +25 -0
  70. data/lib/lithic/version.rb +1 -1
  71. data/lib/lithic.rb +42 -0
  72. data/rbi/lithic/client.rbi +3 -0
  73. data/rbi/lithic/models/account.rbi +3 -3
  74. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +3 -40
  75. data/rbi/lithic/models/account_holders/entity_create_params.rbi +3 -37
  76. data/rbi/lithic/models/auth_rules/ach_payment_update_action.rbi +237 -0
  77. data/rbi/lithic/models/auth_rules/auth_rule.rbi +16 -9
  78. data/rbi/lithic/models/auth_rules/auth_rule_version.rbi +2 -0
  79. data/rbi/lithic/models/auth_rules/conditional_ach_payment_update_action_parameters.rbi +298 -0
  80. data/rbi/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbi +29 -29
  81. data/rbi/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbi +395 -12
  82. data/rbi/lithic/models/auth_rules/event_stream.rbi +5 -0
  83. data/rbi/lithic/models/auth_rules/rule_feature.rbi +77 -6
  84. data/rbi/lithic/models/auth_rules/typescript_code_parameters.rbi +6 -0
  85. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +48 -27
  86. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +4 -0
  87. data/rbi/lithic/models/auth_rules/v2_list_results_response.rbi +826 -1
  88. data/rbi/lithic/models/card.rbi +2 -2
  89. data/rbi/lithic/models/card_authorization.rbi +246 -17
  90. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +8 -0
  91. data/rbi/lithic/models/payment.rbi +13 -0
  92. data/rbi/lithic/models/transaction_monitoring/case_activity_entry.rbi +107 -0
  93. data/rbi/lithic/models/transaction_monitoring/case_activity_type.rbi +84 -0
  94. data/rbi/lithic/models/transaction_monitoring/case_card.rbi +60 -0
  95. data/rbi/lithic/models/transaction_monitoring/case_entity.rbi +101 -0
  96. data/rbi/lithic/models/transaction_monitoring/case_list_activity_params.rbi +83 -0
  97. data/rbi/lithic/models/transaction_monitoring/case_list_params.rbi +220 -0
  98. data/rbi/lithic/models/transaction_monitoring/case_list_transactions_params.rbi +83 -0
  99. data/rbi/lithic/models/transaction_monitoring/case_priority.rbi +44 -0
  100. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbi +40 -0
  101. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbi +15 -0
  102. data/rbi/lithic/models/transaction_monitoring/case_retrieve_params.rbi +40 -0
  103. data/rbi/lithic/models/transaction_monitoring/case_sort_order.rbi +64 -0
  104. data/rbi/lithic/models/transaction_monitoring/case_status.rbi +63 -0
  105. data/rbi/lithic/models/transaction_monitoring/case_transaction.rbi +75 -0
  106. data/rbi/lithic/models/transaction_monitoring/case_update_params.rbi +201 -0
  107. data/rbi/lithic/models/transaction_monitoring/cases/case_file.rbi +188 -0
  108. data/rbi/lithic/models/transaction_monitoring/cases/comment_create_params.rbi +71 -0
  109. data/rbi/lithic/models/transaction_monitoring/cases/comment_delete_params.rbi +50 -0
  110. data/rbi/lithic/models/transaction_monitoring/cases/comment_update_params.rbi +77 -0
  111. data/rbi/lithic/models/transaction_monitoring/cases/file_create_params.rbi +56 -0
  112. data/rbi/lithic/models/transaction_monitoring/cases/file_delete_params.rbi +50 -0
  113. data/rbi/lithic/models/transaction_monitoring/cases/file_list_params.rbi +85 -0
  114. data/rbi/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbi +50 -0
  115. data/rbi/lithic/models/transaction_monitoring/cases/file_status.rbi +51 -0
  116. data/rbi/lithic/models/transaction_monitoring/cases/upload_constraints.rbi +51 -0
  117. data/rbi/lithic/models/transaction_monitoring/entity_type.rbi +37 -0
  118. data/rbi/lithic/models/transaction_monitoring/monitoring_case.rbi +226 -0
  119. data/rbi/lithic/models/transaction_monitoring/queue.rbi +189 -0
  120. data/rbi/lithic/models/transaction_monitoring/queue_create_params.rbi +56 -0
  121. data/rbi/lithic/models/transaction_monitoring/queue_delete_params.rbi +40 -0
  122. data/rbi/lithic/models/transaction_monitoring/queue_list_params.rbi +77 -0
  123. data/rbi/lithic/models/transaction_monitoring/queue_retrieve_params.rbi +40 -0
  124. data/rbi/lithic/models/transaction_monitoring/queue_update_params.rbi +65 -0
  125. data/rbi/lithic/models/transaction_monitoring/resolution_outcome.rbi +61 -0
  126. data/rbi/lithic/models/transaction_route_params.rbi +49 -0
  127. data/rbi/lithic/models.rbi +4 -0
  128. data/rbi/lithic/resources/account_holders/entities.rbi +1 -1
  129. data/rbi/lithic/resources/auth_rules/v2.rbi +1 -0
  130. data/rbi/lithic/resources/cards.rbi +2 -2
  131. data/rbi/lithic/resources/transaction_monitoring/cases/comments.rbi +81 -0
  132. data/rbi/lithic/resources/transaction_monitoring/cases/files.rbi +98 -0
  133. data/rbi/lithic/resources/transaction_monitoring/cases.rbi +230 -0
  134. data/rbi/lithic/resources/transaction_monitoring/queues.rbi +103 -0
  135. data/rbi/lithic/resources/transaction_monitoring.rbi +18 -0
  136. data/rbi/lithic/resources/transactions.rbi +18 -0
  137. data/sig/lithic/client.rbs +2 -0
  138. data/sig/lithic/models/account_holders/account_holder_entity.rbs +4 -15
  139. data/sig/lithic/models/account_holders/entity_create_params.rbs +4 -15
  140. data/sig/lithic/models/auth_rules/ach_payment_update_action.rbs +99 -0
  141. data/sig/lithic/models/auth_rules/auth_rule.rbs +2 -0
  142. data/sig/lithic/models/auth_rules/auth_rule_version.rbs +1 -0
  143. data/sig/lithic/models/auth_rules/conditional_ach_payment_update_action_parameters.rbs +81 -0
  144. data/sig/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbs +16 -16
  145. data/sig/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbs +73 -3
  146. data/sig/lithic/models/auth_rules/event_stream.rbs +2 -0
  147. data/sig/lithic/models/auth_rules/rule_feature.rbs +31 -0
  148. data/sig/lithic/models/auth_rules/v2_create_params.rbs +3 -0
  149. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -0
  150. data/sig/lithic/models/auth_rules/v2_list_results_response.rbs +355 -0
  151. data/sig/lithic/models/card_authorization.rbs +84 -10
  152. data/sig/lithic/models/financial_accounts/loan_tape.rbs +5 -0
  153. data/sig/lithic/models/payment.rbs +7 -0
  154. data/sig/lithic/models/transaction_monitoring/case_activity_entry.rbs +47 -0
  155. data/sig/lithic/models/transaction_monitoring/case_activity_type.rbs +32 -0
  156. data/sig/lithic/models/transaction_monitoring/case_card.rbs +32 -0
  157. data/sig/lithic/models/transaction_monitoring/case_entity.rbs +38 -0
  158. data/sig/lithic/models/transaction_monitoring/case_list_activity_params.rbs +49 -0
  159. data/sig/lithic/models/transaction_monitoring/case_list_params.rbs +125 -0
  160. data/sig/lithic/models/transaction_monitoring/case_list_transactions_params.rbs +49 -0
  161. data/sig/lithic/models/transaction_monitoring/case_priority.rbs +18 -0
  162. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbs +25 -0
  163. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbs +10 -0
  164. data/sig/lithic/models/transaction_monitoring/case_retrieve_params.rbs +25 -0
  165. data/sig/lithic/models/transaction_monitoring/case_sort_order.rbs +26 -0
  166. data/sig/lithic/models/transaction_monitoring/case_status.rbs +21 -0
  167. data/sig/lithic/models/transaction_monitoring/case_transaction.rbs +42 -0
  168. data/sig/lithic/models/transaction_monitoring/case_update_params.rbs +91 -0
  169. data/sig/lithic/models/transaction_monitoring/cases/case_file.rbs +86 -0
  170. data/sig/lithic/models/transaction_monitoring/cases/comment_create_params.rbs +38 -0
  171. data/sig/lithic/models/transaction_monitoring/cases/comment_delete_params.rbs +32 -0
  172. data/sig/lithic/models/transaction_monitoring/cases/comment_update_params.rbs +47 -0
  173. data/sig/lithic/models/transaction_monitoring/cases/file_create_params.rbs +32 -0
  174. data/sig/lithic/models/transaction_monitoring/cases/file_delete_params.rbs +32 -0
  175. data/sig/lithic/models/transaction_monitoring/cases/file_list_params.rbs +51 -0
  176. data/sig/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbs +32 -0
  177. data/sig/lithic/models/transaction_monitoring/cases/file_status.rbs +19 -0
  178. data/sig/lithic/models/transaction_monitoring/cases/upload_constraints.rbs +26 -0
  179. data/sig/lithic/models/transaction_monitoring/entity_type.rbs +16 -0
  180. data/sig/lithic/models/transaction_monitoring/monitoring_case.rbs +102 -0
  181. data/sig/lithic/models/transaction_monitoring/queue.rbs +101 -0
  182. data/sig/lithic/models/transaction_monitoring/queue_create_params.rbs +30 -0
  183. data/sig/lithic/models/transaction_monitoring/queue_delete_params.rbs +25 -0
  184. data/sig/lithic/models/transaction_monitoring/queue_list_params.rbs +40 -0
  185. data/sig/lithic/models/transaction_monitoring/queue_retrieve_params.rbs +25 -0
  186. data/sig/lithic/models/transaction_monitoring/queue_update_params.rbs +36 -0
  187. data/sig/lithic/models/transaction_monitoring/resolution_outcome.rbs +24 -0
  188. data/sig/lithic/models/transaction_route_params.rbs +28 -0
  189. data/sig/lithic/models.rbs +4 -0
  190. data/sig/lithic/resources/account_holders/entities.rbs +1 -1
  191. data/sig/lithic/resources/transaction_monitoring/cases/comments.rbs +32 -0
  192. data/sig/lithic/resources/transaction_monitoring/cases/files.rbs +37 -0
  193. data/sig/lithic/resources/transaction_monitoring/cases.rbs +71 -0
  194. data/sig/lithic/resources/transaction_monitoring/queues.rbs +39 -0
  195. data/sig/lithic/resources/transaction_monitoring.rbs +11 -0
  196. data/sig/lithic/resources/transactions.rbs +6 -0
  197. metadata +128 -2
@@ -14,7 +14,7 @@ module Lithic
14
14
 
15
15
  # Primary Account Number (PAN) (i.e. the card number). Customers must be PCI
16
16
  # compliant to have PAN returned as a field in production. Please contact
17
- # support@lithic.com for questions.
17
+ # https://support.lithic.com/ for questions.
18
18
  sig { returns(T.nilable(String)) }
19
19
  attr_reader :pan
20
20
 
@@ -28,7 +28,7 @@ module Lithic
28
28
  cvv: nil,
29
29
  # Primary Account Number (PAN) (i.e. the card number). Customers must be PCI
30
30
  # compliant to have PAN returned as a field in production. Please contact
31
- # support@lithic.com for questions.
31
+ # https://support.lithic.com/ for questions.
32
32
  pan: nil
33
33
  )
34
34
  end
@@ -91,6 +91,20 @@ module Lithic
91
91
  sig { returns(String) }
92
92
  attr_accessor :merchant_currency
93
93
 
94
+ # Network name validation data, present when the card network requested name
95
+ # validation for this transaction. Contains the cardholder name provided by the
96
+ # network and Lithic's computed match result against KYC data on file.
97
+ sig { returns(T.nilable(Lithic::CardAuthorization::NameValidation)) }
98
+ attr_reader :name_validation
99
+
100
+ sig do
101
+ params(
102
+ name_validation:
103
+ T.nilable(Lithic::CardAuthorization::NameValidation::OrHash)
104
+ ).void
105
+ end
106
+ attr_writer :name_validation
107
+
94
108
  # Where the cardholder received the service, when different from the card acceptor
95
109
  # location. This is populated from network data elements such as Mastercard DE-122
96
110
  # SE1 SF9-14 and Visa F34 DS02.
@@ -263,6 +277,8 @@ module Lithic
263
277
  merchant: Lithic::CardAuthorization::Merchant::OrHash,
264
278
  merchant_amount: Integer,
265
279
  merchant_currency: String,
280
+ name_validation:
281
+ T.nilable(Lithic::CardAuthorization::NameValidation::OrHash),
266
282
  service_location:
267
283
  T.nilable(Lithic::CardAuthorization::ServiceLocation::OrHash),
268
284
  settled_amount: Integer,
@@ -331,6 +347,10 @@ module Lithic
331
347
  merchant_amount:,
332
348
  # 3-character alphabetic ISO 4217 code for the local currency of the transaction.
333
349
  merchant_currency:,
350
+ # Network name validation data, present when the card network requested name
351
+ # validation for this transaction. Contains the cardholder name provided by the
352
+ # network and Lithic's computed match result against KYC data on file.
353
+ name_validation:,
334
354
  # Where the cardholder received the service, when different from the card acceptor
335
355
  # location. This is populated from network data elements such as Mastercard DE-122
336
356
  # SE1 SF9-14 and Visa F34 DS02.
@@ -401,6 +421,8 @@ module Lithic
401
421
  merchant: Lithic::CardAuthorization::Merchant,
402
422
  merchant_amount: Integer,
403
423
  merchant_currency: String,
424
+ name_validation:
425
+ T.nilable(Lithic::CardAuthorization::NameValidation),
404
426
  service_location:
405
427
  T.nilable(Lithic::CardAuthorization::ServiceLocation),
406
428
  settled_amount: Integer,
@@ -1042,6 +1064,209 @@ module Lithic
1042
1064
  end
1043
1065
  end
1044
1066
 
1067
+ class NameValidation < Lithic::Internal::Type::BaseModel
1068
+ OrHash =
1069
+ T.type_alias do
1070
+ T.any(
1071
+ Lithic::CardAuthorization::NameValidation,
1072
+ Lithic::Internal::AnyHash
1073
+ )
1074
+ end
1075
+
1076
+ # Cardholder name as provided by the card network.
1077
+ sig { returns(Lithic::CardAuthorization::NameValidation::Name) }
1078
+ attr_reader :name
1079
+
1080
+ sig do
1081
+ params(
1082
+ name: Lithic::CardAuthorization::NameValidation::Name::OrHash
1083
+ ).void
1084
+ end
1085
+ attr_writer :name
1086
+
1087
+ # Lithic's computed match result comparing the network-provided name to the name
1088
+ # on file.
1089
+ sig do
1090
+ returns(Lithic::CardAuthorization::NameValidation::NameOnFileMatch)
1091
+ end
1092
+ attr_reader :name_on_file_match
1093
+
1094
+ sig do
1095
+ params(
1096
+ name_on_file_match:
1097
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::OrHash
1098
+ ).void
1099
+ end
1100
+ attr_writer :name_on_file_match
1101
+
1102
+ # Network name validation data, present when the card network requested name
1103
+ # validation for this transaction. Contains the cardholder name provided by the
1104
+ # network and Lithic's computed match result against KYC data on file.
1105
+ sig do
1106
+ params(
1107
+ name: Lithic::CardAuthorization::NameValidation::Name::OrHash,
1108
+ name_on_file_match:
1109
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::OrHash
1110
+ ).returns(T.attached_class)
1111
+ end
1112
+ def self.new(
1113
+ # Cardholder name as provided by the card network.
1114
+ name:,
1115
+ # Lithic's computed match result comparing the network-provided name to the name
1116
+ # on file.
1117
+ name_on_file_match:
1118
+ )
1119
+ end
1120
+
1121
+ sig do
1122
+ override.returns(
1123
+ {
1124
+ name: Lithic::CardAuthorization::NameValidation::Name,
1125
+ name_on_file_match:
1126
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch
1127
+ }
1128
+ )
1129
+ end
1130
+ def to_hash
1131
+ end
1132
+
1133
+ class Name < Lithic::Internal::Type::BaseModel
1134
+ OrHash =
1135
+ T.type_alias do
1136
+ T.any(
1137
+ Lithic::CardAuthorization::NameValidation::Name,
1138
+ Lithic::Internal::AnyHash
1139
+ )
1140
+ end
1141
+
1142
+ # First name
1143
+ sig { returns(String) }
1144
+ attr_accessor :first
1145
+
1146
+ # Last name
1147
+ sig { returns(String) }
1148
+ attr_accessor :last
1149
+
1150
+ # Middle name
1151
+ sig { returns(T.nilable(String)) }
1152
+ attr_accessor :middle
1153
+
1154
+ # Cardholder name as provided by the card network.
1155
+ sig do
1156
+ params(
1157
+ first: String,
1158
+ last: String,
1159
+ middle: T.nilable(String)
1160
+ ).returns(T.attached_class)
1161
+ end
1162
+ def self.new(
1163
+ # First name
1164
+ first:,
1165
+ # Last name
1166
+ last:,
1167
+ # Middle name
1168
+ middle:
1169
+ )
1170
+ end
1171
+
1172
+ sig do
1173
+ override.returns(
1174
+ { first: String, last: String, middle: T.nilable(String) }
1175
+ )
1176
+ end
1177
+ def to_hash
1178
+ end
1179
+ end
1180
+
1181
+ class NameOnFileMatch < Lithic::Internal::Type::BaseModel
1182
+ OrHash =
1183
+ T.type_alias do
1184
+ T.any(
1185
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch,
1186
+ Lithic::Internal::AnyHash
1187
+ )
1188
+ end
1189
+
1190
+ # Overall name match result.
1191
+ sig do
1192
+ returns(
1193
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1194
+ )
1195
+ end
1196
+ attr_accessor :full_name
1197
+
1198
+ # Lithic's computed match result comparing the network-provided name to the name
1199
+ # on file.
1200
+ sig do
1201
+ params(
1202
+ full_name:
1203
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::OrSymbol
1204
+ ).returns(T.attached_class)
1205
+ end
1206
+ def self.new(
1207
+ # Overall name match result.
1208
+ full_name:
1209
+ )
1210
+ end
1211
+
1212
+ sig do
1213
+ override.returns(
1214
+ {
1215
+ full_name:
1216
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1217
+ }
1218
+ )
1219
+ end
1220
+ def to_hash
1221
+ end
1222
+
1223
+ # Overall name match result.
1224
+ module FullName
1225
+ extend Lithic::Internal::Type::Enum
1226
+
1227
+ TaggedSymbol =
1228
+ T.type_alias do
1229
+ T.all(
1230
+ Symbol,
1231
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName
1232
+ )
1233
+ end
1234
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1235
+
1236
+ MATCH =
1237
+ T.let(
1238
+ :MATCH,
1239
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1240
+ )
1241
+ PARTIAL_MATCH =
1242
+ T.let(
1243
+ :PARTIAL_MATCH,
1244
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1245
+ )
1246
+ NO_MATCH =
1247
+ T.let(
1248
+ :NO_MATCH,
1249
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1250
+ )
1251
+ UNVERIFIED =
1252
+ T.let(
1253
+ :UNVERIFIED,
1254
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1255
+ )
1256
+
1257
+ sig do
1258
+ override.returns(
1259
+ T::Array[
1260
+ Lithic::CardAuthorization::NameValidation::NameOnFileMatch::FullName::TaggedSymbol
1261
+ ]
1262
+ )
1263
+ end
1264
+ def self.values
1265
+ end
1266
+ end
1267
+ end
1268
+ end
1269
+
1045
1270
  class ServiceLocation < Lithic::Internal::Type::BaseModel
1046
1271
  OrHash =
1047
1272
  T.type_alias do
@@ -1381,6 +1606,15 @@ module Lithic
1381
1606
  )
1382
1607
  end
1383
1608
 
1609
+ # The date and time when the Authorization Challenge was completed in UTC. Filled
1610
+ # only if the challenge has been completed.
1611
+ sig { returns(T.nilable(Time)) }
1612
+ attr_accessor :completed_at
1613
+
1614
+ # The date and time when the Authorization Challenge was created in UTC
1615
+ sig { returns(Time) }
1616
+ attr_accessor :created
1617
+
1384
1618
  # The method used to deliver the challenge to the cardholder
1385
1619
  #
1386
1620
  # - `SMS` - Challenge was delivered via SMS
@@ -1411,27 +1645,24 @@ module Lithic
1411
1645
  end
1412
1646
  attr_accessor :status
1413
1647
 
1414
- # The date and time when the Authorization Challenge was completed in UTC. Present
1415
- # only if the status is `COMPLETED`.
1416
- sig { returns(T.nilable(Time)) }
1417
- attr_reader :completed_at
1418
-
1419
- sig { params(completed_at: Time).void }
1420
- attr_writer :completed_at
1421
-
1422
1648
  # The latest Authorization Challenge that was issued to the cardholder for this
1423
1649
  # merchant.
1424
1650
  sig do
1425
1651
  params(
1652
+ completed_at: T.nilable(Time),
1653
+ created: Time,
1426
1654
  method_:
1427
1655
  Lithic::CardAuthorization::LatestChallenge::Method::OrSymbol,
1428
1656
  phone_number: T.nilable(String),
1429
- status:
1430
- Lithic::CardAuthorization::LatestChallenge::Status::OrSymbol,
1431
- completed_at: Time
1657
+ status: Lithic::CardAuthorization::LatestChallenge::Status::OrSymbol
1432
1658
  ).returns(T.attached_class)
1433
1659
  end
1434
1660
  def self.new(
1661
+ # The date and time when the Authorization Challenge was completed in UTC. Filled
1662
+ # only if the challenge has been completed.
1663
+ completed_at:,
1664
+ # The date and time when the Authorization Challenge was created in UTC
1665
+ created:,
1435
1666
  # The method used to deliver the challenge to the cardholder
1436
1667
  #
1437
1668
  # - `SMS` - Challenge was delivered via SMS
@@ -1447,22 +1678,20 @@ module Lithic
1447
1678
  # - `PENDING` - Challenge is still open
1448
1679
  # - `EXPIRED` - Challenge has expired without being completed
1449
1680
  # - `ERROR` - There was an error processing the challenge
1450
- status:,
1451
- # The date and time when the Authorization Challenge was completed in UTC. Present
1452
- # only if the status is `COMPLETED`.
1453
- completed_at: nil
1681
+ status:
1454
1682
  )
1455
1683
  end
1456
1684
 
1457
1685
  sig do
1458
1686
  override.returns(
1459
1687
  {
1688
+ completed_at: T.nilable(Time),
1689
+ created: Time,
1460
1690
  method_:
1461
1691
  Lithic::CardAuthorization::LatestChallenge::Method::TaggedSymbol,
1462
1692
  phone_number: T.nilable(String),
1463
1693
  status:
1464
- Lithic::CardAuthorization::LatestChallenge::Status::TaggedSymbol,
1465
- completed_at: Time
1694
+ Lithic::CardAuthorization::LatestChallenge::Status::TaggedSymbol
1466
1695
  }
1467
1696
  )
1468
1697
  end
@@ -157,6 +157,10 @@ module Lithic
157
157
  sig { params(ytd_totals: Lithic::StatementTotals::OrHash).void }
158
158
  attr_writer :ytd_totals
159
159
 
160
+ # Day of the billing period that this loan tape covers, starting at 1
161
+ sig { returns(T.nilable(Integer)) }
162
+ attr_accessor :day_of_period
163
+
160
164
  # Interest tier to which this account belongs to
161
165
  sig { returns(T.nilable(String)) }
162
166
  attr_accessor :tier
@@ -191,6 +195,7 @@ module Lithic
191
195
  updated: Time,
192
196
  version: Integer,
193
197
  ytd_totals: Lithic::StatementTotals::OrHash,
198
+ day_of_period: T.nilable(Integer),
194
199
  tier: T.nilable(String)
195
200
  ).returns(T.attached_class)
196
201
  end
@@ -232,6 +237,8 @@ module Lithic
232
237
  # Version number of the loan tape. This starts at 1
233
238
  version:,
234
239
  ytd_totals:,
240
+ # Day of the billing period that this loan tape covers, starting at 1
241
+ day_of_period: nil,
235
242
  # Interest tier to which this account belongs to
236
243
  tier: nil
237
244
  )
@@ -266,6 +273,7 @@ module Lithic
266
273
  updated: Time,
267
274
  version: Integer,
268
275
  ytd_totals: Lithic::StatementTotals,
276
+ day_of_period: T.nilable(Integer),
269
277
  tier: T.nilable(String)
270
278
  }
271
279
  )
@@ -97,6 +97,14 @@ module Lithic
97
97
  sig { returns(T.nilable(String)) }
98
98
  attr_accessor :external_bank_account_token
99
99
 
100
+ # Key-value pairs for tagging resources. Tags allow you to associate arbitrary
101
+ # metadata with a resource for your own purposes.
102
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
103
+ attr_reader :tags
104
+
105
+ sig { params(tags: T::Hash[Symbol, String]).void }
106
+ attr_writer :tags
107
+
100
108
  sig { returns(T.nilable(Lithic::Payment::Type::TaggedSymbol)) }
101
109
  attr_reader :type
102
110
 
@@ -134,6 +142,7 @@ module Lithic
134
142
  currency: String,
135
143
  expected_release_date: T.nilable(Date),
136
144
  external_bank_account_token: T.nilable(String),
145
+ tags: T::Hash[Symbol, String],
137
146
  type: Lithic::Payment::Type::OrSymbol,
138
147
  user_defined_id: T.nilable(String),
139
148
  family: Symbol
@@ -178,6 +187,9 @@ module Lithic
178
187
  expected_release_date: nil,
179
188
  # External bank account token
180
189
  external_bank_account_token: nil,
190
+ # Key-value pairs for tagging resources. Tags allow you to associate arbitrary
191
+ # metadata with a resource for your own purposes.
192
+ tags: nil,
181
193
  type: nil,
182
194
  # User-defined identifier
183
195
  user_defined_id: nil,
@@ -210,6 +222,7 @@ module Lithic
210
222
  currency: String,
211
223
  expected_release_date: T.nilable(Date),
212
224
  external_bank_account_token: T.nilable(String),
225
+ tags: T::Hash[Symbol, String],
213
226
  type: Lithic::Payment::Type::TaggedSymbol,
214
227
  user_defined_id: T.nilable(String)
215
228
  }
@@ -0,0 +1,107 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ class CaseActivityEntry < Lithic::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Lithic::TransactionMonitoring::CaseActivityEntry,
11
+ Lithic::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Globally unique identifier for the activity entry
16
+ sig { returns(String) }
17
+ attr_accessor :token
18
+
19
+ # Identifier of the actor that produced the activity entry
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :actor_token
22
+
23
+ # Date and time at which the activity entry was created
24
+ sig { returns(Time) }
25
+ attr_accessor :created
26
+
27
+ # The case field that changed, or the action that was taken, in an activity entry:
28
+ #
29
+ # - `STATUS` - The case status changed
30
+ # - `TITLE` - The case title changed
31
+ # - `ASSIGNED_TO` - The case assignee changed
32
+ # - `RESOLUTION_OUTCOME` - The resolution outcome was set or changed
33
+ # - `RESOLUTION_NOTES` - The resolution notes were set or changed
34
+ # - `TAGS` - The case tags changed
35
+ # - `PRIORITY` - The case priority changed
36
+ # - `COMMENT` - A comment was added or edited
37
+ # - `FILE` - A file was attached to the case
38
+ sig do
39
+ returns(Lithic::TransactionMonitoring::CaseActivityType::TaggedSymbol)
40
+ end
41
+ attr_accessor :entry_type
42
+
43
+ # New value of the changed field, when applicable
44
+ sig { returns(T.nilable(String)) }
45
+ attr_accessor :new_value
46
+
47
+ # Previous value of the changed field, when applicable
48
+ sig { returns(T.nilable(String)) }
49
+ attr_accessor :previous_value
50
+
51
+ # A single entry in a case's activity feed
52
+ sig do
53
+ params(
54
+ token: String,
55
+ actor_token: T.nilable(String),
56
+ created: Time,
57
+ entry_type:
58
+ Lithic::TransactionMonitoring::CaseActivityType::OrSymbol,
59
+ new_value: T.nilable(String),
60
+ previous_value: T.nilable(String)
61
+ ).returns(T.attached_class)
62
+ end
63
+ def self.new(
64
+ # Globally unique identifier for the activity entry
65
+ token:,
66
+ # Identifier of the actor that produced the activity entry
67
+ actor_token:,
68
+ # Date and time at which the activity entry was created
69
+ created:,
70
+ # The case field that changed, or the action that was taken, in an activity entry:
71
+ #
72
+ # - `STATUS` - The case status changed
73
+ # - `TITLE` - The case title changed
74
+ # - `ASSIGNED_TO` - The case assignee changed
75
+ # - `RESOLUTION_OUTCOME` - The resolution outcome was set or changed
76
+ # - `RESOLUTION_NOTES` - The resolution notes were set or changed
77
+ # - `TAGS` - The case tags changed
78
+ # - `PRIORITY` - The case priority changed
79
+ # - `COMMENT` - A comment was added or edited
80
+ # - `FILE` - A file was attached to the case
81
+ entry_type:,
82
+ # New value of the changed field, when applicable
83
+ new_value:,
84
+ # Previous value of the changed field, when applicable
85
+ previous_value:
86
+ )
87
+ end
88
+
89
+ sig do
90
+ override.returns(
91
+ {
92
+ token: String,
93
+ actor_token: T.nilable(String),
94
+ created: Time,
95
+ entry_type:
96
+ Lithic::TransactionMonitoring::CaseActivityType::TaggedSymbol,
97
+ new_value: T.nilable(String),
98
+ previous_value: T.nilable(String)
99
+ }
100
+ )
101
+ end
102
+ def to_hash
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,84 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ # The case field that changed, or the action that was taken, in an activity entry:
7
+ #
8
+ # - `STATUS` - The case status changed
9
+ # - `TITLE` - The case title changed
10
+ # - `ASSIGNED_TO` - The case assignee changed
11
+ # - `RESOLUTION_OUTCOME` - The resolution outcome was set or changed
12
+ # - `RESOLUTION_NOTES` - The resolution notes were set or changed
13
+ # - `TAGS` - The case tags changed
14
+ # - `PRIORITY` - The case priority changed
15
+ # - `COMMENT` - A comment was added or edited
16
+ # - `FILE` - A file was attached to the case
17
+ module CaseActivityType
18
+ extend Lithic::Internal::Type::Enum
19
+
20
+ TaggedSymbol =
21
+ T.type_alias do
22
+ T.all(Symbol, Lithic::TransactionMonitoring::CaseActivityType)
23
+ end
24
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
25
+
26
+ STATUS =
27
+ T.let(
28
+ :STATUS,
29
+ Lithic::TransactionMonitoring::CaseActivityType::TaggedSymbol
30
+ )
31
+ TITLE =
32
+ T.let(
33
+ :TITLE,
34
+ Lithic::TransactionMonitoring::CaseActivityType::TaggedSymbol
35
+ )
36
+ ASSIGNED_TO =
37
+ T.let(
38
+ :ASSIGNED_TO,
39
+ Lithic::TransactionMonitoring::CaseActivityType::TaggedSymbol
40
+ )
41
+ RESOLUTION_OUTCOME =
42
+ T.let(
43
+ :RESOLUTION_OUTCOME,
44
+ Lithic::TransactionMonitoring::CaseActivityType::TaggedSymbol
45
+ )
46
+ RESOLUTION_NOTES =
47
+ T.let(
48
+ :RESOLUTION_NOTES,
49
+ Lithic::TransactionMonitoring::CaseActivityType::TaggedSymbol
50
+ )
51
+ TAGS =
52
+ T.let(
53
+ :TAGS,
54
+ Lithic::TransactionMonitoring::CaseActivityType::TaggedSymbol
55
+ )
56
+ PRIORITY =
57
+ T.let(
58
+ :PRIORITY,
59
+ Lithic::TransactionMonitoring::CaseActivityType::TaggedSymbol
60
+ )
61
+ COMMENT =
62
+ T.let(
63
+ :COMMENT,
64
+ Lithic::TransactionMonitoring::CaseActivityType::TaggedSymbol
65
+ )
66
+ FILE =
67
+ T.let(
68
+ :FILE,
69
+ Lithic::TransactionMonitoring::CaseActivityType::TaggedSymbol
70
+ )
71
+
72
+ sig do
73
+ override.returns(
74
+ T::Array[
75
+ Lithic::TransactionMonitoring::CaseActivityType::TaggedSymbol
76
+ ]
77
+ )
78
+ end
79
+ def self.values
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,60 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ class CaseCard < Lithic::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Lithic::TransactionMonitoring::CaseCard,
11
+ Lithic::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Token of the account the card belongs to
16
+ sig { returns(String) }
17
+ attr_accessor :account_token
18
+
19
+ # Token of the card
20
+ sig { returns(String) }
21
+ attr_accessor :card_token
22
+
23
+ # Number of the card's transactions associated with the case
24
+ sig { returns(Integer) }
25
+ attr_accessor :transaction_count
26
+
27
+ # Summary of a card's involvement in a case, aggregated across the case's
28
+ # transactions
29
+ sig do
30
+ params(
31
+ account_token: String,
32
+ card_token: String,
33
+ transaction_count: Integer
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(
37
+ # Token of the account the card belongs to
38
+ account_token:,
39
+ # Token of the card
40
+ card_token:,
41
+ # Number of the card's transactions associated with the case
42
+ transaction_count:
43
+ )
44
+ end
45
+
46
+ sig do
47
+ override.returns(
48
+ {
49
+ account_token: String,
50
+ card_token: String,
51
+ transaction_count: Integer
52
+ }
53
+ )
54
+ end
55
+ def to_hash
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end