lithic 0.7.0 → 0.8.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 (153) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +3 -3
  4. data/lib/lithic/client.rb +11 -0
  5. data/lib/lithic/models/account_activity_list_params.rb +2 -0
  6. data/lib/lithic/models/account_activity_list_response.rb +8 -2
  7. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +8 -2
  8. data/lib/lithic/models/auth_rules/auth_rule.rb +84 -8
  9. data/lib/lithic/models/auth_rules/auth_rule_version.rb +92 -0
  10. data/lib/lithic/models/auth_rules/rule_feature.rb +231 -0
  11. data/lib/lithic/models/auth_rules/typescript_code_parameters.rb +33 -0
  12. data/lib/lithic/models/auth_rules/v2/backtest_results.rb +9 -17
  13. data/lib/lithic/models/auth_rules/v2_create_params.rb +50 -10
  14. data/lib/lithic/models/auth_rules/v2_draft_params.rb +6 -3
  15. data/lib/lithic/models/auth_rules/v2_list_versions_params.rb +22 -0
  16. data/lib/lithic/models/auth_rules/v2_list_versions_response.rb +18 -0
  17. data/lib/lithic/models/auth_rules/v2_retrieve_features_response.rb +3 -83
  18. data/lib/lithic/models/auth_rules/v2_retrieve_report_response.rb +525 -1
  19. data/lib/lithic/models/auth_rules/v2_update_params.rb +17 -1
  20. data/lib/lithic/models/auth_rules/velocity_limit_filters.rb +87 -0
  21. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +3 -84
  22. data/lib/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rb +69 -59
  23. data/lib/lithic/models/dispute_create_params.rb +11 -11
  24. data/lib/lithic/models/dispute_list_params.rb +3 -3
  25. data/lib/lithic/models/dispute_update_params.rb +9 -9
  26. data/lib/lithic/models/event.rb +0 -7
  27. data/lib/lithic/models/event_list_params.rb +0 -4
  28. data/lib/lithic/models/event_subscription.rb +0 -4
  29. data/lib/lithic/models/events/subscription_create_params.rb +0 -4
  30. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +0 -1
  31. data/lib/lithic/models/events/subscription_update_params.rb +0 -4
  32. data/lib/lithic/models/financial_account.rb +1 -0
  33. data/lib/lithic/models/financial_account_list_params.rb +1 -0
  34. data/lib/lithic/models/financial_accounts/interest_tier_schedule.rb +9 -1
  35. data/lib/lithic/models/financial_accounts/interest_tier_schedule_update_params.rb +9 -1
  36. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +27 -2
  37. data/lib/lithic/models/hold.rb +147 -0
  38. data/lib/lithic/models/hold_create_params.rb +61 -0
  39. data/lib/lithic/models/hold_event.rb +110 -0
  40. data/lib/lithic/models/hold_list_params.rb +89 -0
  41. data/lib/lithic/models/hold_retrieve_params.rb +20 -0
  42. data/lib/lithic/models/hold_void_params.rb +29 -0
  43. data/lib/lithic/models/instance_financial_account_type.rb +1 -0
  44. data/lib/lithic/models/parsed_webhook_event.rb +2 -4
  45. data/lib/lithic/models/payment.rb +76 -12
  46. data/lib/lithic/models/payment_simulate_action_params.rb +1 -0
  47. data/lib/lithic/models.rb +12 -2
  48. data/lib/lithic/resources/account_activity.rb +2 -2
  49. data/lib/lithic/resources/auth_rules/v2.rb +24 -4
  50. data/lib/lithic/resources/disputes.rb +21 -21
  51. data/lib/lithic/resources/financial_accounts/interest_tier_schedule.rb +6 -2
  52. data/lib/lithic/resources/holds.rb +132 -0
  53. data/lib/lithic/resources/webhooks.rb +2 -3
  54. data/lib/lithic/version.rb +1 -1
  55. data/lib/lithic.rb +14 -1
  56. data/rbi/lithic/client.rbi +9 -0
  57. data/rbi/lithic/models/account_activity_list_params.rbi +10 -0
  58. data/rbi/lithic/models/account_activity_list_response.rbi +14 -2
  59. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +14 -2
  60. data/rbi/lithic/models/auth_rules/auth_rule.rbi +128 -4
  61. data/rbi/lithic/models/auth_rules/auth_rule_version.rbi +142 -0
  62. data/rbi/lithic/models/auth_rules/rule_feature.rbi +414 -0
  63. data/rbi/lithic/models/auth_rules/typescript_code_parameters.rbi +94 -0
  64. data/rbi/lithic/models/auth_rules/v2/backtest_results.rbi +12 -35
  65. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +81 -12
  66. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +8 -4
  67. data/rbi/lithic/models/auth_rules/v2_list_versions_params.rbi +40 -0
  68. data/rbi/lithic/models/auth_rules/v2_list_versions_response.rbi +36 -0
  69. data/rbi/lithic/models/auth_rules/v2_retrieve_features_response.rbi +4 -209
  70. data/rbi/lithic/models/auth_rules/v2_retrieve_report_response.rbi +1692 -3
  71. data/rbi/lithic/models/auth_rules/v2_update_params.rbi +24 -0
  72. data/rbi/lithic/models/auth_rules/velocity_limit_filters.rbi +205 -0
  73. data/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +4 -206
  74. data/rbi/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbi +154 -142
  75. data/rbi/lithic/models/dispute_create_params.rbi +11 -11
  76. data/rbi/lithic/models/dispute_list_params.rbi +3 -3
  77. data/rbi/lithic/models/dispute_update_params.rbi +9 -9
  78. data/rbi/lithic/models/event.rbi +0 -14
  79. data/rbi/lithic/models/event_list_params.rbi +0 -8
  80. data/rbi/lithic/models/event_subscription.rbi +0 -8
  81. data/rbi/lithic/models/events/subscription_create_params.rbi +0 -8
  82. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +0 -5
  83. data/rbi/lithic/models/events/subscription_update_params.rbi +0 -8
  84. data/rbi/lithic/models/financial_account.rbi +5 -0
  85. data/rbi/lithic/models/financial_account_list_params.rbi +5 -0
  86. data/rbi/lithic/models/financial_accounts/interest_tier_schedule.rbi +11 -0
  87. data/rbi/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbi +11 -0
  88. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +38 -3
  89. data/rbi/lithic/models/hold.rbi +183 -0
  90. data/rbi/lithic/models/hold_create_params.rbi +90 -0
  91. data/rbi/lithic/models/hold_event.rbi +148 -0
  92. data/rbi/lithic/models/hold_list_params.rbi +137 -0
  93. data/rbi/lithic/models/hold_retrieve_params.rbi +35 -0
  94. data/rbi/lithic/models/hold_void_params.rbi +49 -0
  95. data/rbi/lithic/models/instance_financial_account_type.rbi +5 -0
  96. data/rbi/lithic/models/parsed_webhook_event.rbi +0 -1
  97. data/rbi/lithic/models/payment.rbi +139 -13
  98. data/rbi/lithic/models/payment_simulate_action_params.rbi +5 -0
  99. data/rbi/lithic/models.rbi +12 -3
  100. data/rbi/lithic/resources/auth_rules/v2.rbi +16 -4
  101. data/rbi/lithic/resources/disputes.rbi +21 -21
  102. data/rbi/lithic/resources/financial_accounts/interest_tier_schedule.rbi +6 -0
  103. data/rbi/lithic/resources/holds.rbi +111 -0
  104. data/rbi/lithic/resources/webhooks.rbi +8 -2
  105. data/sig/lithic/client.rbs +5 -0
  106. data/sig/lithic/models/account_activity_list_params.rbs +4 -0
  107. data/sig/lithic/models/account_activity_list_response.rbs +5 -0
  108. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +5 -0
  109. data/sig/lithic/models/auth_rules/auth_rule.rbs +42 -0
  110. data/sig/lithic/models/auth_rules/auth_rule_version.rbs +67 -0
  111. data/sig/lithic/models/auth_rules/rule_feature.rbs +173 -0
  112. data/sig/lithic/models/auth_rules/typescript_code_parameters.rbs +27 -0
  113. data/sig/lithic/models/auth_rules/v2/backtest_results.rbs +5 -18
  114. data/sig/lithic/models/auth_rules/v2_create_params.rbs +25 -0
  115. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -0
  116. data/sig/lithic/models/auth_rules/v2_list_versions_params.rbs +25 -0
  117. data/sig/lithic/models/auth_rules/v2_list_versions_response.rbs +18 -0
  118. data/sig/lithic/models/auth_rules/v2_retrieve_features_response.rbs +4 -80
  119. data/sig/lithic/models/auth_rules/v2_retrieve_report_response.rbs +658 -3
  120. data/sig/lithic/models/auth_rules/v2_update_params.rbs +16 -0
  121. data/sig/lithic/models/auth_rules/velocity_limit_filters.rbs +81 -0
  122. data/sig/lithic/models/auth_rules/velocity_limit_params.rbs +6 -82
  123. data/sig/lithic/models/digital_wallet_tokenization_approval_request_webhook_event.rbs +38 -38
  124. data/sig/lithic/models/event.rbs +0 -2
  125. data/sig/lithic/models/event_list_params.rbs +0 -2
  126. data/sig/lithic/models/event_subscription.rbs +0 -2
  127. data/sig/lithic/models/events/subscription_create_params.rbs +0 -2
  128. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +0 -2
  129. data/sig/lithic/models/events/subscription_update_params.rbs +0 -2
  130. data/sig/lithic/models/financial_account.rbs +2 -0
  131. data/sig/lithic/models/financial_account_list_params.rbs +7 -1
  132. data/sig/lithic/models/financial_accounts/interest_tier_schedule.rbs +7 -0
  133. data/sig/lithic/models/financial_accounts/interest_tier_schedule_update_params.rbs +7 -0
  134. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +17 -3
  135. data/sig/lithic/models/hold.rbs +137 -0
  136. data/sig/lithic/models/hold_create_params.rbs +57 -0
  137. data/sig/lithic/models/hold_event.rbs +91 -0
  138. data/sig/lithic/models/hold_list_params.rbs +83 -0
  139. data/sig/lithic/models/hold_retrieve_params.rbs +23 -0
  140. data/sig/lithic/models/hold_void_params.rbs +28 -0
  141. data/sig/lithic/models/instance_financial_account_type.rbs +2 -0
  142. data/sig/lithic/models/parsed_webhook_event.rbs +0 -1
  143. data/sig/lithic/models/payment.rbs +23 -8
  144. data/sig/lithic/models/payment_simulate_action_params.rbs +2 -0
  145. data/sig/lithic/models.rbs +12 -2
  146. data/sig/lithic/resources/auth_rules/v2.rbs +5 -0
  147. data/sig/lithic/resources/financial_accounts/interest_tier_schedule.rbs +2 -0
  148. data/sig/lithic/resources/holds.rbs +39 -0
  149. data/sig/lithic/resources/webhooks.rbs +0 -1
  150. metadata +41 -5
  151. data/lib/lithic/models/tokenization_decisioning_request_webhook_event.rb +0 -159
  152. data/rbi/lithic/models/tokenization_decisioning_request_webhook_event.rbi +0 -331
  153. data/sig/lithic/models/tokenization_decisioning_request_webhook_event.rbs +0 -130
@@ -81,9 +81,6 @@ module Lithic
81
81
  # - card.renewed: Occurs when a card is renewed.
82
82
  # - card.shipped: Occurs when a card is shipped.
83
83
  # - card.updated: Occurs when a card is updated.
84
- # - digital_wallet.tokenization_approval_request: Occurs when a tokenization
85
- # approval request is made. This event will be deprecated in the future. We
86
- # recommend using `tokenization.approval_request` instead.
87
84
  # - digital_wallet.tokenization_result: Occurs when a tokenization request
88
85
  # succeeded or failed.
89
86
  #
@@ -176,7 +173,6 @@ module Lithic
176
173
  CARD_RENEWED = :"card.renewed"
177
174
  CARD_SHIPPED = :"card.shipped"
178
175
  CARD_UPDATED = :"card.updated"
179
- DIGITAL_WALLET_TOKENIZATION_APPROVAL_REQUEST = :"digital_wallet.tokenization_approval_request"
180
176
  DIGITAL_WALLET_TOKENIZATION_RESULT = :"digital_wallet.tokenization_result"
181
177
  DIGITAL_WALLET_TOKENIZATION_TWO_FACTOR_AUTHENTICATION_CODE =
182
178
  :"digital_wallet.tokenization_two_factor_authentication_code"
@@ -202,6 +202,7 @@ module Lithic
202
202
  PROGRAM_RECEIVABLES = :PROGRAM_RECEIVABLES
203
203
  COLLECTION = :COLLECTION
204
204
  PROGRAM_BANK_ACCOUNTS_PAYABLE = :PROGRAM_BANK_ACCOUNTS_PAYABLE
205
+ EARLY_DIRECT_DEPOSIT_FLOAT = :EARLY_DIRECT_DEPOSIT_FLOAT
205
206
 
206
207
  # @!method self.values
207
208
  # @return [Array<Symbol>]
@@ -42,6 +42,7 @@ module Lithic
42
42
  OPERATING = :OPERATING
43
43
  RESERVE = :RESERVE
44
44
  SECURITY = :SECURITY
45
+ EARLY_DIRECT_DEPOSIT_FLOAT = :EARLY_DIRECT_DEPOSIT_FLOAT
45
46
 
46
47
  # @!method self.values
47
48
  # @return [Array<Symbol>]
@@ -17,6 +17,12 @@ module Lithic
17
17
  # @return [Date]
18
18
  required :effective_date, Date
19
19
 
20
+ # @!attribute penalty_rates
21
+ # Custom rates per category for penalties
22
+ #
23
+ # @return [Object, nil]
24
+ optional :penalty_rates, Lithic::Internal::Type::Unknown
25
+
20
26
  # @!attribute tier_name
21
27
  # Name of a tier contained in the credit product. Mutually exclusive with
22
28
  # tier_rates
@@ -30,7 +36,7 @@ module Lithic
30
36
  # @return [Object, nil]
31
37
  optional :tier_rates, Lithic::Internal::Type::Unknown
32
38
 
33
- # @!method initialize(credit_product_token:, effective_date:, tier_name: nil, tier_rates: nil)
39
+ # @!method initialize(credit_product_token:, effective_date:, penalty_rates: nil, tier_name: nil, tier_rates: nil)
34
40
  # Some parameter documentations has been truncated, see
35
41
  # {Lithic::Models::FinancialAccounts::FinancialAccountsInterestTierSchedule} for
36
42
  # more details.
@@ -41,6 +47,8 @@ module Lithic
41
47
  #
42
48
  # @param effective_date [Date] Date the tier should be effective in YYYY-MM-DD format
43
49
  #
50
+ # @param penalty_rates [Object] Custom rates per category for penalties
51
+ #
44
52
  # @param tier_name [String] Name of a tier contained in the credit product. Mutually exclusive with tier_rat
45
53
  #
46
54
  # @param tier_rates [Object] Custom rates per category. Mutually exclusive with tier_name
@@ -18,6 +18,12 @@ module Lithic
18
18
  # @return [Date]
19
19
  required :effective_date, Date
20
20
 
21
+ # @!attribute penalty_rates
22
+ # Custom rates per category for penalties
23
+ #
24
+ # @return [Object, nil]
25
+ optional :penalty_rates, Lithic::Internal::Type::Unknown
26
+
21
27
  # @!attribute tier_name
22
28
  # Name of a tier contained in the credit product. Mutually exclusive with
23
29
  # tier_rates
@@ -31,7 +37,7 @@ module Lithic
31
37
  # @return [Object, nil]
32
38
  optional :tier_rates, Lithic::Internal::Type::Unknown
33
39
 
34
- # @!method initialize(financial_account_token:, effective_date:, tier_name: nil, tier_rates: nil, request_options: {})
40
+ # @!method initialize(financial_account_token:, effective_date:, penalty_rates: nil, tier_name: nil, tier_rates: nil, request_options: {})
35
41
  # Some parameter documentations has been truncated, see
36
42
  # {Lithic::Models::FinancialAccounts::InterestTierScheduleUpdateParams} for more
37
43
  # details.
@@ -40,6 +46,8 @@ module Lithic
40
46
  #
41
47
  # @param effective_date [Date]
42
48
  #
49
+ # @param penalty_rates [Object] Custom rates per category for penalties
50
+ #
43
51
  # @param tier_name [String] Name of a tier contained in the credit product. Mutually exclusive with tier_rat
44
52
  #
45
53
  # @param tier_rates [Object] Custom rates per category. Mutually exclusive with tier_name
@@ -34,6 +34,9 @@ module Lithic
34
34
  required :amount, Integer
35
35
 
36
36
  # @!attribute category
37
+ # Note: Inbound wire transfers are coming soon (availability varies by partner
38
+ # bank). The WIRE category is a preview. To learn more, contact your customer
39
+ # success manager.
37
40
  #
38
41
  # @return [Symbol, Lithic::Models::FinancialAccounts::Statements::StatementLineItems::Data::Category]
39
42
  required :category, enum: -> { Lithic::FinancialAccounts::Statements::StatementLineItems::Data::Category }
@@ -92,7 +95,19 @@ module Lithic
92
95
  # @return [String, nil]
93
96
  optional :descriptor, String
94
97
 
95
- # @!method initialize(token:, amount:, category:, created:, currency:, effective_date:, event_type:, financial_account_token:, financial_transaction_event_token:, financial_transaction_token:, card_token: nil, descriptor: nil)
98
+ # @!attribute event_subtype
99
+ # Subtype of the event that generated the line items
100
+ #
101
+ # @return [String, nil]
102
+ optional :event_subtype, String, nil?: true
103
+
104
+ # @!attribute loan_tape_date
105
+ # Date of the loan tape that generated this line item
106
+ #
107
+ # @return [Date, nil]
108
+ optional :loan_tape_date, Date, nil?: true
109
+
110
+ # @!method initialize(token:, amount:, category:, created:, currency:, effective_date:, event_type:, financial_account_token:, financial_transaction_event_token:, financial_transaction_token:, card_token: nil, descriptor: nil, event_subtype: nil, loan_tape_date: nil)
96
111
  # Some parameter documentations has been truncated, see
97
112
  # {Lithic::Models::FinancialAccounts::Statements::StatementLineItems::Data} for
98
113
  # more details.
@@ -101,7 +116,7 @@ module Lithic
101
116
  #
102
117
  # @param amount [Integer] Transaction amount in cents
103
118
  #
104
- # @param category [Symbol, Lithic::Models::FinancialAccounts::Statements::StatementLineItems::Data::Category]
119
+ # @param category [Symbol, Lithic::Models::FinancialAccounts::Statements::StatementLineItems::Data::Category] Note: Inbound wire transfers are coming soon (availability varies by partner ban
105
120
  #
106
121
  # @param created [Time] Timestamp of when the line item was generated
107
122
  #
@@ -120,12 +135,21 @@ module Lithic
120
135
  # @param card_token [String] Globally unique identifier for a card
121
136
  #
122
137
  # @param descriptor [String]
138
+ #
139
+ # @param event_subtype [String, nil] Subtype of the event that generated the line items
140
+ #
141
+ # @param loan_tape_date [Date, nil] Date of the loan tape that generated this line item
123
142
 
143
+ # Note: Inbound wire transfers are coming soon (availability varies by partner
144
+ # bank). The WIRE category is a preview. To learn more, contact your customer
145
+ # success manager.
146
+ #
124
147
  # @see Lithic::Models::FinancialAccounts::Statements::StatementLineItems::Data#category
125
148
  module Category
126
149
  extend Lithic::Internal::Type::Enum
127
150
 
128
151
  ACH = :ACH
152
+ WIRE = :WIRE
129
153
  BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING
130
154
  FEE = :FEE
131
155
  REWARD = :REWARD
@@ -144,6 +168,7 @@ module Lithic
144
168
  MANAGEMENT_FEE = :MANAGEMENT_FEE
145
169
  MANAGEMENT_REWARD = :MANAGEMENT_REWARD
146
170
  MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT
171
+ HOLD = :HOLD
147
172
  PROGRAM_FUNDING = :PROGRAM_FUNDING
148
173
 
149
174
  # @!method self.values
@@ -0,0 +1,147 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::Holds#create
6
+ class Hold < Lithic::Internal::Type::BaseModel
7
+ # @!attribute token
8
+ # Unique identifier for the transaction
9
+ #
10
+ # @return [String]
11
+ required :token, String
12
+
13
+ # @!attribute created
14
+ # ISO 8601 timestamp of when the transaction was created
15
+ #
16
+ # @return [Time]
17
+ required :created, Time
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
+ # @!attribute updated
26
+ # ISO 8601 timestamp of when the transaction was last updated
27
+ #
28
+ # @return [Time]
29
+ required :updated, Time
30
+
31
+ # @!attribute currency
32
+ #
33
+ # @return [String, nil]
34
+ optional :currency, String
35
+
36
+ # @!attribute events
37
+ #
38
+ # @return [Array<Lithic::Models::HoldEvent>, nil]
39
+ optional :events, -> { Lithic::Internal::Type::ArrayOf[Lithic::HoldEvent] }
40
+
41
+ # @!attribute expiration_datetime
42
+ # When the hold will auto-expire if not resolved
43
+ #
44
+ # @return [Time, nil]
45
+ optional :expiration_datetime, Time, nil?: true
46
+
47
+ # @!attribute family
48
+ # HOLD - Hold Transaction
49
+ #
50
+ # @return [Symbol, Lithic::Models::Hold::Family, nil]
51
+ optional :family, enum: -> { Lithic::Hold::Family }
52
+
53
+ # @!attribute financial_account_token
54
+ #
55
+ # @return [String, nil]
56
+ optional :financial_account_token, String
57
+
58
+ # @!attribute pending_amount
59
+ # Current pending amount (0 when resolved)
60
+ #
61
+ # @return [Integer, nil]
62
+ optional :pending_amount, Integer
63
+
64
+ # @!attribute result
65
+ #
66
+ # @return [Symbol, Lithic::Models::Hold::Result, nil]
67
+ optional :result, enum: -> { Lithic::Hold::Result }
68
+
69
+ # @!attribute user_defined_id
70
+ #
71
+ # @return [String, nil]
72
+ optional :user_defined_id, String, nil?: true
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)
75
+ # A hold transaction representing reserved funds on a financial account. Holds
76
+ # move funds from available to pending balance in anticipation of future payments.
77
+ # They can be resolved via settlement (linked to payment), manual release, or
78
+ # expiration.
79
+ #
80
+ # @param token [String] Unique identifier for the transaction
81
+ #
82
+ # @param created [Time] ISO 8601 timestamp of when the transaction was created
83
+ #
84
+ # @param status [Symbol, Lithic::Models::Hold::Status] Status of a hold transaction
85
+ #
86
+ # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated
87
+ #
88
+ # @param currency [String]
89
+ #
90
+ # @param events [Array<Lithic::Models::HoldEvent>]
91
+ #
92
+ # @param expiration_datetime [Time, nil] When the hold will auto-expire if not resolved
93
+ #
94
+ # @param family [Symbol, Lithic::Models::Hold::Family] HOLD - Hold Transaction
95
+ #
96
+ # @param financial_account_token [String]
97
+ #
98
+ # @param pending_amount [Integer] Current pending amount (0 when resolved)
99
+ #
100
+ # @param result [Symbol, Lithic::Models::Hold::Result]
101
+ #
102
+ # @param user_defined_id [String, nil]
103
+
104
+ # Status of a hold transaction
105
+ #
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
122
+
123
+ # HOLD - Hold Transaction
124
+ #
125
+ # @see Lithic::Models::Hold#family
126
+ module Family
127
+ extend Lithic::Internal::Type::Enum
128
+
129
+ HOLD = :HOLD
130
+
131
+ # @!method self.values
132
+ # @return [Array<Symbol>]
133
+ end
134
+
135
+ # @see Lithic::Models::Hold#result
136
+ module Result
137
+ extend Lithic::Internal::Type::Enum
138
+
139
+ APPROVED = :APPROVED
140
+ DECLINED = :DECLINED
141
+
142
+ # @!method self.values
143
+ # @return [Array<Symbol>]
144
+ end
145
+ end
146
+ end
147
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::Holds#create
6
+ class HoldCreateParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ # @!attribute financial_account_token
11
+ #
12
+ # @return [String]
13
+ required :financial_account_token, String
14
+
15
+ # @!attribute amount
16
+ # Amount to hold in cents
17
+ #
18
+ # @return [Integer]
19
+ required :amount, Integer
20
+
21
+ # @!attribute token
22
+ # Customer-provided token for idempotency. Becomes the hold token.
23
+ #
24
+ # @return [String, nil]
25
+ optional :token, String
26
+
27
+ # @!attribute expiration_datetime
28
+ # When the hold should auto-expire
29
+ #
30
+ # @return [Time, nil]
31
+ optional :expiration_datetime, Time
32
+
33
+ # @!attribute memo
34
+ # Reason for the hold
35
+ #
36
+ # @return [String, nil]
37
+ optional :memo, String, nil?: true
38
+
39
+ # @!attribute user_defined_id
40
+ # User-provided identifier for the hold
41
+ #
42
+ # @return [String, nil]
43
+ optional :user_defined_id, String
44
+
45
+ # @!method initialize(financial_account_token:, amount:, token: nil, expiration_datetime: nil, memo: nil, user_defined_id: nil, request_options: {})
46
+ # @param financial_account_token [String]
47
+ #
48
+ # @param amount [Integer] Amount to hold in cents
49
+ #
50
+ # @param token [String] Customer-provided token for idempotency. Becomes the hold token.
51
+ #
52
+ # @param expiration_datetime [Time] When the hold should auto-expire
53
+ #
54
+ # @param memo [String, nil] Reason for the hold
55
+ #
56
+ # @param user_defined_id [String] User-provided identifier for the hold
57
+ #
58
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ class HoldEvent < Lithic::Internal::Type::BaseModel
6
+ # @!attribute token
7
+ #
8
+ # @return [String]
9
+ required :token, String
10
+
11
+ # @!attribute amount
12
+ # Amount in cents
13
+ #
14
+ # @return [Integer]
15
+ required :amount, Integer
16
+
17
+ # @!attribute created
18
+ #
19
+ # @return [Time]
20
+ required :created, Time
21
+
22
+ # @!attribute detailed_results
23
+ #
24
+ # @return [Array<Symbol, Lithic::Models::HoldEvent::DetailedResult>]
25
+ required :detailed_results,
26
+ -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::HoldEvent::DetailedResult] }
27
+
28
+ # @!attribute memo
29
+ #
30
+ # @return [String, nil]
31
+ required :memo, String, nil?: true
32
+
33
+ # @!attribute result
34
+ #
35
+ # @return [Symbol, Lithic::Models::HoldEvent::Result]
36
+ required :result, enum: -> { Lithic::HoldEvent::Result }
37
+
38
+ # @!attribute settling_transaction_token
39
+ # Transaction token of the payment that settled this hold (only populated for
40
+ # HOLD_SETTLED events)
41
+ #
42
+ # @return [String, nil]
43
+ required :settling_transaction_token, String, nil?: true
44
+
45
+ # @!attribute type
46
+ # Type of hold lifecycle event
47
+ #
48
+ # @return [Symbol, Lithic::Models::HoldEvent::Type]
49
+ required :type, enum: -> { Lithic::HoldEvent::Type }
50
+
51
+ # @!method initialize(token:, amount:, created:, detailed_results:, memo:, result:, settling_transaction_token:, type:)
52
+ # Some parameter documentations has been truncated, see
53
+ # {Lithic::Models::HoldEvent} for more details.
54
+ #
55
+ # Event representing a lifecycle change to a hold
56
+ #
57
+ # @param token [String]
58
+ #
59
+ # @param amount [Integer] Amount in cents
60
+ #
61
+ # @param created [Time]
62
+ #
63
+ # @param detailed_results [Array<Symbol, Lithic::Models::HoldEvent::DetailedResult>]
64
+ #
65
+ # @param memo [String, nil]
66
+ #
67
+ # @param result [Symbol, Lithic::Models::HoldEvent::Result]
68
+ #
69
+ # @param settling_transaction_token [String, nil] Transaction token of the payment that settled this hold (only populated for HOLD
70
+ #
71
+ # @param type [Symbol, Lithic::Models::HoldEvent::Type] Type of hold lifecycle event
72
+
73
+ module DetailedResult
74
+ extend Lithic::Internal::Type::Enum
75
+
76
+ APPROVED = :APPROVED
77
+ INSUFFICIENT_FUNDS = :INSUFFICIENT_FUNDS
78
+
79
+ # @!method self.values
80
+ # @return [Array<Symbol>]
81
+ end
82
+
83
+ # @see Lithic::Models::HoldEvent#result
84
+ module Result
85
+ extend Lithic::Internal::Type::Enum
86
+
87
+ APPROVED = :APPROVED
88
+ DECLINED = :DECLINED
89
+
90
+ # @!method self.values
91
+ # @return [Array<Symbol>]
92
+ end
93
+
94
+ # Type of hold lifecycle event
95
+ #
96
+ # @see Lithic::Models::HoldEvent#type
97
+ module Type
98
+ extend Lithic::Internal::Type::Enum
99
+
100
+ HOLD_INITIATED = :HOLD_INITIATED
101
+ HOLD_VOIDED = :HOLD_VOIDED
102
+ HOLD_EXPIRED = :HOLD_EXPIRED
103
+ HOLD_SETTLED = :HOLD_SETTLED
104
+
105
+ # @!method self.values
106
+ # @return [Array<Symbol>]
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::Holds#list
6
+ class HoldListParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ # @!attribute financial_account_token
11
+ #
12
+ # @return [String]
13
+ required :financial_account_token, String
14
+
15
+ # @!attribute begin_
16
+ # Date string in RFC 3339 format. Only entries created after the specified time
17
+ # will be included. UTC time zone.
18
+ #
19
+ # @return [Time, nil]
20
+ optional :begin_, Time
21
+
22
+ # @!attribute end_
23
+ # Date string in RFC 3339 format. Only entries created before the specified time
24
+ # will be included. UTC time zone.
25
+ #
26
+ # @return [Time, nil]
27
+ optional :end_, Time
28
+
29
+ # @!attribute ending_before
30
+ # A cursor representing an item's token before which a page of results should end.
31
+ # Used to retrieve the previous page of results before this item.
32
+ #
33
+ # @return [String, nil]
34
+ optional :ending_before, String
35
+
36
+ # @!attribute page_size
37
+ # Page size (for pagination).
38
+ #
39
+ # @return [Integer, nil]
40
+ optional :page_size, Integer
41
+
42
+ # @!attribute starting_after
43
+ # A cursor representing an item's token after which a page of results should
44
+ # begin. Used to retrieve the next page of results after this item.
45
+ #
46
+ # @return [String, nil]
47
+ optional :starting_after, String
48
+
49
+ # @!attribute status
50
+ # Hold status to filter by.
51
+ #
52
+ # @return [Symbol, Lithic::Models::HoldListParams::Status, nil]
53
+ optional :status, enum: -> { Lithic::HoldListParams::Status }
54
+
55
+ # @!method initialize(financial_account_token:, begin_: nil, end_: nil, ending_before: nil, page_size: nil, starting_after: nil, status: nil, request_options: {})
56
+ # Some parameter documentations has been truncated, see
57
+ # {Lithic::Models::HoldListParams} for more details.
58
+ #
59
+ # @param financial_account_token [String]
60
+ #
61
+ # @param begin_ [Time] Date string in RFC 3339 format. Only entries created after the specified time wi
62
+ #
63
+ # @param end_ [Time] Date string in RFC 3339 format. Only entries created before the specified time w
64
+ #
65
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
66
+ #
67
+ # @param page_size [Integer] Page size (for pagination).
68
+ #
69
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
70
+ #
71
+ # @param status [Symbol, Lithic::Models::HoldListParams::Status] Hold status to filter by.
72
+ #
73
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
74
+
75
+ # Hold status to filter by.
76
+ module Status
77
+ extend Lithic::Internal::Type::Enum
78
+
79
+ PENDING = :PENDING
80
+ SETTLED = :SETTLED
81
+ EXPIRED = :EXPIRED
82
+ VOIDED = :VOIDED
83
+
84
+ # @!method self.values
85
+ # @return [Array<Symbol>]
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::Holds#retrieve
6
+ class HoldRetrieveParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ # @!attribute hold_token
11
+ #
12
+ # @return [String]
13
+ required :hold_token, String
14
+
15
+ # @!method initialize(hold_token:, request_options: {})
16
+ # @param hold_token [String]
17
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::Holds#void
6
+ class HoldVoidParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ # @!attribute hold_token
11
+ #
12
+ # @return [String]
13
+ required :hold_token, String
14
+
15
+ # @!attribute memo
16
+ # Reason for voiding the hold
17
+ #
18
+ # @return [String, nil]
19
+ optional :memo, String, nil?: true
20
+
21
+ # @!method initialize(hold_token:, memo: nil, request_options: {})
22
+ # @param hold_token [String]
23
+ #
24
+ # @param memo [String, nil] Reason for voiding the hold
25
+ #
26
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
27
+ end
28
+ end
29
+ end
@@ -16,6 +16,7 @@ module Lithic
16
16
  PROGRAM_RECEIVABLES = :PROGRAM_RECEIVABLES
17
17
  COLLECTION = :COLLECTION
18
18
  PROGRAM_BANK_ACCOUNTS_PAYABLE = :PROGRAM_BANK_ACCOUNTS_PAYABLE
19
+ EARLY_DIRECT_DEPOSIT_FLOAT = :EARLY_DIRECT_DEPOSIT_FLOAT
19
20
 
20
21
  # @!method self.values
21
22
  # @return [Array<Symbol>]
@@ -23,9 +23,6 @@ module Lithic
23
23
 
24
24
  variant -> { Lithic::CardAuthorizationApprovalRequestWebhookEvent }
25
25
 
26
- # A webhook for tokenization decisioning sent to the customer's responder endpoint
27
- variant -> { Lithic::TokenizationDecisioningRequestWebhookEvent }
28
-
29
26
  variant -> { Lithic::AuthRulesBacktestReportCreatedWebhookEvent }
30
27
 
31
28
  variant -> { Lithic::BalanceUpdatedWebhookEvent }
@@ -54,6 +51,7 @@ module Lithic
54
51
 
55
52
  variant -> { Lithic::CardTransactionEnhancedDataUpdatedWebhookEvent }
56
53
 
54
+ # Payload for digital wallet tokenization approval requests. Used for both the decisioning responder request (sent to the customer's endpoint for a real-time decision) and the subsequent webhook event (sent after the decision is made). Fields like customer_tokenization_decision, tokenization_decline_reasons, tokenization_tfa_reasons, and rule_results are only populated in the webhook event, not in the initial decisioning request.
57
55
  variant -> { Lithic::DigitalWalletTokenizationApprovalRequestWebhookEvent }
58
56
 
59
57
  variant -> { Lithic::DigitalWalletTokenizationResultWebhookEvent }
@@ -812,7 +810,7 @@ module Lithic
812
810
  end
813
811
 
814
812
  # @!method self.variants
815
- # @return [Array(Lithic::Models::AccountHolderCreatedWebhookEvent, Lithic::Models::ParsedWebhookEvent::KYBPayload, Lithic::Models::ParsedWebhookEvent::KYCPayload, Lithic::Models::ParsedWebhookEvent::LegacyPayload, Lithic::Models::AccountHolderVerificationWebhookEvent, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent, Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent, Lithic::Models::TokenizationDecisioningRequestWebhookEvent, Lithic::Models::AuthRulesBacktestReportCreatedWebhookEvent, Lithic::Models::BalanceUpdatedWebhookEvent, Lithic::Models::BookTransferTransactionCreatedWebhookEvent, Lithic::Models::BookTransferTransactionUpdatedWebhookEvent, Lithic::Models::CardCreatedWebhookEvent, Lithic::Models::CardConvertedWebhookEvent, Lithic::Models::CardRenewedWebhookEvent, Lithic::Models::CardReissuedWebhookEvent, Lithic::Models::CardShippedWebhookEvent, Lithic::Models::CardUpdatedWebhookEvent, Lithic::Models::CardTransactionUpdatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataCreatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataUpdatedWebhookEvent, Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent, Lithic::Models::DigitalWalletTokenizationResultWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::DigitalWalletTokenizationUpdatedWebhookEvent, Lithic::Models::DisputeUpdatedWebhookEvent, Lithic::Models::DisputeEvidenceUploadFailedWebhookEvent, Lithic::Models::ExternalBankAccountCreatedWebhookEvent, Lithic::Models::ExternalBankAccountUpdatedWebhookEvent, Lithic::Models::ExternalPaymentCreatedWebhookEvent, Lithic::Models::ExternalPaymentUpdatedWebhookEvent, Lithic::Models::FinancialAccountCreatedWebhookEvent, Lithic::Models::FinancialAccountUpdatedWebhookEvent, Lithic::Models::FundingEventCreatedWebhookEvent, Lithic::Models::LoanTapeCreatedWebhookEvent, Lithic::Models::LoanTapeUpdatedWebhookEvent, Lithic::Models::ManagementOperationCreatedWebhookEvent, Lithic::Models::ManagementOperationUpdatedWebhookEvent, Lithic::Models::InternalTransactionCreatedWebhookEvent, Lithic::Models::InternalTransactionUpdatedWebhookEvent, Lithic::Models::NetworkTotalCreatedWebhookEvent, Lithic::Models::NetworkTotalUpdatedWebhookEvent, Lithic::Models::PaymentTransactionCreatedWebhookEvent, Lithic::Models::PaymentTransactionUpdatedWebhookEvent, Lithic::Models::SettlementReportUpdatedWebhookEvent, Lithic::Models::StatementsCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent, Lithic::Models::TokenizationApprovalRequestWebhookEvent, Lithic::Models::TokenizationResultWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::TokenizationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationApprovalRequestWebhookEvent, Lithic::Models::DisputeTransactionCreatedWebhookEvent, Lithic::Models::DisputeTransactionUpdatedWebhookEvent)]
813
+ # @return [Array(Lithic::Models::AccountHolderCreatedWebhookEvent, Lithic::Models::ParsedWebhookEvent::KYBPayload, Lithic::Models::ParsedWebhookEvent::KYCPayload, Lithic::Models::ParsedWebhookEvent::LegacyPayload, Lithic::Models::AccountHolderVerificationWebhookEvent, Lithic::Models::AccountHolderDocumentUpdatedWebhookEvent, Lithic::Models::CardAuthorizationApprovalRequestWebhookEvent, Lithic::Models::AuthRulesBacktestReportCreatedWebhookEvent, Lithic::Models::BalanceUpdatedWebhookEvent, Lithic::Models::BookTransferTransactionCreatedWebhookEvent, Lithic::Models::BookTransferTransactionUpdatedWebhookEvent, Lithic::Models::CardCreatedWebhookEvent, Lithic::Models::CardConvertedWebhookEvent, Lithic::Models::CardRenewedWebhookEvent, Lithic::Models::CardReissuedWebhookEvent, Lithic::Models::CardShippedWebhookEvent, Lithic::Models::CardUpdatedWebhookEvent, Lithic::Models::CardTransactionUpdatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataCreatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataUpdatedWebhookEvent, Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent, Lithic::Models::DigitalWalletTokenizationResultWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::DigitalWalletTokenizationUpdatedWebhookEvent, Lithic::Models::DisputeUpdatedWebhookEvent, Lithic::Models::DisputeEvidenceUploadFailedWebhookEvent, Lithic::Models::ExternalBankAccountCreatedWebhookEvent, Lithic::Models::ExternalBankAccountUpdatedWebhookEvent, Lithic::Models::ExternalPaymentCreatedWebhookEvent, Lithic::Models::ExternalPaymentUpdatedWebhookEvent, Lithic::Models::FinancialAccountCreatedWebhookEvent, Lithic::Models::FinancialAccountUpdatedWebhookEvent, Lithic::Models::FundingEventCreatedWebhookEvent, Lithic::Models::LoanTapeCreatedWebhookEvent, Lithic::Models::LoanTapeUpdatedWebhookEvent, Lithic::Models::ManagementOperationCreatedWebhookEvent, Lithic::Models::ManagementOperationUpdatedWebhookEvent, Lithic::Models::InternalTransactionCreatedWebhookEvent, Lithic::Models::InternalTransactionUpdatedWebhookEvent, Lithic::Models::NetworkTotalCreatedWebhookEvent, Lithic::Models::NetworkTotalUpdatedWebhookEvent, Lithic::Models::PaymentTransactionCreatedWebhookEvent, Lithic::Models::PaymentTransactionUpdatedWebhookEvent, Lithic::Models::SettlementReportUpdatedWebhookEvent, Lithic::Models::StatementsCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationCreatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationChallengeWebhookEvent, Lithic::Models::TokenizationApprovalRequestWebhookEvent, Lithic::Models::TokenizationResultWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::TokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::TokenizationUpdatedWebhookEvent, Lithic::Models::ThreeDSAuthenticationApprovalRequestWebhookEvent, Lithic::Models::DisputeTransactionCreatedWebhookEvent, Lithic::Models::DisputeTransactionUpdatedWebhookEvent)]
816
814
  end
817
815
  end
818
816
  end