lithic 0.22.0 → 0.23.1

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 (104) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/models/account_activity_list_params.rb +1 -0
  6. data/lib/lithic/models/account_activity_list_response.rb +2 -24
  7. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +2 -24
  8. data/lib/lithic/models/book_transfer_create_params.rb +1 -0
  9. data/lib/lithic/models/book_transfer_response.rb +1 -0
  10. data/lib/lithic/models/card_authorization.rb +1 -0
  11. data/lib/lithic/models/cards/financial_transaction_list_params.rb +9 -1
  12. data/lib/lithic/models/claim_created_webhook_event.rb +15 -1
  13. data/lib/lithic/models/claim_updated_webhook_event.rb +15 -1
  14. data/lib/lithic/models/financial_account_balance.rb +6 -6
  15. data/lib/lithic/models/financial_accounts/credit_configuration_update_params.rb +9 -2
  16. data/lib/lithic/models/financial_accounts/financial_transaction_list_params.rb +9 -1
  17. data/lib/lithic/models/financial_accounts/interest_tier_schedule.rb +6 -6
  18. data/lib/lithic/models/financial_accounts/interest_tier_schedule_update_params.rb +6 -6
  19. data/lib/lithic/models/financial_accounts/loan_tape.rb +9 -1
  20. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +5 -0
  21. data/lib/lithic/models/financial_event.rb +4 -0
  22. data/lib/lithic/models/funding_event_list_params.rb +28 -1
  23. data/lib/lithic/models/hold.rb +24 -28
  24. data/lib/lithic/models/ip_range_retrieve_params.rb +14 -0
  25. data/lib/lithic/models/ip_range_retrieve_response.rb +25 -0
  26. data/lib/lithic/models/payment.rb +1 -0
  27. data/lib/lithic/models/transaction.rb +9 -3
  28. data/lib/lithic/models/transactions/events/enhanced_data.rb +27 -3
  29. data/lib/lithic/models/transfer_limits_response.rb +9 -1
  30. data/lib/lithic/models.rb +2 -0
  31. data/lib/lithic/resources/cards/financial_transactions.rb +5 -3
  32. data/lib/lithic/resources/financial_accounts/credit_configuration.rb +9 -2
  33. data/lib/lithic/resources/financial_accounts/financial_transactions.rb +5 -3
  34. data/lib/lithic/resources/financial_accounts/interest_tier_schedule.rb +6 -6
  35. data/lib/lithic/resources/funding_events.rb +8 -2
  36. data/lib/lithic/resources/ip_ranges.rb +36 -0
  37. data/lib/lithic/resources/webhooks.rb +2 -0
  38. data/lib/lithic/version.rb +1 -1
  39. data/lib/lithic.rb +3 -0
  40. data/rbi/lithic/client.rbi +3 -0
  41. data/rbi/lithic/models/account_activity_list_params.rbi +5 -0
  42. data/rbi/lithic/models/account_activity_list_response.rbi +6 -75
  43. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +6 -75
  44. data/rbi/lithic/models/book_transfer_create_params.rbi +5 -0
  45. data/rbi/lithic/models/book_transfer_response.rbi +5 -0
  46. data/rbi/lithic/models/card_authorization.rbi +2 -0
  47. data/rbi/lithic/models/cards/financial_transaction_list_params.rbi +11 -0
  48. data/rbi/lithic/models/claim_created_webhook_event.rbi +14 -0
  49. data/rbi/lithic/models/claim_updated_webhook_event.rbi +14 -0
  50. data/rbi/lithic/models/financial_account_balance.rbi +6 -6
  51. data/rbi/lithic/models/financial_accounts/credit_configuration_update_params.rbi +8 -2
  52. data/rbi/lithic/models/financial_accounts/financial_transaction_list_params.rbi +11 -0
  53. data/rbi/lithic/models/financial_accounts/interest_tier_schedule.rbi +9 -18
  54. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbi +9 -18
  55. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +24 -3
  56. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +25 -0
  57. data/rbi/lithic/models/financial_event.rbi +17 -0
  58. data/rbi/lithic/models/funding_event_list_params.rbi +39 -0
  59. data/rbi/lithic/models/hold.rbi +28 -29
  60. data/rbi/lithic/models/ip_range_retrieve_params.rbi +27 -0
  61. data/rbi/lithic/models/ip_range_retrieve_response.rbi +40 -0
  62. data/rbi/lithic/models/payment.rbi +1 -0
  63. data/rbi/lithic/models/transaction.rbi +11 -4
  64. data/rbi/lithic/models/transactions/events/enhanced_data.rbi +25 -5
  65. data/rbi/lithic/models/transfer_limits_response.rbi +8 -0
  66. data/rbi/lithic/models.rbi +2 -0
  67. data/rbi/lithic/resources/cards/financial_transactions.rbi +4 -1
  68. data/rbi/lithic/resources/financial_accounts/credit_configuration.rbi +8 -2
  69. data/rbi/lithic/resources/financial_accounts/financial_transactions.rbi +4 -1
  70. data/rbi/lithic/resources/financial_accounts/interest_tier_schedule.rbi +6 -6
  71. data/rbi/lithic/resources/funding_events.rbi +12 -0
  72. data/rbi/lithic/resources/ip_ranges.rbi +25 -0
  73. data/sig/lithic/client.rbs +2 -0
  74. data/sig/lithic/models/account_activity_list_params.rbs +2 -0
  75. data/sig/lithic/models/account_activity_list_response.rbs +3 -32
  76. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +3 -32
  77. data/sig/lithic/models/book_transfer_create_params.rbs +2 -0
  78. data/sig/lithic/models/book_transfer_response.rbs +2 -0
  79. data/sig/lithic/models/card_authorization.rbs +8 -1
  80. data/sig/lithic/models/cards/financial_transaction_list_params.rbs +7 -0
  81. data/sig/lithic/models/claim_created_webhook_event.rbs +5 -0
  82. data/sig/lithic/models/claim_updated_webhook_event.rbs +5 -0
  83. data/sig/lithic/models/financial_account_balance.rbs +8 -8
  84. data/sig/lithic/models/financial_accounts/financial_transaction_list_params.rbs +7 -0
  85. data/sig/lithic/models/financial_accounts/interest_tier_schedule.rbs +12 -18
  86. data/sig/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbs +12 -18
  87. data/sig/lithic/models/financial_accounts/loan_tape.rbs +8 -3
  88. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +10 -0
  89. data/sig/lithic/models/financial_event.rbs +8 -0
  90. data/sig/lithic/models/funding_event_list_params.rbs +26 -1
  91. data/sig/lithic/models/hold.rbs +22 -30
  92. data/sig/lithic/models/ip_range_retrieve_params.rbs +15 -0
  93. data/sig/lithic/models/ip_range_retrieve_response.rbs +16 -0
  94. data/sig/lithic/models/payment.rbs +2 -0
  95. data/sig/lithic/models/transaction.rbs +12 -5
  96. data/sig/lithic/models/transactions/events/enhanced_data.rbs +13 -3
  97. data/sig/lithic/models/transfer_limits_response.rbs +5 -0
  98. data/sig/lithic/models.rbs +2 -0
  99. data/sig/lithic/resources/cards/financial_transactions.rbs +2 -1
  100. data/sig/lithic/resources/financial_accounts/financial_transactions.rbs +2 -1
  101. data/sig/lithic/resources/financial_accounts/interest_tier_schedule.rbs +6 -6
  102. data/sig/lithic/resources/funding_events.rbs +3 -0
  103. data/sig/lithic/resources/ip_ranges.rbs +11 -0
  104. metadata +12 -7
@@ -11,6 +11,22 @@ module Lithic
11
11
  T.any(Lithic::FundingEventListParams, Lithic::Internal::AnyHash)
12
12
  end
13
13
 
14
+ # Date string in RFC 3339 format. Only entries created after the specified time
15
+ # will be included. UTC time zone.
16
+ sig { returns(T.nilable(Time)) }
17
+ attr_reader :begin_
18
+
19
+ sig { params(begin_: Time).void }
20
+ attr_writer :begin_
21
+
22
+ # Date string in RFC 3339 format. Only entries created before the specified time
23
+ # will be included. UTC time zone.
24
+ sig { returns(T.nilable(Time)) }
25
+ attr_reader :end_
26
+
27
+ sig { params(end_: Time).void }
28
+ attr_writer :end_
29
+
14
30
  # A cursor representing an item's token before which a page of results should end.
15
31
  # Used to retrieve the previous page of results before this item.
16
32
  sig { returns(T.nilable(String)) }
@@ -19,6 +35,14 @@ module Lithic
19
35
  sig { params(ending_before: String).void }
20
36
  attr_writer :ending_before
21
37
 
38
+ # Only funding events with a settlement breakout for this network settlement date
39
+ # will be included.
40
+ sig { returns(T.nilable(Date)) }
41
+ attr_reader :network_settlement_date
42
+
43
+ sig { params(network_settlement_date: Date).void }
44
+ attr_writer :network_settlement_date
45
+
22
46
  # Page size (for pagination).
23
47
  sig { returns(T.nilable(Integer)) }
24
48
  attr_reader :page_size
@@ -36,16 +60,28 @@ module Lithic
36
60
 
37
61
  sig do
38
62
  params(
63
+ begin_: Time,
64
+ end_: Time,
39
65
  ending_before: String,
66
+ network_settlement_date: Date,
40
67
  page_size: Integer,
41
68
  starting_after: String,
42
69
  request_options: Lithic::RequestOptions::OrHash
43
70
  ).returns(T.attached_class)
44
71
  end
45
72
  def self.new(
73
+ # Date string in RFC 3339 format. Only entries created after the specified time
74
+ # will be included. UTC time zone.
75
+ begin_: nil,
76
+ # Date string in RFC 3339 format. Only entries created before the specified time
77
+ # will be included. UTC time zone.
78
+ end_: nil,
46
79
  # A cursor representing an item's token before which a page of results should end.
47
80
  # Used to retrieve the previous page of results before this item.
48
81
  ending_before: nil,
82
+ # Only funding events with a settlement breakout for this network settlement date
83
+ # will be included.
84
+ network_settlement_date: nil,
49
85
  # Page size (for pagination).
50
86
  page_size: nil,
51
87
  # A cursor representing an item's token after which a page of results should
@@ -58,7 +94,10 @@ module Lithic
58
94
  sig do
59
95
  override.returns(
60
96
  {
97
+ begin_: Time,
98
+ end_: Time,
61
99
  ending_before: String,
100
+ network_settlement_date: Date,
62
101
  page_size: Integer,
63
102
  starting_after: String,
64
103
  request_options: Lithic::RequestOptions
@@ -13,10 +13,6 @@ module Lithic
13
13
  sig { returns(Time) }
14
14
  attr_accessor :created
15
15
 
16
- # Status of a hold transaction
17
- sig { returns(Lithic::Hold::Status::TaggedSymbol) }
18
- attr_accessor :status
19
-
20
16
  # ISO 8601 timestamp of when the transaction was last updated
21
17
  sig { returns(Time) }
22
18
  attr_accessor :updated
@@ -63,6 +59,13 @@ module Lithic
63
59
  sig { params(result: Lithic::Hold::Result::OrSymbol).void }
64
60
  attr_writer :result
65
61
 
62
+ # Status of a hold transaction
63
+ sig { returns(T.nilable(Lithic::Hold::Status::TaggedSymbol)) }
64
+ attr_reader :status
65
+
66
+ sig { params(status: Lithic::Hold::Status::OrSymbol).void }
67
+ attr_writer :status
68
+
66
69
  sig { returns(T.nilable(String)) }
67
70
  attr_accessor :user_defined_id
68
71
 
@@ -74,7 +77,6 @@ module Lithic
74
77
  params(
75
78
  token: String,
76
79
  created: Time,
77
- status: Lithic::Hold::Status::OrSymbol,
78
80
  updated: Time,
79
81
  currency: String,
80
82
  events: T::Array[Lithic::HoldEvent::OrHash],
@@ -83,6 +85,7 @@ module Lithic
83
85
  financial_account_token: String,
84
86
  pending_amount: Integer,
85
87
  result: Lithic::Hold::Result::OrSymbol,
88
+ status: Lithic::Hold::Status::OrSymbol,
86
89
  user_defined_id: T.nilable(String)
87
90
  ).returns(T.attached_class)
88
91
  end
@@ -91,8 +94,6 @@ module Lithic
91
94
  token:,
92
95
  # ISO 8601 timestamp of when the transaction was created
93
96
  created:,
94
- # Status of a hold transaction
95
- status:,
96
97
  # ISO 8601 timestamp of when the transaction was last updated
97
98
  updated:,
98
99
  currency: nil,
@@ -105,6 +106,8 @@ module Lithic
105
106
  # Current pending amount (0 when resolved)
106
107
  pending_amount: nil,
107
108
  result: nil,
109
+ # Status of a hold transaction
110
+ status: nil,
108
111
  user_defined_id: nil
109
112
  )
110
113
  end
@@ -114,7 +117,6 @@ module Lithic
114
117
  {
115
118
  token: String,
116
119
  created: Time,
117
- status: Lithic::Hold::Status::TaggedSymbol,
118
120
  updated: Time,
119
121
  currency: String,
120
122
  events: T::Array[Lithic::HoldEvent],
@@ -123,6 +125,7 @@ module Lithic
123
125
  financial_account_token: String,
124
126
  pending_amount: Integer,
125
127
  result: Lithic::Hold::Result::TaggedSymbol,
128
+ status: Lithic::Hold::Status::TaggedSymbol,
126
129
  user_defined_id: T.nilable(String)
127
130
  }
128
131
  )
@@ -130,27 +133,6 @@ module Lithic
130
133
  def to_hash
131
134
  end
132
135
 
133
- # Status of a hold transaction
134
- module Status
135
- extend Lithic::Internal::Type::Enum
136
-
137
- TaggedSymbol = T.type_alias { T.all(Symbol, Lithic::Hold::Status) }
138
- OrSymbol = T.type_alias { T.any(Symbol, String) }
139
-
140
- PENDING = T.let(:PENDING, Lithic::Hold::Status::TaggedSymbol)
141
- SETTLED = T.let(:SETTLED, Lithic::Hold::Status::TaggedSymbol)
142
- EXPIRED = T.let(:EXPIRED, Lithic::Hold::Status::TaggedSymbol)
143
- VOIDED = T.let(:VOIDED, Lithic::Hold::Status::TaggedSymbol)
144
- DECLINED = T.let(:DECLINED, Lithic::Hold::Status::TaggedSymbol)
145
- REVERSED = T.let(:REVERSED, Lithic::Hold::Status::TaggedSymbol)
146
- CANCELED = T.let(:CANCELED, Lithic::Hold::Status::TaggedSymbol)
147
- RETURNED = T.let(:RETURNED, Lithic::Hold::Status::TaggedSymbol)
148
-
149
- sig { override.returns(T::Array[Lithic::Hold::Status::TaggedSymbol]) }
150
- def self.values
151
- end
152
- end
153
-
154
136
  # HOLD - Hold Transaction
155
137
  module Family
156
138
  extend Lithic::Internal::Type::Enum
@@ -178,6 +160,23 @@ module Lithic
178
160
  def self.values
179
161
  end
180
162
  end
163
+
164
+ # Status of a hold transaction
165
+ module Status
166
+ extend Lithic::Internal::Type::Enum
167
+
168
+ TaggedSymbol = T.type_alias { T.all(Symbol, Lithic::Hold::Status) }
169
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
170
+
171
+ PENDING = T.let(:PENDING, Lithic::Hold::Status::TaggedSymbol)
172
+ SETTLED = T.let(:SETTLED, Lithic::Hold::Status::TaggedSymbol)
173
+ EXPIRED = T.let(:EXPIRED, Lithic::Hold::Status::TaggedSymbol)
174
+ VOIDED = T.let(:VOIDED, Lithic::Hold::Status::TaggedSymbol)
175
+
176
+ sig { override.returns(T::Array[Lithic::Hold::Status::TaggedSymbol]) }
177
+ def self.values
178
+ end
179
+ end
181
180
  end
182
181
  end
183
182
  end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class IPRangeRetrieveParams < Lithic::Internal::Type::BaseModel
6
+ extend Lithic::Internal::Type::RequestParameters::Converter
7
+ include Lithic::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Lithic::IPRangeRetrieveParams, Lithic::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: Lithic::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: Lithic::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class IPRangeRetrieveResponse < Lithic::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Lithic::Models::IPRangeRetrieveResponse,
10
+ Lithic::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # IP ranges that responder requests are sent from, in CIDR notation
15
+ sig { returns(T::Array[String]) }
16
+ attr_accessor :responders
17
+
18
+ # Date and time the IP ranges were last changed
19
+ sig { returns(Time) }
20
+ attr_accessor :updated
21
+
22
+ sig do
23
+ params(responders: T::Array[String], updated: Time).returns(
24
+ T.attached_class
25
+ )
26
+ end
27
+ def self.new(
28
+ # IP ranges that responder requests are sent from, in CIDR notation
29
+ responders:,
30
+ # Date and time the IP ranges were last changed
31
+ updated:
32
+ )
33
+ end
34
+
35
+ sig { override.returns({ responders: T::Array[String], updated: Time }) }
36
+ def to_hash
37
+ end
38
+ end
39
+ end
40
+ end
@@ -252,6 +252,7 @@ module Lithic
252
252
  ACH = T.let(:ACH, Lithic::Payment::Category::TaggedSymbol)
253
253
  WIRE = T.let(:WIRE, Lithic::Payment::Category::TaggedSymbol)
254
254
  STABLECOIN = T.let(:STABLECOIN, Lithic::Payment::Category::TaggedSymbol)
255
+ INTRA_BANK = T.let(:INTRA_BANK, Lithic::Payment::Category::TaggedSymbol)
255
256
  BALANCE_OR_FUNDING =
256
257
  T.let(:BALANCE_OR_FUNDING, Lithic::Payment::Category::TaggedSymbol)
257
258
  FEE = T.let(:FEE, Lithic::Payment::Category::TaggedSymbol)
@@ -108,10 +108,12 @@ module Lithic
108
108
  sig { returns(T.nilable(Integer)) }
109
109
  attr_accessor :network_risk_score
110
110
 
111
- sig { returns(Lithic::Transaction::Pos) }
111
+ # Point of sale data for the transaction. Null when no point of sale data is
112
+ # available, such as clearing-only records that never went through authorization
113
+ sig { returns(T.nilable(Lithic::Transaction::Pos)) }
112
114
  attr_reader :pos
113
115
 
114
- sig { params(pos: Lithic::Transaction::Pos::OrHash).void }
116
+ sig { params(pos: T.nilable(Lithic::Transaction::Pos::OrHash)).void }
115
117
  attr_writer :pos
116
118
 
117
119
  sig { returns(Lithic::Transaction::Result::TaggedSymbol) }
@@ -183,7 +185,7 @@ module Lithic
183
185
  merchant_currency: String,
184
186
  network: T.nilable(Lithic::Transaction::Network::OrSymbol),
185
187
  network_risk_score: T.nilable(Integer),
186
- pos: Lithic::Transaction::Pos::OrHash,
188
+ pos: T.nilable(Lithic::Transaction::Pos::OrHash),
187
189
  result: Lithic::Transaction::Result::OrSymbol,
188
190
  service_location:
189
191
  T.nilable(Lithic::Transaction::ServiceLocation::OrHash),
@@ -243,6 +245,8 @@ module Lithic
243
245
  # score has a range of 0-99, Lithic will normalize the score by multiplying the
244
246
  # raw score by 10x.
245
247
  network_risk_score:,
248
+ # Point of sale data for the transaction. Null when no point of sale data is
249
+ # available, such as clearing-only records that never went through authorization
246
250
  pos:,
247
251
  result:,
248
252
  # Where the cardholder received the service, when different from the card acceptor
@@ -287,7 +291,7 @@ module Lithic
287
291
  merchant_currency: String,
288
292
  network: T.nilable(Lithic::Transaction::Network::TaggedSymbol),
289
293
  network_risk_score: T.nilable(Integer),
290
- pos: Lithic::Transaction::Pos,
294
+ pos: T.nilable(Lithic::Transaction::Pos),
291
295
  result: Lithic::Transaction::Result::TaggedSymbol,
292
296
  service_location: T.nilable(Lithic::Transaction::ServiceLocation),
293
297
  settled_amount: Integer,
@@ -605,6 +609,7 @@ module Lithic
605
609
  T.type_alias { T.all(Symbol, Lithic::Transaction::Network) }
606
610
  OrSymbol = T.type_alias { T.any(Symbol, String) }
607
611
 
612
+ ALLPOINT = T.let(:ALLPOINT, Lithic::Transaction::Network::TaggedSymbol)
608
613
  AMEX = T.let(:AMEX, Lithic::Transaction::Network::TaggedSymbol)
609
614
  INTERLINK =
610
615
  T.let(:INTERLINK, Lithic::Transaction::Network::TaggedSymbol)
@@ -643,6 +648,8 @@ module Lithic
643
648
  end
644
649
  attr_writer :terminal
645
650
 
651
+ # Point of sale data for the transaction. Null when no point of sale data is
652
+ # available, such as clearing-only records that never went through authorization
646
653
  sig do
647
654
  params(
648
655
  entry_mode: Lithic::Transaction::Pos::EntryMode::OrHash,
@@ -174,7 +174,8 @@ module Lithic
174
174
  )
175
175
  end
176
176
 
177
- # The price of the item purchased in merchant currency.
177
+ # Deprecated: Use unit_amount instead. The price of the item purchased in merchant
178
+ # currency.
178
179
  sig { returns(T.nilable(String)) }
179
180
  attr_accessor :amount
180
181
 
@@ -190,24 +191,41 @@ module Lithic
190
191
  sig { returns(T.nilable(String)) }
191
192
  attr_accessor :quantity
192
193
 
194
+ # The total cost for the line item in merchant currency, covering all units
195
+ # purchased.
196
+ sig { returns(T.nilable(String)) }
197
+ attr_accessor :total_amount
198
+
199
+ # The price per individual unit in merchant currency.
200
+ sig { returns(T.nilable(String)) }
201
+ attr_accessor :unit_amount
202
+
193
203
  # An L2/L3 enhanced commercial data line item.
194
204
  sig do
195
205
  params(
196
206
  amount: T.nilable(String),
197
207
  description: T.nilable(String),
198
208
  product_code: T.nilable(String),
199
- quantity: T.nilable(String)
209
+ quantity: T.nilable(String),
210
+ total_amount: T.nilable(String),
211
+ unit_amount: T.nilable(String)
200
212
  ).returns(T.attached_class)
201
213
  end
202
214
  def self.new(
203
- # The price of the item purchased in merchant currency.
215
+ # Deprecated: Use unit_amount instead. The price of the item purchased in merchant
216
+ # currency.
204
217
  amount: nil,
205
218
  # A human-readable description of the item.
206
219
  description: nil,
207
220
  # An identifier for the item purchased.
208
221
  product_code: nil,
209
222
  # The quantity of the item purchased.
210
- quantity: nil
223
+ quantity: nil,
224
+ # The total cost for the line item in merchant currency, covering all units
225
+ # purchased.
226
+ total_amount: nil,
227
+ # The price per individual unit in merchant currency.
228
+ unit_amount: nil
211
229
  )
212
230
  end
213
231
 
@@ -217,7 +235,9 @@ module Lithic
217
235
  amount: T.nilable(String),
218
236
  description: T.nilable(String),
219
237
  product_code: T.nilable(String),
220
- quantity: T.nilable(String)
238
+ quantity: T.nilable(String),
239
+ total_amount: T.nilable(String),
240
+ unit_amount: T.nilable(String)
221
241
  }
222
242
  )
223
243
  end
@@ -70,6 +70,10 @@ module Lithic
70
70
  sig { returns(Date) }
71
71
  attr_accessor :date
72
72
 
73
+ # Financial entity ID the limits are scoped to
74
+ sig { returns(String) }
75
+ attr_accessor :financial_entity_id
76
+
73
77
  # Whether the company is a FBO; based on the company ID prefix
74
78
  sig { returns(T::Boolean) }
75
79
  attr_accessor :is_fbo
@@ -108,6 +112,7 @@ module Lithic
108
112
  daily_limit:
109
113
  Lithic::TransferLimitsResponse::Data::DailyLimit::OrHash,
110
114
  date: Date,
115
+ financial_entity_id: String,
111
116
  is_fbo: T::Boolean,
112
117
  monthly_limit:
113
118
  Lithic::TransferLimitsResponse::Data::MonthlyLimit::OrHash,
@@ -122,6 +127,8 @@ module Lithic
122
127
  daily_limit:,
123
128
  # The date for the limit view (ISO format)
124
129
  date:,
130
+ # Financial entity ID the limits are scoped to
131
+ financial_entity_id:,
125
132
  # Whether the company is a FBO; based on the company ID prefix
126
133
  is_fbo:,
127
134
  # Monthly limits with progress
@@ -137,6 +144,7 @@ module Lithic
137
144
  company_id: String,
138
145
  daily_limit: Lithic::TransferLimitsResponse::Data::DailyLimit,
139
146
  date: Date,
147
+ financial_entity_id: String,
140
148
  is_fbo: T::Boolean,
141
149
  monthly_limit: Lithic::TransferLimitsResponse::Data::MonthlyLimit,
142
150
  program_limit_per_transaction:
@@ -438,6 +438,8 @@ module Lithic
438
438
  InternalTransactionUpdatedWebhookEvent =
439
439
  Lithic::Models::InternalTransactionUpdatedWebhookEvent
440
440
 
441
+ IPRangeRetrieveParams = Lithic::Models::IPRangeRetrieveParams
442
+
441
443
  KYB = Lithic::Models::KYB
442
444
 
443
445
  KYBBusinessEntity = Lithic::Models::KYBBusinessEntity
@@ -29,13 +29,14 @@ module Lithic
29
29
  Lithic::Cards::FinancialTransactionListParams::Category::OrSymbol,
30
30
  end_: Time,
31
31
  ending_before: String,
32
+ page_size: Integer,
32
33
  result:
33
34
  Lithic::Cards::FinancialTransactionListParams::Result::OrSymbol,
34
35
  starting_after: String,
35
36
  status:
36
37
  Lithic::Cards::FinancialTransactionListParams::Status::OrSymbol,
37
38
  request_options: Lithic::RequestOptions::OrHash
38
- ).returns(Lithic::Internal::SinglePage[Lithic::FinancialTransaction])
39
+ ).returns(Lithic::Internal::CursorPage[Lithic::FinancialTransaction])
39
40
  end
40
41
  def list(
41
42
  card_token,
@@ -50,6 +51,8 @@ module Lithic
50
51
  # A cursor representing an item's token before which a page of results should end.
51
52
  # Used to retrieve the previous page of results before this item.
52
53
  ending_before: nil,
54
+ # Page size (for pagination).
55
+ page_size: nil,
53
56
  # Financial Transaction result to be returned.
54
57
  result: nil,
55
58
  # A cursor representing an item's token after which a page of results should
@@ -18,7 +18,10 @@ module Lithic
18
18
  )
19
19
  end
20
20
 
21
- # Update an account's credit configuration
21
+ # Update an account's credit configuration. A credit product can only be attached
22
+ # while the financial account is in the `PENDING` state; once a credit product has
23
+ # been assigned the account transitions to `OPEN` and `credit_product_token` can
24
+ # no longer be changed
22
25
  sig do
23
26
  params(
24
27
  financial_account_token: String,
@@ -36,7 +39,10 @@ module Lithic
36
39
  financial_account_token,
37
40
  auto_collection_configuration: nil,
38
41
  credit_limit: nil,
39
- # Globally unique identifier for the credit product
42
+ # Globally unique identifier for the credit product. This can only be set while
43
+ # the financial account is in the `PENDING` state. Because assigning a credit
44
+ # product transitions the account to `OPEN`, a credit product can be attached only
45
+ # once; updating it on an account in any other state returns a `403`
40
46
  credit_product_token: nil,
41
47
  external_bank_account_token: nil,
42
48
  # Tier to assign to a financial account
@@ -30,13 +30,14 @@ module Lithic
30
30
  Lithic::FinancialAccounts::FinancialTransactionListParams::Category::OrSymbol,
31
31
  end_: Time,
32
32
  ending_before: String,
33
+ page_size: Integer,
33
34
  result:
34
35
  Lithic::FinancialAccounts::FinancialTransactionListParams::Result::OrSymbol,
35
36
  starting_after: String,
36
37
  status:
37
38
  Lithic::FinancialAccounts::FinancialTransactionListParams::Status::OrSymbol,
38
39
  request_options: Lithic::RequestOptions::OrHash
39
- ).returns(Lithic::Internal::SinglePage[Lithic::FinancialTransaction])
40
+ ).returns(Lithic::Internal::CursorPage[Lithic::FinancialTransaction])
40
41
  end
41
42
  def list(
42
43
  # Globally unique identifier for financial account.
@@ -52,6 +53,8 @@ module Lithic
52
53
  # A cursor representing an item's token before which a page of results should end.
53
54
  # Used to retrieve the previous page of results before this item.
54
55
  ending_before: nil,
56
+ # Page size (for pagination).
57
+ page_size: nil,
55
58
  # Financial Transaction result to be returned.
56
59
  result: nil,
57
60
  # A cursor representing an item's token after which a page of results should
@@ -10,9 +10,9 @@ module Lithic
10
10
  financial_account_token: String,
11
11
  credit_product_token: String,
12
12
  effective_date: Date,
13
- penalty_rates: T.anything,
14
- tier_name: String,
15
- tier_rates: T.anything,
13
+ penalty_rates: T.nilable(T.anything),
14
+ tier_name: T.nilable(String),
15
+ tier_rates: T.nilable(T.anything),
16
16
  request_options: Lithic::RequestOptions::OrHash
17
17
  ).returns(
18
18
  Lithic::FinancialAccounts::FinancialAccountsInterestTierSchedule
@@ -60,9 +60,9 @@ module Lithic
60
60
  params(
61
61
  effective_date: Date,
62
62
  financial_account_token: String,
63
- penalty_rates: T.anything,
64
- tier_name: String,
65
- tier_rates: T.anything,
63
+ penalty_rates: T.nilable(T.anything),
64
+ tier_name: T.nilable(String),
65
+ tier_rates: T.nilable(T.anything),
66
66
  request_options: Lithic::RequestOptions::OrHash
67
67
  ).returns(
68
68
  Lithic::FinancialAccounts::FinancialAccountsInterestTierSchedule
@@ -20,16 +20,28 @@ module Lithic
20
20
  # Get all funding events for program
21
21
  sig do
22
22
  params(
23
+ begin_: Time,
24
+ end_: Time,
23
25
  ending_before: String,
26
+ network_settlement_date: Date,
24
27
  page_size: Integer,
25
28
  starting_after: String,
26
29
  request_options: Lithic::RequestOptions::OrHash
27
30
  ).returns(Lithic::Internal::CursorPage[Lithic::FundingEvent])
28
31
  end
29
32
  def list(
33
+ # Date string in RFC 3339 format. Only entries created after the specified time
34
+ # will be included. UTC time zone.
35
+ begin_: nil,
36
+ # Date string in RFC 3339 format. Only entries created before the specified time
37
+ # will be included. UTC time zone.
38
+ end_: nil,
30
39
  # A cursor representing an item's token before which a page of results should end.
31
40
  # Used to retrieve the previous page of results before this item.
32
41
  ending_before: nil,
42
+ # Only funding events with a settlement breakout for this network settlement date
43
+ # will be included.
44
+ network_settlement_date: nil,
33
45
  # Page size (for pagination).
34
46
  page_size: nil,
35
47
  # A cursor representing an item's token after which a page of results should
@@ -0,0 +1,25 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Resources
5
+ class IPRanges
6
+ # Returns the IP addresses Lithic sends responder requests from (Auth Stream
7
+ # Access, 3DS decisioning, and tokenization decisioning), so you can allowlist
8
+ # them in your firewall. Each environment returns its own set of addresses. Lithic
9
+ # announces new addresses at least 30 days before sending traffic from them. Event
10
+ # webhooks are not sent from these addresses
11
+ sig do
12
+ params(request_options: Lithic::RequestOptions::OrHash).returns(
13
+ Lithic::Models::IPRangeRetrieveResponse
14
+ )
15
+ end
16
+ def retrieve(request_options: {})
17
+ end
18
+
19
+ # @api private
20
+ sig { params(client: Lithic::Client).returns(T.attached_class) }
21
+ def self.new(client:)
22
+ end
23
+ end
24
+ end
25
+ end
@@ -53,6 +53,8 @@ module Lithic
53
53
 
54
54
  attr_reader responder_endpoints: Lithic::Resources::ResponderEndpoints
55
55
 
56
+ attr_reader ip_ranges: Lithic::Resources::IPRanges
57
+
56
58
  attr_reader external_bank_accounts: Lithic::Resources::ExternalBankAccounts
57
59
 
58
60
  attr_reader blockchain_recipients: Lithic::Resources::BlockchainRecipients
@@ -104,6 +104,7 @@ module Lithic
104
104
  :ACH
105
105
  | :WIRE
106
106
  | :STABLECOIN
107
+ | :INTRA_BANK
107
108
  | :BALANCE_OR_FUNDING
108
109
  | :FEE
109
110
  | :REWARD
@@ -133,6 +134,7 @@ module Lithic
133
134
  ACH: :ACH
134
135
  WIRE: :WIRE
135
136
  STABLECOIN: :STABLECOIN
137
+ INTRA_BANK: :INTRA_BANK
136
138
  BALANCE_OR_FUNDING: :BALANCE_OR_FUNDING
137
139
  FEE: :FEE
138
140
  REWARD: :REWARD