lithic 0.20.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.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/models/account_activity_list_params.rb +1 -0
  5. data/lib/lithic/models/account_activity_list_response.rb +1 -0
  6. data/lib/lithic/models/account_activity_retrieve_transaction_response.rb +1 -0
  7. data/lib/lithic/models/auth_rules/auth_rule.rb +5 -0
  8. data/lib/lithic/models/auth_rules/report_stats.rb +1 -0
  9. data/lib/lithic/models/auth_rules/v2_create_params.rb +15 -0
  10. data/lib/lithic/models/auth_rules/v2_list_results_response.rb +1 -0
  11. data/lib/lithic/models/blockchain_recipient_retrieve_params.rb +20 -0
  12. data/lib/lithic/models/card_pin_updated_webhook_event.rb +87 -0
  13. data/lib/lithic/models/event.rb +5 -0
  14. data/lib/lithic/models/event_list_params.rb +3 -0
  15. data/lib/lithic/models/event_subscription.rb +3 -0
  16. data/lib/lithic/models/events/subscription_create_params.rb +3 -0
  17. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +1 -0
  18. data/lib/lithic/models/events/subscription_update_params.rb +3 -0
  19. data/lib/lithic/models/external_payment.rb +6 -0
  20. data/lib/lithic/models/external_payment_create_params.rb +1 -0
  21. data/lib/lithic/models/external_payment_list_params.rb +1 -0
  22. data/lib/lithic/models/financial_accounts/installment_plan.rb +311 -0
  23. data/lib/lithic/models/financial_accounts/installment_plan_list_params.rb +75 -0
  24. data/lib/lithic/models/financial_accounts/installment_plan_retrieve_params.rb +32 -0
  25. data/lib/lithic/models/financial_accounts/open_to_buy.rb +36 -0
  26. data/lib/lithic/models/financial_accounts/open_to_buy_retrieve_params.rb +22 -0
  27. data/lib/lithic/models/financial_accounts/open_to_buy_summary.rb +46 -0
  28. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +10 -0
  29. data/lib/lithic/models/financial_accounts/transaction_category_balances.rb +34 -0
  30. data/lib/lithic/models/financial_event.rb +9 -0
  31. data/lib/lithic/models/management_operation_create_params.rb +4 -0
  32. data/lib/lithic/models/management_operation_transaction.rb +4 -0
  33. data/lib/lithic/models/parsed_webhook_event.rb +3 -1
  34. data/lib/lithic/models/payment.rb +1 -0
  35. data/lib/lithic/models/payment_create_stablecoin_params.rb +99 -0
  36. data/lib/lithic/models/payment_create_stablecoin_response.rb +19 -0
  37. data/lib/lithic/models/payment_list_params.rb +1 -0
  38. data/lib/lithic/models/payment_retry_params.rb +28 -1
  39. data/lib/lithic/models/payment_simulate_action_params.rb +1 -0
  40. data/lib/lithic/models/three_ds_authentication.rb +126 -1
  41. data/lib/lithic/models/transaction.rb +2 -0
  42. data/lib/lithic/models.rb +6 -0
  43. data/lib/lithic/resources/blockchain_recipients.rb +23 -0
  44. data/lib/lithic/resources/cards.rb +4 -2
  45. data/lib/lithic/resources/financial_accounts/installment_plans.rb +82 -0
  46. data/lib/lithic/resources/financial_accounts/open_to_buy.rb +48 -0
  47. data/lib/lithic/resources/financial_accounts.rb +8 -0
  48. data/lib/lithic/resources/payments.rb +71 -3
  49. data/lib/lithic/version.rb +1 -1
  50. data/lib/lithic.rb +13 -0
  51. data/rbi/lithic/models/account_activity_list_params.rbi +5 -0
  52. data/rbi/lithic/models/account_activity_list_response.rbi +5 -0
  53. data/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +5 -0
  54. data/rbi/lithic/models/auth_rules/auth_rule.rbi +7 -0
  55. data/rbi/lithic/models/auth_rules/report_stats.rbi +5 -0
  56. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +33 -0
  57. data/rbi/lithic/models/auth_rules/v2_list_results_response.rbi +5 -0
  58. data/rbi/lithic/models/blockchain_recipient_retrieve_params.rbi +41 -0
  59. data/rbi/lithic/models/card_pin_updated_webhook_event.rbi +166 -0
  60. data/rbi/lithic/models/event.rbi +8 -0
  61. data/rbi/lithic/models/event_list_params.rbi +7 -0
  62. data/rbi/lithic/models/event_subscription.rbi +7 -0
  63. data/rbi/lithic/models/events/subscription_create_params.rbi +7 -0
  64. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +5 -0
  65. data/rbi/lithic/models/events/subscription_update_params.rbi +7 -0
  66. data/rbi/lithic/models/external_payment.rbi +30 -0
  67. data/rbi/lithic/models/external_payment_create_params.rbi +5 -0
  68. data/rbi/lithic/models/external_payment_list_params.rbi +5 -0
  69. data/rbi/lithic/models/financial_accounts/installment_plan.rbi +528 -0
  70. data/rbi/lithic/models/financial_accounts/installment_plan_list_params.rbi +155 -0
  71. data/rbi/lithic/models/financial_accounts/installment_plan_retrieve_params.rbi +56 -0
  72. data/rbi/lithic/models/financial_accounts/open_to_buy.rbi +64 -0
  73. data/rbi/lithic/models/financial_accounts/open_to_buy_retrieve_params.rbi +43 -0
  74. data/rbi/lithic/models/financial_accounts/open_to_buy_summary.rbi +73 -0
  75. data/rbi/lithic/models/financial_accounts/statements/statement_line_items.rbi +50 -0
  76. data/rbi/lithic/models/financial_accounts/transaction_category_balances.rbi +81 -0
  77. data/rbi/lithic/models/financial_event.rbi +35 -0
  78. data/rbi/lithic/models/management_operation_create_params.rbi +20 -0
  79. data/rbi/lithic/models/management_operation_transaction.rbi +20 -0
  80. data/rbi/lithic/models/parsed_webhook_event.rbi +1 -0
  81. data/rbi/lithic/models/payment.rbi +2 -0
  82. data/rbi/lithic/models/payment_create_stablecoin_params.rbi +162 -0
  83. data/rbi/lithic/models/payment_create_stablecoin_response.rbi +34 -0
  84. data/rbi/lithic/models/payment_list_params.rbi +2 -0
  85. data/rbi/lithic/models/payment_retry_params.rbi +47 -2
  86. data/rbi/lithic/models/payment_simulate_action_params.rbi +5 -0
  87. data/rbi/lithic/models/three_ds_authentication.rbi +292 -0
  88. data/rbi/lithic/models/transaction.rbi +10 -0
  89. data/rbi/lithic/models.rbi +7 -0
  90. data/rbi/lithic/resources/blockchain_recipients.rbi +14 -0
  91. data/rbi/lithic/resources/cards.rbi +4 -2
  92. data/rbi/lithic/resources/financial_accounts/installment_plans.rbi +66 -0
  93. data/rbi/lithic/resources/financial_accounts/open_to_buy.rbi +40 -0
  94. data/rbi/lithic/resources/financial_accounts.rbi +6 -0
  95. data/rbi/lithic/resources/payments.rbi +68 -2
  96. data/rbi/lithic/resources/webhooks.rbi +1 -0
  97. data/sig/lithic/models/account_activity_list_params.rbs +2 -0
  98. data/sig/lithic/models/account_activity_list_response.rbs +2 -0
  99. data/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +2 -0
  100. data/sig/lithic/models/auth_rules/auth_rule.rbs +2 -0
  101. data/sig/lithic/models/auth_rules/report_stats.rbs +2 -0
  102. data/sig/lithic/models/auth_rules/v2_create_params.rbs +6 -0
  103. data/sig/lithic/models/auth_rules/v2_list_results_response.rbs +2 -0
  104. data/sig/lithic/models/blockchain_recipient_retrieve_params.rbs +24 -0
  105. data/sig/lithic/models/card_pin_updated_webhook_event.rbs +60 -0
  106. data/sig/lithic/models/event.rbs +2 -0
  107. data/sig/lithic/models/event_list_params.rbs +2 -0
  108. data/sig/lithic/models/event_subscription.rbs +2 -0
  109. data/sig/lithic/models/events/subscription_create_params.rbs +2 -0
  110. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +2 -0
  111. data/sig/lithic/models/events/subscription_update_params.rbs +2 -0
  112. data/sig/lithic/models/external_payment.rbs +12 -0
  113. data/sig/lithic/models/external_payment_create_params.rbs +2 -0
  114. data/sig/lithic/models/external_payment_list_params.rbs +2 -0
  115. data/sig/lithic/models/financial_accounts/installment_plan.rbs +227 -0
  116. data/sig/lithic/models/financial_accounts/installment_plan_list_params.rbs +69 -0
  117. data/sig/lithic/models/financial_accounts/installment_plan_retrieve_params.rbs +30 -0
  118. data/sig/lithic/models/financial_accounts/open_to_buy.rbs +27 -0
  119. data/sig/lithic/models/financial_accounts/open_to_buy_retrieve_params.rbs +26 -0
  120. data/sig/lithic/models/financial_accounts/open_to_buy_summary.rbs +32 -0
  121. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +20 -0
  122. data/sig/lithic/models/financial_accounts/transaction_category_balances.rbs +32 -0
  123. data/sig/lithic/models/financial_event.rbs +18 -0
  124. data/sig/lithic/models/management_operation_create_params.rbs +8 -0
  125. data/sig/lithic/models/management_operation_transaction.rbs +8 -0
  126. data/sig/lithic/models/parsed_webhook_event.rbs +1 -0
  127. data/sig/lithic/models/payment.rbs +2 -0
  128. data/sig/lithic/models/payment_create_stablecoin_params.rbs +84 -0
  129. data/sig/lithic/models/payment_create_stablecoin_response.rbs +15 -0
  130. data/sig/lithic/models/payment_list_params.rbs +2 -1
  131. data/sig/lithic/models/payment_retry_params.rbs +24 -1
  132. data/sig/lithic/models/payment_simulate_action_params.rbs +2 -0
  133. data/sig/lithic/models/three_ds_authentication.rbs +77 -0
  134. data/sig/lithic/models/transaction.rbs +4 -0
  135. data/sig/lithic/models.rbs +6 -0
  136. data/sig/lithic/resources/blockchain_recipients.rbs +5 -0
  137. data/sig/lithic/resources/financial_accounts/installment_plans.rbs +24 -0
  138. data/sig/lithic/resources/financial_accounts/open_to_buy.rbs +14 -0
  139. data/sig/lithic/resources/financial_accounts.rbs +4 -0
  140. data/sig/lithic/resources/payments.rbs +12 -0
  141. data/sig/lithic/resources/webhooks.rbs +1 -0
  142. metadata +41 -2
@@ -42,6 +42,8 @@ module Lithic
42
42
 
43
43
  variant -> { Lithic::CardConvertedWebhookEvent }
44
44
 
45
+ variant -> { Lithic::CardPinUpdatedWebhookEvent }
46
+
45
47
  variant -> { Lithic::CardRenewedWebhookEvent }
46
48
 
47
49
  variant -> { Lithic::CardReissuedWebhookEvent }
@@ -830,7 +832,7 @@ module Lithic
830
832
  end
831
833
 
832
834
  # @!method self.variants
833
- # @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::CardAuthorizationChallengeWebhookEvent, Lithic::Models::CardAuthorizationChallengeResponseWebhookEvent, 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::ClaimCreatedWebhookEvent, Lithic::Models::ClaimUpdatedWebhookEvent, Lithic::Models::ClaimDocumentUploadedWebhookEvent, Lithic::Models::ClaimDocumentAcceptedWebhookEvent, Lithic::Models::ClaimDocumentRejectedWebhookEvent, Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent, Lithic::Models::DigitalWalletTokenizationResultWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::DigitalWalletTokenizationUpdatedWebhookEvent, Lithic::Models::DisputeUpdatedWebhookEvent, Lithic::Models::DisputeEvidenceUploadFailedWebhookEvent, Lithic::Models::EmbedSessionGeneratedWebhookEvent, Lithic::Models::EmbedViewedWebhookEvent, 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)]
835
+ # @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::CardAuthorizationChallengeWebhookEvent, Lithic::Models::CardAuthorizationChallengeResponseWebhookEvent, Lithic::Models::AuthRulesBacktestReportCreatedWebhookEvent, Lithic::Models::BalanceUpdatedWebhookEvent, Lithic::Models::BookTransferTransactionCreatedWebhookEvent, Lithic::Models::BookTransferTransactionUpdatedWebhookEvent, Lithic::Models::CardCreatedWebhookEvent, Lithic::Models::CardConvertedWebhookEvent, Lithic::Models::CardPinUpdatedWebhookEvent, Lithic::Models::CardRenewedWebhookEvent, Lithic::Models::CardReissuedWebhookEvent, Lithic::Models::CardShippedWebhookEvent, Lithic::Models::CardUpdatedWebhookEvent, Lithic::Models::CardTransactionUpdatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataCreatedWebhookEvent, Lithic::Models::CardTransactionEnhancedDataUpdatedWebhookEvent, Lithic::Models::ClaimCreatedWebhookEvent, Lithic::Models::ClaimUpdatedWebhookEvent, Lithic::Models::ClaimDocumentUploadedWebhookEvent, Lithic::Models::ClaimDocumentAcceptedWebhookEvent, Lithic::Models::ClaimDocumentRejectedWebhookEvent, Lithic::Models::DigitalWalletTokenizationApprovalRequestWebhookEvent, Lithic::Models::DigitalWalletTokenizationResultWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeWebhookEvent, Lithic::Models::DigitalWalletTokenizationTwoFactorAuthenticationCodeSentWebhookEvent, Lithic::Models::DigitalWalletTokenizationUpdatedWebhookEvent, Lithic::Models::DisputeUpdatedWebhookEvent, Lithic::Models::DisputeEvidenceUploadFailedWebhookEvent, Lithic::Models::EmbedSessionGeneratedWebhookEvent, Lithic::Models::EmbedViewedWebhookEvent, 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)]
834
836
  end
835
837
  end
836
838
  end
@@ -222,6 +222,7 @@ module Lithic
222
222
  EXTERNAL_CHECK = :EXTERNAL_CHECK
223
223
  EXTERNAL_FEDNOW = :EXTERNAL_FEDNOW
224
224
  EXTERNAL_RTP = :EXTERNAL_RTP
225
+ EXTERNAL_STABLECOIN = :EXTERNAL_STABLECOIN
225
226
  EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER
226
227
  EXTERNAL_WIRE = :EXTERNAL_WIRE
227
228
  MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT
@@ -0,0 +1,99 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::Payments#create_stablecoin
6
+ class PaymentCreateStablecoinParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ # @!attribute amount
11
+ # Payout amount in cents
12
+ #
13
+ # @return [Integer]
14
+ required :amount, Integer
15
+
16
+ # @!attribute blockchain_recipient_token
17
+ # Token of the blockchain recipient to send the payout to. The recipient must be
18
+ # in the `ENABLED` verification state
19
+ #
20
+ # @return [String]
21
+ required :blockchain_recipient_token, String
22
+
23
+ # @!attribute financial_account_token
24
+ # Token of the financial account the payout is funded from
25
+ #
26
+ # @return [String]
27
+ required :financial_account_token, String
28
+
29
+ # @!attribute type
30
+ # Direction of the payment. Stablecoin supports payouts only
31
+ #
32
+ # @return [Symbol, Lithic::Models::PaymentCreateStablecoinParams::Type]
33
+ required :type, enum: -> { Lithic::PaymentCreateStablecoinParams::Type }
34
+
35
+ # @!attribute token
36
+ # Customer-provided token that will serve as an idempotency token. This token will
37
+ # become the transaction token
38
+ #
39
+ # @return [String, nil]
40
+ optional :token, String
41
+
42
+ # @!attribute hold
43
+ # Optional hold to settle when this payout is initiated
44
+ #
45
+ # @return [Lithic::Models::PaymentCreateStablecoinParams::Hold, nil]
46
+ optional :hold, -> { Lithic::PaymentCreateStablecoinParams::Hold }
47
+
48
+ # @!attribute memo
49
+ # Memo recorded on the payout. Defaults to `Stablecoin payout on <chain>` when
50
+ # omitted
51
+ #
52
+ # @return [String, nil]
53
+ optional :memo, String
54
+
55
+ # @!method initialize(amount:, blockchain_recipient_token:, financial_account_token:, type:, token: nil, hold: nil, memo: nil, request_options: {})
56
+ # Some parameter documentations has been truncated, see
57
+ # {Lithic::Models::PaymentCreateStablecoinParams} for more details.
58
+ #
59
+ # @param amount [Integer] Payout amount in cents
60
+ #
61
+ # @param blockchain_recipient_token [String] Token of the blockchain recipient to send the payout to. The recipient must be i
62
+ #
63
+ # @param financial_account_token [String] Token of the financial account the payout is funded from
64
+ #
65
+ # @param type [Symbol, Lithic::Models::PaymentCreateStablecoinParams::Type] Direction of the payment. Stablecoin supports payouts only
66
+ #
67
+ # @param token [String] Customer-provided token that will serve as an idempotency token. This token will
68
+ #
69
+ # @param hold [Lithic::Models::PaymentCreateStablecoinParams::Hold] Optional hold to settle when this payout is initiated
70
+ #
71
+ # @param memo [String] Memo recorded on the payout. Defaults to `Stablecoin payout on <chain>` when omi
72
+ #
73
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
74
+
75
+ # Direction of the payment. Stablecoin supports payouts only
76
+ module Type
77
+ extend Lithic::Internal::Type::Enum
78
+
79
+ PAYMENT = :PAYMENT
80
+
81
+ # @!method self.values
82
+ # @return [Array<Symbol>]
83
+ end
84
+
85
+ class Hold < Lithic::Internal::Type::BaseModel
86
+ # @!attribute token
87
+ # Token of the hold to settle when this payout is initiated
88
+ #
89
+ # @return [String]
90
+ required :token, String
91
+
92
+ # @!method initialize(token:)
93
+ # Optional hold to settle when this payout is initiated
94
+ #
95
+ # @param token [String] Token of the hold to settle when this payout is initiated
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::Payments#create_stablecoin
6
+ class PaymentCreateStablecoinResponse < Lithic::Models::Payment
7
+ # @!attribute balance
8
+ # Balance
9
+ #
10
+ # @return [Lithic::Models::Balance, nil]
11
+ optional :balance, -> { Lithic::Balance }
12
+
13
+ # @!method initialize(balance: nil)
14
+ # Payment transaction
15
+ #
16
+ # @param balance [Lithic::Models::Balance] Balance
17
+ end
18
+ end
19
+ end
@@ -103,6 +103,7 @@ module Lithic
103
103
  extend Lithic::Internal::Type::Enum
104
104
 
105
105
  ACH = :ACH
106
+ STABLECOIN = :STABLECOIN
106
107
 
107
108
  # @!method self.values
108
109
  # @return [Array<Symbol>]
@@ -12,9 +12,36 @@ module Lithic
12
12
  # @return [String]
13
13
  required :payment_token, String
14
14
 
15
- # @!method initialize(payment_token:, request_options: {})
15
+ # @!attribute method_
16
+ # Settlement speed to retry the payment at. Defaults to the original payment's
17
+ # method. An `ACH_SAME_DAY` retry is rejected if the payment is for $1,000,000.00
18
+ # or more, or if it is submitted after the same day ACH cutoff
19
+ #
20
+ # @return [Symbol, Lithic::Models::PaymentRetryParams::Method, nil]
21
+ optional :method_, enum: -> { Lithic::PaymentRetryParams::Method }, api_name: :method
22
+
23
+ # @!method initialize(payment_token:, method_: nil, request_options: {})
24
+ # Some parameter documentations has been truncated, see
25
+ # {Lithic::Models::PaymentRetryParams} for more details.
26
+ #
16
27
  # @param payment_token [String]
28
+ #
29
+ # @param method_ [Symbol, Lithic::Models::PaymentRetryParams::Method] Settlement speed to retry the payment at. Defaults to the original payment's met
30
+ #
17
31
  # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
32
+
33
+ # Settlement speed to retry the payment at. Defaults to the original payment's
34
+ # method. An `ACH_SAME_DAY` retry is rejected if the payment is for $1,000,000.00
35
+ # or more, or if it is submitted after the same day ACH cutoff
36
+ module Method
37
+ extend Lithic::Internal::Type::Enum
38
+
39
+ ACH_NEXT_DAY = :ACH_NEXT_DAY
40
+ ACH_SAME_DAY = :ACH_SAME_DAY
41
+
42
+ # @!method self.values
43
+ # @return [Array<Symbol>]
44
+ end
18
45
  end
19
46
  end
20
47
  end
@@ -71,6 +71,7 @@ module Lithic
71
71
  ACH_RETURN_INITIATED = :ACH_RETURN_INITIATED
72
72
  ACH_RETURN_PROCESSED = :ACH_RETURN_PROCESSED
73
73
  ACH_RETURN_SETTLED = :ACH_RETURN_SETTLED
74
+ STABLECOIN_REVIEWED = :STABLECOIN_REVIEWED
74
75
 
75
76
  # @!method self.values
76
77
  # @return [Array<Symbol>]
@@ -145,6 +145,14 @@ module Lithic
145
145
  # @return [Symbol, Lithic::Models::ThreeDSAuthentication::DecisionMadeBy, nil]
146
146
  optional :decision_made_by, enum: -> { Lithic::ThreeDSAuthentication::DecisionMadeBy }, nil?: true
147
147
 
148
+ # @!attribute psd2_context
149
+ # PSD2/SCA context for EEA and UK transactions. Present when Lithic determines the
150
+ # transaction is in scope for PSD2 Strong Customer Authentication. Absent for
151
+ # out-of-scope transactions.
152
+ #
153
+ # @return [Lithic::Models::ThreeDSAuthentication::Psd2Context, nil]
154
+ optional :psd2_context, -> { Lithic::ThreeDSAuthentication::Psd2Context }, nil?: true
155
+
148
156
  # @!attribute three_ri_request_type
149
157
  # Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that
150
158
  # takes place at the initiation of the merchant rather than the cardholder. The
@@ -164,7 +172,7 @@ module Lithic
164
172
  # @return [Lithic::Models::ThreeDSAuthentication::Transaction, nil]
165
173
  optional :transaction, -> { Lithic::ThreeDSAuthentication::Transaction }, nil?: true
166
174
 
167
- # @!method initialize(token:, account_type:, authentication_result:, card_expiry_check:, card_token:, cardholder:, channel:, created:, merchant:, message_category:, three_ds_requestor_challenge_indicator:, additional_data: nil, app: nil, authentication_request_type: nil, browser: nil, challenge_metadata: nil, challenge_orchestrated_by: nil, decision_made_by: nil, three_ri_request_type: nil, transaction: nil)
175
+ # @!method initialize(token:, account_type:, authentication_result:, card_expiry_check:, card_token:, cardholder:, channel:, created:, merchant:, message_category:, three_ds_requestor_challenge_indicator:, additional_data: nil, app: nil, authentication_request_type: nil, browser: nil, challenge_metadata: nil, challenge_orchestrated_by: nil, decision_made_by: nil, psd2_context: nil, three_ri_request_type: nil, transaction: nil)
168
176
  # Some parameter documentations has been truncated, see
169
177
  # {Lithic::Models::ThreeDSAuthentication} for more details.
170
178
  #
@@ -206,6 +214,8 @@ module Lithic
206
214
  #
207
215
  # @param decision_made_by [Symbol, Lithic::Models::ThreeDSAuthentication::DecisionMadeBy, nil] Entity that made the authentication decision. This won't be set for authenticati
208
216
  #
217
+ # @param psd2_context [Lithic::Models::ThreeDSAuthentication::Psd2Context, nil] PSD2/SCA context for EEA and UK transactions. Present when Lithic determines the
218
+ #
209
219
  # @param three_ri_request_type [Symbol, Lithic::Models::ThreeDSAuthentication::ThreeRiRequestType, nil] Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that
210
220
  #
211
221
  # @param transaction [Lithic::Models::ThreeDSAuthentication::Transaction, nil] Object containing data about the e-commerce transaction for which the merchant i
@@ -1142,6 +1152,121 @@ module Lithic
1142
1152
  # @return [Array<Symbol>]
1143
1153
  end
1144
1154
 
1155
+ # @see Lithic::Models::ThreeDSAuthentication#psd2_context
1156
+ class Psd2Context < Lithic::Internal::Type::BaseModel
1157
+ # @!attribute acquirer_exemption
1158
+ # SCA exemption declared by the acquirer in the 3DS authentication request.
1159
+ #
1160
+ # - `NONE` - No exemption claimed
1161
+ # - `TRANSACTION_RISK_ANALYSIS` - Transaction Risk Analysis (TRA) exemption;
1162
+ # acquirer asserts low fraud risk
1163
+ # - `LOW_VALUE` - Low-value payment exemption; transaction is below the EUR 30
1164
+ # threshold
1165
+ # - `RECURRING_PAYMENT` - Recurring payment with a fixed amount to the same payee
1166
+ # - `MERCHANT_INITIATED_TRANSACTION` - Merchant-initiated transaction (MIT);
1167
+ # cardholder not present
1168
+ # - `TRUSTED_BENEFICIARY` - Trusted beneficiary; merchant is on cardholder's
1169
+ # whitelist
1170
+ # - `STRONG_CUSTOMER_AUTHENTICATION_DELEGATION` - SCA already performed by a
1171
+ # delegated third-party authenticator
1172
+ # - `SECURE_CORPORATE_PAYMENT` - Secure corporate payment using a dedicated
1173
+ # corporate card or process
1174
+ # - `AUTHENTICATION_OUTAGE_EXCEPTION` - Authentication outage exception;
1175
+ # scheme-level fallback during ACS downtime
1176
+ # - `BUNDLED` - Mastercard only; bundled exemption code where the exact exemption
1177
+ # type cannot be distinguished
1178
+ #
1179
+ # @return [Symbol, Lithic::Models::ThreeDSAuthentication::Psd2Context::AcquirerExemption, nil]
1180
+ optional :acquirer_exemption, enum: -> { Lithic::ThreeDSAuthentication::Psd2Context::AcquirerExemption }
1181
+
1182
+ # @!attribute lithic_exemption_validation
1183
+ # Lithic's validation of the acquirer-declared exemption. Absent when no acquirer
1184
+ # exemption was declared.
1185
+ #
1186
+ # - `ACCEPTED` - Lithic signals support the acquirer's claim
1187
+ # - `REJECTED` - Lithic signals contradict the claim, or a required signal is
1188
+ # missing
1189
+ # - `NOT_VALIDATED` - Exemption was declared but Lithic has no basis to evaluate
1190
+ # it; treated as `REJECTED` for challenge purposes
1191
+ #
1192
+ # @return [Symbol, Lithic::Models::ThreeDSAuthentication::Psd2Context::LithicExemptionValidation, nil]
1193
+ optional :lithic_exemption_validation,
1194
+ enum: -> { Lithic::ThreeDSAuthentication::Psd2Context::LithicExemptionValidation }
1195
+
1196
+ # @!method initialize(acquirer_exemption: nil, lithic_exemption_validation: nil)
1197
+ # Some parameter documentations has been truncated, see
1198
+ # {Lithic::Models::ThreeDSAuthentication::Psd2Context} for more details.
1199
+ #
1200
+ # PSD2/SCA context for EEA and UK transactions. Present when Lithic determines the
1201
+ # transaction is in scope for PSD2 Strong Customer Authentication. Absent for
1202
+ # out-of-scope transactions.
1203
+ #
1204
+ # @param acquirer_exemption [Symbol, Lithic::Models::ThreeDSAuthentication::Psd2Context::AcquirerExemption] SCA exemption declared by the acquirer in the 3DS authentication request.
1205
+ #
1206
+ # @param lithic_exemption_validation [Symbol, Lithic::Models::ThreeDSAuthentication::Psd2Context::LithicExemptionValidation] Lithic's validation of the acquirer-declared exemption. Absent when no acquirer
1207
+
1208
+ # SCA exemption declared by the acquirer in the 3DS authentication request.
1209
+ #
1210
+ # - `NONE` - No exemption claimed
1211
+ # - `TRANSACTION_RISK_ANALYSIS` - Transaction Risk Analysis (TRA) exemption;
1212
+ # acquirer asserts low fraud risk
1213
+ # - `LOW_VALUE` - Low-value payment exemption; transaction is below the EUR 30
1214
+ # threshold
1215
+ # - `RECURRING_PAYMENT` - Recurring payment with a fixed amount to the same payee
1216
+ # - `MERCHANT_INITIATED_TRANSACTION` - Merchant-initiated transaction (MIT);
1217
+ # cardholder not present
1218
+ # - `TRUSTED_BENEFICIARY` - Trusted beneficiary; merchant is on cardholder's
1219
+ # whitelist
1220
+ # - `STRONG_CUSTOMER_AUTHENTICATION_DELEGATION` - SCA already performed by a
1221
+ # delegated third-party authenticator
1222
+ # - `SECURE_CORPORATE_PAYMENT` - Secure corporate payment using a dedicated
1223
+ # corporate card or process
1224
+ # - `AUTHENTICATION_OUTAGE_EXCEPTION` - Authentication outage exception;
1225
+ # scheme-level fallback during ACS downtime
1226
+ # - `BUNDLED` - Mastercard only; bundled exemption code where the exact exemption
1227
+ # type cannot be distinguished
1228
+ #
1229
+ # @see Lithic::Models::ThreeDSAuthentication::Psd2Context#acquirer_exemption
1230
+ module AcquirerExemption
1231
+ extend Lithic::Internal::Type::Enum
1232
+
1233
+ NONE = :NONE
1234
+ TRANSACTION_RISK_ANALYSIS = :TRANSACTION_RISK_ANALYSIS
1235
+ LOW_VALUE = :LOW_VALUE
1236
+ RECURRING_PAYMENT = :RECURRING_PAYMENT
1237
+ MERCHANT_INITIATED_TRANSACTION = :MERCHANT_INITIATED_TRANSACTION
1238
+ TRUSTED_BENEFICIARY = :TRUSTED_BENEFICIARY
1239
+ STRONG_CUSTOMER_AUTHENTICATION_DELEGATION = :STRONG_CUSTOMER_AUTHENTICATION_DELEGATION
1240
+ SECURE_CORPORATE_PAYMENT = :SECURE_CORPORATE_PAYMENT
1241
+ AUTHENTICATION_OUTAGE_EXCEPTION = :AUTHENTICATION_OUTAGE_EXCEPTION
1242
+ BUNDLED = :BUNDLED
1243
+
1244
+ # @!method self.values
1245
+ # @return [Array<Symbol>]
1246
+ end
1247
+
1248
+ # Lithic's validation of the acquirer-declared exemption. Absent when no acquirer
1249
+ # exemption was declared.
1250
+ #
1251
+ # - `ACCEPTED` - Lithic signals support the acquirer's claim
1252
+ # - `REJECTED` - Lithic signals contradict the claim, or a required signal is
1253
+ # missing
1254
+ # - `NOT_VALIDATED` - Exemption was declared but Lithic has no basis to evaluate
1255
+ # it; treated as `REJECTED` for challenge purposes
1256
+ #
1257
+ # @see Lithic::Models::ThreeDSAuthentication::Psd2Context#lithic_exemption_validation
1258
+ module LithicExemptionValidation
1259
+ extend Lithic::Internal::Type::Enum
1260
+
1261
+ ACCEPTED = :ACCEPTED
1262
+ REJECTED = :REJECTED
1263
+ NOT_VALIDATED = :NOT_VALIDATED
1264
+
1265
+ # @!method self.values
1266
+ # @return [Array<Symbol>]
1267
+ end
1268
+ end
1269
+
1145
1270
  # Type of 3DS Requestor Initiated (3RI) request — i.e., a 3DS authentication that
1146
1271
  # takes place at the initiation of the merchant rather than the cardholder. The
1147
1272
  # most common example of this is where a merchant is authenticating before billing
@@ -1060,6 +1060,7 @@ module Lithic
1060
1060
  PROGRAM_SUSPENDED = :PROGRAM_SUSPENDED
1061
1061
  PROGRAM_USAGE_RESTRICTION = :PROGRAM_USAGE_RESTRICTION
1062
1062
  REVERSAL_UNMATCHED = :REVERSAL_UNMATCHED
1063
+ SCA_REQUIRED = :SCA_REQUIRED
1063
1064
  SECURITY_VIOLATION = :SECURITY_VIOLATION
1064
1065
  SINGLE_USE_CARD_REATTEMPTED = :SINGLE_USE_CARD_REATTEMPTED
1065
1066
  SUSPECTED_FRAUD = :SUSPECTED_FRAUD
@@ -1390,6 +1391,7 @@ module Lithic
1390
1391
  PROGRAM_SUSPENDED = :PROGRAM_SUSPENDED
1391
1392
  PROGRAM_USAGE_RESTRICTION = :PROGRAM_USAGE_RESTRICTION
1392
1393
  REVERSAL_UNMATCHED = :REVERSAL_UNMATCHED
1394
+ SCA_REQUIRED = :SCA_REQUIRED
1393
1395
  SECURITY_VIOLATION = :SECURITY_VIOLATION
1394
1396
  SINGLE_USE_CARD_REATTEMPTED = :SINGLE_USE_CARD_REATTEMPTED
1395
1397
  SUSPECTED_FRAUD = :SUSPECTED_FRAUD
data/lib/lithic/models.rb CHANGED
@@ -116,6 +116,8 @@ module Lithic
116
116
 
117
117
  BlockchainRecipientCreateParams = Lithic::Models::BlockchainRecipientCreateParams
118
118
 
119
+ BlockchainRecipientRetrieveParams = Lithic::Models::BlockchainRecipientRetrieveParams
120
+
119
121
  BookTransferCreateParams = Lithic::Models::BookTransferCreateParams
120
122
 
121
123
  BookTransferListParams = Lithic::Models::BookTransferListParams
@@ -170,6 +172,8 @@ module Lithic
170
172
 
171
173
  CardListParams = Lithic::Models::CardListParams
172
174
 
175
+ CardPinUpdatedWebhookEvent = Lithic::Models::CardPinUpdatedWebhookEvent
176
+
173
177
  CardProgram = Lithic::Models::CardProgram
174
178
 
175
179
  CardProgramListParams = Lithic::Models::CardProgramListParams
@@ -475,6 +479,8 @@ module Lithic
475
479
 
476
480
  PaymentCreateParams = Lithic::Models::PaymentCreateParams
477
481
 
482
+ PaymentCreateStablecoinParams = Lithic::Models::PaymentCreateStablecoinParams
483
+
478
484
  PaymentListParams = Lithic::Models::PaymentListParams
479
485
 
480
486
  PaymentRetrieveParams = Lithic::Models::PaymentRetrieveParams
@@ -46,6 +46,29 @@ module Lithic
46
46
  )
47
47
  end
48
48
 
49
+ # Get a blockchain recipient by token
50
+ #
51
+ # Use this to poll the `verification_state` after registering an address: a
52
+ # recipient cannot receive a payout until screening completes and moves it out of
53
+ # `PENDING`
54
+ #
55
+ # @overload retrieve(blockchain_recipient_token, request_options: {})
56
+ #
57
+ # @param blockchain_recipient_token [String]
58
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
59
+ #
60
+ # @return [Lithic::Models::BlockchainRecipient]
61
+ #
62
+ # @see Lithic::Models::BlockchainRecipientRetrieveParams
63
+ def retrieve(blockchain_recipient_token, params = {})
64
+ @client.request(
65
+ method: :get,
66
+ path: ["v1/blockchain_recipients/%1$s", blockchain_recipient_token],
67
+ model: Lithic::BlockchainRecipient,
68
+ options: params[:request_options]
69
+ )
70
+ end
71
+
49
72
  # @api private
50
73
  #
51
74
  # @param client [Lithic::Client]
@@ -361,7 +361,8 @@ module Lithic
361
361
  # physically damaged). The PAN, expiry, and CVC2 will remain the same and the
362
362
  # original card can continue to be used until the new card is activated. Only
363
363
  # applies to cards of type `PHYSICAL`. A card can be reissued or renewed a total
364
- # of 8 times.
364
+ # of 8 times. Returns `409` if the card is still ongoing manufacturing when using
365
+ # Thales as a manufacturer.
365
366
  #
366
367
  # @overload reissue(card_token, carrier: nil, product_id: nil, shipping_address: nil, shipping_method: nil, request_options: {})
367
368
  #
@@ -402,7 +403,8 @@ module Lithic
402
403
  # `PHYSICAL` card can be reissued or renewed a total of 8 times. For `VIRTUAL`,
403
404
  # the card will retain the same card token and PAN and receive an updated expiry
404
405
  # and CVC2 code. `product_id`, `shipping_method`, `shipping_address`, `carrier`
405
- # are only relevant for renewing `PHYSICAL` cards.
406
+ # are only relevant for renewing `PHYSICAL` cards. Returns `409` if the card is
407
+ # still ongoing manufacturing when using Thales as a manufacturer.
406
408
  #
407
409
  # @overload renew(card_token, shipping_address:, carrier: nil, exp_month: nil, exp_year: nil, product_id: nil, shipping_method: nil, request_options: {})
408
410
  #
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class FinancialAccounts
6
+ class InstallmentPlans
7
+ # Get a specific installment plan for a given financial account.
8
+ #
9
+ # @overload retrieve(installment_plan_token, financial_account_token:, request_options: {})
10
+ #
11
+ # @param installment_plan_token [String] Globally unique identifier for installment plan.
12
+ #
13
+ # @param financial_account_token [String] Globally unique identifier for financial account.
14
+ #
15
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
16
+ #
17
+ # @return [Lithic::Models::FinancialAccounts::InstallmentPlan]
18
+ #
19
+ # @see Lithic::Models::FinancialAccounts::InstallmentPlanRetrieveParams
20
+ def retrieve(installment_plan_token, params)
21
+ parsed, options = Lithic::FinancialAccounts::InstallmentPlanRetrieveParams.dump_request(params)
22
+ financial_account_token =
23
+ parsed.delete(:financial_account_token) do
24
+ raise ArgumentError.new("missing required path argument #{_1}")
25
+ end
26
+ @client.request(
27
+ method: :get,
28
+ path: [
29
+ "v1/financial_accounts/%1$s/installment_plans/%2$s",
30
+ financial_account_token,
31
+ installment_plan_token
32
+ ],
33
+ model: Lithic::FinancialAccounts::InstallmentPlan,
34
+ options: options
35
+ )
36
+ end
37
+
38
+ # Some parameter documentations has been truncated, see
39
+ # {Lithic::Models::FinancialAccounts::InstallmentPlanListParams} for more details.
40
+ #
41
+ # List the installment plans for a given financial account.
42
+ #
43
+ # @overload list(financial_account_token, ending_before: nil, page_size: nil, starting_after: nil, state: nil, request_options: {})
44
+ #
45
+ # @param financial_account_token [String] Globally unique identifier for financial account.
46
+ #
47
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
48
+ #
49
+ # @param page_size [Integer] Page size (for pagination).
50
+ #
51
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
52
+ #
53
+ # @param state [Symbol, Lithic::Models::FinancialAccounts::InstallmentPlanListParams::State, nil] Only installment plans in this state will be included.
54
+ #
55
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
56
+ #
57
+ # @return [Lithic::Internal::CursorPage<Lithic::Models::FinancialAccounts::InstallmentPlan>]
58
+ #
59
+ # @see Lithic::Models::FinancialAccounts::InstallmentPlanListParams
60
+ def list(financial_account_token, params = {})
61
+ parsed, options = Lithic::FinancialAccounts::InstallmentPlanListParams.dump_request(params)
62
+ query = Lithic::Internal::Util.encode_query_params(parsed)
63
+ @client.request(
64
+ method: :get,
65
+ path: ["v1/financial_accounts/%1$s/installment_plans", financial_account_token],
66
+ query: query,
67
+ page: Lithic::Internal::CursorPage,
68
+ model: Lithic::FinancialAccounts::InstallmentPlan,
69
+ options: options
70
+ )
71
+ end
72
+
73
+ # @api private
74
+ #
75
+ # @param client [Lithic::Client]
76
+ def initialize(client:)
77
+ @client = client
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class FinancialAccounts
6
+ class OpenToBuy
7
+ # Get the funds available for card spend backed by a given Security Account, along
8
+ # with the balances that amount is derived from.
9
+ #
10
+ # Open to buy is the amount Lithic authorizes card spend against. It is not a
11
+ # stored balance, so it is recalculated on every request from the Security
12
+ # Account, the funds held against spend Lithic has already paid out to the
13
+ # networks on your behalf, and the spend that has not yet been collected. The
14
+ # accounts that feed the calculation depend on your program setup, so
15
+ # `summary.settled_funds` is `null` outside Commercial Charge.
16
+ #
17
+ # Supported for Commercial Charge, Dynamic Reserve, and Secured Charge programs.
18
+ # Returns `404` if `financial_account_token` is not a Security Account you own, or
19
+ # if your program setup does not use an open to buy calculation.
20
+ #
21
+ # @overload retrieve(financial_account_token, request_options: {})
22
+ #
23
+ # @param financial_account_token [String] Globally unique identifier for the Security Account to price
24
+ #
25
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
26
+ #
27
+ # @return [Lithic::Models::FinancialAccounts::FinancialAccountsOpenToBuy]
28
+ #
29
+ # @see Lithic::Models::FinancialAccounts::OpenToBuyRetrieveParams
30
+ def retrieve(financial_account_token, params = {})
31
+ @client.request(
32
+ method: :get,
33
+ path: ["v1/financial_accounts/%1$s/open_to_buy", financial_account_token],
34
+ model: Lithic::FinancialAccounts::FinancialAccountsOpenToBuy,
35
+ options: params[:request_options]
36
+ )
37
+ end
38
+
39
+ # @api private
40
+ #
41
+ # @param client [Lithic::Client]
42
+ def initialize(client:)
43
+ @client = client
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -6,6 +6,9 @@ module Lithic
6
6
  # @return [Lithic::Resources::FinancialAccounts::Balances]
7
7
  attr_reader :balances
8
8
 
9
+ # @return [Lithic::Resources::FinancialAccounts::OpenToBuy]
10
+ attr_reader :open_to_buy
11
+
9
12
  # @return [Lithic::Resources::FinancialAccounts::FinancialTransactions]
10
13
  attr_reader :financial_transactions
11
14
 
@@ -18,6 +21,9 @@ module Lithic
18
21
  # @return [Lithic::Resources::FinancialAccounts::LoanTapes]
19
22
  attr_reader :loan_tapes
20
23
 
24
+ # @return [Lithic::Resources::FinancialAccounts::InstallmentPlans]
25
+ attr_reader :installment_plans
26
+
21
27
  # @return [Lithic::Resources::FinancialAccounts::LoanTapeConfiguration]
22
28
  attr_reader :loan_tape_configuration
23
29
 
@@ -184,10 +190,12 @@ module Lithic
184
190
  def initialize(client:)
185
191
  @client = client
186
192
  @balances = Lithic::Resources::FinancialAccounts::Balances.new(client: client)
193
+ @open_to_buy = Lithic::Resources::FinancialAccounts::OpenToBuy.new(client: client)
187
194
  @financial_transactions = Lithic::Resources::FinancialAccounts::FinancialTransactions.new(client: client)
188
195
  @credit_configuration = Lithic::Resources::FinancialAccounts::CreditConfiguration.new(client: client)
189
196
  @statements = Lithic::Resources::FinancialAccounts::Statements.new(client: client)
190
197
  @loan_tapes = Lithic::Resources::FinancialAccounts::LoanTapes.new(client: client)
198
+ @installment_plans = Lithic::Resources::FinancialAccounts::InstallmentPlans.new(client: client)
191
199
  @loan_tape_configuration =
192
200
  Lithic::Resources::FinancialAccounts::LoanTapeConfiguration.new(client: client)
193
201
  @interest_tier_schedule = Lithic::Resources::FinancialAccounts::InterestTierSchedule.new(client: client)