lithic 0.15.0 → 0.16.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 (175) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -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/auth_rule.rb +4 -2
  10. data/lib/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rb +18 -20
  11. data/lib/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rb +195 -9
  12. data/lib/lithic/models/auth_rules/rule_feature.rb +29 -6
  13. data/lib/lithic/models/auth_rules/typescript_code_parameters.rb +2 -2
  14. data/lib/lithic/models/auth_rules/v2_create_params.rb +12 -6
  15. data/lib/lithic/models/card.rb +1 -1
  16. data/lib/lithic/models/card_authorization.rb +117 -11
  17. data/lib/lithic/models/financial_accounts/loan_tape.rb +9 -1
  18. data/lib/lithic/models/payment.rb +13 -1
  19. data/lib/lithic/models/transaction_monitoring/case_activity_entry.rb +74 -0
  20. data/lib/lithic/models/transaction_monitoring/case_activity_type.rb +35 -0
  21. data/lib/lithic/models/transaction_monitoring/case_card.rb +37 -0
  22. data/lib/lithic/models/transaction_monitoring/case_entity.rb +50 -0
  23. data/lib/lithic/models/transaction_monitoring/case_list_activity_params.rb +53 -0
  24. data/lib/lithic/models/transaction_monitoring/case_list_params.rb +136 -0
  25. data/lib/lithic/models/transaction_monitoring/case_list_transactions_params.rb +53 -0
  26. data/lib/lithic/models/transaction_monitoring/case_priority.rb +20 -0
  27. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_params.rb +22 -0
  28. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_response.rb +11 -0
  29. data/lib/lithic/models/transaction_monitoring/case_retrieve_params.rb +22 -0
  30. data/lib/lithic/models/transaction_monitoring/case_sort_order.rb +29 -0
  31. data/lib/lithic/models/transaction_monitoring/case_status.rb +31 -0
  32. data/lib/lithic/models/transaction_monitoring/case_transaction.rb +53 -0
  33. data/lib/lithic/models/transaction_monitoring/case_update_params.rb +116 -0
  34. data/lib/lithic/models/transaction_monitoring/cases/case_file.rb +141 -0
  35. data/lib/lithic/models/transaction_monitoring/cases/comment_create_params.rb +47 -0
  36. data/lib/lithic/models/transaction_monitoring/cases/comment_delete_params.rb +30 -0
  37. data/lib/lithic/models/transaction_monitoring/cases/comment_update_params.rb +54 -0
  38. data/lib/lithic/models/transaction_monitoring/cases/file_create_params.rb +33 -0
  39. data/lib/lithic/models/transaction_monitoring/cases/file_delete_params.rb +30 -0
  40. data/lib/lithic/models/transaction_monitoring/cases/file_list_params.rb +54 -0
  41. data/lib/lithic/models/transaction_monitoring/cases/file_retrieve_params.rb +30 -0
  42. data/lib/lithic/models/transaction_monitoring/cases/file_status.rb +26 -0
  43. data/lib/lithic/models/transaction_monitoring/cases/upload_constraints.rb +31 -0
  44. data/lib/lithic/models/transaction_monitoring/entity_type.rb +18 -0
  45. data/lib/lithic/models/transaction_monitoring/monitoring_case.rb +168 -0
  46. data/lib/lithic/models/transaction_monitoring/queue.rb +120 -0
  47. data/lib/lithic/models/transaction_monitoring/queue_create_params.rb +32 -0
  48. data/lib/lithic/models/transaction_monitoring/queue_delete_params.rb +22 -0
  49. data/lib/lithic/models/transaction_monitoring/queue_list_params.rb +45 -0
  50. data/lib/lithic/models/transaction_monitoring/queue_retrieve_params.rb +22 -0
  51. data/lib/lithic/models/transaction_monitoring/queue_update_params.rb +39 -0
  52. data/lib/lithic/models/transaction_monitoring/resolution_outcome.rb +28 -0
  53. data/lib/lithic/models/transaction_route_params.rb +29 -0
  54. data/lib/lithic/models.rb +4 -0
  55. data/lib/lithic/resources/account_holders/entities.rb +1 -1
  56. data/lib/lithic/resources/cards.rb +2 -2
  57. data/lib/lithic/resources/transaction_monitoring/cases/comments.rb +111 -0
  58. data/lib/lithic/resources/transaction_monitoring/cases/files.rb +131 -0
  59. data/lib/lithic/resources/transaction_monitoring/cases.rb +228 -0
  60. data/lib/lithic/resources/transaction_monitoring/queues.rb +137 -0
  61. data/lib/lithic/resources/transaction_monitoring.rb +22 -0
  62. data/lib/lithic/resources/transactions.rb +25 -0
  63. data/lib/lithic/version.rb +1 -1
  64. data/lib/lithic.rb +40 -0
  65. data/rbi/lithic/client.rbi +3 -0
  66. data/rbi/lithic/models/account.rbi +3 -3
  67. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +3 -40
  68. data/rbi/lithic/models/account_holders/entity_create_params.rbi +3 -37
  69. data/rbi/lithic/models/auth_rules/auth_rule.rbi +6 -3
  70. data/rbi/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbi +29 -29
  71. data/rbi/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbi +395 -12
  72. data/rbi/lithic/models/auth_rules/rule_feature.rbi +41 -5
  73. data/rbi/lithic/models/auth_rules/typescript_code_parameters.rbi +3 -0
  74. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +18 -9
  75. data/rbi/lithic/models/card.rbi +2 -2
  76. data/rbi/lithic/models/card_authorization.rbi +246 -17
  77. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +8 -0
  78. data/rbi/lithic/models/payment.rbi +13 -0
  79. data/rbi/lithic/models/transaction_monitoring/case_activity_entry.rbi +107 -0
  80. data/rbi/lithic/models/transaction_monitoring/case_activity_type.rbi +84 -0
  81. data/rbi/lithic/models/transaction_monitoring/case_card.rbi +60 -0
  82. data/rbi/lithic/models/transaction_monitoring/case_entity.rbi +101 -0
  83. data/rbi/lithic/models/transaction_monitoring/case_list_activity_params.rbi +83 -0
  84. data/rbi/lithic/models/transaction_monitoring/case_list_params.rbi +220 -0
  85. data/rbi/lithic/models/transaction_monitoring/case_list_transactions_params.rbi +83 -0
  86. data/rbi/lithic/models/transaction_monitoring/case_priority.rbi +44 -0
  87. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbi +40 -0
  88. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbi +15 -0
  89. data/rbi/lithic/models/transaction_monitoring/case_retrieve_params.rbi +40 -0
  90. data/rbi/lithic/models/transaction_monitoring/case_sort_order.rbi +64 -0
  91. data/rbi/lithic/models/transaction_monitoring/case_status.rbi +63 -0
  92. data/rbi/lithic/models/transaction_monitoring/case_transaction.rbi +75 -0
  93. data/rbi/lithic/models/transaction_monitoring/case_update_params.rbi +201 -0
  94. data/rbi/lithic/models/transaction_monitoring/cases/case_file.rbi +188 -0
  95. data/rbi/lithic/models/transaction_monitoring/cases/comment_create_params.rbi +71 -0
  96. data/rbi/lithic/models/transaction_monitoring/cases/comment_delete_params.rbi +50 -0
  97. data/rbi/lithic/models/transaction_monitoring/cases/comment_update_params.rbi +77 -0
  98. data/rbi/lithic/models/transaction_monitoring/cases/file_create_params.rbi +56 -0
  99. data/rbi/lithic/models/transaction_monitoring/cases/file_delete_params.rbi +50 -0
  100. data/rbi/lithic/models/transaction_monitoring/cases/file_list_params.rbi +85 -0
  101. data/rbi/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbi +50 -0
  102. data/rbi/lithic/models/transaction_monitoring/cases/file_status.rbi +51 -0
  103. data/rbi/lithic/models/transaction_monitoring/cases/upload_constraints.rbi +51 -0
  104. data/rbi/lithic/models/transaction_monitoring/entity_type.rbi +37 -0
  105. data/rbi/lithic/models/transaction_monitoring/monitoring_case.rbi +226 -0
  106. data/rbi/lithic/models/transaction_monitoring/queue.rbi +189 -0
  107. data/rbi/lithic/models/transaction_monitoring/queue_create_params.rbi +56 -0
  108. data/rbi/lithic/models/transaction_monitoring/queue_delete_params.rbi +40 -0
  109. data/rbi/lithic/models/transaction_monitoring/queue_list_params.rbi +77 -0
  110. data/rbi/lithic/models/transaction_monitoring/queue_retrieve_params.rbi +40 -0
  111. data/rbi/lithic/models/transaction_monitoring/queue_update_params.rbi +65 -0
  112. data/rbi/lithic/models/transaction_monitoring/resolution_outcome.rbi +61 -0
  113. data/rbi/lithic/models/transaction_route_params.rbi +49 -0
  114. data/rbi/lithic/models.rbi +4 -0
  115. data/rbi/lithic/resources/account_holders/entities.rbi +1 -1
  116. data/rbi/lithic/resources/cards.rbi +2 -2
  117. data/rbi/lithic/resources/transaction_monitoring/cases/comments.rbi +81 -0
  118. data/rbi/lithic/resources/transaction_monitoring/cases/files.rbi +98 -0
  119. data/rbi/lithic/resources/transaction_monitoring/cases.rbi +230 -0
  120. data/rbi/lithic/resources/transaction_monitoring/queues.rbi +103 -0
  121. data/rbi/lithic/resources/transaction_monitoring.rbi +18 -0
  122. data/rbi/lithic/resources/transactions.rbi +18 -0
  123. data/sig/lithic/client.rbs +2 -0
  124. data/sig/lithic/models/account_holders/account_holder_entity.rbs +4 -15
  125. data/sig/lithic/models/account_holders/entity_create_params.rbs +4 -15
  126. data/sig/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbs +16 -16
  127. data/sig/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbs +73 -3
  128. data/sig/lithic/models/auth_rules/rule_feature.rbs +16 -0
  129. data/sig/lithic/models/card_authorization.rbs +84 -10
  130. data/sig/lithic/models/financial_accounts/loan_tape.rbs +5 -0
  131. data/sig/lithic/models/payment.rbs +7 -0
  132. data/sig/lithic/models/transaction_monitoring/case_activity_entry.rbs +47 -0
  133. data/sig/lithic/models/transaction_monitoring/case_activity_type.rbs +32 -0
  134. data/sig/lithic/models/transaction_monitoring/case_card.rbs +32 -0
  135. data/sig/lithic/models/transaction_monitoring/case_entity.rbs +38 -0
  136. data/sig/lithic/models/transaction_monitoring/case_list_activity_params.rbs +49 -0
  137. data/sig/lithic/models/transaction_monitoring/case_list_params.rbs +125 -0
  138. data/sig/lithic/models/transaction_monitoring/case_list_transactions_params.rbs +49 -0
  139. data/sig/lithic/models/transaction_monitoring/case_priority.rbs +18 -0
  140. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbs +25 -0
  141. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbs +10 -0
  142. data/sig/lithic/models/transaction_monitoring/case_retrieve_params.rbs +25 -0
  143. data/sig/lithic/models/transaction_monitoring/case_sort_order.rbs +26 -0
  144. data/sig/lithic/models/transaction_monitoring/case_status.rbs +21 -0
  145. data/sig/lithic/models/transaction_monitoring/case_transaction.rbs +42 -0
  146. data/sig/lithic/models/transaction_monitoring/case_update_params.rbs +91 -0
  147. data/sig/lithic/models/transaction_monitoring/cases/case_file.rbs +86 -0
  148. data/sig/lithic/models/transaction_monitoring/cases/comment_create_params.rbs +38 -0
  149. data/sig/lithic/models/transaction_monitoring/cases/comment_delete_params.rbs +32 -0
  150. data/sig/lithic/models/transaction_monitoring/cases/comment_update_params.rbs +47 -0
  151. data/sig/lithic/models/transaction_monitoring/cases/file_create_params.rbs +32 -0
  152. data/sig/lithic/models/transaction_monitoring/cases/file_delete_params.rbs +32 -0
  153. data/sig/lithic/models/transaction_monitoring/cases/file_list_params.rbs +51 -0
  154. data/sig/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbs +32 -0
  155. data/sig/lithic/models/transaction_monitoring/cases/file_status.rbs +19 -0
  156. data/sig/lithic/models/transaction_monitoring/cases/upload_constraints.rbs +26 -0
  157. data/sig/lithic/models/transaction_monitoring/entity_type.rbs +16 -0
  158. data/sig/lithic/models/transaction_monitoring/monitoring_case.rbs +102 -0
  159. data/sig/lithic/models/transaction_monitoring/queue.rbs +101 -0
  160. data/sig/lithic/models/transaction_monitoring/queue_create_params.rbs +30 -0
  161. data/sig/lithic/models/transaction_monitoring/queue_delete_params.rbs +25 -0
  162. data/sig/lithic/models/transaction_monitoring/queue_list_params.rbs +40 -0
  163. data/sig/lithic/models/transaction_monitoring/queue_retrieve_params.rbs +25 -0
  164. data/sig/lithic/models/transaction_monitoring/queue_update_params.rbs +36 -0
  165. data/sig/lithic/models/transaction_monitoring/resolution_outcome.rbs +24 -0
  166. data/sig/lithic/models/transaction_route_params.rbs +28 -0
  167. data/sig/lithic/models.rbs +4 -0
  168. data/sig/lithic/resources/account_holders/entities.rbs +1 -1
  169. data/sig/lithic/resources/transaction_monitoring/cases/comments.rbs +32 -0
  170. data/sig/lithic/resources/transaction_monitoring/cases/files.rbs +37 -0
  171. data/sig/lithic/resources/transaction_monitoring/cases.rbs +71 -0
  172. data/sig/lithic/resources/transaction_monitoring/queues.rbs +39 -0
  173. data/sig/lithic/resources/transaction_monitoring.rbs +11 -0
  174. data/sig/lithic/resources/transactions.rbs +6 -0
  175. metadata +122 -2
@@ -106,7 +106,8 @@ module Lithic
106
106
  # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
107
107
  # stream.
108
108
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
109
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
109
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
110
+ # stream.
110
111
  sig do
111
112
  returns(
112
113
  Lithic::AuthRules::V2CreateParams::Body::AccountLevelRule::Type::OrSymbol
@@ -182,7 +183,8 @@ module Lithic
182
183
  # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
183
184
  # stream.
184
185
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
185
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
186
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
187
+ # stream.
186
188
  type:,
187
189
  # Account tokens to which the Auth Rule applies.
188
190
  account_tokens: nil,
@@ -267,7 +269,8 @@ module Lithic
267
269
  # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
268
270
  # stream.
269
271
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
270
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
272
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
273
+ # stream.
271
274
  module Type
272
275
  extend Lithic::Internal::Type::Enum
273
276
 
@@ -363,7 +366,8 @@ module Lithic
363
366
  # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
364
367
  # stream.
365
368
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
366
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
369
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
370
+ # stream.
367
371
  sig do
368
372
  returns(
369
373
  Lithic::AuthRules::V2CreateParams::Body::CardLevelRule::Type::OrSymbol
@@ -426,7 +430,8 @@ module Lithic
426
430
  # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
427
431
  # stream.
428
432
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
429
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
433
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
434
+ # stream.
430
435
  type:,
431
436
  # The event stream during which the rule will be evaluated.
432
437
  event_stream: nil,
@@ -506,7 +511,8 @@ module Lithic
506
511
  # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
507
512
  # stream.
508
513
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
509
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
514
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
515
+ # stream.
510
516
  module Type
511
517
  extend Lithic::Internal::Type::Enum
512
518
 
@@ -602,7 +608,8 @@ module Lithic
602
608
  # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
603
609
  # stream.
604
610
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
605
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
611
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
612
+ # stream.
606
613
  sig do
607
614
  returns(
608
615
  Lithic::AuthRules::V2CreateParams::Body::ProgramLevelRule::Type::OrSymbol
@@ -691,7 +698,8 @@ module Lithic
691
698
  # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
692
699
  # stream.
693
700
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
694
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
701
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
702
+ # stream.
695
703
  type:,
696
704
  # The event stream during which the rule will be evaluated.
697
705
  event_stream: nil,
@@ -780,7 +788,8 @@ module Lithic
780
788
  # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
781
789
  # stream.
782
790
  # - `TYPESCRIPT_CODE`: AUTHORIZATION, THREE_DS_AUTHENTICATION, TOKENIZATION,
783
- # ACH_CREDIT_RECEIPT, or ACH_DEBIT_RECEIPT event stream.
791
+ # ACH_CREDIT_RECEIPT, ACH_DEBIT_RECEIPT, or CARD_TRANSACTION_UPDATE event
792
+ # stream.
784
793
  module Type
785
794
  extend Lithic::Internal::Type::Enum
786
795
 
@@ -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