lithic 0.20.0 → 0.22.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 (266) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +44 -0
  3. data/README.md +1 -10
  4. data/lib/lithic/internal/type/union.rb +21 -7
  5. data/lib/lithic/models/account_activity_list_params.rb +1 -0
  6. data/lib/lithic/models/account_activity_list_response.rb +1 -0
  7. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +1 -0
  8. data/lib/lithic/models/account_holder_create_params.rb +4 -2
  9. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +120 -66
  10. data/lib/lithic/models/account_holder_update_params.rb +6 -3
  11. data/lib/lithic/models/account_holder_update_response.rb +156 -86
  12. data/lib/lithic/models/account_holder_updated_webhook_event.rb +120 -66
  13. data/lib/lithic/models/account_holders/account_holder_entity.rb +35 -19
  14. data/lib/lithic/models/account_holders/entity_create_params.rb +39 -21
  15. data/lib/lithic/models/address.rb +33 -19
  16. data/lib/lithic/models/address_update.rb +27 -11
  17. data/lib/lithic/models/auth_rules/auth_rule.rb +60 -27
  18. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +189 -6
  19. data/lib/lithic/models/auth_rules/auth_rule_entities.rb +47 -0
  20. data/lib/lithic/models/auth_rules/auth_rule_entities_response.rb +31 -0
  21. data/lib/lithic/models/auth_rules/auth_rule_entity.rb +150 -0
  22. data/lib/lithic/models/auth_rules/auth_rule_version.rb +3 -6
  23. data/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +33 -6
  24. data/lib/lithic/models/auth_rules/conditional_attribute.rb +101 -5
  25. data/lib/lithic/models/auth_rules/conditional_authorization_action_parameters.rb +3 -439
  26. data/lib/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rb +7 -0
  27. data/lib/lithic/models/auth_rules/merchant_lock_parameters.rb +11 -1
  28. data/lib/lithic/models/auth_rules/report_stats.rb +1 -0
  29. data/lib/lithic/models/auth_rules/v2_create_params.rb +218 -45
  30. data/lib/lithic/models/auth_rules/v2_draft_params.rb +3 -6
  31. data/lib/lithic/models/auth_rules/v2_list_params.rb +5 -3
  32. data/lib/lithic/models/auth_rules/v2_list_results_response.rb +1 -0
  33. data/lib/lithic/models/auth_rules/v2_update_entities_params.rb +39 -0
  34. data/lib/lithic/models/auth_rules/v2_update_params.rb +133 -12
  35. data/lib/lithic/models/blockchain_recipient_retrieve_params.rb +20 -0
  36. data/lib/lithic/models/card_authorization.rb +11 -1
  37. data/lib/lithic/models/card_create_params.rb +11 -1
  38. data/lib/lithic/models/card_pin_updated_webhook_event.rb +87 -0
  39. data/lib/lithic/models/card_update_params.rb +12 -1
  40. data/lib/lithic/models/event.rb +5 -0
  41. data/lib/lithic/models/event_list_params.rb +3 -0
  42. data/lib/lithic/models/event_subscription.rb +3 -0
  43. data/lib/lithic/models/events/subscription_create_params.rb +3 -0
  44. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +1 -0
  45. data/lib/lithic/models/events/subscription_update_params.rb +3 -0
  46. data/lib/lithic/models/external_payment.rb +6 -0
  47. data/lib/lithic/models/external_payment_create_params.rb +1 -0
  48. data/lib/lithic/models/external_payment_list_params.rb +1 -0
  49. data/lib/lithic/models/financial_accounts/installment_plan.rb +311 -0
  50. data/lib/lithic/models/financial_accounts/installment_plan_list_params.rb +75 -0
  51. data/lib/lithic/models/financial_accounts/installment_plan_retrieve_params.rb +32 -0
  52. data/lib/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rb +279 -0
  53. data/lib/lithic/models/financial_accounts/installment_plans/statement_list_params.rb +106 -0
  54. data/lib/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rb +42 -0
  55. data/lib/lithic/models/financial_accounts/loan_tape.rb +62 -1
  56. data/lib/lithic/models/financial_accounts/open_to_buy.rb +36 -0
  57. data/lib/lithic/models/financial_accounts/open_to_buy_retrieve_params.rb +22 -0
  58. data/lib/lithic/models/financial_accounts/open_to_buy_summary.rb +46 -0
  59. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +10 -0
  60. data/lib/lithic/models/financial_accounts/transaction_category_balances.rb +34 -0
  61. data/lib/lithic/models/financial_event.rb +9 -0
  62. data/lib/lithic/models/kyb.rb +4 -2
  63. data/lib/lithic/models/kyb_business_entity.rb +35 -19
  64. data/lib/lithic/models/kyc.rb +2 -1
  65. data/lib/lithic/models/management_operation_create_params.rb +4 -0
  66. data/lib/lithic/models/management_operation_transaction.rb +4 -0
  67. data/lib/lithic/models/non_pci_card.rb +11 -1
  68. data/lib/lithic/models/parsed_webhook_event.rb +123 -67
  69. data/lib/lithic/models/payment.rb +3 -1
  70. data/lib/lithic/models/payment_create_stablecoin_params.rb +99 -0
  71. data/lib/lithic/models/payment_create_stablecoin_response.rb +19 -0
  72. data/lib/lithic/models/payment_list_params.rb +1 -0
  73. data/lib/lithic/models/payment_retry_params.rb +28 -1
  74. data/lib/lithic/models/payment_simulate_action_params.rb +1 -0
  75. data/lib/lithic/models/three_ds_authentication.rb +126 -1
  76. data/lib/lithic/models/transaction.rb +4 -1
  77. data/lib/lithic/models/transaction_simulate_authorization_params.rb +28 -4
  78. data/lib/lithic/models/transaction_simulate_credit_authorization_advice_params.rb +11 -1
  79. data/lib/lithic/models/transaction_simulate_return_params.rb +24 -1
  80. data/lib/lithic/models.rb +6 -0
  81. data/lib/lithic/resources/auth_rules/v2/backtests.rb +8 -8
  82. data/lib/lithic/resources/auth_rules/v2.rb +44 -8
  83. data/lib/lithic/resources/blockchain_recipients.rb +23 -0
  84. data/lib/lithic/resources/cards.rb +10 -4
  85. data/lib/lithic/resources/financial_accounts/installment_plans/statements.rb +107 -0
  86. data/lib/lithic/resources/financial_accounts/installment_plans.rb +86 -0
  87. data/lib/lithic/resources/financial_accounts/open_to_buy.rb +48 -0
  88. data/lib/lithic/resources/financial_accounts.rb +8 -0
  89. data/lib/lithic/resources/payments.rb +71 -3
  90. data/lib/lithic/resources/transactions.rb +17 -4
  91. data/lib/lithic/resources/webhooks.rb +18 -0
  92. data/lib/lithic/version.rb +1 -1
  93. data/lib/lithic.rb +21 -1
  94. data/rbi/lithic/models/account_activity_list_params.rbi +5 -0
  95. data/rbi/lithic/models/account_activity_list_response.rbi +5 -0
  96. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +5 -0
  97. data/rbi/lithic/models/account_holder_create_params.rbi +8 -4
  98. data/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +195 -90
  99. data/rbi/lithic/models/account_holder_update_params.rbi +12 -6
  100. data/rbi/lithic/models/account_holder_update_response.rbi +254 -117
  101. data/rbi/lithic/models/account_holder_updated_webhook_event.rbi +195 -90
  102. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +59 -27
  103. data/rbi/lithic/models/account_holders/entity_create_params.rbi +65 -30
  104. data/rbi/lithic/models/address.rbi +57 -29
  105. data/rbi/lithic/models/address_update.rbi +50 -24
  106. data/rbi/lithic/models/auth_rules/auth_rule.rbi +60 -19
  107. data/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +442 -13
  108. data/rbi/lithic/models/auth_rules/auth_rule_entities.rbi +163 -0
  109. data/rbi/lithic/models/auth_rules/auth_rule_entities_response.rbi +72 -0
  110. data/rbi/lithic/models/auth_rules/auth_rule_entity.rbi +199 -0
  111. data/rbi/lithic/models/auth_rules/auth_rule_version.rbi +0 -2
  112. data/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +67 -9
  113. data/rbi/lithic/models/auth_rules/conditional_attribute.rbi +193 -5
  114. data/rbi/lithic/models/auth_rules/conditional_authorization_action_parameters.rbi +3 -939
  115. data/rbi/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbi +14 -0
  116. data/rbi/lithic/models/auth_rules/merchant_lock_parameters.rbi +14 -3
  117. data/rbi/lithic/models/auth_rules/report_stats.rbi +5 -0
  118. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +358 -50
  119. data/rbi/lithic/models/auth_rules/v2_draft_params.rbi +0 -4
  120. data/rbi/lithic/models/auth_rules/v2_list_params.rbi +6 -3
  121. data/rbi/lithic/models/auth_rules/v2_list_results_response.rbi +5 -0
  122. data/rbi/lithic/models/auth_rules/v2_update_entities_params.rbi +68 -0
  123. data/rbi/lithic/models/auth_rules/v2_update_params.rbi +198 -5
  124. data/rbi/lithic/models/blockchain_recipient_retrieve_params.rbi +41 -0
  125. data/rbi/lithic/models/card_authorization.rbi +12 -0
  126. data/rbi/lithic/models/card_create_params.rbi +15 -0
  127. data/rbi/lithic/models/card_pin_updated_webhook_event.rbi +166 -0
  128. data/rbi/lithic/models/card_update_params.rbi +17 -0
  129. data/rbi/lithic/models/event.rbi +8 -0
  130. data/rbi/lithic/models/event_list_params.rbi +7 -0
  131. data/rbi/lithic/models/event_subscription.rbi +7 -0
  132. data/rbi/lithic/models/events/subscription_create_params.rbi +7 -0
  133. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +5 -0
  134. data/rbi/lithic/models/events/subscription_update_params.rbi +7 -0
  135. data/rbi/lithic/models/external_payment.rbi +30 -0
  136. data/rbi/lithic/models/external_payment_create_params.rbi +5 -0
  137. data/rbi/lithic/models/external_payment_list_params.rbi +5 -0
  138. data/rbi/lithic/models/financial_accounts/installment_plan.rbi +528 -0
  139. data/rbi/lithic/models/financial_accounts/installment_plan_list_params.rbi +155 -0
  140. data/rbi/lithic/models/financial_accounts/installment_plan_retrieve_params.rbi +56 -0
  141. data/rbi/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rbi +452 -0
  142. data/rbi/lithic/models/financial_accounts/installment_plans/statement_list_params.rbi +191 -0
  143. data/rbi/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rbi +66 -0
  144. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +119 -0
  145. data/rbi/lithic/models/financial_accounts/open_to_buy.rbi +64 -0
  146. data/rbi/lithic/models/financial_accounts/open_to_buy_retrieve_params.rbi +43 -0
  147. data/rbi/lithic/models/financial_accounts/open_to_buy_summary.rbi +73 -0
  148. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +50 -0
  149. data/rbi/lithic/models/financial_accounts/transaction_category_balances.rbi +81 -0
  150. data/rbi/lithic/models/financial_event.rbi +35 -0
  151. data/rbi/lithic/models/kyb.rbi +8 -4
  152. data/rbi/lithic/models/kyb_business_entity.rbi +59 -27
  153. data/rbi/lithic/models/kyc.rbi +4 -2
  154. data/rbi/lithic/models/management_operation_create_params.rbi +20 -0
  155. data/rbi/lithic/models/management_operation_transaction.rbi +20 -0
  156. data/rbi/lithic/models/non_pci_card.rbi +12 -0
  157. data/rbi/lithic/models/parsed_webhook_event.rbi +196 -90
  158. data/rbi/lithic/models/payment.rbi +6 -2
  159. data/rbi/lithic/models/payment_create_stablecoin_params.rbi +162 -0
  160. data/rbi/lithic/models/payment_create_stablecoin_response.rbi +34 -0
  161. data/rbi/lithic/models/payment_list_params.rbi +2 -0
  162. data/rbi/lithic/models/payment_retry_params.rbi +47 -2
  163. data/rbi/lithic/models/payment_simulate_action_params.rbi +5 -0
  164. data/rbi/lithic/models/three_ds_authentication.rbi +292 -0
  165. data/rbi/lithic/models/transaction.rbi +14 -2
  166. data/rbi/lithic/models/transaction_simulate_authorization_params.rbi +42 -4
  167. data/rbi/lithic/models/transaction_simulate_credit_authorization_advice_params.rbi +15 -0
  168. data/rbi/lithic/models/transaction_simulate_return_params.rbi +30 -0
  169. data/rbi/lithic/models.rbi +7 -0
  170. data/rbi/lithic/resources/account_holders/entities.rbi +2 -1
  171. data/rbi/lithic/resources/auth_rules/v2/backtests.rbi +8 -8
  172. data/rbi/lithic/resources/auth_rules/v2.rbi +43 -8
  173. data/rbi/lithic/resources/blockchain_recipients.rbi +14 -0
  174. data/rbi/lithic/resources/cards.rbi +15 -2
  175. data/rbi/lithic/resources/financial_accounts/installment_plans/statements.rbi +86 -0
  176. data/rbi/lithic/resources/financial_accounts/installment_plans.rbi +73 -0
  177. data/rbi/lithic/resources/financial_accounts/open_to_buy.rbi +40 -0
  178. data/rbi/lithic/resources/financial_accounts.rbi +6 -0
  179. data/rbi/lithic/resources/payments.rbi +68 -2
  180. data/rbi/lithic/resources/transactions.rbi +31 -2
  181. data/rbi/lithic/resources/webhooks.rbi +1 -0
  182. data/sig/lithic/models/account_activity_list_params.rbs +2 -0
  183. data/sig/lithic/models/account_activity_list_response.rbs +2 -0
  184. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +2 -0
  185. data/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +39 -39
  186. data/sig/lithic/models/account_holder_update_response.rbs +52 -52
  187. data/sig/lithic/models/account_holder_updated_webhook_event.rbs +39 -39
  188. data/sig/lithic/models/account_holders/account_holder_entity.rbs +13 -13
  189. data/sig/lithic/models/account_holders/entity_create_params.rbs +13 -13
  190. data/sig/lithic/models/address.rbs +13 -13
  191. data/sig/lithic/models/address_update.rbs +8 -12
  192. data/sig/lithic/models/auth_rules/auth_rule.rbs +10 -7
  193. data/sig/lithic/models/auth_rules/auth_rule_condition.rbs +89 -3
  194. data/sig/lithic/models/auth_rules/auth_rule_entities.rbs +37 -0
  195. data/sig/lithic/models/auth_rules/auth_rule_entities_response.rbs +29 -0
  196. data/sig/lithic/models/auth_rules/auth_rule_entity.rbs +80 -0
  197. data/sig/lithic/models/auth_rules/auth_rule_version.rbs +1 -2
  198. data/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +10 -0
  199. data/sig/lithic/models/auth_rules/conditional_attribute.rbs +46 -0
  200. data/sig/lithic/models/auth_rules/conditional_authorization_action_parameters.rbs +4 -204
  201. data/sig/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbs +2 -0
  202. data/sig/lithic/models/auth_rules/merchant_lock_parameters.rbs +10 -3
  203. data/sig/lithic/models/auth_rules/report_stats.rbs +2 -0
  204. data/sig/lithic/models/auth_rules/v2_create_params.rbs +92 -16
  205. data/sig/lithic/models/auth_rules/v2_draft_params.rbs +1 -2
  206. data/sig/lithic/models/auth_rules/v2_list_results_response.rbs +2 -0
  207. data/sig/lithic/models/auth_rules/v2_update_entities_params.rbs +46 -0
  208. data/sig/lithic/models/auth_rules/v2_update_params.rbs +47 -1
  209. data/sig/lithic/models/blockchain_recipient_retrieve_params.rbs +24 -0
  210. data/sig/lithic/models/card_authorization.rbs +5 -0
  211. data/sig/lithic/models/card_create_params.rbs +7 -0
  212. data/sig/lithic/models/card_pin_updated_webhook_event.rbs +60 -0
  213. data/sig/lithic/models/card_update_params.rbs +8 -1
  214. data/sig/lithic/models/event.rbs +2 -0
  215. data/sig/lithic/models/event_list_params.rbs +2 -0
  216. data/sig/lithic/models/event_subscription.rbs +2 -0
  217. data/sig/lithic/models/events/subscription_create_params.rbs +2 -0
  218. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +2 -0
  219. data/sig/lithic/models/events/subscription_update_params.rbs +2 -0
  220. data/sig/lithic/models/external_payment.rbs +12 -0
  221. data/sig/lithic/models/external_payment_create_params.rbs +2 -0
  222. data/sig/lithic/models/external_payment_list_params.rbs +2 -0
  223. data/sig/lithic/models/financial_accounts/installment_plan.rbs +227 -0
  224. data/sig/lithic/models/financial_accounts/installment_plan_list_params.rbs +69 -0
  225. data/sig/lithic/models/financial_accounts/installment_plan_retrieve_params.rbs +30 -0
  226. data/sig/lithic/models/financial_accounts/installment_plans/installment_plan_statement.rbs +191 -0
  227. data/sig/lithic/models/financial_accounts/installment_plans/statement_list_params.rbs +90 -0
  228. data/sig/lithic/models/financial_accounts/installment_plans/statement_retrieve_params.rbs +40 -0
  229. data/sig/lithic/models/financial_accounts/loan_tape.rbs +47 -0
  230. data/sig/lithic/models/financial_accounts/open_to_buy.rbs +27 -0
  231. data/sig/lithic/models/financial_accounts/open_to_buy_retrieve_params.rbs +26 -0
  232. data/sig/lithic/models/financial_accounts/open_to_buy_summary.rbs +32 -0
  233. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +20 -0
  234. data/sig/lithic/models/financial_accounts/transaction_category_balances.rbs +32 -0
  235. data/sig/lithic/models/financial_event.rbs +18 -0
  236. data/sig/lithic/models/kyb_business_entity.rbs +13 -13
  237. data/sig/lithic/models/management_operation_create_params.rbs +8 -0
  238. data/sig/lithic/models/management_operation_transaction.rbs +8 -0
  239. data/sig/lithic/models/non_pci_card.rbs +5 -0
  240. data/sig/lithic/models/parsed_webhook_event.rbs +40 -39
  241. data/sig/lithic/models/payment.rbs +2 -0
  242. data/sig/lithic/models/payment_create_stablecoin_params.rbs +84 -0
  243. data/sig/lithic/models/payment_create_stablecoin_response.rbs +15 -0
  244. data/sig/lithic/models/payment_list_params.rbs +2 -1
  245. data/sig/lithic/models/payment_retry_params.rbs +24 -1
  246. data/sig/lithic/models/payment_simulate_action_params.rbs +2 -0
  247. data/sig/lithic/models/three_ds_authentication.rbs +77 -0
  248. data/sig/lithic/models/transaction.rbs +4 -0
  249. data/sig/lithic/models/transaction_simulate_authorization_params.rbs +14 -0
  250. data/sig/lithic/models/transaction_simulate_credit_authorization_advice_params.rbs +7 -0
  251. data/sig/lithic/models/transaction_simulate_return_params.rbs +19 -1
  252. data/sig/lithic/models.rbs +6 -0
  253. data/sig/lithic/resources/auth_rules/v2.rbs +7 -0
  254. data/sig/lithic/resources/blockchain_recipients.rbs +5 -0
  255. data/sig/lithic/resources/cards.rbs +2 -0
  256. data/sig/lithic/resources/financial_accounts/installment_plans/statements.rbs +30 -0
  257. data/sig/lithic/resources/financial_accounts/installment_plans.rbs +26 -0
  258. data/sig/lithic/resources/financial_accounts/open_to_buy.rbs +14 -0
  259. data/sig/lithic/resources/financial_accounts.rbs +4 -0
  260. data/sig/lithic/resources/payments.rbs +12 -0
  261. data/sig/lithic/resources/transactions.rbs +5 -0
  262. data/sig/lithic/resources/webhooks.rbs +1 -0
  263. metadata +65 -5
  264. data/lib/lithic/models/auth_rules/conditional_block_parameters.rb +0 -20
  265. data/rbi/lithic/models/auth_rules/conditional_block_parameters.rbi +0 -37
  266. data/sig/lithic/models/auth_rules/conditional_block_parameters.rbs +0 -20
@@ -0,0 +1,311 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ # @see Lithic::Resources::FinancialAccounts::InstallmentPlans#retrieve
7
+ class InstallmentPlan < Lithic::Internal::Type::BaseModel
8
+ # @!attribute token
9
+ # Globally unique identifier for an installment plan
10
+ #
11
+ # @return [String]
12
+ required :token, String
13
+
14
+ # @!attribute closed_at
15
+ # Date the plan was paid off or cancelled, or null while it is still open
16
+ #
17
+ # @return [Date, nil]
18
+ required :closed_at, Date, nil?: true
19
+
20
+ # @!attribute created
21
+ # Timestamp of when the installment plan was created
22
+ #
23
+ # @return [Time]
24
+ required :created, Time
25
+
26
+ # @!attribute fee_amount
27
+ # Enrollment fee charged when the plan was created in cents
28
+ #
29
+ # @return [Integer]
30
+ required :fee_amount, Integer
31
+
32
+ # @!attribute financial_account_token
33
+ # Globally unique identifier for a financial account
34
+ #
35
+ # @return [String]
36
+ required :financial_account_token, String
37
+
38
+ # @!attribute installment_plan_total
39
+ # Total owed on the plan in cents, the principal amount plus the enrollment fee
40
+ #
41
+ # @return [Integer]
42
+ required :installment_plan_total, Integer
43
+
44
+ # @!attribute installments
45
+ # Installments that make up the plan, oldest first
46
+ #
47
+ # @return [Array<Lithic::Models::FinancialAccounts::InstallmentPlan::Installment>]
48
+ required :installments,
49
+ -> { Lithic::Internal::Type::ArrayOf[Lithic::FinancialAccounts::InstallmentPlan::Installment] }
50
+
51
+ # @!attribute installments_outstanding
52
+ # Number of installments that still carry a balance
53
+ #
54
+ # @return [Integer]
55
+ required :installments_outstanding, Integer
56
+
57
+ # @!attribute installments_paid
58
+ # Number of installments that have been paid off
59
+ #
60
+ # @return [Integer]
61
+ required :installments_paid, Integer
62
+
63
+ # @!attribute num_installments
64
+ # Number of installments the plan is broken into
65
+ #
66
+ # @return [Integer]
67
+ required :num_installments, Integer
68
+
69
+ # @!attribute principal_amount
70
+ # Balance the plan was opened on in cents, excluding the enrollment fee
71
+ #
72
+ # @return [Integer]
73
+ required :principal_amount, Integer
74
+
75
+ # @!attribute source_amounts
76
+ # Balance the plan was opened on, broken out by category, or null if it was not
77
+ # recorded
78
+ #
79
+ # @return [Lithic::Models::FinancialAccounts::TransactionCategoryBalances, nil]
80
+ required :source_amounts, -> { Lithic::FinancialAccounts::TransactionCategoryBalances }, nil?: true
81
+
82
+ # @!attribute source_id
83
+ # Identifier of the record the plan was opened from, such as the closing statement
84
+ # for an unpaid balance
85
+ #
86
+ # @return [String]
87
+ required :source_id, String
88
+
89
+ # @!attribute source_type
90
+ #
91
+ # @return [Symbol, Lithic::Models::FinancialAccounts::InstallmentPlan::SourceType]
92
+ required :source_type, enum: -> { Lithic::FinancialAccounts::InstallmentPlan::SourceType }
93
+
94
+ # @!attribute start_date
95
+ # Date the plan was created
96
+ #
97
+ # @return [Date]
98
+ required :start_date, Date
99
+
100
+ # @!attribute state
101
+ # State of the installment plan. A plan is REBUILD_IN_PROGRESS while its loan
102
+ # tapes are being rebuilt, during which its payment totals are being recomputed
103
+ # and should not be treated as final
104
+ #
105
+ # @return [Symbol, Lithic::Models::FinancialAccounts::InstallmentPlan::State]
106
+ required :state, enum: -> { Lithic::FinancialAccounts::InstallmentPlan::State }
107
+
108
+ # @!attribute total_paid
109
+ # Amount paid towards the plan to date in cents
110
+ #
111
+ # @return [Integer]
112
+ required :total_paid, Integer
113
+
114
+ # @!attribute updated
115
+ # Timestamp of when the installment plan was updated
116
+ #
117
+ # @return [Time]
118
+ required :updated, Time
119
+
120
+ # @!method initialize(token:, closed_at:, created:, fee_amount:, financial_account_token:, installment_plan_total:, installments:, installments_outstanding:, installments_paid:, num_installments:, principal_amount:, source_amounts:, source_id:, source_type:, start_date:, state:, total_paid:, updated:)
121
+ # Some parameter documentations has been truncated, see
122
+ # {Lithic::Models::FinancialAccounts::InstallmentPlan} for more details.
123
+ #
124
+ # @param token [String] Globally unique identifier for an installment plan
125
+ #
126
+ # @param closed_at [Date, nil] Date the plan was paid off or cancelled, or null while it is still open
127
+ #
128
+ # @param created [Time] Timestamp of when the installment plan was created
129
+ #
130
+ # @param fee_amount [Integer] Enrollment fee charged when the plan was created in cents
131
+ #
132
+ # @param financial_account_token [String] Globally unique identifier for a financial account
133
+ #
134
+ # @param installment_plan_total [Integer] Total owed on the plan in cents, the principal amount plus the enrollment fee
135
+ #
136
+ # @param installments [Array<Lithic::Models::FinancialAccounts::InstallmentPlan::Installment>] Installments that make up the plan, oldest first
137
+ #
138
+ # @param installments_outstanding [Integer] Number of installments that still carry a balance
139
+ #
140
+ # @param installments_paid [Integer] Number of installments that have been paid off
141
+ #
142
+ # @param num_installments [Integer] Number of installments the plan is broken into
143
+ #
144
+ # @param principal_amount [Integer] Balance the plan was opened on in cents, excluding the enrollment fee
145
+ #
146
+ # @param source_amounts [Lithic::Models::FinancialAccounts::TransactionCategoryBalances, nil] Balance the plan was opened on, broken out by category, or null if it was not re
147
+ #
148
+ # @param source_id [String] Identifier of the record the plan was opened from, such as the closing statement
149
+ #
150
+ # @param source_type [Symbol, Lithic::Models::FinancialAccounts::InstallmentPlan::SourceType]
151
+ #
152
+ # @param start_date [Date] Date the plan was created
153
+ #
154
+ # @param state [Symbol, Lithic::Models::FinancialAccounts::InstallmentPlan::State] State of the installment plan. A plan is REBUILD_IN_PROGRESS while its loan tape
155
+ #
156
+ # @param total_paid [Integer] Amount paid towards the plan to date in cents
157
+ #
158
+ # @param updated [Time] Timestamp of when the installment plan was updated
159
+
160
+ class Installment < Lithic::Internal::Type::BaseModel
161
+ # @!attribute amount_due
162
+ # Amount the installment was opened for in cents
163
+ #
164
+ # @return [Integer]
165
+ required :amount_due, Integer
166
+
167
+ # @!attribute amount_due_details
168
+ #
169
+ # @return [Lithic::Models::FinancialAccounts::TransactionCategoryBalances]
170
+ required :amount_due_details, -> { Lithic::FinancialAccounts::TransactionCategoryBalances }
171
+
172
+ # @!attribute amount_outstanding
173
+ # Amount still owed on the installment in cents
174
+ #
175
+ # @return [Integer]
176
+ required :amount_outstanding, Integer
177
+
178
+ # @!attribute amount_outstanding_details
179
+ #
180
+ # @return [Lithic::Models::FinancialAccounts::TransactionCategoryBalances]
181
+ required :amount_outstanding_details, -> { Lithic::FinancialAccounts::TransactionCategoryBalances }
182
+
183
+ # @!attribute amount_paid
184
+ # Amount paid towards the installment in cents
185
+ #
186
+ # @return [Integer]
187
+ required :amount_paid, Integer
188
+
189
+ # @!attribute amount_paid_details
190
+ #
191
+ # @return [Lithic::Models::FinancialAccounts::TransactionCategoryBalances]
192
+ required :amount_paid_details, -> { Lithic::FinancialAccounts::TransactionCategoryBalances }
193
+
194
+ # @!attribute date_assessed
195
+ # Date the installment was actually assessed onto the account, or null if it has
196
+ # not been assessed yet
197
+ #
198
+ # @return [Date, nil]
199
+ required :date_assessed, Date, nil?: true
200
+
201
+ # @!attribute due_date
202
+ # Date the installment is scheduled to be assessed onto the account
203
+ #
204
+ # @return [Date]
205
+ required :due_date, Date
206
+
207
+ # @!attribute installment_num
208
+ # Position of this installment within the plan, starting at 0
209
+ #
210
+ # @return [Integer]
211
+ required :installment_num, Integer
212
+
213
+ # @!attribute payment_due_date
214
+ # Date the installment must be paid by before it is considered past due
215
+ #
216
+ # @return [Date]
217
+ required :payment_due_date, Date
218
+
219
+ # @!attribute payments
220
+ # Payments applied to this installment, oldest first
221
+ #
222
+ # @return [Array<Lithic::Models::FinancialAccounts::InstallmentPlan::Installment::Payment>]
223
+ required :payments,
224
+ -> { Lithic::Internal::Type::ArrayOf[Lithic::FinancialAccounts::InstallmentPlan::Installment::Payment] }
225
+
226
+ # @!method initialize(amount_due:, amount_due_details:, amount_outstanding:, amount_outstanding_details:, amount_paid:, amount_paid_details:, date_assessed:, due_date:, installment_num:, payment_due_date:, payments:)
227
+ # Some parameter documentations has been truncated, see
228
+ # {Lithic::Models::FinancialAccounts::InstallmentPlan::Installment} for more
229
+ # details.
230
+ #
231
+ # @param amount_due [Integer] Amount the installment was opened for in cents
232
+ #
233
+ # @param amount_due_details [Lithic::Models::FinancialAccounts::TransactionCategoryBalances]
234
+ #
235
+ # @param amount_outstanding [Integer] Amount still owed on the installment in cents
236
+ #
237
+ # @param amount_outstanding_details [Lithic::Models::FinancialAccounts::TransactionCategoryBalances]
238
+ #
239
+ # @param amount_paid [Integer] Amount paid towards the installment in cents
240
+ #
241
+ # @param amount_paid_details [Lithic::Models::FinancialAccounts::TransactionCategoryBalances]
242
+ #
243
+ # @param date_assessed [Date, nil] Date the installment was actually assessed onto the account, or null if it has n
244
+ #
245
+ # @param due_date [Date] Date the installment is scheduled to be assessed onto the account
246
+ #
247
+ # @param installment_num [Integer] Position of this installment within the plan, starting at 0
248
+ #
249
+ # @param payment_due_date [Date] Date the installment must be paid by before it is considered past due
250
+ #
251
+ # @param payments [Array<Lithic::Models::FinancialAccounts::InstallmentPlan::Installment::Payment>] Payments applied to this installment, oldest first
252
+
253
+ class Payment < Lithic::Internal::Type::BaseModel
254
+ # @!attribute amount
255
+ # Amount applied to the installment in cents
256
+ #
257
+ # @return [Integer]
258
+ required :amount, Integer
259
+
260
+ # @!attribute amount_details
261
+ #
262
+ # @return [Lithic::Models::FinancialAccounts::TransactionCategoryBalances]
263
+ required :amount_details, -> { Lithic::FinancialAccounts::TransactionCategoryBalances }
264
+
265
+ # @!attribute date
266
+ # Date the payment was applied to the installment
267
+ #
268
+ # @return [Date]
269
+ required :date, Date
270
+
271
+ # @!method initialize(amount:, amount_details:, date:)
272
+ # @param amount [Integer] Amount applied to the installment in cents
273
+ #
274
+ # @param amount_details [Lithic::Models::FinancialAccounts::TransactionCategoryBalances]
275
+ #
276
+ # @param date [Date] Date the payment was applied to the installment
277
+ end
278
+ end
279
+
280
+ # @see Lithic::Models::FinancialAccounts::InstallmentPlan#source_type
281
+ module SourceType
282
+ extend Lithic::Internal::Type::Enum
283
+
284
+ UNPAID_BALANCE = :UNPAID_BALANCE
285
+ TRANSACTION = :TRANSACTION
286
+
287
+ # @!method self.values
288
+ # @return [Array<Symbol>]
289
+ end
290
+
291
+ # State of the installment plan. A plan is REBUILD_IN_PROGRESS while its loan
292
+ # tapes are being rebuilt, during which its payment totals are being recomputed
293
+ # and should not be treated as final
294
+ #
295
+ # @see Lithic::Models::FinancialAccounts::InstallmentPlan#state
296
+ module State
297
+ extend Lithic::Internal::Type::Enum
298
+
299
+ PENDING = :PENDING
300
+ ACTIVE = :ACTIVE
301
+ REBUILD_IN_PROGRESS = :REBUILD_IN_PROGRESS
302
+ FULLY_PAID = :FULLY_PAID
303
+ CANCELLED = :CANCELLED
304
+
305
+ # @!method self.values
306
+ # @return [Array<Symbol>]
307
+ end
308
+ end
309
+ end
310
+ end
311
+ end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ # @see Lithic::Resources::FinancialAccounts::InstallmentPlans#list
7
+ class InstallmentPlanListParams < Lithic::Internal::Type::BaseModel
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!attribute financial_account_token
12
+ # Globally unique identifier for financial account.
13
+ #
14
+ # @return [String]
15
+ required :financial_account_token, String
16
+
17
+ # @!attribute ending_before
18
+ # A cursor representing an item's token before which a page of results should end.
19
+ # Used to retrieve the previous page of results before this item.
20
+ #
21
+ # @return [String, nil]
22
+ optional :ending_before, String
23
+
24
+ # @!attribute page_size
25
+ # Page size (for pagination).
26
+ #
27
+ # @return [Integer, nil]
28
+ optional :page_size, Integer
29
+
30
+ # @!attribute starting_after
31
+ # A cursor representing an item's token after which a page of results should
32
+ # begin. Used to retrieve the next page of results after this item.
33
+ #
34
+ # @return [String, nil]
35
+ optional :starting_after, String
36
+
37
+ # @!attribute state
38
+ # Only installment plans in this state will be included.
39
+ #
40
+ # @return [Symbol, Lithic::Models::FinancialAccounts::InstallmentPlanListParams::State, nil]
41
+ optional :state, enum: -> { Lithic::FinancialAccounts::InstallmentPlanListParams::State }, nil?: true
42
+
43
+ # @!method initialize(financial_account_token:, ending_before: nil, page_size: nil, starting_after: nil, state: nil, request_options: {})
44
+ # Some parameter documentations has been truncated, see
45
+ # {Lithic::Models::FinancialAccounts::InstallmentPlanListParams} for more details.
46
+ #
47
+ # @param financial_account_token [String] Globally unique identifier for financial account.
48
+ #
49
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
50
+ #
51
+ # @param page_size [Integer] Page size (for pagination).
52
+ #
53
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
54
+ #
55
+ # @param state [Symbol, Lithic::Models::FinancialAccounts::InstallmentPlanListParams::State, nil] Only installment plans in this state will be included.
56
+ #
57
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
58
+
59
+ # Only installment plans in this state will be included.
60
+ module State
61
+ extend Lithic::Internal::Type::Enum
62
+
63
+ PENDING = :PENDING
64
+ ACTIVE = :ACTIVE
65
+ REBUILD_IN_PROGRESS = :REBUILD_IN_PROGRESS
66
+ FULLY_PAID = :FULLY_PAID
67
+ CANCELLED = :CANCELLED
68
+
69
+ # @!method self.values
70
+ # @return [Array<Symbol>]
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module FinancialAccounts
6
+ # @see Lithic::Resources::FinancialAccounts::InstallmentPlans#retrieve
7
+ class InstallmentPlanRetrieveParams < Lithic::Internal::Type::BaseModel
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!attribute financial_account_token
12
+ # Globally unique identifier for financial account.
13
+ #
14
+ # @return [String]
15
+ required :financial_account_token, String
16
+
17
+ # @!attribute installment_plan_token
18
+ # Globally unique identifier for installment plan.
19
+ #
20
+ # @return [String]
21
+ required :installment_plan_token, String
22
+
23
+ # @!method initialize(financial_account_token:, installment_plan_token:, request_options: {})
24
+ # @param financial_account_token [String] Globally unique identifier for financial account.
25
+ #
26
+ # @param installment_plan_token [String] Globally unique identifier for installment plan.
27
+ #
28
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
29
+ end
30
+ end
31
+ end
32
+ end