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
@@ -0,0 +1,965 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class DisputeV2 < Lithic::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Lithic::DisputeV2, Lithic::Internal::AnyHash) }
8
+
9
+ # Token assigned by Lithic for the dispute, in UUID format.
10
+ sig { returns(String) }
11
+ attr_accessor :token
12
+
13
+ # Token for the account associated with the dispute, in UUID format.
14
+ sig { returns(String) }
15
+ attr_accessor :account_token
16
+
17
+ # Token for the card used in the dispute, in UUID format.
18
+ sig { returns(String) }
19
+ attr_accessor :card_token
20
+
21
+ # Identifier assigned by the network for this dispute.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_accessor :case_id
24
+
25
+ # When the dispute was created.
26
+ sig { returns(Time) }
27
+ attr_accessor :created
28
+
29
+ # Three-letter ISO 4217 currency code.
30
+ sig { returns(String) }
31
+ attr_accessor :currency
32
+
33
+ # Dispute resolution outcome
34
+ sig { returns(T.nilable(Lithic::DisputeV2::Disposition::TaggedSymbol)) }
35
+ attr_accessor :disposition
36
+
37
+ # Chronological list of events that have occurred in the dispute lifecycle
38
+ sig { returns(T::Array[Lithic::DisputeV2::Event]) }
39
+ attr_accessor :events
40
+
41
+ # Current breakdown of how liability is allocated for the disputed amount
42
+ sig { returns(Lithic::DisputeV2::LiabilityAllocation) }
43
+ attr_reader :liability_allocation
44
+
45
+ sig do
46
+ params(
47
+ liability_allocation: Lithic::DisputeV2::LiabilityAllocation::OrHash
48
+ ).void
49
+ end
50
+ attr_writer :liability_allocation
51
+
52
+ sig { returns(Lithic::Merchant) }
53
+ attr_reader :merchant
54
+
55
+ sig { params(merchant: Lithic::Merchant::OrHash).void }
56
+ attr_writer :merchant
57
+
58
+ # Card network handling the dispute.
59
+ sig { returns(Lithic::DisputeV2::Network::TaggedSymbol) }
60
+ attr_accessor :network
61
+
62
+ # Current status of the dispute.
63
+ sig { returns(T.nilable(Lithic::DisputeV2::Status::TaggedSymbol)) }
64
+ attr_accessor :status
65
+
66
+ # Contains identifiers for the transaction and specific event within being
67
+ # disputed; null if no transaction can be identified
68
+ sig { returns(T.nilable(Lithic::DisputeV2::TransactionSeries)) }
69
+ attr_reader :transaction_series
70
+
71
+ sig do
72
+ params(
73
+ transaction_series:
74
+ T.nilable(Lithic::DisputeV2::TransactionSeries::OrHash)
75
+ ).void
76
+ end
77
+ attr_writer :transaction_series
78
+
79
+ # When the dispute was last updated.
80
+ sig { returns(Time) }
81
+ attr_accessor :updated
82
+
83
+ # The Dispute object tracks the progression of a dispute throughout its lifecycle.
84
+ sig do
85
+ params(
86
+ token: String,
87
+ account_token: String,
88
+ card_token: String,
89
+ case_id: T.nilable(String),
90
+ created: Time,
91
+ currency: String,
92
+ disposition: T.nilable(Lithic::DisputeV2::Disposition::OrSymbol),
93
+ events: T::Array[Lithic::DisputeV2::Event::OrHash],
94
+ liability_allocation: Lithic::DisputeV2::LiabilityAllocation::OrHash,
95
+ merchant: Lithic::Merchant::OrHash,
96
+ network: Lithic::DisputeV2::Network::OrSymbol,
97
+ status: T.nilable(Lithic::DisputeV2::Status::OrSymbol),
98
+ transaction_series:
99
+ T.nilable(Lithic::DisputeV2::TransactionSeries::OrHash),
100
+ updated: Time
101
+ ).returns(T.attached_class)
102
+ end
103
+ def self.new(
104
+ # Token assigned by Lithic for the dispute, in UUID format.
105
+ token:,
106
+ # Token for the account associated with the dispute, in UUID format.
107
+ account_token:,
108
+ # Token for the card used in the dispute, in UUID format.
109
+ card_token:,
110
+ # Identifier assigned by the network for this dispute.
111
+ case_id:,
112
+ # When the dispute was created.
113
+ created:,
114
+ # Three-letter ISO 4217 currency code.
115
+ currency:,
116
+ # Dispute resolution outcome
117
+ disposition:,
118
+ # Chronological list of events that have occurred in the dispute lifecycle
119
+ events:,
120
+ # Current breakdown of how liability is allocated for the disputed amount
121
+ liability_allocation:,
122
+ merchant:,
123
+ # Card network handling the dispute.
124
+ network:,
125
+ # Current status of the dispute.
126
+ status:,
127
+ # Contains identifiers for the transaction and specific event within being
128
+ # disputed; null if no transaction can be identified
129
+ transaction_series:,
130
+ # When the dispute was last updated.
131
+ updated:
132
+ )
133
+ end
134
+
135
+ sig do
136
+ override.returns(
137
+ {
138
+ token: String,
139
+ account_token: String,
140
+ card_token: String,
141
+ case_id: T.nilable(String),
142
+ created: Time,
143
+ currency: String,
144
+ disposition:
145
+ T.nilable(Lithic::DisputeV2::Disposition::TaggedSymbol),
146
+ events: T::Array[Lithic::DisputeV2::Event],
147
+ liability_allocation: Lithic::DisputeV2::LiabilityAllocation,
148
+ merchant: Lithic::Merchant,
149
+ network: Lithic::DisputeV2::Network::TaggedSymbol,
150
+ status: T.nilable(Lithic::DisputeV2::Status::TaggedSymbol),
151
+ transaction_series: T.nilable(Lithic::DisputeV2::TransactionSeries),
152
+ updated: Time
153
+ }
154
+ )
155
+ end
156
+ def to_hash
157
+ end
158
+
159
+ # Dispute resolution outcome
160
+ module Disposition
161
+ extend Lithic::Internal::Type::Enum
162
+
163
+ TaggedSymbol =
164
+ T.type_alias { T.all(Symbol, Lithic::DisputeV2::Disposition) }
165
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
166
+
167
+ WON = T.let(:WON, Lithic::DisputeV2::Disposition::TaggedSymbol)
168
+ LOST = T.let(:LOST, Lithic::DisputeV2::Disposition::TaggedSymbol)
169
+ PARTIALLY_WON =
170
+ T.let(:PARTIALLY_WON, Lithic::DisputeV2::Disposition::TaggedSymbol)
171
+ WITHDRAWN =
172
+ T.let(:WITHDRAWN, Lithic::DisputeV2::Disposition::TaggedSymbol)
173
+ DENIED = T.let(:DENIED, Lithic::DisputeV2::Disposition::TaggedSymbol)
174
+
175
+ sig do
176
+ override.returns(
177
+ T::Array[Lithic::DisputeV2::Disposition::TaggedSymbol]
178
+ )
179
+ end
180
+ def self.values
181
+ end
182
+ end
183
+
184
+ class Event < Lithic::Internal::Type::BaseModel
185
+ OrHash =
186
+ T.type_alias do
187
+ T.any(Lithic::DisputeV2::Event, Lithic::Internal::AnyHash)
188
+ end
189
+
190
+ # Unique identifier for the event, in UUID format
191
+ sig { returns(String) }
192
+ attr_accessor :token
193
+
194
+ # When the event occurred
195
+ sig { returns(Time) }
196
+ attr_accessor :created
197
+
198
+ # Details specific to the event type
199
+ sig { returns(Lithic::DisputeV2::Event::Data::Variants) }
200
+ attr_accessor :data
201
+
202
+ # Type of event
203
+ sig { returns(Lithic::DisputeV2::Event::Type::TaggedSymbol) }
204
+ attr_accessor :type
205
+
206
+ # Event that occurred in the dispute lifecycle
207
+ sig do
208
+ params(
209
+ token: String,
210
+ created: Time,
211
+ data:
212
+ T.any(
213
+ Lithic::DisputeV2::Event::Data::Workflow::OrHash,
214
+ Lithic::DisputeV2::Event::Data::Financial::OrHash,
215
+ Lithic::DisputeV2::Event::Data::CardholderLiability::OrHash
216
+ ),
217
+ type: Lithic::DisputeV2::Event::Type::OrSymbol
218
+ ).returns(T.attached_class)
219
+ end
220
+ def self.new(
221
+ # Unique identifier for the event, in UUID format
222
+ token:,
223
+ # When the event occurred
224
+ created:,
225
+ # Details specific to the event type
226
+ data:,
227
+ # Type of event
228
+ type:
229
+ )
230
+ end
231
+
232
+ sig do
233
+ override.returns(
234
+ {
235
+ token: String,
236
+ created: Time,
237
+ data: Lithic::DisputeV2::Event::Data::Variants,
238
+ type: Lithic::DisputeV2::Event::Type::TaggedSymbol
239
+ }
240
+ )
241
+ end
242
+ def to_hash
243
+ end
244
+
245
+ # Details specific to the event type
246
+ module Data
247
+ extend Lithic::Internal::Type::Union
248
+
249
+ Variants =
250
+ T.type_alias do
251
+ T.any(
252
+ Lithic::DisputeV2::Event::Data::Workflow,
253
+ Lithic::DisputeV2::Event::Data::Financial,
254
+ Lithic::DisputeV2::Event::Data::CardholderLiability
255
+ )
256
+ end
257
+
258
+ class Workflow < Lithic::Internal::Type::BaseModel
259
+ OrHash =
260
+ T.type_alias do
261
+ T.any(
262
+ Lithic::DisputeV2::Event::Data::Workflow,
263
+ Lithic::Internal::AnyHash
264
+ )
265
+ end
266
+
267
+ # Action taken in this stage
268
+ sig do
269
+ returns(
270
+ Lithic::DisputeV2::Event::Data::Workflow::Action::TaggedSymbol
271
+ )
272
+ end
273
+ attr_accessor :action
274
+
275
+ # Amount in minor units
276
+ sig { returns(T.nilable(Integer)) }
277
+ attr_accessor :amount
278
+
279
+ # Dispute resolution outcome
280
+ sig do
281
+ returns(
282
+ T.nilable(
283
+ Lithic::DisputeV2::Event::Data::Workflow::Disposition::TaggedSymbol
284
+ )
285
+ )
286
+ end
287
+ attr_accessor :disposition
288
+
289
+ # Reason for the action
290
+ sig { returns(T.nilable(String)) }
291
+ attr_accessor :reason
292
+
293
+ # Current stage of the dispute workflow
294
+ sig do
295
+ returns(
296
+ Lithic::DisputeV2::Event::Data::Workflow::Stage::TaggedSymbol
297
+ )
298
+ end
299
+ attr_accessor :stage
300
+
301
+ # Event type discriminator
302
+ sig { returns(Symbol) }
303
+ attr_accessor :type
304
+
305
+ # Details specific to workflow events
306
+ sig do
307
+ params(
308
+ action:
309
+ Lithic::DisputeV2::Event::Data::Workflow::Action::OrSymbol,
310
+ amount: T.nilable(Integer),
311
+ disposition:
312
+ T.nilable(
313
+ Lithic::DisputeV2::Event::Data::Workflow::Disposition::OrSymbol
314
+ ),
315
+ reason: T.nilable(String),
316
+ stage:
317
+ Lithic::DisputeV2::Event::Data::Workflow::Stage::OrSymbol,
318
+ type: Symbol
319
+ ).returns(T.attached_class)
320
+ end
321
+ def self.new(
322
+ # Action taken in this stage
323
+ action:,
324
+ # Amount in minor units
325
+ amount:,
326
+ # Dispute resolution outcome
327
+ disposition:,
328
+ # Reason for the action
329
+ reason:,
330
+ # Current stage of the dispute workflow
331
+ stage:,
332
+ # Event type discriminator
333
+ type: :WORKFLOW
334
+ )
335
+ end
336
+
337
+ sig do
338
+ override.returns(
339
+ {
340
+ action:
341
+ Lithic::DisputeV2::Event::Data::Workflow::Action::TaggedSymbol,
342
+ amount: T.nilable(Integer),
343
+ disposition:
344
+ T.nilable(
345
+ Lithic::DisputeV2::Event::Data::Workflow::Disposition::TaggedSymbol
346
+ ),
347
+ reason: T.nilable(String),
348
+ stage:
349
+ Lithic::DisputeV2::Event::Data::Workflow::Stage::TaggedSymbol,
350
+ type: Symbol
351
+ }
352
+ )
353
+ end
354
+ def to_hash
355
+ end
356
+
357
+ # Action taken in this stage
358
+ module Action
359
+ extend Lithic::Internal::Type::Enum
360
+
361
+ TaggedSymbol =
362
+ T.type_alias do
363
+ T.all(
364
+ Symbol,
365
+ Lithic::DisputeV2::Event::Data::Workflow::Action
366
+ )
367
+ end
368
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
369
+
370
+ OPENED =
371
+ T.let(
372
+ :OPENED,
373
+ Lithic::DisputeV2::Event::Data::Workflow::Action::TaggedSymbol
374
+ )
375
+ CLOSED =
376
+ T.let(
377
+ :CLOSED,
378
+ Lithic::DisputeV2::Event::Data::Workflow::Action::TaggedSymbol
379
+ )
380
+ REOPENED =
381
+ T.let(
382
+ :REOPENED,
383
+ Lithic::DisputeV2::Event::Data::Workflow::Action::TaggedSymbol
384
+ )
385
+
386
+ sig do
387
+ override.returns(
388
+ T::Array[
389
+ Lithic::DisputeV2::Event::Data::Workflow::Action::TaggedSymbol
390
+ ]
391
+ )
392
+ end
393
+ def self.values
394
+ end
395
+ end
396
+
397
+ # Dispute resolution outcome
398
+ module Disposition
399
+ extend Lithic::Internal::Type::Enum
400
+
401
+ TaggedSymbol =
402
+ T.type_alias do
403
+ T.all(
404
+ Symbol,
405
+ Lithic::DisputeV2::Event::Data::Workflow::Disposition
406
+ )
407
+ end
408
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
409
+
410
+ WON =
411
+ T.let(
412
+ :WON,
413
+ Lithic::DisputeV2::Event::Data::Workflow::Disposition::TaggedSymbol
414
+ )
415
+ LOST =
416
+ T.let(
417
+ :LOST,
418
+ Lithic::DisputeV2::Event::Data::Workflow::Disposition::TaggedSymbol
419
+ )
420
+ PARTIALLY_WON =
421
+ T.let(
422
+ :PARTIALLY_WON,
423
+ Lithic::DisputeV2::Event::Data::Workflow::Disposition::TaggedSymbol
424
+ )
425
+ WITHDRAWN =
426
+ T.let(
427
+ :WITHDRAWN,
428
+ Lithic::DisputeV2::Event::Data::Workflow::Disposition::TaggedSymbol
429
+ )
430
+ DENIED =
431
+ T.let(
432
+ :DENIED,
433
+ Lithic::DisputeV2::Event::Data::Workflow::Disposition::TaggedSymbol
434
+ )
435
+
436
+ sig do
437
+ override.returns(
438
+ T::Array[
439
+ Lithic::DisputeV2::Event::Data::Workflow::Disposition::TaggedSymbol
440
+ ]
441
+ )
442
+ end
443
+ def self.values
444
+ end
445
+ end
446
+
447
+ # Current stage of the dispute workflow
448
+ module Stage
449
+ extend Lithic::Internal::Type::Enum
450
+
451
+ TaggedSymbol =
452
+ T.type_alias do
453
+ T.all(Symbol, Lithic::DisputeV2::Event::Data::Workflow::Stage)
454
+ end
455
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
456
+
457
+ CLAIM =
458
+ T.let(
459
+ :CLAIM,
460
+ Lithic::DisputeV2::Event::Data::Workflow::Stage::TaggedSymbol
461
+ )
462
+
463
+ sig do
464
+ override.returns(
465
+ T::Array[
466
+ Lithic::DisputeV2::Event::Data::Workflow::Stage::TaggedSymbol
467
+ ]
468
+ )
469
+ end
470
+ def self.values
471
+ end
472
+ end
473
+ end
474
+
475
+ class Financial < Lithic::Internal::Type::BaseModel
476
+ OrHash =
477
+ T.type_alias do
478
+ T.any(
479
+ Lithic::DisputeV2::Event::Data::Financial,
480
+ Lithic::Internal::AnyHash
481
+ )
482
+ end
483
+
484
+ # Amount in minor units
485
+ sig { returns(Integer) }
486
+ attr_accessor :amount
487
+
488
+ # Direction of funds flow
489
+ sig do
490
+ returns(
491
+ Lithic::DisputeV2::Event::Data::Financial::Polarity::TaggedSymbol
492
+ )
493
+ end
494
+ attr_accessor :polarity
495
+
496
+ # Stage at which the financial event occurred
497
+ sig do
498
+ returns(
499
+ Lithic::DisputeV2::Event::Data::Financial::Stage::TaggedSymbol
500
+ )
501
+ end
502
+ attr_accessor :stage
503
+
504
+ # Event type discriminator
505
+ sig { returns(Symbol) }
506
+ attr_accessor :type
507
+
508
+ # Details specific to financial events
509
+ sig do
510
+ params(
511
+ amount: Integer,
512
+ polarity:
513
+ Lithic::DisputeV2::Event::Data::Financial::Polarity::OrSymbol,
514
+ stage:
515
+ Lithic::DisputeV2::Event::Data::Financial::Stage::OrSymbol,
516
+ type: Symbol
517
+ ).returns(T.attached_class)
518
+ end
519
+ def self.new(
520
+ # Amount in minor units
521
+ amount:,
522
+ # Direction of funds flow
523
+ polarity:,
524
+ # Stage at which the financial event occurred
525
+ stage:,
526
+ # Event type discriminator
527
+ type: :FINANCIAL
528
+ )
529
+ end
530
+
531
+ sig do
532
+ override.returns(
533
+ {
534
+ amount: Integer,
535
+ polarity:
536
+ Lithic::DisputeV2::Event::Data::Financial::Polarity::TaggedSymbol,
537
+ stage:
538
+ Lithic::DisputeV2::Event::Data::Financial::Stage::TaggedSymbol,
539
+ type: Symbol
540
+ }
541
+ )
542
+ end
543
+ def to_hash
544
+ end
545
+
546
+ # Direction of funds flow
547
+ module Polarity
548
+ extend Lithic::Internal::Type::Enum
549
+
550
+ TaggedSymbol =
551
+ T.type_alias do
552
+ T.all(
553
+ Symbol,
554
+ Lithic::DisputeV2::Event::Data::Financial::Polarity
555
+ )
556
+ end
557
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
558
+
559
+ CREDIT =
560
+ T.let(
561
+ :CREDIT,
562
+ Lithic::DisputeV2::Event::Data::Financial::Polarity::TaggedSymbol
563
+ )
564
+ DEBIT =
565
+ T.let(
566
+ :DEBIT,
567
+ Lithic::DisputeV2::Event::Data::Financial::Polarity::TaggedSymbol
568
+ )
569
+
570
+ sig do
571
+ override.returns(
572
+ T::Array[
573
+ Lithic::DisputeV2::Event::Data::Financial::Polarity::TaggedSymbol
574
+ ]
575
+ )
576
+ end
577
+ def self.values
578
+ end
579
+ end
580
+
581
+ # Stage at which the financial event occurred
582
+ module Stage
583
+ extend Lithic::Internal::Type::Enum
584
+
585
+ TaggedSymbol =
586
+ T.type_alias do
587
+ T.all(
588
+ Symbol,
589
+ Lithic::DisputeV2::Event::Data::Financial::Stage
590
+ )
591
+ end
592
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
593
+
594
+ CHARGEBACK =
595
+ T.let(
596
+ :CHARGEBACK,
597
+ Lithic::DisputeV2::Event::Data::Financial::Stage::TaggedSymbol
598
+ )
599
+ REPRESENTMENT =
600
+ T.let(
601
+ :REPRESENTMENT,
602
+ Lithic::DisputeV2::Event::Data::Financial::Stage::TaggedSymbol
603
+ )
604
+ PREARBITRATION =
605
+ T.let(
606
+ :PREARBITRATION,
607
+ Lithic::DisputeV2::Event::Data::Financial::Stage::TaggedSymbol
608
+ )
609
+ ARBITRATION =
610
+ T.let(
611
+ :ARBITRATION,
612
+ Lithic::DisputeV2::Event::Data::Financial::Stage::TaggedSymbol
613
+ )
614
+ COLLABORATION =
615
+ T.let(
616
+ :COLLABORATION,
617
+ Lithic::DisputeV2::Event::Data::Financial::Stage::TaggedSymbol
618
+ )
619
+
620
+ sig do
621
+ override.returns(
622
+ T::Array[
623
+ Lithic::DisputeV2::Event::Data::Financial::Stage::TaggedSymbol
624
+ ]
625
+ )
626
+ end
627
+ def self.values
628
+ end
629
+ end
630
+ end
631
+
632
+ class CardholderLiability < Lithic::Internal::Type::BaseModel
633
+ OrHash =
634
+ T.type_alias do
635
+ T.any(
636
+ Lithic::DisputeV2::Event::Data::CardholderLiability,
637
+ Lithic::Internal::AnyHash
638
+ )
639
+ end
640
+
641
+ # Action taken regarding cardholder liability
642
+ sig do
643
+ returns(
644
+ Lithic::DisputeV2::Event::Data::CardholderLiability::Action::TaggedSymbol
645
+ )
646
+ end
647
+ attr_accessor :action
648
+
649
+ # Amount in minor units
650
+ sig { returns(Integer) }
651
+ attr_accessor :amount
652
+
653
+ # Reason for the action
654
+ sig { returns(String) }
655
+ attr_accessor :reason
656
+
657
+ # Event type discriminator
658
+ sig { returns(Symbol) }
659
+ attr_accessor :type
660
+
661
+ # Details specific to cardholder liability events
662
+ sig do
663
+ params(
664
+ action:
665
+ Lithic::DisputeV2::Event::Data::CardholderLiability::Action::OrSymbol,
666
+ amount: Integer,
667
+ reason: String,
668
+ type: Symbol
669
+ ).returns(T.attached_class)
670
+ end
671
+ def self.new(
672
+ # Action taken regarding cardholder liability
673
+ action:,
674
+ # Amount in minor units
675
+ amount:,
676
+ # Reason for the action
677
+ reason:,
678
+ # Event type discriminator
679
+ type: :CARDHOLDER_LIABILITY
680
+ )
681
+ end
682
+
683
+ sig do
684
+ override.returns(
685
+ {
686
+ action:
687
+ Lithic::DisputeV2::Event::Data::CardholderLiability::Action::TaggedSymbol,
688
+ amount: Integer,
689
+ reason: String,
690
+ type: Symbol
691
+ }
692
+ )
693
+ end
694
+ def to_hash
695
+ end
696
+
697
+ # Action taken regarding cardholder liability
698
+ module Action
699
+ extend Lithic::Internal::Type::Enum
700
+
701
+ TaggedSymbol =
702
+ T.type_alias do
703
+ T.all(
704
+ Symbol,
705
+ Lithic::DisputeV2::Event::Data::CardholderLiability::Action
706
+ )
707
+ end
708
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
709
+
710
+ PROVISIONAL_CREDIT_GRANTED =
711
+ T.let(
712
+ :PROVISIONAL_CREDIT_GRANTED,
713
+ Lithic::DisputeV2::Event::Data::CardholderLiability::Action::TaggedSymbol
714
+ )
715
+ PROVISIONAL_CREDIT_REVERSED =
716
+ T.let(
717
+ :PROVISIONAL_CREDIT_REVERSED,
718
+ Lithic::DisputeV2::Event::Data::CardholderLiability::Action::TaggedSymbol
719
+ )
720
+ WRITTEN_OFF =
721
+ T.let(
722
+ :WRITTEN_OFF,
723
+ Lithic::DisputeV2::Event::Data::CardholderLiability::Action::TaggedSymbol
724
+ )
725
+
726
+ sig do
727
+ override.returns(
728
+ T::Array[
729
+ Lithic::DisputeV2::Event::Data::CardholderLiability::Action::TaggedSymbol
730
+ ]
731
+ )
732
+ end
733
+ def self.values
734
+ end
735
+ end
736
+ end
737
+
738
+ sig do
739
+ override.returns(T::Array[Lithic::DisputeV2::Event::Data::Variants])
740
+ end
741
+ def self.variants
742
+ end
743
+ end
744
+
745
+ # Type of event
746
+ module Type
747
+ extend Lithic::Internal::Type::Enum
748
+
749
+ TaggedSymbol =
750
+ T.type_alias { T.all(Symbol, Lithic::DisputeV2::Event::Type) }
751
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
752
+
753
+ WORKFLOW =
754
+ T.let(:WORKFLOW, Lithic::DisputeV2::Event::Type::TaggedSymbol)
755
+ FINANCIAL =
756
+ T.let(:FINANCIAL, Lithic::DisputeV2::Event::Type::TaggedSymbol)
757
+ CARDHOLDER_LIABILITY =
758
+ T.let(
759
+ :CARDHOLDER_LIABILITY,
760
+ Lithic::DisputeV2::Event::Type::TaggedSymbol
761
+ )
762
+
763
+ sig do
764
+ override.returns(
765
+ T::Array[Lithic::DisputeV2::Event::Type::TaggedSymbol]
766
+ )
767
+ end
768
+ def self.values
769
+ end
770
+ end
771
+ end
772
+
773
+ class LiabilityAllocation < Lithic::Internal::Type::BaseModel
774
+ OrHash =
775
+ T.type_alias do
776
+ T.any(
777
+ Lithic::DisputeV2::LiabilityAllocation,
778
+ Lithic::Internal::AnyHash
779
+ )
780
+ end
781
+
782
+ # The amount that has been denied to the cardholder
783
+ sig { returns(Integer) }
784
+ attr_accessor :denied_amount
785
+
786
+ # The initial amount disputed
787
+ sig { returns(Integer) }
788
+ attr_accessor :original_amount
789
+
790
+ # The amount that has been recovered from the merchant through the dispute process
791
+ sig { returns(Integer) }
792
+ attr_accessor :recovered_amount
793
+
794
+ # Any disputed amount that is still outstanding, i.e. has not been recovered,
795
+ # written off, or denied
796
+ sig { returns(Integer) }
797
+ attr_accessor :remaining_amount
798
+
799
+ # The amount the issuer has chosen to write off
800
+ sig { returns(Integer) }
801
+ attr_accessor :written_off_amount
802
+
803
+ # Current breakdown of how liability is allocated for the disputed amount
804
+ sig do
805
+ params(
806
+ denied_amount: Integer,
807
+ original_amount: Integer,
808
+ recovered_amount: Integer,
809
+ remaining_amount: Integer,
810
+ written_off_amount: Integer
811
+ ).returns(T.attached_class)
812
+ end
813
+ def self.new(
814
+ # The amount that has been denied to the cardholder
815
+ denied_amount:,
816
+ # The initial amount disputed
817
+ original_amount:,
818
+ # The amount that has been recovered from the merchant through the dispute process
819
+ recovered_amount:,
820
+ # Any disputed amount that is still outstanding, i.e. has not been recovered,
821
+ # written off, or denied
822
+ remaining_amount:,
823
+ # The amount the issuer has chosen to write off
824
+ written_off_amount:
825
+ )
826
+ end
827
+
828
+ sig do
829
+ override.returns(
830
+ {
831
+ denied_amount: Integer,
832
+ original_amount: Integer,
833
+ recovered_amount: Integer,
834
+ remaining_amount: Integer,
835
+ written_off_amount: Integer
836
+ }
837
+ )
838
+ end
839
+ def to_hash
840
+ end
841
+ end
842
+
843
+ # Card network handling the dispute.
844
+ module Network
845
+ extend Lithic::Internal::Type::Enum
846
+
847
+ TaggedSymbol =
848
+ T.type_alias { T.all(Symbol, Lithic::DisputeV2::Network) }
849
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
850
+
851
+ VISA = T.let(:VISA, Lithic::DisputeV2::Network::TaggedSymbol)
852
+ MASTERCARD =
853
+ T.let(:MASTERCARD, Lithic::DisputeV2::Network::TaggedSymbol)
854
+
855
+ sig do
856
+ override.returns(T::Array[Lithic::DisputeV2::Network::TaggedSymbol])
857
+ end
858
+ def self.values
859
+ end
860
+ end
861
+
862
+ # Current status of the dispute.
863
+ module Status
864
+ extend Lithic::Internal::Type::Enum
865
+
866
+ TaggedSymbol = T.type_alias { T.all(Symbol, Lithic::DisputeV2::Status) }
867
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
868
+
869
+ OPEN = T.let(:OPEN, Lithic::DisputeV2::Status::TaggedSymbol)
870
+ CLOSED = T.let(:CLOSED, Lithic::DisputeV2::Status::TaggedSymbol)
871
+
872
+ sig do
873
+ override.returns(T::Array[Lithic::DisputeV2::Status::TaggedSymbol])
874
+ end
875
+ def self.values
876
+ end
877
+ end
878
+
879
+ class TransactionSeries < Lithic::Internal::Type::BaseModel
880
+ OrHash =
881
+ T.type_alias do
882
+ T.any(
883
+ Lithic::DisputeV2::TransactionSeries,
884
+ Lithic::Internal::AnyHash
885
+ )
886
+ end
887
+
888
+ # Token of the specific event in the original transaction being disputed, in UUID
889
+ # format; null if no event can be identified
890
+ sig { returns(T.nilable(String)) }
891
+ attr_accessor :related_transaction_event_token
892
+
893
+ # Token of the original transaction being disputed, in UUID format
894
+ sig { returns(String) }
895
+ attr_accessor :related_transaction_token
896
+
897
+ # The type of transaction series associating the dispute and the original
898
+ # transaction. Always set to DISPUTE
899
+ sig do
900
+ returns(Lithic::DisputeV2::TransactionSeries::Type::TaggedSymbol)
901
+ end
902
+ attr_accessor :type
903
+
904
+ # Contains identifiers for the transaction and specific event within being
905
+ # disputed; null if no transaction can be identified
906
+ sig do
907
+ params(
908
+ related_transaction_event_token: T.nilable(String),
909
+ related_transaction_token: String,
910
+ type: Lithic::DisputeV2::TransactionSeries::Type::OrSymbol
911
+ ).returns(T.attached_class)
912
+ end
913
+ def self.new(
914
+ # Token of the specific event in the original transaction being disputed, in UUID
915
+ # format; null if no event can be identified
916
+ related_transaction_event_token:,
917
+ # Token of the original transaction being disputed, in UUID format
918
+ related_transaction_token:,
919
+ # The type of transaction series associating the dispute and the original
920
+ # transaction. Always set to DISPUTE
921
+ type:
922
+ )
923
+ end
924
+
925
+ sig do
926
+ override.returns(
927
+ {
928
+ related_transaction_event_token: T.nilable(String),
929
+ related_transaction_token: String,
930
+ type: Lithic::DisputeV2::TransactionSeries::Type::TaggedSymbol
931
+ }
932
+ )
933
+ end
934
+ def to_hash
935
+ end
936
+
937
+ # The type of transaction series associating the dispute and the original
938
+ # transaction. Always set to DISPUTE
939
+ module Type
940
+ extend Lithic::Internal::Type::Enum
941
+
942
+ TaggedSymbol =
943
+ T.type_alias do
944
+ T.all(Symbol, Lithic::DisputeV2::TransactionSeries::Type)
945
+ end
946
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
947
+
948
+ DISPUTE =
949
+ T.let(
950
+ :DISPUTE,
951
+ Lithic::DisputeV2::TransactionSeries::Type::TaggedSymbol
952
+ )
953
+
954
+ sig do
955
+ override.returns(
956
+ T::Array[Lithic::DisputeV2::TransactionSeries::Type::TaggedSymbol]
957
+ )
958
+ end
959
+ def self.values
960
+ end
961
+ end
962
+ end
963
+ end
964
+ end
965
+ end