lithic 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -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
@@ -16,12 +16,6 @@ module Lithic
16
16
  # @return [Time]
17
17
  required :created, Time
18
18
 
19
- # @!attribute status
20
- # Status of a hold transaction
21
- #
22
- # @return [Symbol, Lithic::Models::Hold::Status]
23
- required :status, enum: -> { Lithic::Hold::Status }
24
-
25
19
  # @!attribute updated
26
20
  # ISO 8601 timestamp of when the transaction was last updated
27
21
  #
@@ -66,12 +60,18 @@ module Lithic
66
60
  # @return [Symbol, Lithic::Models::Hold::Result, nil]
67
61
  optional :result, enum: -> { Lithic::Hold::Result }
68
62
 
63
+ # @!attribute status
64
+ # Status of a hold transaction
65
+ #
66
+ # @return [Symbol, Lithic::Models::Hold::Status, nil]
67
+ optional :status, enum: -> { Lithic::Hold::Status }
68
+
69
69
  # @!attribute user_defined_id
70
70
  #
71
71
  # @return [String, nil]
72
72
  optional :user_defined_id, String, nil?: true
73
73
 
74
- # @!method initialize(token:, created:, status:, updated:, currency: nil, events: nil, expiration_datetime: nil, family: nil, financial_account_token: nil, pending_amount: nil, result: nil, user_defined_id: nil)
74
+ # @!method initialize(token:, created:, updated:, currency: nil, events: nil, expiration_datetime: nil, family: nil, financial_account_token: nil, pending_amount: nil, result: nil, status: nil, user_defined_id: nil)
75
75
  # A hold transaction representing reserved funds on a financial account. Holds
76
76
  # move funds from available to pending balance in anticipation of future payments.
77
77
  # They can be resolved via settlement (linked to payment), manual release, or
@@ -81,8 +81,6 @@ module Lithic
81
81
  #
82
82
  # @param created [Time] ISO 8601 timestamp of when the transaction was created
83
83
  #
84
- # @param status [Symbol, Lithic::Models::Hold::Status] Status of a hold transaction
85
- #
86
84
  # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated
87
85
  #
88
86
  # @param currency [String]
@@ -99,26 +97,9 @@ module Lithic
99
97
  #
100
98
  # @param result [Symbol, Lithic::Models::Hold::Result]
101
99
  #
102
- # @param user_defined_id [String, nil]
103
-
104
- # Status of a hold transaction
100
+ # @param status [Symbol, Lithic::Models::Hold::Status] Status of a hold transaction
105
101
  #
106
- # @see Lithic::Models::Hold#status
107
- module Status
108
- extend Lithic::Internal::Type::Enum
109
-
110
- PENDING = :PENDING
111
- SETTLED = :SETTLED
112
- EXPIRED = :EXPIRED
113
- VOIDED = :VOIDED
114
- DECLINED = :DECLINED
115
- REVERSED = :REVERSED
116
- CANCELED = :CANCELED
117
- RETURNED = :RETURNED
118
-
119
- # @!method self.values
120
- # @return [Array<Symbol>]
121
- end
102
+ # @param user_defined_id [String, nil]
122
103
 
123
104
  # HOLD - Hold Transaction
124
105
  #
@@ -142,6 +123,21 @@ module Lithic
142
123
  # @!method self.values
143
124
  # @return [Array<Symbol>]
144
125
  end
126
+
127
+ # Status of a hold transaction
128
+ #
129
+ # @see Lithic::Models::Hold#status
130
+ module Status
131
+ extend Lithic::Internal::Type::Enum
132
+
133
+ PENDING = :PENDING
134
+ SETTLED = :SETTLED
135
+ EXPIRED = :EXPIRED
136
+ VOIDED = :VOIDED
137
+
138
+ # @!method self.values
139
+ # @return [Array<Symbol>]
140
+ end
145
141
  end
146
142
  end
147
143
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::IPRanges#retrieve
6
+ class IPRangeRetrieveParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::IPRanges#retrieve
6
+ class IPRangeRetrieveResponse < Lithic::Internal::Type::BaseModel
7
+ # @!attribute responders
8
+ # IP ranges that responder requests are sent from, in CIDR notation
9
+ #
10
+ # @return [Array<String>]
11
+ required :responders, Lithic::Internal::Type::ArrayOf[String]
12
+
13
+ # @!attribute updated
14
+ # Date and time the IP ranges were last changed
15
+ #
16
+ # @return [Time]
17
+ required :updated, Time
18
+
19
+ # @!method initialize(responders:, updated:)
20
+ # @param responders [Array<String>] IP ranges that responder requests are sent from, in CIDR notation
21
+ #
22
+ # @param updated [Time] Date and time the IP ranges were last changed
23
+ end
24
+ end
25
+ end
@@ -212,6 +212,7 @@ module Lithic
212
212
  ACH = :ACH
213
213
  WIRE = :WIRE
214
214
  STABLECOIN = :STABLECOIN
215
+ INTRA_BANK = :INTRA_BANK
215
216
  BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING
216
217
  FEE = :FEE
217
218
  REWARD = :REWARD
@@ -140,9 +140,11 @@ module Lithic
140
140
  required :network_risk_score, Integer, nil?: true
141
141
 
142
142
  # @!attribute pos
143
+ # Point of sale data for the transaction. Null when no point of sale data is
144
+ # available, such as clearing-only records that never went through authorization
143
145
  #
144
- # @return [Lithic::Models::Transaction::Pos]
145
- required :pos, -> { Lithic::Transaction::Pos }
146
+ # @return [Lithic::Models::Transaction::Pos, nil]
147
+ required :pos, -> { Lithic::Transaction::Pos }, nil?: true
146
148
 
147
149
  # @!attribute result
148
150
  #
@@ -237,7 +239,7 @@ module Lithic
237
239
  #
238
240
  # @param network_risk_score [Integer, nil] Network-provided score assessing risk level associated with a given authorizatio
239
241
  #
240
- # @param pos [Lithic::Models::Transaction::Pos]
242
+ # @param pos [Lithic::Models::Transaction::Pos, nil] Point of sale data for the transaction. Null when no point of sale data is avail
241
243
  #
242
244
  # @param result [Symbol, Lithic::Models::Transaction::Result]
243
245
  #
@@ -434,6 +436,7 @@ module Lithic
434
436
  module Network
435
437
  extend Lithic::Internal::Type::Enum
436
438
 
439
+ ALLPOINT = :ALLPOINT
437
440
  AMEX = :AMEX
438
441
  INTERLINK = :INTERLINK
439
442
  MAESTRO = :MAESTRO
@@ -458,6 +461,9 @@ module Lithic
458
461
  required :terminal, -> { Lithic::Transaction::Pos::Terminal }
459
462
 
460
463
  # @!method initialize(entry_mode:, terminal:)
464
+ # Point of sale data for the transaction. Null when no point of sale data is
465
+ # available, such as clearing-only records that never went through authorization
466
+ #
461
467
  # @param entry_mode [Lithic::Models::Transaction::Pos::EntryMode]
462
468
  # @param terminal [Lithic::Models::Transaction::Pos::Terminal]
463
469
 
@@ -89,7 +89,10 @@ module Lithic
89
89
 
90
90
  class LineItem < Lithic::Internal::Type::BaseModel
91
91
  # @!attribute amount
92
- # The price of the item purchased in merchant currency.
92
+ # @deprecated
93
+ #
94
+ # Deprecated: Use unit_amount instead. The price of the item purchased in merchant
95
+ # currency.
93
96
  #
94
97
  # @return [String, nil]
95
98
  optional :amount, String, nil?: true
@@ -112,16 +115,37 @@ module Lithic
112
115
  # @return [String, nil]
113
116
  optional :quantity, String, nil?: true
114
117
 
115
- # @!method initialize(amount: nil, description: nil, product_code: nil, quantity: nil)
118
+ # @!attribute total_amount
119
+ # The total cost for the line item in merchant currency, covering all units
120
+ # purchased.
121
+ #
122
+ # @return [String, nil]
123
+ optional :total_amount, String, nil?: true
124
+
125
+ # @!attribute unit_amount
126
+ # The price per individual unit in merchant currency.
127
+ #
128
+ # @return [String, nil]
129
+ optional :unit_amount, String, nil?: true
130
+
131
+ # @!method initialize(amount: nil, description: nil, product_code: nil, quantity: nil, total_amount: nil, unit_amount: nil)
132
+ # Some parameter documentations has been truncated, see
133
+ # {Lithic::Models::Transactions::Events::EnhancedData::Common::LineItem} for more
134
+ # details.
135
+ #
116
136
  # An L2/L3 enhanced commercial data line item.
117
137
  #
118
- # @param amount [String, nil] The price of the item purchased in merchant currency.
138
+ # @param amount [String, nil] Deprecated: Use unit_amount instead. The price of the item purchased in merchant
119
139
  #
120
140
  # @param description [String, nil] A human-readable description of the item.
121
141
  #
122
142
  # @param product_code [String, nil] An identifier for the item purchased.
123
143
  #
124
144
  # @param quantity [String, nil] The quantity of the item purchased.
145
+ #
146
+ # @param total_amount [String, nil] The total cost for the line item in merchant currency, covering all units purcha
147
+ #
148
+ # @param unit_amount [String, nil] The price per individual unit in merchant currency.
125
149
  end
126
150
 
127
151
  # @see Lithic::Models::Transactions::Events::EnhancedData::Common#tax
@@ -39,6 +39,12 @@ module Lithic
39
39
  # @return [Date]
40
40
  required :date, Date
41
41
 
42
+ # @!attribute financial_entity_id
43
+ # Financial entity ID the limits are scoped to
44
+ #
45
+ # @return [String]
46
+ required :financial_entity_id, String
47
+
42
48
  # @!attribute is_fbo
43
49
  # Whether the company is a FBO; based on the company ID prefix
44
50
  #
@@ -58,13 +64,15 @@ module Lithic
58
64
  required :program_limit_per_transaction,
59
65
  -> { Lithic::TransferLimitsResponse::Data::ProgramLimitPerTransaction }
60
66
 
61
- # @!method initialize(company_id:, daily_limit:, date:, is_fbo:, monthly_limit:, program_limit_per_transaction:)
67
+ # @!method initialize(company_id:, daily_limit:, date:, financial_entity_id:, is_fbo:, monthly_limit:, program_limit_per_transaction:)
62
68
  # @param company_id [String] Company ID
63
69
  #
64
70
  # @param daily_limit [Lithic::Models::TransferLimitsResponse::Data::DailyLimit] Daily limits with progress
65
71
  #
66
72
  # @param date [Date] The date for the limit view (ISO format)
67
73
  #
74
+ # @param financial_entity_id [String] Financial entity ID the limits are scoped to
75
+ #
68
76
  # @param is_fbo [Boolean] Whether the company is a FBO; based on the company ID prefix
69
77
  #
70
78
  # @param monthly_limit [Lithic::Models::TransferLimitsResponse::Data::MonthlyLimit] Monthly limits with progress
data/lib/lithic/models.rb CHANGED
@@ -427,6 +427,8 @@ module Lithic
427
427
 
428
428
  InternalTransactionUpdatedWebhookEvent = Lithic::Models::InternalTransactionUpdatedWebhookEvent
429
429
 
430
+ IPRangeRetrieveParams = Lithic::Models::IPRangeRetrieveParams
431
+
430
432
  KYB = Lithic::Models::KYB
431
433
 
432
434
  KYBBusinessEntity = Lithic::Models::KYBBusinessEntity
@@ -36,7 +36,7 @@ module Lithic
36
36
  #
37
37
  # List the financial transactions for a given card.
38
38
  #
39
- # @overload list(card_token, begin_: nil, category: nil, end_: nil, ending_before: nil, result: nil, starting_after: nil, status: nil, request_options: {})
39
+ # @overload list(card_token, begin_: nil, category: nil, end_: nil, ending_before: nil, page_size: nil, result: nil, starting_after: nil, status: nil, request_options: {})
40
40
  #
41
41
  # @param card_token [String]
42
42
  #
@@ -48,6 +48,8 @@ module Lithic
48
48
  #
49
49
  # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
50
50
  #
51
+ # @param page_size [Integer] Page size (for pagination).
52
+ #
51
53
  # @param result [Symbol, Lithic::Models::Cards::FinancialTransactionListParams::Result] Financial Transaction result to be returned.
52
54
  #
53
55
  # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
@@ -56,7 +58,7 @@ module Lithic
56
58
  #
57
59
  # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
58
60
  #
59
- # @return [Lithic::Internal::SinglePage<Lithic::Models::FinancialTransaction>]
61
+ # @return [Lithic::Internal::CursorPage<Lithic::Models::FinancialTransaction>]
60
62
  #
61
63
  # @see Lithic::Models::Cards::FinancialTransactionListParams
62
64
  def list(card_token, params = {})
@@ -66,7 +68,7 @@ module Lithic
66
68
  method: :get,
67
69
  path: ["v1/cards/%1$s/financial_transactions", card_token],
68
70
  query: query.transform_keys(begin_: "begin", end_: "end"),
69
- page: Lithic::Internal::SinglePage,
71
+ page: Lithic::Internal::CursorPage,
70
72
  model: Lithic::FinancialTransaction,
71
73
  options: options
72
74
  )
@@ -24,7 +24,14 @@ module Lithic
24
24
  )
25
25
  end
26
26
 
27
- # Update an account's credit configuration
27
+ # Some parameter documentations has been truncated, see
28
+ # {Lithic::Models::FinancialAccounts::CreditConfigurationUpdateParams} for more
29
+ # details.
30
+ #
31
+ # Update an account's credit configuration. A credit product can only be attached
32
+ # while the financial account is in the `PENDING` state; once a credit product has
33
+ # been assigned the account transitions to `OPEN` and `credit_product_token` can
34
+ # no longer be changed
28
35
  #
29
36
  # @overload update(financial_account_token, auto_collection_configuration: nil, credit_limit: nil, credit_product_token: nil, external_bank_account_token: nil, tier: nil, request_options: {})
30
37
  #
@@ -34,7 +41,7 @@ module Lithic
34
41
  #
35
42
  # @param credit_limit [Integer]
36
43
  #
37
- # @param credit_product_token [String] Globally unique identifier for the credit product
44
+ # @param credit_product_token [String] Globally unique identifier for the credit product. This can only be set
38
45
  #
39
46
  # @param external_bank_account_token [String]
40
47
  #
@@ -41,7 +41,7 @@ module Lithic
41
41
  #
42
42
  # List the financial transactions for a given financial account.
43
43
  #
44
- # @overload list(financial_account_token, begin_: nil, category: nil, end_: nil, ending_before: nil, result: nil, starting_after: nil, status: nil, request_options: {})
44
+ # @overload list(financial_account_token, begin_: nil, category: nil, end_: nil, ending_before: nil, page_size: nil, result: nil, starting_after: nil, status: nil, request_options: {})
45
45
  #
46
46
  # @param financial_account_token [String] Globally unique identifier for financial account.
47
47
  #
@@ -53,6 +53,8 @@ module Lithic
53
53
  #
54
54
  # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
55
55
  #
56
+ # @param page_size [Integer] Page size (for pagination).
57
+ #
56
58
  # @param result [Symbol, Lithic::Models::FinancialAccounts::FinancialTransactionListParams::Result] Financial Transaction result to be returned.
57
59
  #
58
60
  # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
@@ -61,7 +63,7 @@ module Lithic
61
63
  #
62
64
  # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
63
65
  #
64
- # @return [Lithic::Internal::SinglePage<Lithic::Models::FinancialTransaction>]
66
+ # @return [Lithic::Internal::CursorPage<Lithic::Models::FinancialTransaction>]
65
67
  #
66
68
  # @see Lithic::Models::FinancialAccounts::FinancialTransactionListParams
67
69
  def list(financial_account_token, params = {})
@@ -71,7 +73,7 @@ module Lithic
71
73
  method: :get,
72
74
  path: ["v1/financial_accounts/%1$s/financial_transactions", financial_account_token],
73
75
  query: query.transform_keys(begin_: "begin", end_: "end"),
74
- page: Lithic::Internal::SinglePage,
76
+ page: Lithic::Internal::CursorPage,
75
77
  model: Lithic::FinancialTransaction,
76
78
  options: options
77
79
  )
@@ -18,11 +18,11 @@ module Lithic
18
18
  #
19
19
  # @param effective_date [Date] Date the tier should be effective in YYYY-MM-DD format
20
20
  #
21
- # @param penalty_rates [Object] Custom rates per category for penalties
21
+ # @param penalty_rates [Object, nil] Custom rates per category for penalties
22
22
  #
23
- # @param tier_name [String] Name of a tier contained in the credit product. Mutually exclusive with tier_rat
23
+ # @param tier_name [String, nil] Name of a tier contained in the credit product. Mutually exclusive with tier_rat
24
24
  #
25
- # @param tier_rates [Object] Custom rates per category. Mutually exclusive with tier_name
25
+ # @param tier_rates [Object, nil] Custom rates per category. Mutually exclusive with tier_name
26
26
  #
27
27
  # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
28
28
  #
@@ -83,11 +83,11 @@ module Lithic
83
83
  #
84
84
  # @param financial_account_token [String] Path param: Globally unique identifier for financial account
85
85
  #
86
- # @param penalty_rates [Object] Body param: Custom rates per category for penalties
86
+ # @param penalty_rates [Object, nil] Body param: Custom rates per category for penalties
87
87
  #
88
- # @param tier_name [String] Body param: Name of a tier contained in the credit product. Mutually exclusive w
88
+ # @param tier_name [String, nil] Body param: Name of a tier contained in the credit product. Mutually exclusive w
89
89
  #
90
- # @param tier_rates [Object] Body param: Custom rates per category. Mutually exclusive with tier_name
90
+ # @param tier_rates [Object, nil] Body param: Custom rates per category. Mutually exclusive with tier_name
91
91
  #
92
92
  # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
93
93
  #
@@ -28,10 +28,16 @@ module Lithic
28
28
  #
29
29
  # Get all funding events for program
30
30
  #
31
- # @overload list(ending_before: nil, page_size: nil, starting_after: nil, request_options: {})
31
+ # @overload list(begin_: nil, end_: nil, ending_before: nil, network_settlement_date: nil, page_size: nil, starting_after: nil, request_options: {})
32
+ #
33
+ # @param begin_ [Time] Date string in RFC 3339 format. Only entries created after the specified time wi
34
+ #
35
+ # @param end_ [Time] Date string in RFC 3339 format. Only entries created before the specified time w
32
36
  #
33
37
  # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
34
38
  #
39
+ # @param network_settlement_date [Date] Only funding events with a settlement breakout for this network settlement date
40
+ #
35
41
  # @param page_size [Integer] Page size (for pagination).
36
42
  #
37
43
  # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
@@ -47,7 +53,7 @@ module Lithic
47
53
  @client.request(
48
54
  method: :get,
49
55
  path: "v1/funding_events",
50
- query: query,
56
+ query: query.transform_keys(begin_: "begin", end_: "end"),
51
57
  page: Lithic::Internal::CursorPage,
52
58
  model: Lithic::FundingEvent,
53
59
  options: options
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
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
+ #
12
+ # @overload retrieve(request_options: {})
13
+ #
14
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
15
+ #
16
+ # @return [Lithic::Models::IPRangeRetrieveResponse]
17
+ #
18
+ # @see Lithic::Models::IPRangeRetrieveParams
19
+ def retrieve(params = {})
20
+ @client.request(
21
+ method: :get,
22
+ path: "v1/ip_ranges",
23
+ model: Lithic::Models::IPRangeRetrieveResponse,
24
+ options: params[:request_options]
25
+ )
26
+ end
27
+
28
+ # @api private
29
+ #
30
+ # @param client [Lithic::Client]
31
+ def initialize(client:)
32
+ @client = client
33
+ end
34
+ end
35
+ end
36
+ end
@@ -92,6 +92,8 @@ module Lithic
92
92
 
93
93
  wh = StandardWebhooks::Webhook.new(secret)
94
94
  wh.verify(payload, headers)
95
+
96
+ JSON.parse(payload, symbolize_names: true)
95
97
  end
96
98
 
97
99
  # @api private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lithic
4
- VERSION = "0.22.0"
4
+ VERSION = "0.23.0"
5
5
  end
data/lib/lithic.rb CHANGED
@@ -376,6 +376,8 @@ require_relative "lithic/models/hold_void_params"
376
376
  require_relative "lithic/models/instance_financial_account_type"
377
377
  require_relative "lithic/models/internal_transaction_created_webhook_event"
378
378
  require_relative "lithic/models/internal_transaction_updated_webhook_event"
379
+ require_relative "lithic/models/ip_range_retrieve_params"
380
+ require_relative "lithic/models/ip_range_retrieve_response"
379
381
  require_relative "lithic/models/kyb"
380
382
  require_relative "lithic/models/kyb_business_entity"
381
383
  require_relative "lithic/models/kyc"
@@ -580,6 +582,7 @@ require_relative "lithic/resources/fraud/transactions"
580
582
  require_relative "lithic/resources/funding_events"
581
583
  require_relative "lithic/resources/holds"
582
584
  require_relative "lithic/resources/internal_transaction"
585
+ require_relative "lithic/resources/ip_ranges"
583
586
  require_relative "lithic/resources/management_operations"
584
587
  require_relative "lithic/resources/network_programs"
585
588
  require_relative "lithic/resources/payments"
@@ -79,6 +79,9 @@ module Lithic
79
79
  sig { returns(Lithic::Resources::ResponderEndpoints) }
80
80
  attr_reader :responder_endpoints
81
81
 
82
+ sig { returns(Lithic::Resources::IPRanges) }
83
+ attr_reader :ip_ranges
84
+
82
85
  sig { returns(Lithic::Resources::ExternalBankAccounts) }
83
86
  attr_reader :external_bank_accounts
84
87
 
@@ -198,6 +198,11 @@ module Lithic
198
198
  :STABLECOIN,
199
199
  Lithic::AccountActivityListParams::Category::TaggedSymbol
200
200
  )
201
+ INTRA_BANK =
202
+ T.let(
203
+ :INTRA_BANK,
204
+ Lithic::AccountActivityListParams::Category::TaggedSymbol
205
+ )
201
206
  BALANCE_OR_FUNDING =
202
207
  T.let(
203
208
  :BALANCE_OR_FUNDING,
@@ -201,6 +201,11 @@ module Lithic
201
201
  :STABLECOIN,
202
202
  Lithic::Models::AccountActivityListResponse::Internal::Category::TaggedSymbol
203
203
  )
204
+ INTRA_BANK =
205
+ T.let(
206
+ :INTRA_BANK,
207
+ Lithic::Models::AccountActivityListResponse::Internal::Category::TaggedSymbol
208
+ )
204
209
  BALANCE_OR_FUNDING =
205
210
  T.let(
206
211
  :BALANCE_OR_FUNDING,
@@ -435,14 +440,6 @@ module Lithic
435
440
  sig { returns(Symbol) }
436
441
  attr_accessor :family
437
442
 
438
- # The status of the transaction
439
- sig do
440
- returns(
441
- Lithic::Models::AccountActivityListResponse::Card::Status::TaggedSymbol
442
- )
443
- end
444
- attr_accessor :status
445
-
446
443
  # ISO 8601 timestamp of when the transaction was last updated
447
444
  sig { returns(Time) }
448
445
  attr_accessor :updated
@@ -452,8 +449,6 @@ module Lithic
452
449
  params(
453
450
  token: String,
454
451
  created: Time,
455
- status:
456
- Lithic::Models::AccountActivityListResponse::Card::Status::OrSymbol,
457
452
  updated: Time,
458
453
  family: Symbol
459
454
  ).returns(T.attached_class)
@@ -463,8 +458,6 @@ module Lithic
463
458
  token:,
464
459
  # ISO 8601 timestamp of when the transaction was created
465
460
  created:,
466
- # The status of the transaction
467
- status:,
468
461
  # ISO 8601 timestamp of when the transaction was last updated
469
462
  updated:,
470
463
  # CARD - Card Transaction
@@ -474,73 +467,11 @@ module Lithic
474
467
 
475
468
  sig do
476
469
  override.returns(
477
- {
478
- token: String,
479
- created: Time,
480
- family: Symbol,
481
- status:
482
- Lithic::Models::AccountActivityListResponse::Card::Status::TaggedSymbol,
483
- updated: Time
484
- }
470
+ { token: String, created: Time, family: Symbol, updated: Time }
485
471
  )
486
472
  end
487
473
  def to_hash
488
474
  end
489
-
490
- # The status of the transaction
491
- module Status
492
- extend Lithic::Internal::Type::Enum
493
-
494
- TaggedSymbol =
495
- T.type_alias do
496
- T.all(
497
- Symbol,
498
- Lithic::Models::AccountActivityListResponse::Card::Status
499
- )
500
- end
501
- OrSymbol = T.type_alias { T.any(Symbol, String) }
502
-
503
- PENDING =
504
- T.let(
505
- :PENDING,
506
- Lithic::Models::AccountActivityListResponse::Card::Status::TaggedSymbol
507
- )
508
- SETTLED =
509
- T.let(
510
- :SETTLED,
511
- Lithic::Models::AccountActivityListResponse::Card::Status::TaggedSymbol
512
- )
513
- DECLINED =
514
- T.let(
515
- :DECLINED,
516
- Lithic::Models::AccountActivityListResponse::Card::Status::TaggedSymbol
517
- )
518
- REVERSED =
519
- T.let(
520
- :REVERSED,
521
- Lithic::Models::AccountActivityListResponse::Card::Status::TaggedSymbol
522
- )
523
- CANCELED =
524
- T.let(
525
- :CANCELED,
526
- Lithic::Models::AccountActivityListResponse::Card::Status::TaggedSymbol
527
- )
528
- RETURNED =
529
- T.let(
530
- :RETURNED,
531
- Lithic::Models::AccountActivityListResponse::Card::Status::TaggedSymbol
532
- )
533
-
534
- sig do
535
- override.returns(
536
- T::Array[
537
- Lithic::Models::AccountActivityListResponse::Card::Status::TaggedSymbol
538
- ]
539
- )
540
- end
541
- def self.values
542
- end
543
- end
544
475
  end
545
476
 
546
477
  sig do