lithic 0.1.0.pre.alpha.52 → 0.1.0.pre.alpha.54

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 (142) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/internal/transport/base_client.rb +7 -1
  5. data/lib/lithic/internal/transport/pooled_net_requester.rb +36 -26
  6. data/lib/lithic/internal/type/union.rb +15 -3
  7. data/lib/lithic/models/account_activity_list_response.rb +48 -1141
  8. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +48 -1151
  9. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +3 -0
  10. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +7 -0
  11. data/lib/lithic/models/auth_rules/conditional_attribute.rb +4 -0
  12. data/lib/lithic/models/auth_rules/v2_apply_response.rb +14 -0
  13. data/lib/lithic/models/auth_rules/v2_create_params.rb +7 -0
  14. data/lib/lithic/models/auth_rules/v2_create_response.rb +14 -0
  15. data/lib/lithic/models/auth_rules/v2_draft_params.rb +7 -0
  16. data/lib/lithic/models/auth_rules/v2_draft_response.rb +14 -0
  17. data/lib/lithic/models/auth_rules/v2_list_response.rb +14 -0
  18. data/lib/lithic/models/auth_rules/v2_promote_response.rb +14 -0
  19. data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +14 -0
  20. data/lib/lithic/models/auth_rules/v2_update_response.rb +14 -0
  21. data/lib/lithic/models/book_transfer_response.rb +51 -48
  22. data/lib/lithic/models/card_provision_response.rb +25 -3
  23. data/lib/lithic/models/event.rb +0 -1
  24. data/lib/lithic/models/event_list_params.rb +0 -1
  25. data/lib/lithic/models/event_subscription.rb +0 -1
  26. data/lib/lithic/models/events/subscription_create_params.rb +0 -1
  27. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +0 -1
  28. data/lib/lithic/models/events/subscription_update_params.rb +0 -1
  29. data/lib/lithic/models/external_bank_account_create_params.rb +1 -8
  30. data/lib/lithic/models/external_payment.rb +21 -23
  31. data/lib/lithic/models/financial_account.rb +48 -39
  32. data/lib/lithic/models/financial_accounts/financial_account_credit_config.rb +32 -23
  33. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +1 -0
  34. data/lib/lithic/models/financial_transaction.rb +1 -0
  35. data/lib/lithic/models/management_operation_transaction.rb +21 -23
  36. data/lib/lithic/models/payment.rb +269 -140
  37. data/lib/lithic/models/payment_create_response.rb +2 -0
  38. data/lib/lithic/models/payment_retry_response.rb +2 -0
  39. data/lib/lithic/models/provision_response.rb +30 -0
  40. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +32 -1
  41. data/lib/lithic/models/tokenization.rb +1 -0
  42. data/lib/lithic/models/transaction.rb +4 -0
  43. data/lib/lithic/models/transfer.rb +1 -0
  44. data/lib/lithic/models/verification_method.rb +0 -1
  45. data/lib/lithic/models.rb +2 -0
  46. data/lib/lithic/resources/account_activity.rb +2 -2
  47. data/lib/lithic/resources/auth_rules/v2.rb +0 -72
  48. data/lib/lithic/resources/external_bank_accounts.rb +1 -3
  49. data/lib/lithic/version.rb +1 -1
  50. data/lib/lithic.rb +2 -2
  51. data/manifest.yaml +1 -0
  52. data/rbi/lithic/internal/transport/base_client.rbi +5 -0
  53. data/rbi/lithic/internal/transport/pooled_net_requester.rbi +6 -2
  54. data/rbi/lithic/internal/type/base_model.rbi +8 -4
  55. data/rbi/lithic/models/account_activity_list_response.rbi +158 -2629
  56. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +158 -2629
  57. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +6 -0
  58. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +14 -0
  59. data/rbi/lithic/models/auth_rules/conditional_attribute.rbi +8 -0
  60. data/rbi/lithic/models/auth_rules/v2_apply_response.rbi +28 -0
  61. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +14 -0
  62. data/rbi/lithic/models/auth_rules/v2_create_response.rbi +28 -0
  63. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +14 -0
  64. data/rbi/lithic/models/auth_rules/v2_draft_response.rbi +28 -0
  65. data/rbi/lithic/models/auth_rules/v2_list_response.rbi +28 -0
  66. data/rbi/lithic/models/auth_rules/v2_promote_response.rbi +28 -0
  67. data/rbi/lithic/models/auth_rules/v2_retrieve_response.rbi +28 -0
  68. data/rbi/lithic/models/auth_rules/v2_update_response.rbi +28 -0
  69. data/rbi/lithic/models/book_transfer_response.rbi +67 -68
  70. data/rbi/lithic/models/card_provision_response.rbi +50 -5
  71. data/rbi/lithic/models/event.rbi +0 -5
  72. data/rbi/lithic/models/event_list_params.rbi +0 -5
  73. data/rbi/lithic/models/event_subscription.rbi +0 -5
  74. data/rbi/lithic/models/events/subscription_create_params.rbi +0 -5
  75. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +0 -5
  76. data/rbi/lithic/models/events/subscription_update_params.rbi +0 -5
  77. data/rbi/lithic/models/external_bank_account_create_params.rbi +0 -6
  78. data/rbi/lithic/models/external_payment.rbi +34 -39
  79. data/rbi/lithic/models/financial_account.rbi +74 -73
  80. data/rbi/lithic/models/financial_accounts/financial_account_credit_config.rbi +46 -33
  81. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +5 -0
  82. data/rbi/lithic/models/financial_transaction.rbi +5 -0
  83. data/rbi/lithic/models/management_operation_transaction.rbi +49 -60
  84. data/rbi/lithic/models/payment.rbi +425 -182
  85. data/rbi/lithic/models/payment_create_response.rbi +1 -0
  86. data/rbi/lithic/models/payment_retry_response.rbi +1 -0
  87. data/rbi/lithic/models/provision_response.rbi +58 -0
  88. data/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +83 -0
  89. data/rbi/lithic/models/tokenization.rbi +5 -0
  90. data/rbi/lithic/models/transaction.rbi +20 -0
  91. data/rbi/lithic/models/transfer.rbi +5 -0
  92. data/rbi/lithic/models/verification_method.rbi +0 -1
  93. data/rbi/lithic/models.rbi +2 -0
  94. data/rbi/lithic/resources/auth_rules/v2.rbi +0 -64
  95. data/rbi/lithic/resources/external_bank_accounts.rbi +0 -2
  96. data/sig/lithic/internal/transport/base_client.rbs +2 -0
  97. data/sig/lithic/internal/transport/pooled_net_requester.rbs +4 -1
  98. data/sig/lithic/models/account_activity_list_response.rbs +50 -1036
  99. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +50 -1036
  100. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +2 -0
  101. data/sig/lithic/models/auth_rules/conditional_attribute.rbs +2 -0
  102. data/sig/lithic/models/auth_rules/v2_apply_response.rbs +4 -0
  103. data/sig/lithic/models/auth_rules/v2_create_params.rbs +2 -0
  104. data/sig/lithic/models/auth_rules/v2_create_response.rbs +4 -0
  105. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +2 -0
  106. data/sig/lithic/models/auth_rules/v2_draft_response.rbs +4 -0
  107. data/sig/lithic/models/auth_rules/v2_list_response.rbs +4 -0
  108. data/sig/lithic/models/auth_rules/v2_promote_response.rbs +4 -0
  109. data/sig/lithic/models/auth_rules/v2_retrieve_response.rbs +4 -0
  110. data/sig/lithic/models/auth_rules/v2_update_response.rbs +4 -0
  111. data/sig/lithic/models/book_transfer_response.rbs +26 -19
  112. data/sig/lithic/models/card_provision_response.rbs +22 -5
  113. data/sig/lithic/models/event.rbs +0 -2
  114. data/sig/lithic/models/event_list_params.rbs +0 -2
  115. data/sig/lithic/models/event_subscription.rbs +0 -2
  116. data/sig/lithic/models/events/subscription_create_params.rbs +0 -2
  117. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +0 -2
  118. data/sig/lithic/models/events/subscription_update_params.rbs +0 -2
  119. data/sig/lithic/models/external_bank_account_create_params.rbs +1 -6
  120. data/sig/lithic/models/external_payment.rbs +19 -26
  121. data/sig/lithic/models/financial_account.rbs +28 -30
  122. data/sig/lithic/models/financial_accounts/financial_account_credit_config.rbs +21 -15
  123. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +2 -0
  124. data/sig/lithic/models/financial_transaction.rbs +2 -0
  125. data/sig/lithic/models/management_operation_transaction.rbs +19 -26
  126. data/sig/lithic/models/payment.rbs +199 -76
  127. data/sig/lithic/models/provision_response.rbs +36 -0
  128. data/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +28 -0
  129. data/sig/lithic/models/tokenization.rbs +2 -0
  130. data/sig/lithic/models/transaction.rbs +8 -0
  131. data/sig/lithic/models/transfer.rbs +2 -0
  132. data/sig/lithic/models/verification_method.rbs +1 -7
  133. data/sig/lithic/models.rbs +2 -0
  134. data/sig/lithic/resources/auth_rules/v2.rbs +0 -5
  135. data/sig/lithic/resources/external_bank_accounts.rbs +0 -1
  136. metadata +5 -8
  137. data/lib/lithic/models/auth_rules/v2_report_params.rb +0 -16
  138. data/lib/lithic/models/auth_rules/v2_report_response.rb +0 -18
  139. data/rbi/lithic/models/auth_rules/v2_report_params.rbi +0 -29
  140. data/rbi/lithic/models/auth_rules/v2_report_response.rbi +0 -31
  141. data/sig/lithic/models/auth_rules/v2_report_params.rbs +0 -16
  142. data/sig/lithic/models/auth_rules/v2_report_response.rbs +0 -17
@@ -5,192 +5,214 @@ module Lithic
5
5
  # @see Lithic::Resources::Payments#retrieve
6
6
  class Payment < Lithic::Internal::Type::BaseModel
7
7
  # @!attribute token
8
- # Globally unique identifier.
8
+ # Unique identifier for the transaction
9
9
  #
10
10
  # @return [String]
11
11
  required :token, String
12
12
 
13
13
  # @!attribute category
14
- # Payment category
14
+ # Transaction category
15
15
  #
16
16
  # @return [Symbol, Lithic::Models::Payment::Category]
17
17
  required :category, enum: -> { Lithic::Payment::Category }
18
18
 
19
19
  # @!attribute created
20
- # Date and time when the payment first occurred. UTC time zone.
20
+ # ISO 8601 timestamp of when the transaction was created
21
21
  #
22
22
  # @return [Time]
23
23
  required :created, Time
24
24
 
25
- # @!attribute currency
26
- # 3-character alphabetic ISO 4217 code for the settling currency of the payment.
27
- #
28
- # @return [String]
29
- required :currency, String
30
-
31
25
  # @!attribute descriptor
32
- # A string that provides a description of the payment; may be useful to display to
33
- # users.
26
+ # Transaction descriptor
34
27
  #
35
28
  # @return [String]
36
29
  required :descriptor, String
37
30
 
38
31
  # @!attribute direction
32
+ # Transfer direction
39
33
  #
40
34
  # @return [Symbol, Lithic::Models::Payment::Direction]
41
35
  required :direction, enum: -> { Lithic::Payment::Direction }
42
36
 
43
37
  # @!attribute events
44
- # A list of all payment events that have modified this payment.
38
+ # List of transaction events
45
39
  #
46
40
  # @return [Array<Lithic::Models::Payment::Event>]
47
41
  required :events, -> { Lithic::Internal::Type::ArrayOf[Lithic::Payment::Event] }
48
42
 
49
- # @!attribute external_bank_account_token
43
+ # @!attribute family
44
+ # PAYMENT - Payment Transaction
50
45
  #
51
- # @return [String, nil]
52
- required :external_bank_account_token, String, nil?: true
46
+ # @return [Symbol, :PAYMENT]
47
+ required :family, const: :PAYMENT
53
48
 
54
49
  # @!attribute financial_account_token
50
+ # Financial account token
55
51
  #
56
52
  # @return [String]
57
53
  required :financial_account_token, String
58
54
 
59
55
  # @!attribute method_
56
+ # Transfer method
60
57
  #
61
58
  # @return [Symbol, Lithic::Models::Payment::Method]
62
59
  required :method_, enum: -> { Lithic::Payment::Method }, api_name: :method
63
60
 
64
61
  # @!attribute method_attributes
62
+ # Method-specific attributes
65
63
  #
66
- # @return [Lithic::Models::Payment::MethodAttributes]
67
- required :method_attributes, -> { Lithic::Payment::MethodAttributes }
64
+ # @return [Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes]
65
+ required :method_attributes, union: -> { Lithic::Payment::MethodAttributes }
68
66
 
69
67
  # @!attribute pending_amount
70
- # Pending amount of the payment in the currency's smallest unit (e.g., cents). The
71
- # value of this field will go to zero over time once the payment is settled.
68
+ # Pending amount in cents
72
69
  #
73
70
  # @return [Integer]
74
71
  required :pending_amount, Integer
75
72
 
76
73
  # @!attribute related_account_tokens
77
- # Account tokens related to a payment transaction
74
+ # Related account tokens for the transaction
78
75
  #
79
76
  # @return [Lithic::Models::Payment::RelatedAccountTokens]
80
77
  required :related_account_tokens, -> { Lithic::Payment::RelatedAccountTokens }
81
78
 
82
79
  # @!attribute result
83
- # APPROVED payments were successful while DECLINED payments were declined by
84
- # Lithic or returned.
80
+ # Transaction result
85
81
  #
86
82
  # @return [Symbol, Lithic::Models::Payment::Result]
87
83
  required :result, enum: -> { Lithic::Payment::Result }
88
84
 
89
85
  # @!attribute settled_amount
90
- # Amount of the payment that has been settled in the currency's smallest unit
91
- # (e.g., cents).
86
+ # Settled amount in cents
92
87
  #
93
88
  # @return [Integer]
94
89
  required :settled_amount, Integer
95
90
 
96
91
  # @!attribute source
92
+ # Transaction source
97
93
  #
98
94
  # @return [Symbol, Lithic::Models::Payment::Source]
99
95
  required :source, enum: -> { Lithic::Payment::Source }
100
96
 
101
97
  # @!attribute status
102
- # Status types:
103
- #
104
- # - `DECLINED` - The payment was declined.
105
- # - `PENDING` - The payment is being processed and has yet to settle or release
106
- # (origination debit).
107
- # - `RETURNED` - The payment has been returned.
108
- # - `SETTLED` - The payment is completed.
98
+ # The status of the transaction
109
99
  #
110
100
  # @return [Symbol, Lithic::Models::Payment::Status]
111
101
  required :status, enum: -> { Lithic::Payment::Status }
112
102
 
113
103
  # @!attribute updated
114
- # Date and time when the financial transaction was last updated. UTC time zone.
104
+ # ISO 8601 timestamp of when the transaction was last updated
115
105
  #
116
106
  # @return [Time]
117
107
  required :updated, Time
118
108
 
119
- # @!attribute user_defined_id
109
+ # @!attribute currency
110
+ # Currency of the transaction in ISO 4217 format
120
111
  #
121
112
  # @return [String, nil]
122
- required :user_defined_id, String, nil?: true
113
+ optional :currency, String
123
114
 
124
115
  # @!attribute expected_release_date
125
- # Date when the financial transaction expected to be released after settlement
116
+ # Expected release date for the transaction
126
117
  #
127
118
  # @return [Date, nil]
128
- optional :expected_release_date, Date
119
+ optional :expected_release_date, Date, nil?: true
120
+
121
+ # @!attribute external_bank_account_token
122
+ # External bank account token
123
+ #
124
+ # @return [String, nil]
125
+ optional :external_bank_account_token, String, nil?: true
129
126
 
130
127
  # @!attribute type
131
- # Payment type indicating the specific ACH message or Fedwire transfer type
132
128
  #
133
129
  # @return [Symbol, Lithic::Models::Payment::Type, nil]
134
130
  optional :type, enum: -> { Lithic::Payment::Type }
135
131
 
136
- # @!method initialize(token:, category:, created:, currency:, descriptor:, direction:, events:, external_bank_account_token:, financial_account_token:, method_:, method_attributes:, pending_amount:, related_account_tokens:, result:, settled_amount:, source:, status:, updated:, user_defined_id:, expected_release_date: nil, type: nil)
137
- # Some parameter documentations has been truncated, see {Lithic::Models::Payment}
138
- # for more details.
132
+ # @!attribute user_defined_id
133
+ # User-defined identifier
134
+ #
135
+ # @return [String, nil]
136
+ optional :user_defined_id, String, nil?: true
137
+
138
+ # @!method initialize(token:, category:, created:, descriptor:, direction:, events:, financial_account_token:, method_:, method_attributes:, pending_amount:, related_account_tokens:, result:, settled_amount:, source:, status:, updated:, currency: nil, expected_release_date: nil, external_bank_account_token: nil, type: nil, user_defined_id: nil, family: :PAYMENT)
139
+ # Payment transaction
139
140
  #
140
- # @param token [String] Globally unique identifier.
141
+ # @param token [String] Unique identifier for the transaction
141
142
  #
142
- # @param category [Symbol, Lithic::Models::Payment::Category] Payment category
143
+ # @param category [Symbol, Lithic::Models::Payment::Category] Transaction category
143
144
  #
144
- # @param created [Time] Date and time when the payment first occurred. UTC time zone.
145
+ # @param created [Time] ISO 8601 timestamp of when the transaction was created
145
146
  #
146
- # @param currency [String] 3-character alphabetic ISO 4217 code for the settling currency of the payment.
147
+ # @param descriptor [String] Transaction descriptor
147
148
  #
148
- # @param descriptor [String] A string that provides a description of the payment; may be useful to display to
149
+ # @param direction [Symbol, Lithic::Models::Payment::Direction] Transfer direction
149
150
  #
150
- # @param direction [Symbol, Lithic::Models::Payment::Direction]
151
+ # @param events [Array<Lithic::Models::Payment::Event>] List of transaction events
151
152
  #
152
- # @param events [Array<Lithic::Models::Payment::Event>] A list of all payment events that have modified this payment.
153
+ # @param financial_account_token [String] Financial account token
153
154
  #
154
- # @param external_bank_account_token [String, nil]
155
+ # @param method_ [Symbol, Lithic::Models::Payment::Method] Transfer method
155
156
  #
156
- # @param financial_account_token [String]
157
+ # @param method_attributes [Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes] Method-specific attributes
157
158
  #
158
- # @param method_ [Symbol, Lithic::Models::Payment::Method]
159
+ # @param pending_amount [Integer] Pending amount in cents
159
160
  #
160
- # @param method_attributes [Lithic::Models::Payment::MethodAttributes]
161
+ # @param related_account_tokens [Lithic::Models::Payment::RelatedAccountTokens] Related account tokens for the transaction
161
162
  #
162
- # @param pending_amount [Integer] Pending amount of the payment in the currency's smallest unit (e.g., cents).
163
+ # @param result [Symbol, Lithic::Models::Payment::Result] Transaction result
163
164
  #
164
- # @param related_account_tokens [Lithic::Models::Payment::RelatedAccountTokens] Account tokens related to a payment transaction
165
+ # @param settled_amount [Integer] Settled amount in cents
165
166
  #
166
- # @param result [Symbol, Lithic::Models::Payment::Result] APPROVED payments were successful while DECLINED payments were declined by Lithi
167
+ # @param source [Symbol, Lithic::Models::Payment::Source] Transaction source
167
168
  #
168
- # @param settled_amount [Integer] Amount of the payment that has been settled in the currency's smallest unit (e.g
169
+ # @param status [Symbol, Lithic::Models::Payment::Status] The status of the transaction
169
170
  #
170
- # @param source [Symbol, Lithic::Models::Payment::Source]
171
+ # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated
171
172
  #
172
- # @param status [Symbol, Lithic::Models::Payment::Status] Status types:
173
+ # @param currency [String] Currency of the transaction in ISO 4217 format
173
174
  #
174
- # @param updated [Time] Date and time when the financial transaction was last updated. UTC time zone.
175
+ # @param expected_release_date [Date, nil] Expected release date for the transaction
175
176
  #
176
- # @param user_defined_id [String, nil]
177
+ # @param external_bank_account_token [String, nil] External bank account token
177
178
  #
178
- # @param expected_release_date [Date] Date when the financial transaction expected to be released after settlement
179
+ # @param type [Symbol, Lithic::Models::Payment::Type]
179
180
  #
180
- # @param type [Symbol, Lithic::Models::Payment::Type] Payment type indicating the specific ACH message or Fedwire transfer type
181
+ # @param user_defined_id [String, nil] User-defined identifier
182
+ #
183
+ # @param family [Symbol, :PAYMENT] PAYMENT - Payment Transaction
181
184
 
182
- # Payment category
185
+ # Transaction category
183
186
  #
184
187
  # @see Lithic::Models::Payment#category
185
188
  module Category
186
189
  extend Lithic::Internal::Type::Enum
187
190
 
188
191
  ACH = :ACH
192
+ BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING
193
+ FEE = :FEE
194
+ REWARD = :REWARD
195
+ ADJUSTMENT = :ADJUSTMENT
196
+ DERECOGNITION = :DERECOGNITION
197
+ DISPUTE = :DISPUTE
198
+ CARD = :CARD
199
+ EXTERNAL_ACH = :EXTERNAL_ACH
200
+ EXTERNAL_CHECK = :EXTERNAL_CHECK
201
+ EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER
202
+ EXTERNAL_WIRE = :EXTERNAL_WIRE
203
+ MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT
204
+ MANAGEMENT_DISPUTE = :MANAGEMENT_DISPUTE
205
+ MANAGEMENT_FEE = :MANAGEMENT_FEE
206
+ MANAGEMENT_REWARD = :MANAGEMENT_REWARD
207
+ MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT
208
+ PROGRAM_FUNDING = :PROGRAM_FUNDING
189
209
 
190
210
  # @!method self.values
191
211
  # @return [Array<Symbol>]
192
212
  end
193
213
 
214
+ # Transfer direction
215
+ #
194
216
  # @see Lithic::Models::Payment#direction
195
217
  module Direction
196
218
  extend Lithic::Internal::Type::Enum
@@ -241,14 +263,18 @@ module Lithic
241
263
  # - `ACH_ORIGINATION_SETTLED` - ACH origination has settled.
242
264
  # - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to
243
265
  # available balance.
244
- # - `ACH_RETURN_PROCESSED` - ACH origination returned by the Receiving Depository
245
- # Financial Institution.
266
+ # - `ACH_ORIGINATION_REJECTED` - ACH origination was rejected and not sent to the
267
+ # Federal Reserve.
246
268
  # - `ACH_RECEIPT_PROCESSED` - ACH receipt pending release from an ACH holder.
247
- # - `ACH_RETURN_INITIATED` - ACH initiated return for a ACH receipt.
248
269
  # - `ACH_RECEIPT_SETTLED` - ACH receipt funds have settled.
249
270
  # - `ACH_RECEIPT_RELEASED` - ACH receipt released from pending to available
250
271
  # balance.
251
- # - `ACH_RETURN_SETTLED` - ACH receipt return settled by the Receiving Depository
272
+ # - `ACH_RETURN_INITIATED` - ACH initiated return for an ACH receipt.
273
+ # - `ACH_RETURN_PROCESSED` - ACH receipt returned by the Receiving Depository
274
+ # Financial Institution.
275
+ # - `ACH_RETURN_SETTLED` - ACH return settled by the Receiving Depository
276
+ # Financial Institution.
277
+ # - `ACH_RETURN_REJECTED` - ACH return was rejected by the Receiving Depository
252
278
  # Financial Institution.
253
279
  #
254
280
  # @return [Symbol, Lithic::Models::Payment::Event::Type]
@@ -304,14 +330,18 @@ module Lithic
304
330
  # - `ACH_ORIGINATION_SETTLED` - ACH origination has settled.
305
331
  # - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to
306
332
  # available balance.
307
- # - `ACH_RETURN_PROCESSED` - ACH origination returned by the Receiving Depository
308
- # Financial Institution.
333
+ # - `ACH_ORIGINATION_REJECTED` - ACH origination was rejected and not sent to the
334
+ # Federal Reserve.
309
335
  # - `ACH_RECEIPT_PROCESSED` - ACH receipt pending release from an ACH holder.
310
- # - `ACH_RETURN_INITIATED` - ACH initiated return for a ACH receipt.
311
336
  # - `ACH_RECEIPT_SETTLED` - ACH receipt funds have settled.
312
337
  # - `ACH_RECEIPT_RELEASED` - ACH receipt released from pending to available
313
338
  # balance.
314
- # - `ACH_RETURN_SETTLED` - ACH receipt return settled by the Receiving Depository
339
+ # - `ACH_RETURN_INITIATED` - ACH initiated return for an ACH receipt.
340
+ # - `ACH_RETURN_PROCESSED` - ACH receipt returned by the Receiving Depository
341
+ # Financial Institution.
342
+ # - `ACH_RETURN_SETTLED` - ACH return settled by the Receiving Depository
343
+ # Financial Institution.
344
+ # - `ACH_RETURN_REJECTED` - ACH return was rejected by the Receiving Depository
315
345
  # Financial Institution.
316
346
  #
317
347
  # @see Lithic::Models::Payment::Event#type
@@ -321,13 +351,16 @@ module Lithic
321
351
  ACH_ORIGINATION_CANCELLED = :ACH_ORIGINATION_CANCELLED
322
352
  ACH_ORIGINATION_INITIATED = :ACH_ORIGINATION_INITIATED
323
353
  ACH_ORIGINATION_PROCESSED = :ACH_ORIGINATION_PROCESSED
324
- ACH_ORIGINATION_SETTLED = :ACH_ORIGINATION_SETTLED
354
+ ACH_ORIGINATION_REJECTED = :ACH_ORIGINATION_REJECTED
325
355
  ACH_ORIGINATION_RELEASED = :ACH_ORIGINATION_RELEASED
326
356
  ACH_ORIGINATION_REVIEWED = :ACH_ORIGINATION_REVIEWED
357
+ ACH_ORIGINATION_SETTLED = :ACH_ORIGINATION_SETTLED
327
358
  ACH_RECEIPT_PROCESSED = :ACH_RECEIPT_PROCESSED
359
+ ACH_RECEIPT_RELEASED = :ACH_RECEIPT_RELEASED
328
360
  ACH_RECEIPT_SETTLED = :ACH_RECEIPT_SETTLED
329
361
  ACH_RETURN_INITIATED = :ACH_RETURN_INITIATED
330
362
  ACH_RETURN_PROCESSED = :ACH_RETURN_PROCESSED
363
+ ACH_RETURN_REJECTED = :ACH_RETURN_REJECTED
331
364
  ACH_RETURN_SETTLED = :ACH_RETURN_SETTLED
332
365
 
333
366
  # @!method self.values
@@ -349,74 +382,175 @@ module Lithic
349
382
  end
350
383
  end
351
384
 
385
+ # Transfer method
386
+ #
352
387
  # @see Lithic::Models::Payment#method_
353
388
  module Method
354
389
  extend Lithic::Internal::Type::Enum
355
390
 
356
391
  ACH_NEXT_DAY = :ACH_NEXT_DAY
357
392
  ACH_SAME_DAY = :ACH_SAME_DAY
393
+ WIRE = :WIRE
358
394
 
359
395
  # @!method self.values
360
396
  # @return [Array<Symbol>]
361
397
  end
362
398
 
399
+ # Method-specific attributes
400
+ #
363
401
  # @see Lithic::Models::Payment#method_attributes
364
- class MethodAttributes < Lithic::Internal::Type::BaseModel
365
- # @!attribute company_id
366
- #
367
- # @return [String, nil]
368
- required :company_id, String, nil?: true
369
-
370
- # @!attribute receipt_routing_number
371
- #
372
- # @return [String, nil]
373
- required :receipt_routing_number, String, nil?: true
374
-
375
- # @!attribute retries
376
- #
377
- # @return [Integer, nil]
378
- required :retries, Integer, nil?: true
379
-
380
- # @!attribute return_reason_code
381
- #
382
- # @return [String, nil]
383
- required :return_reason_code, String, nil?: true
384
-
385
- # @!attribute sec_code
386
- #
387
- # @return [Symbol, Lithic::Models::Payment::MethodAttributes::SecCode]
388
- required :sec_code, enum: -> { Lithic::Payment::MethodAttributes::SecCode }
389
-
390
- # @!attribute trace_numbers
391
- #
392
- # @return [Array<String, nil>]
393
- required :trace_numbers, Lithic::Internal::Type::ArrayOf[String, nil?: true]
394
-
395
- # @!attribute addenda
396
- #
397
- # @return [String, nil]
398
- optional :addenda, String, nil?: true
399
-
400
- # @!method initialize(company_id:, receipt_routing_number:, retries:, return_reason_code:, sec_code:, trace_numbers:, addenda: nil)
401
- # @param company_id [String, nil]
402
- # @param receipt_routing_number [String, nil]
403
- # @param retries [Integer, nil]
404
- # @param return_reason_code [String, nil]
405
- # @param sec_code [Symbol, Lithic::Models::Payment::MethodAttributes::SecCode]
406
- # @param trace_numbers [Array<String, nil>]
407
- # @param addenda [String, nil]
408
-
409
- # @see Lithic::Models::Payment::MethodAttributes#sec_code
410
- module SecCode
411
- extend Lithic::Internal::Type::Enum
412
-
413
- CCD = :CCD
414
- PPD = :PPD
415
- WEB = :WEB
402
+ module MethodAttributes
403
+ extend Lithic::Internal::Type::Union
404
+
405
+ variant -> { Lithic::Payment::MethodAttributes::ACHMethodAttributes }
406
+
407
+ variant -> { Lithic::Payment::MethodAttributes::WireMethodAttributes }
408
+
409
+ class ACHMethodAttributes < Lithic::Internal::Type::BaseModel
410
+ # @!attribute sec_code
411
+ # SEC code for ACH transaction
412
+ #
413
+ # @return [Symbol, Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes::SecCode]
414
+ required :sec_code, enum: -> { Lithic::Payment::MethodAttributes::ACHMethodAttributes::SecCode }
415
+
416
+ # @!attribute addenda
417
+ # Addenda information
418
+ #
419
+ # @return [String, nil]
420
+ optional :addenda, String, nil?: true
421
+
422
+ # @!attribute company_id
423
+ # Company ID for the ACH transaction
424
+ #
425
+ # @return [String, nil]
426
+ optional :company_id, String, nil?: true
427
+
428
+ # @!attribute receipt_routing_number
429
+ # Receipt routing number
430
+ #
431
+ # @return [String, nil]
432
+ optional :receipt_routing_number, String, nil?: true
433
+
434
+ # @!attribute retries
435
+ # Number of retries attempted
436
+ #
437
+ # @return [Integer, nil]
438
+ optional :retries, Integer, nil?: true
439
+
440
+ # @!attribute return_reason_code
441
+ # Return reason code if the transaction was returned
442
+ #
443
+ # @return [String, nil]
444
+ optional :return_reason_code, String, nil?: true
445
+
446
+ # @!attribute trace_numbers
447
+ # Trace numbers for the ACH transaction
448
+ #
449
+ # @return [Array<String>, nil]
450
+ optional :trace_numbers, Lithic::Internal::Type::ArrayOf[String]
451
+
452
+ # @!method initialize(sec_code:, addenda: nil, company_id: nil, receipt_routing_number: nil, retries: nil, return_reason_code: nil, trace_numbers: nil)
453
+ # @param sec_code [Symbol, Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes::SecCode] SEC code for ACH transaction
454
+ #
455
+ # @param addenda [String, nil] Addenda information
456
+ #
457
+ # @param company_id [String, nil] Company ID for the ACH transaction
458
+ #
459
+ # @param receipt_routing_number [String, nil] Receipt routing number
460
+ #
461
+ # @param retries [Integer, nil] Number of retries attempted
462
+ #
463
+ # @param return_reason_code [String, nil] Return reason code if the transaction was returned
464
+ #
465
+ # @param trace_numbers [Array<String>] Trace numbers for the ACH transaction
466
+
467
+ # SEC code for ACH transaction
468
+ #
469
+ # @see Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes#sec_code
470
+ module SecCode
471
+ extend Lithic::Internal::Type::Enum
472
+
473
+ CCD = :CCD
474
+ PPD = :PPD
475
+ WEB = :WEB
476
+ TEL = :TEL
477
+ CIE = :CIE
478
+ CTX = :CTX
479
+
480
+ # @!method self.values
481
+ # @return [Array<Symbol>]
482
+ end
483
+ end
416
484
 
417
- # @!method self.values
418
- # @return [Array<Symbol>]
485
+ class WireMethodAttributes < Lithic::Internal::Type::BaseModel
486
+ # @!attribute wire_network
487
+ # Type of wire transfer
488
+ #
489
+ # @return [Symbol, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes::WireNetwork]
490
+ required :wire_network, enum: -> { Lithic::Payment::MethodAttributes::WireMethodAttributes::WireNetwork }
491
+
492
+ # @!attribute creditor
493
+ #
494
+ # @return [Lithic::Models::WirePartyDetails, nil]
495
+ optional :creditor, -> { Lithic::WirePartyDetails }
496
+
497
+ # @!attribute debtor
498
+ #
499
+ # @return [Lithic::Models::WirePartyDetails, nil]
500
+ optional :debtor, -> { Lithic::WirePartyDetails }
501
+
502
+ # @!attribute message_id
503
+ # Point to point reference identifier, as assigned by the instructing party, used
504
+ # for tracking the message through the Fedwire system
505
+ #
506
+ # @return [String, nil]
507
+ optional :message_id, String, nil?: true
508
+
509
+ # @!attribute remittance_information
510
+ # Payment details or invoice reference
511
+ #
512
+ # @return [String, nil]
513
+ optional :remittance_information, String, nil?: true
514
+
515
+ # @!attribute wire_message_type
516
+ # Type of wire message
517
+ #
518
+ # @return [String, nil]
519
+ optional :wire_message_type, String
520
+
521
+ # @!method initialize(wire_network:, creditor: nil, debtor: nil, message_id: nil, remittance_information: nil, wire_message_type: nil)
522
+ # Some parameter documentations has been truncated, see
523
+ # {Lithic::Models::Payment::MethodAttributes::WireMethodAttributes} for more
524
+ # details.
525
+ #
526
+ # @param wire_network [Symbol, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes::WireNetwork] Type of wire transfer
527
+ #
528
+ # @param creditor [Lithic::Models::WirePartyDetails]
529
+ #
530
+ # @param debtor [Lithic::Models::WirePartyDetails]
531
+ #
532
+ # @param message_id [String, nil] Point to point reference identifier, as assigned by the instructing party, used
533
+ #
534
+ # @param remittance_information [String, nil] Payment details or invoice reference
535
+ #
536
+ # @param wire_message_type [String] Type of wire message
537
+
538
+ # Type of wire transfer
539
+ #
540
+ # @see Lithic::Models::Payment::MethodAttributes::WireMethodAttributes#wire_network
541
+ module WireNetwork
542
+ extend Lithic::Internal::Type::Enum
543
+
544
+ FEDWIRE = :FEDWIRE
545
+ SWIFT = :SWIFT
546
+
547
+ # @!method self.values
548
+ # @return [Array<Symbol>]
549
+ end
419
550
  end
551
+
552
+ # @!method self.variants
553
+ # @return [Array(Lithic::Models::Payment::MethodAttributes::ACHMethodAttributes, Lithic::Models::Payment::MethodAttributes::WireMethodAttributes)]
420
554
  end
421
555
 
422
556
  # @see Lithic::Models::Payment#related_account_tokens
@@ -434,15 +568,14 @@ module Lithic
434
568
  required :business_account_token, String, nil?: true
435
569
 
436
570
  # @!method initialize(account_token:, business_account_token:)
437
- # Account tokens related to a payment transaction
571
+ # Related account tokens for the transaction
438
572
  #
439
573
  # @param account_token [String, nil] Globally unique identifier for the account
440
574
  #
441
575
  # @param business_account_token [String, nil] Globally unique identifier for the business account
442
576
  end
443
577
 
444
- # APPROVED payments were successful while DECLINED payments were declined by
445
- # Lithic or returned.
578
+ # Transaction result
446
579
  #
447
580
  # @see Lithic::Models::Payment#result
448
581
  module Result
@@ -455,40 +588,36 @@ module Lithic
455
588
  # @return [Array<Symbol>]
456
589
  end
457
590
 
591
+ # Transaction source
592
+ #
458
593
  # @see Lithic::Models::Payment#source
459
594
  module Source
460
595
  extend Lithic::Internal::Type::Enum
461
596
 
462
- CUSTOMER = :CUSTOMER
463
597
  LITHIC = :LITHIC
598
+ EXTERNAL = :EXTERNAL
599
+ CUSTOMER = :CUSTOMER
464
600
 
465
601
  # @!method self.values
466
602
  # @return [Array<Symbol>]
467
603
  end
468
604
 
469
- # Status types:
470
- #
471
- # - `DECLINED` - The payment was declined.
472
- # - `PENDING` - The payment is being processed and has yet to settle or release
473
- # (origination debit).
474
- # - `RETURNED` - The payment has been returned.
475
- # - `SETTLED` - The payment is completed.
605
+ # The status of the transaction
476
606
  #
477
607
  # @see Lithic::Models::Payment#status
478
608
  module Status
479
609
  extend Lithic::Internal::Type::Enum
480
610
 
481
- DECLINED = :DECLINED
482
611
  PENDING = :PENDING
483
- RETURNED = :RETURNED
484
612
  SETTLED = :SETTLED
613
+ DECLINED = :DECLINED
614
+ REVERSED = :REVERSED
615
+ CANCELED = :CANCELED
485
616
 
486
617
  # @!method self.values
487
618
  # @return [Array<Symbol>]
488
619
  end
489
620
 
490
- # Payment type indicating the specific ACH message or Fedwire transfer type
491
- #
492
621
  # @see Lithic::Models::Payment#type
493
622
  module Type
494
623
  extend Lithic::Internal::Type::Enum
@@ -11,6 +11,8 @@ module Lithic
11
11
  optional :balance, -> { Lithic::Balance }
12
12
 
13
13
  # @!method initialize(balance: nil)
14
+ # Payment transaction
15
+ #
14
16
  # @param balance [Lithic::Models::Balance] Balance
15
17
  end
16
18
  end
@@ -11,6 +11,8 @@ module Lithic
11
11
  optional :balance, -> { Lithic::Balance }
12
12
 
13
13
  # @!method initialize(balance: nil)
14
+ # Payment transaction
15
+ #
14
16
  # @param balance [Lithic::Models::Balance] Balance
15
17
  end
16
18
  end