lithic 0.19.0 → 0.21.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +61 -0
- data/README.md +1 -1
- data/lib/lithic/client.rb +4 -0
- data/lib/lithic/models/account_activity_list_params.rb +1 -0
- data/lib/lithic/models/account_activity_list_response.rb +1 -0
- data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +1 -0
- data/lib/lithic/models/auth_rules/ach_payment_update_action.rb +1 -0
- data/lib/lithic/models/auth_rules/auth_rule.rb +5 -0
- data/lib/lithic/models/auth_rules/card_transaction_update_action.rb +1 -0
- data/lib/lithic/models/auth_rules/report_stats.rb +1 -0
- data/lib/lithic/models/auth_rules/v2_create_params.rb +15 -0
- data/lib/lithic/models/auth_rules/v2_list_results_response.rb +3 -0
- data/lib/lithic/models/auth_rules/velocity_limit_params.rb +24 -1
- data/lib/lithic/models/blockchain_recipient.rb +148 -0
- data/lib/lithic/models/blockchain_recipient_create_params.rb +74 -0
- data/lib/lithic/models/blockchain_recipient_retrieve_params.rb +20 -0
- data/lib/lithic/models/card.rb +2 -2
- data/lib/lithic/models/card_pin_updated_webhook_event.rb +87 -0
- data/lib/lithic/models/card_provision_params.rb +10 -8
- data/lib/lithic/models/card_reassign_account_params.rb +29 -0
- data/lib/lithic/models/dispute_v2.rb +178 -130
- data/lib/lithic/models/disputes_v2_list_params.rb +10 -1
- data/lib/lithic/models/event.rb +5 -0
- data/lib/lithic/models/event_list_params.rb +3 -0
- data/lib/lithic/models/event_subscription.rb +3 -0
- data/lib/lithic/models/events/subscription_create_params.rb +3 -0
- data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +1 -0
- data/lib/lithic/models/events/subscription_update_params.rb +3 -0
- data/lib/lithic/models/external_payment.rb +6 -0
- data/lib/lithic/models/external_payment_create_params.rb +1 -0
- data/lib/lithic/models/external_payment_list_params.rb +1 -0
- data/lib/lithic/models/financial_account.rb +14 -1
- data/lib/lithic/models/financial_accounts/installment_plan.rb +311 -0
- data/lib/lithic/models/financial_accounts/installment_plan_list_params.rb +75 -0
- data/lib/lithic/models/financial_accounts/installment_plan_retrieve_params.rb +32 -0
- data/lib/lithic/models/financial_accounts/open_to_buy.rb +36 -0
- data/lib/lithic/models/financial_accounts/open_to_buy_retrieve_params.rb +22 -0
- data/lib/lithic/models/financial_accounts/open_to_buy_summary.rb +46 -0
- data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +13 -0
- data/lib/lithic/models/financial_accounts/transaction_category_balances.rb +34 -0
- data/lib/lithic/models/financial_event.rb +12 -0
- data/lib/lithic/models/management_operation_create_params.rb +4 -0
- data/lib/lithic/models/management_operation_transaction.rb +4 -0
- data/lib/lithic/models/parsed_webhook_event.rb +3 -1
- data/lib/lithic/models/payment.rb +68 -9
- data/lib/lithic/models/payment_create_stablecoin_params.rb +99 -0
- data/lib/lithic/models/payment_create_stablecoin_response.rb +19 -0
- data/lib/lithic/models/payment_list_params.rb +1 -0
- data/lib/lithic/models/payment_retry_params.rb +28 -1
- data/lib/lithic/models/payment_simulate_action_params.rb +1 -0
- data/lib/lithic/models/three_ds_authentication.rb +126 -1
- data/lib/lithic/models/tokenization_simulate_params.rb +2 -2
- data/lib/lithic/models/transaction.rb +2 -0
- data/lib/lithic/models/transaction_monitoring/case_entity.rb +13 -4
- data/lib/lithic/models/transaction_monitoring/case_list_params.rb +4 -2
- data/lib/lithic/models.rb +12 -0
- data/lib/lithic/resources/blockchain_recipients.rb +80 -0
- data/lib/lithic/resources/cards.rb +33 -4
- data/lib/lithic/resources/disputes_v2.rb +3 -1
- data/lib/lithic/resources/financial_accounts/installment_plans.rb +82 -0
- data/lib/lithic/resources/financial_accounts/open_to_buy.rb +48 -0
- data/lib/lithic/resources/financial_accounts.rb +8 -0
- data/lib/lithic/resources/payments.rb +71 -3
- data/lib/lithic/resources/tokenizations.rb +1 -1
- data/lib/lithic/resources/transaction_monitoring/cases.rb +1 -1
- data/lib/lithic/version.rb +1 -1
- data/lib/lithic.rb +17 -0
- data/rbi/lithic/client.rbi +3 -0
- data/rbi/lithic/models/account_activity_list_params.rbi +5 -0
- data/rbi/lithic/models/account_activity_list_response.rbi +5 -0
- data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +5 -0
- data/rbi/lithic/models/auth_rules/ach_payment_update_action.rbi +5 -0
- data/rbi/lithic/models/auth_rules/auth_rule.rbi +7 -0
- data/rbi/lithic/models/auth_rules/card_transaction_update_action.rbi +5 -0
- data/rbi/lithic/models/auth_rules/report_stats.rbi +5 -0
- data/rbi/lithic/models/auth_rules/v2_create_params.rbi +33 -0
- data/rbi/lithic/models/auth_rules/v2_list_results_response.rbi +15 -0
- data/rbi/lithic/models/auth_rules/velocity_limit_params.rbi +30 -0
- data/rbi/lithic/models/blockchain_recipient.rbi +209 -0
- data/rbi/lithic/models/blockchain_recipient_create_params.rbi +102 -0
- data/rbi/lithic/models/blockchain_recipient_retrieve_params.rbi +41 -0
- data/rbi/lithic/models/card.rbi +2 -2
- data/rbi/lithic/models/card_pin_updated_webhook_event.rbi +166 -0
- data/rbi/lithic/models/card_provision_params.rbi +16 -12
- data/rbi/lithic/models/card_reassign_account_params.rbi +49 -0
- data/rbi/lithic/models/dispute_v2.rbi +285 -181
- data/rbi/lithic/models/disputes_v2_list_params.rbi +13 -0
- data/rbi/lithic/models/event.rbi +8 -0
- data/rbi/lithic/models/event_list_params.rbi +7 -0
- data/rbi/lithic/models/event_subscription.rbi +7 -0
- data/rbi/lithic/models/events/subscription_create_params.rbi +7 -0
- data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +5 -0
- data/rbi/lithic/models/events/subscription_update_params.rbi +7 -0
- data/rbi/lithic/models/external_payment.rbi +30 -0
- data/rbi/lithic/models/external_payment_create_params.rbi +5 -0
- data/rbi/lithic/models/external_payment_list_params.rbi +5 -0
- data/rbi/lithic/models/financial_account.rbi +12 -0
- data/rbi/lithic/models/financial_accounts/installment_plan.rbi +528 -0
- data/rbi/lithic/models/financial_accounts/installment_plan_list_params.rbi +155 -0
- data/rbi/lithic/models/financial_accounts/installment_plan_retrieve_params.rbi +56 -0
- data/rbi/lithic/models/financial_accounts/open_to_buy.rbi +64 -0
- data/rbi/lithic/models/financial_accounts/open_to_buy_retrieve_params.rbi +43 -0
- data/rbi/lithic/models/financial_accounts/open_to_buy_summary.rbi +73 -0
- data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +65 -0
- data/rbi/lithic/models/financial_accounts/transaction_category_balances.rbi +81 -0
- data/rbi/lithic/models/financial_event.rbi +47 -0
- data/rbi/lithic/models/management_operation_create_params.rbi +20 -0
- data/rbi/lithic/models/management_operation_transaction.rbi +20 -0
- data/rbi/lithic/models/parsed_webhook_event.rbi +1 -0
- data/rbi/lithic/models/payment.rbi +108 -10
- data/rbi/lithic/models/payment_create_stablecoin_params.rbi +162 -0
- data/rbi/lithic/models/payment_create_stablecoin_response.rbi +34 -0
- data/rbi/lithic/models/payment_list_params.rbi +2 -0
- data/rbi/lithic/models/payment_retry_params.rbi +47 -2
- data/rbi/lithic/models/payment_simulate_action_params.rbi +5 -0
- data/rbi/lithic/models/three_ds_authentication.rbi +292 -0
- data/rbi/lithic/models/tokenization_simulate_params.rbi +2 -2
- data/rbi/lithic/models/transaction.rbi +10 -0
- data/rbi/lithic/models/transaction_monitoring/case_entity.rbi +27 -5
- data/rbi/lithic/models/transaction_monitoring/case_list_params.rbi +6 -2
- data/rbi/lithic/models.rbi +14 -0
- data/rbi/lithic/resources/blockchain_recipients.rbi +65 -0
- data/rbi/lithic/resources/cards.rbi +31 -8
- data/rbi/lithic/resources/disputes_v2.rbi +4 -0
- data/rbi/lithic/resources/financial_accounts/installment_plans.rbi +66 -0
- data/rbi/lithic/resources/financial_accounts/open_to_buy.rbi +40 -0
- data/rbi/lithic/resources/financial_accounts.rbi +6 -0
- data/rbi/lithic/resources/payments.rbi +68 -2
- data/rbi/lithic/resources/tokenizations.rbi +1 -1
- data/rbi/lithic/resources/transaction_monitoring/cases.rbi +3 -1
- data/rbi/lithic/resources/webhooks.rbi +1 -0
- data/sig/lithic/client.rbs +2 -0
- data/sig/lithic/models/account_activity_list_params.rbs +2 -0
- data/sig/lithic/models/account_activity_list_response.rbs +2 -0
- data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +2 -0
- data/sig/lithic/models/auth_rules/ach_payment_update_action.rbs +2 -1
- data/sig/lithic/models/auth_rules/auth_rule.rbs +2 -0
- data/sig/lithic/models/auth_rules/card_transaction_update_action.rbs +2 -1
- data/sig/lithic/models/auth_rules/report_stats.rbs +2 -0
- data/sig/lithic/models/auth_rules/v2_create_params.rbs +6 -0
- data/sig/lithic/models/auth_rules/v2_list_results_response.rbs +6 -2
- data/sig/lithic/models/auth_rules/velocity_limit_params.rbs +10 -0
- data/sig/lithic/models/blockchain_recipient.rbs +106 -0
- data/sig/lithic/models/blockchain_recipient_create_params.rbs +60 -0
- data/sig/lithic/models/blockchain_recipient_retrieve_params.rbs +24 -0
- data/sig/lithic/models/card_pin_updated_webhook_event.rbs +60 -0
- data/sig/lithic/models/card_reassign_account_params.rbs +28 -0
- data/sig/lithic/models/dispute_v2.rbs +145 -101
- data/sig/lithic/models/disputes_v2_list_params.rbs +7 -0
- data/sig/lithic/models/event.rbs +2 -0
- data/sig/lithic/models/event_list_params.rbs +2 -0
- data/sig/lithic/models/event_subscription.rbs +2 -0
- data/sig/lithic/models/events/subscription_create_params.rbs +2 -0
- data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +2 -0
- data/sig/lithic/models/events/subscription_update_params.rbs +2 -0
- data/sig/lithic/models/external_payment.rbs +12 -0
- data/sig/lithic/models/external_payment_create_params.rbs +2 -0
- data/sig/lithic/models/external_payment_list_params.rbs +2 -0
- data/sig/lithic/models/financial_account.rbs +5 -0
- data/sig/lithic/models/financial_accounts/installment_plan.rbs +227 -0
- data/sig/lithic/models/financial_accounts/installment_plan_list_params.rbs +69 -0
- data/sig/lithic/models/financial_accounts/installment_plan_retrieve_params.rbs +30 -0
- data/sig/lithic/models/financial_accounts/open_to_buy.rbs +27 -0
- data/sig/lithic/models/financial_accounts/open_to_buy_retrieve_params.rbs +26 -0
- data/sig/lithic/models/financial_accounts/open_to_buy_summary.rbs +32 -0
- data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +26 -0
- data/sig/lithic/models/financial_accounts/transaction_category_balances.rbs +32 -0
- data/sig/lithic/models/financial_event.rbs +24 -0
- data/sig/lithic/models/management_operation_create_params.rbs +8 -0
- data/sig/lithic/models/management_operation_transaction.rbs +8 -0
- data/sig/lithic/models/parsed_webhook_event.rbs +1 -0
- data/sig/lithic/models/payment.rbs +33 -1
- data/sig/lithic/models/payment_create_stablecoin_params.rbs +84 -0
- data/sig/lithic/models/payment_create_stablecoin_response.rbs +15 -0
- data/sig/lithic/models/payment_list_params.rbs +2 -1
- data/sig/lithic/models/payment_retry_params.rbs +24 -1
- data/sig/lithic/models/payment_simulate_action_params.rbs +2 -0
- data/sig/lithic/models/three_ds_authentication.rbs +77 -0
- data/sig/lithic/models/transaction.rbs +4 -0
- data/sig/lithic/models/transaction_monitoring/case_entity.rbs +7 -5
- data/sig/lithic/models.rbs +12 -0
- data/sig/lithic/resources/blockchain_recipients.rbs +23 -0
- data/sig/lithic/resources/cards.rbs +6 -0
- data/sig/lithic/resources/disputes_v2.rbs +1 -0
- data/sig/lithic/resources/financial_accounts/installment_plans.rbs +24 -0
- data/sig/lithic/resources/financial_accounts/open_to_buy.rbs +14 -0
- data/sig/lithic/resources/financial_accounts.rbs +4 -0
- data/sig/lithic/resources/payments.rbs +12 -0
- data/sig/lithic/resources/webhooks.rbs +1 -0
- metadata +53 -2
|
@@ -0,0 +1,528 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Lithic
|
|
4
|
+
module Models
|
|
5
|
+
module FinancialAccounts
|
|
6
|
+
class InstallmentPlan < Lithic::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
Lithic::FinancialAccounts::InstallmentPlan,
|
|
11
|
+
Lithic::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Globally unique identifier for an installment plan
|
|
16
|
+
sig { returns(String) }
|
|
17
|
+
attr_accessor :token
|
|
18
|
+
|
|
19
|
+
# Date the plan was paid off or cancelled, or null while it is still open
|
|
20
|
+
sig { returns(T.nilable(Date)) }
|
|
21
|
+
attr_accessor :closed_at
|
|
22
|
+
|
|
23
|
+
# Timestamp of when the installment plan was created
|
|
24
|
+
sig { returns(Time) }
|
|
25
|
+
attr_accessor :created
|
|
26
|
+
|
|
27
|
+
# Enrollment fee charged when the plan was created in cents
|
|
28
|
+
sig { returns(Integer) }
|
|
29
|
+
attr_accessor :fee_amount
|
|
30
|
+
|
|
31
|
+
# Globally unique identifier for a financial account
|
|
32
|
+
sig { returns(String) }
|
|
33
|
+
attr_accessor :financial_account_token
|
|
34
|
+
|
|
35
|
+
# Total owed on the plan in cents, the principal amount plus the enrollment fee
|
|
36
|
+
sig { returns(Integer) }
|
|
37
|
+
attr_accessor :installment_plan_total
|
|
38
|
+
|
|
39
|
+
# Installments that make up the plan, oldest first
|
|
40
|
+
sig do
|
|
41
|
+
returns(
|
|
42
|
+
T::Array[Lithic::FinancialAccounts::InstallmentPlan::Installment]
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
attr_accessor :installments
|
|
46
|
+
|
|
47
|
+
# Number of installments that still carry a balance
|
|
48
|
+
sig { returns(Integer) }
|
|
49
|
+
attr_accessor :installments_outstanding
|
|
50
|
+
|
|
51
|
+
# Number of installments that have been paid off
|
|
52
|
+
sig { returns(Integer) }
|
|
53
|
+
attr_accessor :installments_paid
|
|
54
|
+
|
|
55
|
+
# Number of installments the plan is broken into
|
|
56
|
+
sig { returns(Integer) }
|
|
57
|
+
attr_accessor :num_installments
|
|
58
|
+
|
|
59
|
+
# Balance the plan was opened on in cents, excluding the enrollment fee
|
|
60
|
+
sig { returns(Integer) }
|
|
61
|
+
attr_accessor :principal_amount
|
|
62
|
+
|
|
63
|
+
# Balance the plan was opened on, broken out by category, or null if it was not
|
|
64
|
+
# recorded
|
|
65
|
+
sig do
|
|
66
|
+
returns(
|
|
67
|
+
T.nilable(Lithic::FinancialAccounts::TransactionCategoryBalances)
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
attr_reader :source_amounts
|
|
71
|
+
|
|
72
|
+
sig do
|
|
73
|
+
params(
|
|
74
|
+
source_amounts:
|
|
75
|
+
T.nilable(
|
|
76
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances::OrHash
|
|
77
|
+
)
|
|
78
|
+
).void
|
|
79
|
+
end
|
|
80
|
+
attr_writer :source_amounts
|
|
81
|
+
|
|
82
|
+
# Identifier of the record the plan was opened from, such as the closing statement
|
|
83
|
+
# for an unpaid balance
|
|
84
|
+
sig { returns(String) }
|
|
85
|
+
attr_accessor :source_id
|
|
86
|
+
|
|
87
|
+
sig do
|
|
88
|
+
returns(
|
|
89
|
+
Lithic::FinancialAccounts::InstallmentPlan::SourceType::TaggedSymbol
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
attr_accessor :source_type
|
|
93
|
+
|
|
94
|
+
# Date the plan was created
|
|
95
|
+
sig { returns(Date) }
|
|
96
|
+
attr_accessor :start_date
|
|
97
|
+
|
|
98
|
+
# State of the installment plan. A plan is REBUILD_IN_PROGRESS while its loan
|
|
99
|
+
# tapes are being rebuilt, during which its payment totals are being recomputed
|
|
100
|
+
# and should not be treated as final
|
|
101
|
+
sig do
|
|
102
|
+
returns(
|
|
103
|
+
Lithic::FinancialAccounts::InstallmentPlan::State::TaggedSymbol
|
|
104
|
+
)
|
|
105
|
+
end
|
|
106
|
+
attr_accessor :state
|
|
107
|
+
|
|
108
|
+
# Amount paid towards the plan to date in cents
|
|
109
|
+
sig { returns(Integer) }
|
|
110
|
+
attr_accessor :total_paid
|
|
111
|
+
|
|
112
|
+
# Timestamp of when the installment plan was updated
|
|
113
|
+
sig { returns(Time) }
|
|
114
|
+
attr_accessor :updated
|
|
115
|
+
|
|
116
|
+
sig do
|
|
117
|
+
params(
|
|
118
|
+
token: String,
|
|
119
|
+
closed_at: T.nilable(Date),
|
|
120
|
+
created: Time,
|
|
121
|
+
fee_amount: Integer,
|
|
122
|
+
financial_account_token: String,
|
|
123
|
+
installment_plan_total: Integer,
|
|
124
|
+
installments:
|
|
125
|
+
T::Array[
|
|
126
|
+
Lithic::FinancialAccounts::InstallmentPlan::Installment::OrHash
|
|
127
|
+
],
|
|
128
|
+
installments_outstanding: Integer,
|
|
129
|
+
installments_paid: Integer,
|
|
130
|
+
num_installments: Integer,
|
|
131
|
+
principal_amount: Integer,
|
|
132
|
+
source_amounts:
|
|
133
|
+
T.nilable(
|
|
134
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances::OrHash
|
|
135
|
+
),
|
|
136
|
+
source_id: String,
|
|
137
|
+
source_type:
|
|
138
|
+
Lithic::FinancialAccounts::InstallmentPlan::SourceType::OrSymbol,
|
|
139
|
+
start_date: Date,
|
|
140
|
+
state: Lithic::FinancialAccounts::InstallmentPlan::State::OrSymbol,
|
|
141
|
+
total_paid: Integer,
|
|
142
|
+
updated: Time
|
|
143
|
+
).returns(T.attached_class)
|
|
144
|
+
end
|
|
145
|
+
def self.new(
|
|
146
|
+
# Globally unique identifier for an installment plan
|
|
147
|
+
token:,
|
|
148
|
+
# Date the plan was paid off or cancelled, or null while it is still open
|
|
149
|
+
closed_at:,
|
|
150
|
+
# Timestamp of when the installment plan was created
|
|
151
|
+
created:,
|
|
152
|
+
# Enrollment fee charged when the plan was created in cents
|
|
153
|
+
fee_amount:,
|
|
154
|
+
# Globally unique identifier for a financial account
|
|
155
|
+
financial_account_token:,
|
|
156
|
+
# Total owed on the plan in cents, the principal amount plus the enrollment fee
|
|
157
|
+
installment_plan_total:,
|
|
158
|
+
# Installments that make up the plan, oldest first
|
|
159
|
+
installments:,
|
|
160
|
+
# Number of installments that still carry a balance
|
|
161
|
+
installments_outstanding:,
|
|
162
|
+
# Number of installments that have been paid off
|
|
163
|
+
installments_paid:,
|
|
164
|
+
# Number of installments the plan is broken into
|
|
165
|
+
num_installments:,
|
|
166
|
+
# Balance the plan was opened on in cents, excluding the enrollment fee
|
|
167
|
+
principal_amount:,
|
|
168
|
+
# Balance the plan was opened on, broken out by category, or null if it was not
|
|
169
|
+
# recorded
|
|
170
|
+
source_amounts:,
|
|
171
|
+
# Identifier of the record the plan was opened from, such as the closing statement
|
|
172
|
+
# for an unpaid balance
|
|
173
|
+
source_id:,
|
|
174
|
+
source_type:,
|
|
175
|
+
# Date the plan was created
|
|
176
|
+
start_date:,
|
|
177
|
+
# State of the installment plan. A plan is REBUILD_IN_PROGRESS while its loan
|
|
178
|
+
# tapes are being rebuilt, during which its payment totals are being recomputed
|
|
179
|
+
# and should not be treated as final
|
|
180
|
+
state:,
|
|
181
|
+
# Amount paid towards the plan to date in cents
|
|
182
|
+
total_paid:,
|
|
183
|
+
# Timestamp of when the installment plan was updated
|
|
184
|
+
updated:
|
|
185
|
+
)
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
sig do
|
|
189
|
+
override.returns(
|
|
190
|
+
{
|
|
191
|
+
token: String,
|
|
192
|
+
closed_at: T.nilable(Date),
|
|
193
|
+
created: Time,
|
|
194
|
+
fee_amount: Integer,
|
|
195
|
+
financial_account_token: String,
|
|
196
|
+
installment_plan_total: Integer,
|
|
197
|
+
installments:
|
|
198
|
+
T::Array[
|
|
199
|
+
Lithic::FinancialAccounts::InstallmentPlan::Installment
|
|
200
|
+
],
|
|
201
|
+
installments_outstanding: Integer,
|
|
202
|
+
installments_paid: Integer,
|
|
203
|
+
num_installments: Integer,
|
|
204
|
+
principal_amount: Integer,
|
|
205
|
+
source_amounts:
|
|
206
|
+
T.nilable(
|
|
207
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances
|
|
208
|
+
),
|
|
209
|
+
source_id: String,
|
|
210
|
+
source_type:
|
|
211
|
+
Lithic::FinancialAccounts::InstallmentPlan::SourceType::TaggedSymbol,
|
|
212
|
+
start_date: Date,
|
|
213
|
+
state:
|
|
214
|
+
Lithic::FinancialAccounts::InstallmentPlan::State::TaggedSymbol,
|
|
215
|
+
total_paid: Integer,
|
|
216
|
+
updated: Time
|
|
217
|
+
}
|
|
218
|
+
)
|
|
219
|
+
end
|
|
220
|
+
def to_hash
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
class Installment < Lithic::Internal::Type::BaseModel
|
|
224
|
+
OrHash =
|
|
225
|
+
T.type_alias do
|
|
226
|
+
T.any(
|
|
227
|
+
Lithic::FinancialAccounts::InstallmentPlan::Installment,
|
|
228
|
+
Lithic::Internal::AnyHash
|
|
229
|
+
)
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
# Amount the installment was opened for in cents
|
|
233
|
+
sig { returns(Integer) }
|
|
234
|
+
attr_accessor :amount_due
|
|
235
|
+
|
|
236
|
+
sig do
|
|
237
|
+
returns(Lithic::FinancialAccounts::TransactionCategoryBalances)
|
|
238
|
+
end
|
|
239
|
+
attr_reader :amount_due_details
|
|
240
|
+
|
|
241
|
+
sig do
|
|
242
|
+
params(
|
|
243
|
+
amount_due_details:
|
|
244
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances::OrHash
|
|
245
|
+
).void
|
|
246
|
+
end
|
|
247
|
+
attr_writer :amount_due_details
|
|
248
|
+
|
|
249
|
+
# Amount still owed on the installment in cents
|
|
250
|
+
sig { returns(Integer) }
|
|
251
|
+
attr_accessor :amount_outstanding
|
|
252
|
+
|
|
253
|
+
sig do
|
|
254
|
+
returns(Lithic::FinancialAccounts::TransactionCategoryBalances)
|
|
255
|
+
end
|
|
256
|
+
attr_reader :amount_outstanding_details
|
|
257
|
+
|
|
258
|
+
sig do
|
|
259
|
+
params(
|
|
260
|
+
amount_outstanding_details:
|
|
261
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances::OrHash
|
|
262
|
+
).void
|
|
263
|
+
end
|
|
264
|
+
attr_writer :amount_outstanding_details
|
|
265
|
+
|
|
266
|
+
# Amount paid towards the installment in cents
|
|
267
|
+
sig { returns(Integer) }
|
|
268
|
+
attr_accessor :amount_paid
|
|
269
|
+
|
|
270
|
+
sig do
|
|
271
|
+
returns(Lithic::FinancialAccounts::TransactionCategoryBalances)
|
|
272
|
+
end
|
|
273
|
+
attr_reader :amount_paid_details
|
|
274
|
+
|
|
275
|
+
sig do
|
|
276
|
+
params(
|
|
277
|
+
amount_paid_details:
|
|
278
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances::OrHash
|
|
279
|
+
).void
|
|
280
|
+
end
|
|
281
|
+
attr_writer :amount_paid_details
|
|
282
|
+
|
|
283
|
+
# Date the installment was actually assessed onto the account, or null if it has
|
|
284
|
+
# not been assessed yet
|
|
285
|
+
sig { returns(T.nilable(Date)) }
|
|
286
|
+
attr_accessor :date_assessed
|
|
287
|
+
|
|
288
|
+
# Date the installment is scheduled to be assessed onto the account
|
|
289
|
+
sig { returns(Date) }
|
|
290
|
+
attr_accessor :due_date
|
|
291
|
+
|
|
292
|
+
# Position of this installment within the plan, starting at 0
|
|
293
|
+
sig { returns(Integer) }
|
|
294
|
+
attr_accessor :installment_num
|
|
295
|
+
|
|
296
|
+
# Date the installment must be paid by before it is considered past due
|
|
297
|
+
sig { returns(Date) }
|
|
298
|
+
attr_accessor :payment_due_date
|
|
299
|
+
|
|
300
|
+
# Payments applied to this installment, oldest first
|
|
301
|
+
sig do
|
|
302
|
+
returns(
|
|
303
|
+
T::Array[
|
|
304
|
+
Lithic::FinancialAccounts::InstallmentPlan::Installment::Payment
|
|
305
|
+
]
|
|
306
|
+
)
|
|
307
|
+
end
|
|
308
|
+
attr_accessor :payments
|
|
309
|
+
|
|
310
|
+
sig do
|
|
311
|
+
params(
|
|
312
|
+
amount_due: Integer,
|
|
313
|
+
amount_due_details:
|
|
314
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances::OrHash,
|
|
315
|
+
amount_outstanding: Integer,
|
|
316
|
+
amount_outstanding_details:
|
|
317
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances::OrHash,
|
|
318
|
+
amount_paid: Integer,
|
|
319
|
+
amount_paid_details:
|
|
320
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances::OrHash,
|
|
321
|
+
date_assessed: T.nilable(Date),
|
|
322
|
+
due_date: Date,
|
|
323
|
+
installment_num: Integer,
|
|
324
|
+
payment_due_date: Date,
|
|
325
|
+
payments:
|
|
326
|
+
T::Array[
|
|
327
|
+
Lithic::FinancialAccounts::InstallmentPlan::Installment::Payment::OrHash
|
|
328
|
+
]
|
|
329
|
+
).returns(T.attached_class)
|
|
330
|
+
end
|
|
331
|
+
def self.new(
|
|
332
|
+
# Amount the installment was opened for in cents
|
|
333
|
+
amount_due:,
|
|
334
|
+
amount_due_details:,
|
|
335
|
+
# Amount still owed on the installment in cents
|
|
336
|
+
amount_outstanding:,
|
|
337
|
+
amount_outstanding_details:,
|
|
338
|
+
# Amount paid towards the installment in cents
|
|
339
|
+
amount_paid:,
|
|
340
|
+
amount_paid_details:,
|
|
341
|
+
# Date the installment was actually assessed onto the account, or null if it has
|
|
342
|
+
# not been assessed yet
|
|
343
|
+
date_assessed:,
|
|
344
|
+
# Date the installment is scheduled to be assessed onto the account
|
|
345
|
+
due_date:,
|
|
346
|
+
# Position of this installment within the plan, starting at 0
|
|
347
|
+
installment_num:,
|
|
348
|
+
# Date the installment must be paid by before it is considered past due
|
|
349
|
+
payment_due_date:,
|
|
350
|
+
# Payments applied to this installment, oldest first
|
|
351
|
+
payments:
|
|
352
|
+
)
|
|
353
|
+
end
|
|
354
|
+
|
|
355
|
+
sig do
|
|
356
|
+
override.returns(
|
|
357
|
+
{
|
|
358
|
+
amount_due: Integer,
|
|
359
|
+
amount_due_details:
|
|
360
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances,
|
|
361
|
+
amount_outstanding: Integer,
|
|
362
|
+
amount_outstanding_details:
|
|
363
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances,
|
|
364
|
+
amount_paid: Integer,
|
|
365
|
+
amount_paid_details:
|
|
366
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances,
|
|
367
|
+
date_assessed: T.nilable(Date),
|
|
368
|
+
due_date: Date,
|
|
369
|
+
installment_num: Integer,
|
|
370
|
+
payment_due_date: Date,
|
|
371
|
+
payments:
|
|
372
|
+
T::Array[
|
|
373
|
+
Lithic::FinancialAccounts::InstallmentPlan::Installment::Payment
|
|
374
|
+
]
|
|
375
|
+
}
|
|
376
|
+
)
|
|
377
|
+
end
|
|
378
|
+
def to_hash
|
|
379
|
+
end
|
|
380
|
+
|
|
381
|
+
class Payment < Lithic::Internal::Type::BaseModel
|
|
382
|
+
OrHash =
|
|
383
|
+
T.type_alias do
|
|
384
|
+
T.any(
|
|
385
|
+
Lithic::FinancialAccounts::InstallmentPlan::Installment::Payment,
|
|
386
|
+
Lithic::Internal::AnyHash
|
|
387
|
+
)
|
|
388
|
+
end
|
|
389
|
+
|
|
390
|
+
# Amount applied to the installment in cents
|
|
391
|
+
sig { returns(Integer) }
|
|
392
|
+
attr_accessor :amount
|
|
393
|
+
|
|
394
|
+
sig do
|
|
395
|
+
returns(Lithic::FinancialAccounts::TransactionCategoryBalances)
|
|
396
|
+
end
|
|
397
|
+
attr_reader :amount_details
|
|
398
|
+
|
|
399
|
+
sig do
|
|
400
|
+
params(
|
|
401
|
+
amount_details:
|
|
402
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances::OrHash
|
|
403
|
+
).void
|
|
404
|
+
end
|
|
405
|
+
attr_writer :amount_details
|
|
406
|
+
|
|
407
|
+
# Date the payment was applied to the installment
|
|
408
|
+
sig { returns(Date) }
|
|
409
|
+
attr_accessor :date
|
|
410
|
+
|
|
411
|
+
sig do
|
|
412
|
+
params(
|
|
413
|
+
amount: Integer,
|
|
414
|
+
amount_details:
|
|
415
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances::OrHash,
|
|
416
|
+
date: Date
|
|
417
|
+
).returns(T.attached_class)
|
|
418
|
+
end
|
|
419
|
+
def self.new(
|
|
420
|
+
# Amount applied to the installment in cents
|
|
421
|
+
amount:,
|
|
422
|
+
amount_details:,
|
|
423
|
+
# Date the payment was applied to the installment
|
|
424
|
+
date:
|
|
425
|
+
)
|
|
426
|
+
end
|
|
427
|
+
|
|
428
|
+
sig do
|
|
429
|
+
override.returns(
|
|
430
|
+
{
|
|
431
|
+
amount: Integer,
|
|
432
|
+
amount_details:
|
|
433
|
+
Lithic::FinancialAccounts::TransactionCategoryBalances,
|
|
434
|
+
date: Date
|
|
435
|
+
}
|
|
436
|
+
)
|
|
437
|
+
end
|
|
438
|
+
def to_hash
|
|
439
|
+
end
|
|
440
|
+
end
|
|
441
|
+
end
|
|
442
|
+
|
|
443
|
+
module SourceType
|
|
444
|
+
extend Lithic::Internal::Type::Enum
|
|
445
|
+
|
|
446
|
+
TaggedSymbol =
|
|
447
|
+
T.type_alias do
|
|
448
|
+
T.all(
|
|
449
|
+
Symbol,
|
|
450
|
+
Lithic::FinancialAccounts::InstallmentPlan::SourceType
|
|
451
|
+
)
|
|
452
|
+
end
|
|
453
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
454
|
+
|
|
455
|
+
UNPAID_BALANCE =
|
|
456
|
+
T.let(
|
|
457
|
+
:UNPAID_BALANCE,
|
|
458
|
+
Lithic::FinancialAccounts::InstallmentPlan::SourceType::TaggedSymbol
|
|
459
|
+
)
|
|
460
|
+
TRANSACTION =
|
|
461
|
+
T.let(
|
|
462
|
+
:TRANSACTION,
|
|
463
|
+
Lithic::FinancialAccounts::InstallmentPlan::SourceType::TaggedSymbol
|
|
464
|
+
)
|
|
465
|
+
|
|
466
|
+
sig do
|
|
467
|
+
override.returns(
|
|
468
|
+
T::Array[
|
|
469
|
+
Lithic::FinancialAccounts::InstallmentPlan::SourceType::TaggedSymbol
|
|
470
|
+
]
|
|
471
|
+
)
|
|
472
|
+
end
|
|
473
|
+
def self.values
|
|
474
|
+
end
|
|
475
|
+
end
|
|
476
|
+
|
|
477
|
+
# State of the installment plan. A plan is REBUILD_IN_PROGRESS while its loan
|
|
478
|
+
# tapes are being rebuilt, during which its payment totals are being recomputed
|
|
479
|
+
# and should not be treated as final
|
|
480
|
+
module State
|
|
481
|
+
extend Lithic::Internal::Type::Enum
|
|
482
|
+
|
|
483
|
+
TaggedSymbol =
|
|
484
|
+
T.type_alias do
|
|
485
|
+
T.all(Symbol, Lithic::FinancialAccounts::InstallmentPlan::State)
|
|
486
|
+
end
|
|
487
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
488
|
+
|
|
489
|
+
PENDING =
|
|
490
|
+
T.let(
|
|
491
|
+
:PENDING,
|
|
492
|
+
Lithic::FinancialAccounts::InstallmentPlan::State::TaggedSymbol
|
|
493
|
+
)
|
|
494
|
+
ACTIVE =
|
|
495
|
+
T.let(
|
|
496
|
+
:ACTIVE,
|
|
497
|
+
Lithic::FinancialAccounts::InstallmentPlan::State::TaggedSymbol
|
|
498
|
+
)
|
|
499
|
+
REBUILD_IN_PROGRESS =
|
|
500
|
+
T.let(
|
|
501
|
+
:REBUILD_IN_PROGRESS,
|
|
502
|
+
Lithic::FinancialAccounts::InstallmentPlan::State::TaggedSymbol
|
|
503
|
+
)
|
|
504
|
+
FULLY_PAID =
|
|
505
|
+
T.let(
|
|
506
|
+
:FULLY_PAID,
|
|
507
|
+
Lithic::FinancialAccounts::InstallmentPlan::State::TaggedSymbol
|
|
508
|
+
)
|
|
509
|
+
CANCELLED =
|
|
510
|
+
T.let(
|
|
511
|
+
:CANCELLED,
|
|
512
|
+
Lithic::FinancialAccounts::InstallmentPlan::State::TaggedSymbol
|
|
513
|
+
)
|
|
514
|
+
|
|
515
|
+
sig do
|
|
516
|
+
override.returns(
|
|
517
|
+
T::Array[
|
|
518
|
+
Lithic::FinancialAccounts::InstallmentPlan::State::TaggedSymbol
|
|
519
|
+
]
|
|
520
|
+
)
|
|
521
|
+
end
|
|
522
|
+
def self.values
|
|
523
|
+
end
|
|
524
|
+
end
|
|
525
|
+
end
|
|
526
|
+
end
|
|
527
|
+
end
|
|
528
|
+
end
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Lithic
|
|
4
|
+
module Models
|
|
5
|
+
module FinancialAccounts
|
|
6
|
+
class InstallmentPlanListParams < Lithic::Internal::Type::BaseModel
|
|
7
|
+
extend Lithic::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Lithic::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
Lithic::FinancialAccounts::InstallmentPlanListParams,
|
|
14
|
+
Lithic::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Globally unique identifier for financial account.
|
|
19
|
+
sig { returns(String) }
|
|
20
|
+
attr_accessor :financial_account_token
|
|
21
|
+
|
|
22
|
+
# A cursor representing an item's token before which a page of results should end.
|
|
23
|
+
# Used to retrieve the previous page of results before this item.
|
|
24
|
+
sig { returns(T.nilable(String)) }
|
|
25
|
+
attr_reader :ending_before
|
|
26
|
+
|
|
27
|
+
sig { params(ending_before: String).void }
|
|
28
|
+
attr_writer :ending_before
|
|
29
|
+
|
|
30
|
+
# Page size (for pagination).
|
|
31
|
+
sig { returns(T.nilable(Integer)) }
|
|
32
|
+
attr_reader :page_size
|
|
33
|
+
|
|
34
|
+
sig { params(page_size: Integer).void }
|
|
35
|
+
attr_writer :page_size
|
|
36
|
+
|
|
37
|
+
# A cursor representing an item's token after which a page of results should
|
|
38
|
+
# begin. Used to retrieve the next page of results after this item.
|
|
39
|
+
sig { returns(T.nilable(String)) }
|
|
40
|
+
attr_reader :starting_after
|
|
41
|
+
|
|
42
|
+
sig { params(starting_after: String).void }
|
|
43
|
+
attr_writer :starting_after
|
|
44
|
+
|
|
45
|
+
# Only installment plans in this state will be included.
|
|
46
|
+
sig do
|
|
47
|
+
returns(
|
|
48
|
+
T.nilable(
|
|
49
|
+
Lithic::FinancialAccounts::InstallmentPlanListParams::State::OrSymbol
|
|
50
|
+
)
|
|
51
|
+
)
|
|
52
|
+
end
|
|
53
|
+
attr_accessor :state
|
|
54
|
+
|
|
55
|
+
sig do
|
|
56
|
+
params(
|
|
57
|
+
financial_account_token: String,
|
|
58
|
+
ending_before: String,
|
|
59
|
+
page_size: Integer,
|
|
60
|
+
starting_after: String,
|
|
61
|
+
state:
|
|
62
|
+
T.nilable(
|
|
63
|
+
Lithic::FinancialAccounts::InstallmentPlanListParams::State::OrSymbol
|
|
64
|
+
),
|
|
65
|
+
request_options: Lithic::RequestOptions::OrHash
|
|
66
|
+
).returns(T.attached_class)
|
|
67
|
+
end
|
|
68
|
+
def self.new(
|
|
69
|
+
# Globally unique identifier for financial account.
|
|
70
|
+
financial_account_token:,
|
|
71
|
+
# A cursor representing an item's token before which a page of results should end.
|
|
72
|
+
# Used to retrieve the previous page of results before this item.
|
|
73
|
+
ending_before: nil,
|
|
74
|
+
# Page size (for pagination).
|
|
75
|
+
page_size: nil,
|
|
76
|
+
# A cursor representing an item's token after which a page of results should
|
|
77
|
+
# begin. Used to retrieve the next page of results after this item.
|
|
78
|
+
starting_after: nil,
|
|
79
|
+
# Only installment plans in this state will be included.
|
|
80
|
+
state: nil,
|
|
81
|
+
request_options: {}
|
|
82
|
+
)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
sig do
|
|
86
|
+
override.returns(
|
|
87
|
+
{
|
|
88
|
+
financial_account_token: String,
|
|
89
|
+
ending_before: String,
|
|
90
|
+
page_size: Integer,
|
|
91
|
+
starting_after: String,
|
|
92
|
+
state:
|
|
93
|
+
T.nilable(
|
|
94
|
+
Lithic::FinancialAccounts::InstallmentPlanListParams::State::OrSymbol
|
|
95
|
+
),
|
|
96
|
+
request_options: Lithic::RequestOptions
|
|
97
|
+
}
|
|
98
|
+
)
|
|
99
|
+
end
|
|
100
|
+
def to_hash
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# Only installment plans in this state will be included.
|
|
104
|
+
module State
|
|
105
|
+
extend Lithic::Internal::Type::Enum
|
|
106
|
+
|
|
107
|
+
TaggedSymbol =
|
|
108
|
+
T.type_alias do
|
|
109
|
+
T.all(
|
|
110
|
+
Symbol,
|
|
111
|
+
Lithic::FinancialAccounts::InstallmentPlanListParams::State
|
|
112
|
+
)
|
|
113
|
+
end
|
|
114
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
115
|
+
|
|
116
|
+
PENDING =
|
|
117
|
+
T.let(
|
|
118
|
+
:PENDING,
|
|
119
|
+
Lithic::FinancialAccounts::InstallmentPlanListParams::State::TaggedSymbol
|
|
120
|
+
)
|
|
121
|
+
ACTIVE =
|
|
122
|
+
T.let(
|
|
123
|
+
:ACTIVE,
|
|
124
|
+
Lithic::FinancialAccounts::InstallmentPlanListParams::State::TaggedSymbol
|
|
125
|
+
)
|
|
126
|
+
REBUILD_IN_PROGRESS =
|
|
127
|
+
T.let(
|
|
128
|
+
:REBUILD_IN_PROGRESS,
|
|
129
|
+
Lithic::FinancialAccounts::InstallmentPlanListParams::State::TaggedSymbol
|
|
130
|
+
)
|
|
131
|
+
FULLY_PAID =
|
|
132
|
+
T.let(
|
|
133
|
+
:FULLY_PAID,
|
|
134
|
+
Lithic::FinancialAccounts::InstallmentPlanListParams::State::TaggedSymbol
|
|
135
|
+
)
|
|
136
|
+
CANCELLED =
|
|
137
|
+
T.let(
|
|
138
|
+
:CANCELLED,
|
|
139
|
+
Lithic::FinancialAccounts::InstallmentPlanListParams::State::TaggedSymbol
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
sig do
|
|
143
|
+
override.returns(
|
|
144
|
+
T::Array[
|
|
145
|
+
Lithic::FinancialAccounts::InstallmentPlanListParams::State::TaggedSymbol
|
|
146
|
+
]
|
|
147
|
+
)
|
|
148
|
+
end
|
|
149
|
+
def self.values
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
end
|
|
155
|
+
end
|