From bc9dd5c574eb24959f3760ff9bd9f3c5240064cc Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 20 Aug 2025 22:11:11 +0000 Subject: [PATCH 1/5] chore: sync repo --- .release-please-manifest.json | 2 +- .rubocop.yml | 2 +- .stats.yml | 8 +- CHANGELOG.md | 10 - CONTRIBUTING.md | 2 +- Gemfile.lock | 90 +- README.md | 2 +- lib/lithic.rb | 8 +- lib/lithic/client.rb | 4 + lib/lithic/internal/transport/base_client.rb | 2 +- .../transport/pooled_net_requester.rb | 10 +- lib/lithic/internal/type/array_of.rb | 1 + lib/lithic/internal/type/base_model.rb | 4 +- lib/lithic/internal/type/converter.rb | 27 + lib/lithic/internal/type/hash_of.rb | 1 + lib/lithic/internal/type/union.rb | 16 +- lib/lithic/internal/util.rb | 2 +- lib/lithic/models.rb | 4 + .../models/account_activity_list_params.rb | 156 + .../models/account_activity_list_response.rb | 1447 +++++++ ...nt_activity_retrieve_transaction_params.rb | 14 + ..._activity_retrieve_transaction_response.rb | 1462 ++++++++ lib/lithic/models/account_holder.rb | 35 +- .../models/account_holder_create_params.rb | 12 +- ...older_simulate_enrollment_review_params.rb | 4 +- ...der_simulate_enrollment_review_response.rb | 45 +- .../models/account_holder_update_params.rb | 8 +- .../models/account_holder_update_response.rb | 45 +- .../conditional_3ds_action_parameters.rb | 14 +- .../models/auth_rules/v2_list_params.rb | 1 + .../velocity_limit_params_period_window.rb | 20 +- .../models/book_transfer_create_params.rb | 39 +- lib/lithic/models/book_transfer_response.rb | 151 +- lib/lithic/models/document.rb | 4 +- .../events/subscription_create_params.rb | 4 +- .../events/subscription_update_params.rb | 4 +- .../external_bank_account_list_params.rb | 8 +- lib/lithic/models/external_payment.rb | 137 +- lib/lithic/models/financial_account.rb | 1 + .../models/financial_accounts/loan_tape.rb | 23 +- .../models/financial_accounts/statement.rb | 13 +- .../statements/statement_line_items.rb | 9 +- lib/lithic/models/financial_transaction.rb | 2 + .../models/instance_financial_account_type.rb | 1 + lib/lithic/models/kyb.rb | 4 +- .../management_operation_transaction.rb | 153 +- lib/lithic/models/payment.rb | 63 +- lib/lithic/models/settlement_detail.rb | 1 + .../authentication_retrieve_response.rb | 65 +- .../authentication_simulate_params.rb | 5 +- lib/lithic/models/tokenization.rb | 2 +- .../models/tokenization_retrieve_response.rb | 16 - .../transactions/events/enhanced_data.rb | 14 +- lib/lithic/models/transfer.rb | 2 + lib/lithic/resources/account_activity.rb | 80 + lib/lithic/resources/account_holders.rb | 2 +- lib/lithic/resources/book_transfers.rb | 10 +- lib/lithic/resources/tokenizations.rb | 4 +- lib/lithic/version.rb | 2 +- rbi/lithic/client.rbi | 3 + rbi/lithic/errors.rbi | 4 +- rbi/lithic/internal/transport/base_client.rbi | 2 +- rbi/lithic/internal/type/converter.rbi | 46 + rbi/lithic/internal/type/union.rbi | 9 +- rbi/lithic/models.rbi | 5 + .../models/account_activity_list_params.rbi | 359 ++ .../models/account_activity_list_response.rbi | 3309 ++++++++++++++++ ...t_activity_retrieve_transaction_params.rbi | 30 + ...activity_retrieve_transaction_response.rbi | 3311 +++++++++++++++++ rbi/lithic/models/account_holder.rbi | 44 +- .../models/account_holder_create_params.rbi | 4 +- ...er_simulate_enrollment_review_response.rbi | 66 +- .../models/account_holder_update_response.rbi | 66 +- .../models/auth_rules/v2_list_params.rbi | 2 + .../models/book_transfer_create_params.rbi | 75 +- rbi/lithic/models/book_transfer_response.rbi | 353 +- rbi/lithic/models/external_payment.rbi | 207 +- rbi/lithic/models/financial_account.rbi | 5 + rbi/lithic/models/financial_transaction.rbi | 1 + .../instance_financial_account_type.rbi | 5 + rbi/lithic/models/kyb.rbi | 4 +- .../management_operation_transaction.rbi | 321 +- rbi/lithic/models/payment.rbi | 110 +- rbi/lithic/models/settlement_detail.rbi | 2 + .../authentication_retrieve_response.rbi | 129 + .../models/tokenization_retrieve_response.rbi | 31 - rbi/lithic/models/transfer.rbi | 1 + rbi/lithic/resources/account_activity.rbi | 80 + rbi/lithic/resources/account_holders.rbi | 2 +- rbi/lithic/resources/book_transfers.rbi | 11 +- rbi/lithic/resources/tokenizations.rbi | 2 +- scripts/mock | 4 +- scripts/test | 2 +- sig/lithic/client.rbs | 2 + sig/lithic/internal/transport/base_client.rbs | 2 +- sig/lithic/internal/type/converter.rbs | 17 + sig/lithic/internal/type/union.rbs | 4 +- sig/lithic/models.rbs | 4 + .../models/account_activity_list_params.rbs | 173 + .../models/account_activity_list_response.rbs | 1334 +++++++ ...t_activity_retrieve_transaction_params.rbs | 15 + ...activity_retrieve_transaction_response.rbs | 1334 +++++++ ...er_simulate_enrollment_review_response.rbs | 13 +- .../models/account_holder_update_response.rbs | 13 +- .../models/auth_rules/v2_list_params.rbs | 3 +- .../models/book_transfer_create_params.rbs | 29 +- sig/lithic/models/book_transfer_response.rbs | 147 +- sig/lithic/models/external_payment.rbs | 131 +- sig/lithic/models/financial_account.rbs | 2 + .../instance_financial_account_type.rbs | 2 + .../management_operation_transaction.rbs | 139 +- sig/lithic/models/payment.rbs | 68 +- sig/lithic/models/settlement_detail.rbs | 2 + .../authentication_retrieve_response.rbs | 32 + .../models/tokenization_retrieve_response.rbs | 15 - sig/lithic/resources/account_activity.rbs | 27 + sig/lithic/resources/book_transfers.rbs | 2 + sig/lithic/resources/tokenizations.rbs | 2 +- .../internal/sorbet_runtime_support_test.rb | 2 + test/lithic/internal/type/base_model_test.rb | 38 + test/lithic/internal/util_test.rb | 12 +- .../lithic/resources/account_activity_test.rb | 50 + test/lithic/resources/book_transfers_test.rb | 20 +- .../resources/external_payments_test.rb | 119 +- .../resources/management_operations_test.rb | 78 +- test/lithic/resources/payments_test.rb | 8 +- test/lithic/resources/tokenizations_test.rb | 16 +- 127 files changed, 15750 insertions(+), 987 deletions(-) create mode 100644 lib/lithic/models/account_activity_list_params.rb create mode 100644 lib/lithic/models/account_activity_list_response.rb create mode 100644 lib/lithic/models/account_activity_retrieve_transaction_params.rb create mode 100644 lib/lithic/models/account_activity_retrieve_transaction_response.rb delete mode 100644 lib/lithic/models/tokenization_retrieve_response.rb create mode 100644 lib/lithic/resources/account_activity.rb create mode 100644 rbi/lithic/models/account_activity_list_params.rbi create mode 100644 rbi/lithic/models/account_activity_list_response.rbi create mode 100644 rbi/lithic/models/account_activity_retrieve_transaction_params.rbi create mode 100644 rbi/lithic/models/account_activity_retrieve_transaction_response.rbi delete mode 100644 rbi/lithic/models/tokenization_retrieve_response.rbi create mode 100644 rbi/lithic/resources/account_activity.rbi create mode 100644 sig/lithic/models/account_activity_list_params.rbs create mode 100644 sig/lithic/models/account_activity_list_response.rbs create mode 100644 sig/lithic/models/account_activity_retrieve_transaction_params.rbs create mode 100644 sig/lithic/models/account_activity_retrieve_transaction_response.rbs delete mode 100644 sig/lithic/models/tokenization_retrieve_response.rbs create mode 100644 sig/lithic/resources/account_activity.rbs create mode 100644 test/lithic/resources/account_activity_test.rb diff --git a/.release-please-manifest.json b/.release-please-manifest.json index db3930fd..0f02ea1c 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.40" + ".": "0.1.0-alpha.39" } \ No newline at end of file diff --git a/.rubocop.yml b/.rubocop.yml index 34d33244..5a8f3745 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -149,7 +149,7 @@ Naming/ClassAndModuleCamelCase: Naming/MethodParameterName: Enabled: false -Naming/PredicateName: +Naming/PredicatePrefix: Exclude: - "**/*.rbi" diff --git a/.stats.yml b/.stats.yml index c9520d6b..1297b875 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 167 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-b9c76d077831114f1e4c5c15ff3f1d835ef3e9361b768af8468f8eb07a09ef3e.yml -openapi_spec_hash: 5f9bcf1afd68f962a870727c35628394 -config_hash: e9a46eb8acb9dc2c236f3e1958a1c4dd +configured_endpoints: 169 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-e16df7d65a6ababc8e0ca1f2a65070893d82d3b2b046394ab708d56fe717b3ad.yml +openapi_spec_hash: ee82cf8fd5bb6b86abbae304f6c43934 +config_hash: c6d56596249e319c59d49d8e49a190b1 diff --git a/CHANGELOG.md b/CHANGELOG.md index b809a1bf..64b735c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,5 @@ # Changelog -## 0.1.0-alpha.40 (2025-07-15) - -Full Changelog: [v0.1.0-alpha.39...v0.1.0-alpha.40](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.39...v0.1.0-alpha.40) - -### Features - -* **api:** adds Network Programs and Account/Card Sub-statuses ([b5e5077](https://github.com/lithic-com/lithic-ruby/commit/b5e5077794684767a425d31f746cee2ed69d8ba7)) -* **api:** api update ([b8de03e](https://github.com/lithic-com/lithic-ruby/commit/b8de03e418647489f4e34b4a55ca4256f34c52fe)) -* **api:** api update ([72d4aab](https://github.com/lithic-com/lithic-ruby/commit/72d4aabb27fe144144c10899e64c863785d6595b)) - ## 0.1.0-alpha.39 (2025-07-03) Full Changelog: [v0.1.0-alpha.38...v0.1.0-alpha.39](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.38...v0.1.0-alpha.39) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4f460b97..38d43936 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -78,7 +78,7 @@ $ bundle exec rake test ## Linting and formatting -This repository uses [rubocop](https://github.com/rubocop/rubocop) for linting and formatting of `*.rb` and `*.rbi` files. [syntax_tree](https://github.com/ruby-syntax-tree/syntax_tree) is used for formatting `*.rbs` files. +This repository uses [rubocop](https://github.com/rubocop/rubocop) for linting and formatting of `*.rb` files; And [syntax_tree](https://github.com/ruby-syntax-tree/syntax_tree) is used for formatting of both `*.rbi` and `*.rbs` files. There are two separate type checkers supported by this library: [sorbet](https://github.com/sorbet/sorbet) and [steep](https://github.com/soutaro/steep) are used for verifying `*.rbi` and `*.rbs` files respectively. diff --git a/Gemfile.lock b/Gemfile.lock index 4e0fd66c..107f2ef0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,13 +11,13 @@ GIT PATH remote: . specs: - lithic (0.1.0.pre.alpha.40) + lithic (0.1.0.pre.alpha.39) connection_pool GEM remote: https://rubygems.org/ specs: - activesupport (8.0.2) + activesupport (8.0.2.1) base64 benchmark (>= 0.3) bigdecimal @@ -33,45 +33,50 @@ GEM addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) ast (2.4.3) - async (2.24.0) + async (2.27.3) console (~> 1.29) fiber-annotation - io-event (~> 1.9) + io-event (~> 1.11) metrics (~> 0.12) traces (~> 0.15) - base64 (0.2.0) - benchmark (0.4.0) - bigdecimal (3.1.9) + base64 (0.3.0) + benchmark (0.4.1) + bigdecimal (3.2.2) concurrent-ruby (1.3.5) connection_pool (2.5.3) - console (1.30.2) + console (1.33.0) fiber-annotation fiber-local (~> 1.1) json crack (1.0.0) bigdecimal rexml - csv (3.3.4) - drb (2.2.1) + csv (3.3.5) + drb (2.2.3) erubi (1.13.1) + ffi (1.17.2-aarch64-linux-gnu) + ffi (1.17.2-aarch64-linux-musl) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86_64-darwin) ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.2-x86_64-linux-musl) fiber-annotation (0.2.0) fiber-local (1.1.0) fiber-storage fiber-storage (1.0.1) fileutils (1.7.3) - hashdiff (1.1.2) + hashdiff (1.2.0) i18n (1.14.7) concurrent-ruby (~> 1.0) - io-event (1.10.0) - json (2.11.3) - language_server-protocol (3.17.0.4) + io-event (1.11.2) + json (2.13.2) + language_server-protocol (3.17.0.5) lint_roller (1.1.0) listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) logger (1.7.0) - metrics (0.12.2) + metrics (0.13.0) minitest (5.25.5) minitest-focus (1.4.0) minitest (>= 4, < 6) @@ -84,7 +89,7 @@ GEM mutex_m (0.3.0) netrc (0.11.0) parallel (1.27.0) - parser (3.3.8.0) + parser (3.3.9.0) ast (~> 2.4.1) racc prettier_print (1.2.1) @@ -92,20 +97,19 @@ GEM public_suffix (6.0.2) racc (1.8.1) rainbow (3.1.1) - rake (13.2.1) + rake (13.3.0) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rbi (0.3.2) + rbi (0.3.6) prism (~> 1.0) rbs (>= 3.4.4) - sorbet-runtime (>= 0.5.9204) - rbs (3.9.2) + rbs (3.9.4) logger redcarpet (3.6.1) - regexp_parser (2.10.0) + regexp_parser (2.11.2) rexml (3.4.1) - rubocop (1.75.5) + rubocop (1.79.2) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) @@ -113,25 +117,28 @@ GEM parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.44.0, < 2.0) + rubocop-ast (>= 1.46.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.44.1) + rubocop-ast (1.46.0) parser (>= 3.3.7.2) prism (~> 1.4) ruby-progressbar (1.13.0) securerandom (0.4.1) - sorbet (0.5.12067) - sorbet-static (= 0.5.12067) - sorbet-runtime (0.5.12067) - sorbet-static (0.5.12067-x86_64-linux) - sorbet-static-and-runtime (0.5.12067) - sorbet (= 0.5.12067) - sorbet-runtime (= 0.5.12067) - spoom (1.6.1) + sorbet (0.5.12424) + sorbet-static (= 0.5.12424) + sorbet-runtime (0.5.12424) + sorbet-static (0.5.12424-aarch64-linux) + sorbet-static (0.5.12424-universal-darwin) + sorbet-static (0.5.12424-x86_64-linux) + sorbet-static-and-runtime (0.5.12424) + sorbet (= 0.5.12424) + sorbet-runtime (= 0.5.12424) + spoom (1.6.3) erubi (>= 1.10.0) prism (>= 0.28.0) - rbi (>= 0.2.3) + rbi (>= 0.3.3) + rexml (>= 3.2.6) sorbet-static-and-runtime (>= 0.5.10187) thor (>= 0.19.2) steep (1.10.0) @@ -152,7 +159,7 @@ GEM terminal-table (>= 2, < 5) uri (>= 0.12.0) strscan (3.1.5) - syntax_tree (6.2.0) + syntax_tree (6.3.0) prettier_print (>= 1.2.0) tapioca (0.16.11) benchmark @@ -166,11 +173,11 @@ GEM yard-sorbet terminal-table (4.0.0) unicode-display_width (>= 1.1.1, < 4) - thor (1.3.2) - traces (0.15.2) + thor (1.4.0) + traces (0.17.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (3.1.4) + unicode-display_width (3.1.5) unicode-emoji (~> 4.0, >= 4.0.4) unicode-emoji (4.0.4) uri (1.0.3) @@ -185,7 +192,14 @@ GEM yard PLATFORMS - x86_64-linux + aarch64-linux + aarch64-linux-gnu + aarch64-linux-musl + arm64-darwin + universal-darwin + x86_64-darwin + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES async diff --git a/README.md b/README.md index 2f2c3f7c..054ca55a 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "lithic", "~> 0.1.0.pre.alpha.40" +gem "lithic", "~> 0.1.0.pre.alpha.39" ``` diff --git a/lib/lithic.rb b/lib/lithic.rb index 11791ded..8b53309d 100644 --- a/lib/lithic.rb +++ b/lib/lithic.rb @@ -52,10 +52,15 @@ require_relative "lithic/client" require_relative "lithic/internal/cursor_page" require_relative "lithic/internal/single_page" +require_relative "lithic/models/transaction" require_relative "lithic/models/non_pci_card" require_relative "lithic/models/payment" require_relative "lithic/models/three_ds/challenge_response" require_relative "lithic/models/account" +require_relative "lithic/models/account_activity_list_params" +require_relative "lithic/models/account_activity_list_response" +require_relative "lithic/models/account_activity_retrieve_transaction_params" +require_relative "lithic/models/account_activity_retrieve_transaction_response" require_relative "lithic/models/account_financial_account_type" require_relative "lithic/models/account_holder" require_relative "lithic/models/account_holder_create_params" @@ -315,14 +320,12 @@ require_relative "lithic/models/tokenization_pause_params" require_relative "lithic/models/tokenization_resend_activation_code_params" require_relative "lithic/models/tokenization_retrieve_params" -require_relative "lithic/models/tokenization_retrieve_response" require_relative "lithic/models/tokenization_secret" require_relative "lithic/models/tokenization_simulate_params" require_relative "lithic/models/tokenization_simulate_response" require_relative "lithic/models/tokenization_unpause_params" require_relative "lithic/models/tokenization_update_digital_card_art_params" require_relative "lithic/models/tokenization_update_digital_card_art_response" -require_relative "lithic/models/transaction" require_relative "lithic/models/transaction_expire_authorization_params" require_relative "lithic/models/transaction_list_params" require_relative "lithic/models/transaction_retrieve_params" @@ -348,6 +351,7 @@ require_relative "lithic/models/transfer_create_params" require_relative "lithic/models/verification_method" require_relative "lithic/models" +require_relative "lithic/resources/account_activity" require_relative "lithic/resources/account_holders" require_relative "lithic/resources/accounts" require_relative "lithic/resources/aggregate_balances" diff --git a/lib/lithic/client.rb b/lib/lithic/client.rb index d8fa4d59..779b1a85 100644 --- a/lib/lithic/client.rb +++ b/lib/lithic/client.rb @@ -107,6 +107,9 @@ class Client < Lithic::Internal::Transport::BaseClient # @return [Lithic::Resources::NetworkPrograms] attr_reader :network_programs + # @return [Lithic::Resources::AccountActivity] + attr_reader :account_activity + # Status of api # # @overload api_status(request_options: {}) @@ -209,6 +212,7 @@ def initialize( @funding_events = Lithic::Resources::FundingEvents.new(client: self) @fraud = Lithic::Resources::Fraud.new(client: self) @network_programs = Lithic::Resources::NetworkPrograms.new(client: self) + @account_activity = Lithic::Resources::AccountActivity.new(client: self) end end end diff --git a/lib/lithic/internal/transport/base_client.rb b/lib/lithic/internal/transport/base_client.rb index f9354a95..9e21da5e 100644 --- a/lib/lithic/internal/transport/base_client.rb +++ b/lib/lithic/internal/transport/base_client.rb @@ -365,7 +365,7 @@ def initialize( # # @raise [Lithic::Errors::APIError] # @return [Array(Integer, Net::HTTPResponse, Enumerable)] - private def send_request(request, redirect_count:, retry_count:, send_retry_header:) + def send_request(request, redirect_count:, retry_count:, send_retry_header:) url, headers, max_retries, timeout = request.fetch_values(:url, :headers, :max_retries, :timeout) input = {**request.except(:timeout), deadline: Lithic::Internal::Util.monotonic_secs + timeout} diff --git a/lib/lithic/internal/transport/pooled_net_requester.rb b/lib/lithic/internal/transport/pooled_net_requester.rb index 237f6f04..9b2eda53 100644 --- a/lib/lithic/internal/transport/pooled_net_requester.rb +++ b/lib/lithic/internal/transport/pooled_net_requester.rb @@ -193,15 +193,7 @@ def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS) end define_sorbet_constant!(:Request) do - T.type_alias do - { - method: Symbol, - url: URI::Generic, - headers: T::Hash[String, String], - body: T.anything, - deadline: Float - } - end + T.type_alias { {method: Symbol, url: URI::Generic, headers: T::Hash[String, String], body: T.anything, deadline: Float} } end end end diff --git a/lib/lithic/internal/type/array_of.rb b/lib/lithic/internal/type/array_of.rb index c6168546..8bf556f5 100644 --- a/lib/lithic/internal/type/array_of.rb +++ b/lib/lithic/internal/type/array_of.rb @@ -148,6 +148,7 @@ def to_sorbet_type # @option spec [Boolean] :"nil?" def initialize(type_info, spec = {}) @item_type_fn = Lithic::Internal::Type::Converter.type_info(type_info || spec) + @meta = Lithic::Internal::Type::Converter.meta_info(type_info, spec) @nilable = spec.fetch(:nil?, false) end diff --git a/lib/lithic/internal/type/base_model.rb b/lib/lithic/internal/type/base_model.rb index 39ef4121..dc45808d 100644 --- a/lib/lithic/internal/type/base_model.rb +++ b/lib/lithic/internal/type/base_model.rb @@ -52,6 +52,7 @@ def fields # # @option spec [Boolean] :"nil?" private def add_field(name_sym, required:, type_info:, spec:) + meta = Lithic::Internal::Type::Converter.meta_info(type_info, spec) type_fn, info = case type_info in Proc | Lithic::Internal::Type::Converter | Class @@ -74,7 +75,8 @@ def fields required: required, nilable: nilable, const: const, - type_fn: type_fn + type_fn: type_fn, + meta: meta } define_method(setter) do |value| diff --git a/lib/lithic/internal/type/converter.rb b/lib/lithic/internal/type/converter.rb index 297e02a6..dab5c034 100644 --- a/lib/lithic/internal/type/converter.rb +++ b/lib/lithic/internal/type/converter.rb @@ -98,6 +98,33 @@ def type_info(spec) end end + # @api private + # + # @param type_info [Hash{Symbol=>Object}, Proc, Lithic::Internal::Type::Converter, Class] . + # + # @option type_info [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const + # + # @option type_info [Proc] :enum + # + # @option type_info [Proc] :union + # + # @option type_info [Boolean] :"nil?" + # + # @param spec [Hash{Symbol=>Object}, Proc, Lithic::Internal::Type::Converter, Class] . + # + # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const + # + # @option spec [Proc] :enum + # + # @option spec [Proc] :union + # + # @option spec [Boolean] :"nil?" + # + # @return [Hash{Symbol=>Object}] + def meta_info(type_info, spec) + [spec, type_info].grep(Hash).first.to_h.except(:const, :enum, :union, :nil?) + end + # @api private # # @param translate_names [Boolean] diff --git a/lib/lithic/internal/type/hash_of.rb b/lib/lithic/internal/type/hash_of.rb index a54c4efd..4f425f5c 100644 --- a/lib/lithic/internal/type/hash_of.rb +++ b/lib/lithic/internal/type/hash_of.rb @@ -168,6 +168,7 @@ def to_sorbet_type # @option spec [Boolean] :"nil?" def initialize(type_info, spec = {}) @item_type_fn = Lithic::Internal::Type::Converter.type_info(type_info || spec) + @meta = Lithic::Internal::Type::Converter.meta_info(type_info, spec) @nilable = spec.fetch(:nil?, false) end diff --git a/lib/lithic/internal/type/union.rb b/lib/lithic/internal/type/union.rb index 29137960..1abc54af 100644 --- a/lib/lithic/internal/type/union.rb +++ b/lib/lithic/internal/type/union.rb @@ -23,20 +23,20 @@ module Union # # All of the specified variant info for this union. # - # @return [Array] + # @return [ArrayObject})>] private def known_variants = (@known_variants ||= []) # @api private # - # @return [Array] + # @return [ArrayObject})>] protected def derefed_variants - known_variants.map { |key, variant_fn| [key, variant_fn.call] } + known_variants.map { |key, variant_fn, meta| [key, variant_fn.call, meta] } end # All of the specified variants for this union. # # @return [Array] - def variants = derefed_variants.map(&:last) + def variants = derefed_variants.map { _2 } # @api private # @@ -62,12 +62,13 @@ def variants = derefed_variants.map(&:last) # # @option spec [Boolean] :"nil?" private def variant(key, spec = nil) + meta = Lithic::Internal::Type::Converter.meta_info(nil, spec) variant_info = case key in Symbol - [key, Lithic::Internal::Type::Converter.type_info(spec)] + [key, Lithic::Internal::Type::Converter.type_info(spec), meta] in Proc | Lithic::Internal::Type::Converter | Class | Hash - [nil, Lithic::Internal::Type::Converter.type_info(key)] + [nil, Lithic::Internal::Type::Converter.type_info(key), meta] end known_variants << variant_info @@ -90,7 +91,8 @@ def variants = derefed_variants.map(&:last) return nil if key == Lithic::Internal::OMIT key = key.to_sym if key.is_a?(String) - known_variants.find { |k,| k == key }&.last&.call + _, found = known_variants.find { |k,| k == key } + found&.call else nil end diff --git a/lib/lithic/internal/util.rb b/lib/lithic/internal/util.rb index e724927e..6fec99da 100644 --- a/lib/lithic/internal/util.rb +++ b/lib/lithic/internal/util.rb @@ -244,7 +244,7 @@ class << self # # @return [String] def uri_origin(uri) - "#{uri.scheme}://#{uri.host}#{uri.port == uri.default_port ? '' : ":#{uri.port}"}" + "#{uri.scheme}://#{uri.host}#{":#{uri.port}" unless uri.port == uri.default_port}" end # @api private diff --git a/lib/lithic/models.rb b/lib/lithic/models.rb index 64899324..70016ca3 100644 --- a/lib/lithic/models.rb +++ b/lib/lithic/models.rb @@ -41,6 +41,10 @@ module Lithic Account = Lithic::Models::Account + AccountActivityListParams = Lithic::Models::AccountActivityListParams + + AccountActivityRetrieveTransactionParams = Lithic::Models::AccountActivityRetrieveTransactionParams + AccountFinancialAccountType = Lithic::Models::AccountFinancialAccountType AccountHolder = Lithic::Models::AccountHolder diff --git a/lib/lithic/models/account_activity_list_params.rb b/lib/lithic/models/account_activity_list_params.rb new file mode 100644 index 00000000..53e75e93 --- /dev/null +++ b/lib/lithic/models/account_activity_list_params.rb @@ -0,0 +1,156 @@ +# frozen_string_literal: true + +module Lithic + module Models + # @see Lithic::Resources::AccountActivity#list + class AccountActivityListParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + # @!attribute account_token + # Filter by account token + # + # @return [String, nil] + optional :account_token, String + + # @!attribute begin_ + # Date string in RFC 3339 format. Only entries created after the specified time + # will be included. UTC time zone. + # + # @return [Time, nil] + optional :begin_, Time + + # @!attribute business_account_token + # Filter by business account token + # + # @return [String, nil] + optional :business_account_token, String + + # @!attribute category + # Filter by transaction category + # + # @return [Symbol, Lithic::Models::AccountActivityListParams::Category, nil] + optional :category, enum: -> { Lithic::AccountActivityListParams::Category } + + # @!attribute end_ + # Date string in RFC 3339 format. Only entries created before the specified time + # will be included. UTC time zone. + # + # @return [Time, nil] + optional :end_, Time + + # @!attribute ending_before + # A cursor representing an item's token before which a page of results should end. + # Used to retrieve the previous page of results before this item. + # + # @return [String, nil] + optional :ending_before, String + + # @!attribute financial_account_token + # Filter by financial account token + # + # @return [String, nil] + optional :financial_account_token, String + + # @!attribute page_size + # Page size (for pagination). + # + # @return [Integer, nil] + optional :page_size, Integer + + # @!attribute result + # Filter by transaction result + # + # @return [Array, nil] + optional :result, -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::AccountActivityListParams::Result] } + + # @!attribute starting_after + # A cursor representing an item's token after which a page of results should + # begin. Used to retrieve the next page of results after this item. + # + # @return [String, nil] + optional :starting_after, String + + # @!attribute status + # Filter by transaction status + # + # @return [Array, nil] + optional :status, -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::AccountActivityListParams::Status] } + + # @!method initialize(account_token: nil, begin_: nil, business_account_token: nil, category: nil, end_: nil, ending_before: nil, financial_account_token: nil, page_size: nil, result: nil, starting_after: nil, status: nil, request_options: {}) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AccountActivityListParams} for more details. + # + # @param account_token [String] Filter by account token + # + # @param begin_ [Time] Date string in RFC 3339 format. Only entries created after the specified time wi + # + # @param business_account_token [String] Filter by business account token + # + # @param category [Symbol, Lithic::Models::AccountActivityListParams::Category] Filter by transaction category + # + # @param end_ [Time] Date string in RFC 3339 format. Only entries created before the specified time w + # + # @param ending_before [String] A cursor representing an item's token before which a page of results should end. + # + # @param financial_account_token [String] Filter by financial account token + # + # @param page_size [Integer] Page size (for pagination). + # + # @param result [Array] Filter by transaction result + # + # @param starting_after [String] A cursor representing an item's token after which a page of results should begin + # + # @param status [Array] Filter by transaction status + # + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}] + + # Filter by transaction category + module Category + extend Lithic::Internal::Type::Enum + + ACH = :ACH + BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING + CARD = :CARD + EXTERNAL_ACH = :EXTERNAL_ACH + EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER + EXTERNAL_WIRE = :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE = :MANAGEMENT_DISPUTE + MANAGEMENT_FEE = :MANAGEMENT_FEE + MANAGEMENT_REWARD = :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING = :PROGRAM_FUNDING + + # @!method self.values + # @return [Array] + end + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + module Status + extend Lithic::Internal::Type::Enum + + DECLINED = :DECLINED + EXPIRED = :EXPIRED + PENDING = :PENDING + SETTLED = :SETTLED + VOIDED = :VOIDED + RETURNED = :RETURNED + REVERSED = :REVERSED + + # @!method self.values + # @return [Array] + end + end + end +end diff --git a/lib/lithic/models/account_activity_list_response.rb b/lib/lithic/models/account_activity_list_response.rb new file mode 100644 index 00000000..fa6501a7 --- /dev/null +++ b/lib/lithic/models/account_activity_list_response.rb @@ -0,0 +1,1447 @@ +# frozen_string_literal: true + +module Lithic + module Models + # Response containing multiple transaction types + # + # @see Lithic::Resources::AccountActivity#list + module AccountActivityListResponse + extend Lithic::Internal::Type::Union + + # Financial transaction with inheritance from unified base transaction + variant -> { Lithic::Models::AccountActivityListResponse::FinancialTransaction } + + # Book transfer transaction + variant -> { Lithic::Models::AccountActivityListResponse::BookTransferTransaction } + + # Base class for all transaction types in the ledger service + variant -> { Lithic::Models::AccountActivityListResponse::CardTransaction } + + # Payment transaction + variant -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction } + + variant -> { Lithic::ExternalPayment } + + variant -> { Lithic::ManagementOperationTransaction } + + class FinancialTransaction < Lithic::Internal::Type::BaseModel + # @!attribute token + # Unique identifier for the transaction + # + # @return [String] + required :token, String + + # @!attribute category + # Transaction category + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category] + required :category, + enum: -> { Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category } + + # @!attribute created + # ISO 8601 timestamp of when the transaction was created + # + # @return [Time] + required :created, Time + + # @!attribute currency + # Currency of the transaction, represented in ISO 4217 format + # + # @return [String] + required :currency, String + + # @!attribute descriptor + # Transaction descriptor + # + # @return [String] + required :descriptor, String + + # @!attribute events + # List of transaction events + # + # @return [Array] + required :events, + -> { Lithic::Internal::Type::ArrayOf[Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event] } + + # @!attribute family + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family] + required :family, enum: -> { Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family } + + # @!attribute financial_account_token + # Financial account token associated with the transaction + # + # @return [String] + required :financial_account_token, String + + # @!attribute pending_amount + # Pending amount in cents + # + # @return [Integer] + required :pending_amount, Integer + + # @!attribute result + # Transaction result + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::FinancialTransaction::Result] + required :result, enum: -> { Lithic::Models::AccountActivityListResponse::FinancialTransaction::Result } + + # @!attribute settled_amount + # Settled amount in cents + # + # @return [Integer] + required :settled_amount, Integer + + # @!attribute status + # The status of the transaction + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::FinancialTransaction::Status] + required :status, enum: -> { Lithic::Models::AccountActivityListResponse::FinancialTransaction::Status } + + # @!attribute updated + # ISO 8601 timestamp of when the transaction was last updated + # + # @return [Time] + required :updated, Time + + # @!method initialize(token:, category:, created:, currency:, descriptor:, events:, family:, financial_account_token:, pending_amount:, result:, settled_amount:, status:, updated:) + # Financial transaction with inheritance from unified base transaction + # + # @param token [String] Unique identifier for the transaction + # + # @param category [Symbol, Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category] Transaction category + # + # @param created [Time] ISO 8601 timestamp of when the transaction was created + # + # @param currency [String] Currency of the transaction, represented in ISO 4217 format + # + # @param descriptor [String] Transaction descriptor + # + # @param events [Array] List of transaction events + # + # @param family [Symbol, Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family] + # + # @param financial_account_token [String] Financial account token associated with the transaction + # + # @param pending_amount [Integer] Pending amount in cents + # + # @param result [Symbol, Lithic::Models::AccountActivityListResponse::FinancialTransaction::Result] Transaction result + # + # @param settled_amount [Integer] Settled amount in cents + # + # @param status [Symbol, Lithic::Models::AccountActivityListResponse::FinancialTransaction::Status] The status of the transaction + # + # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated + + # Transaction category + # + # @see Lithic::Models::AccountActivityListResponse::FinancialTransaction#category + module Category + extend Lithic::Internal::Type::Enum + + ACH = :ACH + BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING + CARD = :CARD + EXTERNAL_ACH = :EXTERNAL_ACH + EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER + EXTERNAL_WIRE = :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE = :MANAGEMENT_DISPUTE + MANAGEMENT_FEE = :MANAGEMENT_FEE + MANAGEMENT_REWARD = :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING = :PROGRAM_FUNDING + + # @!method self.values + # @return [Array] + end + + class Event < Lithic::Internal::Type::BaseModel + # @!attribute token + # Globally unique identifier. + # + # @return [String, nil] + optional :token, String + + # @!attribute amount + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + # + # @return [Integer, nil] + optional :amount, Integer + + # @!attribute created + # Date and time when the financial event occurred. UTC time zone. + # + # @return [Time, nil] + optional :created, Time + + # @!attribute result + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Result, nil] + optional :result, + enum: -> { Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Result } + + # @!attribute type + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type, nil] + optional :type, + enum: -> { Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type } + + # @!method initialize(token: nil, amount: nil, created: nil, result: nil, type: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event} for + # more details. + # + # Financial Event + # + # @param token [String] Globally unique identifier. + # + # @param amount [Integer] Amount of the financial event that has been settled in the currency's smallest u + # + # @param created [Time] Date and time when the financial event occurred. UTC time zone. + # + # @param result [Symbol, Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Result] APPROVED financial events were successful while DECLINED financial events were d + # + # @param type [Symbol, Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type] + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + # + # @see Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event#type + module Type + extend Lithic::Internal::Type::Enum + + ACH_ORIGINATION_CANCELLED = :ACH_ORIGINATION_CANCELLED + ACH_ORIGINATION_INITIATED = :ACH_ORIGINATION_INITIATED + ACH_ORIGINATION_PROCESSED = :ACH_ORIGINATION_PROCESSED + ACH_ORIGINATION_RELEASED = :ACH_ORIGINATION_RELEASED + ACH_ORIGINATION_REVIEWED = :ACH_ORIGINATION_REVIEWED + ACH_ORIGINATION_SETTLED = :ACH_ORIGINATION_SETTLED + ACH_RECEIPT_PROCESSED = :ACH_RECEIPT_PROCESSED + ACH_RECEIPT_SETTLED = :ACH_RECEIPT_SETTLED + ACH_RETURN_INITIATED = :ACH_RETURN_INITIATED + ACH_RETURN_PROCESSED = :ACH_RETURN_PROCESSED + ACH_RETURN_SETTLED = :ACH_RETURN_SETTLED + AUTHORIZATION = :AUTHORIZATION + AUTHORIZATION_ADVICE = :AUTHORIZATION_ADVICE + AUTHORIZATION_EXPIRY = :AUTHORIZATION_EXPIRY + AUTHORIZATION_REVERSAL = :AUTHORIZATION_REVERSAL + BALANCE_INQUIRY = :BALANCE_INQUIRY + BILLING_ERROR = :BILLING_ERROR + BILLING_ERROR_REVERSAL = :BILLING_ERROR_REVERSAL + CARD_TO_CARD = :CARD_TO_CARD + CASH_BACK = :CASH_BACK + CASH_BACK_REVERSAL = :CASH_BACK_REVERSAL + CLEARING = :CLEARING + COLLECTION = :COLLECTION + CORRECTION_CREDIT = :CORRECTION_CREDIT + CORRECTION_DEBIT = :CORRECTION_DEBIT + CREDIT_AUTHORIZATION = :CREDIT_AUTHORIZATION + CREDIT_AUTHORIZATION_ADVICE = :CREDIT_AUTHORIZATION_ADVICE + CURRENCY_CONVERSION = :CURRENCY_CONVERSION + CURRENCY_CONVERSION_REVERSAL = :CURRENCY_CONVERSION_REVERSAL + DISPUTE_WON = :DISPUTE_WON + EXTERNAL_ACH_CANCELED = :EXTERNAL_ACH_CANCELED + EXTERNAL_ACH_INITIATED = :EXTERNAL_ACH_INITIATED + EXTERNAL_ACH_RELEASED = :EXTERNAL_ACH_RELEASED + EXTERNAL_ACH_REVERSED = :EXTERNAL_ACH_REVERSED + EXTERNAL_ACH_SETTLED = :EXTERNAL_ACH_SETTLED + EXTERNAL_CHECK_CANCELED = :EXTERNAL_CHECK_CANCELED + EXTERNAL_CHECK_INITIATED = :EXTERNAL_CHECK_INITIATED + EXTERNAL_CHECK_RELEASED = :EXTERNAL_CHECK_RELEASED + EXTERNAL_CHECK_REVERSED = :EXTERNAL_CHECK_REVERSED + EXTERNAL_CHECK_SETTLED = :EXTERNAL_CHECK_SETTLED + EXTERNAL_TRANSFER_CANCELED = :EXTERNAL_TRANSFER_CANCELED + EXTERNAL_TRANSFER_INITIATED = :EXTERNAL_TRANSFER_INITIATED + EXTERNAL_TRANSFER_RELEASED = :EXTERNAL_TRANSFER_RELEASED + EXTERNAL_TRANSFER_REVERSED = :EXTERNAL_TRANSFER_REVERSED + EXTERNAL_TRANSFER_SETTLED = :EXTERNAL_TRANSFER_SETTLED + EXTERNAL_WIRE_CANCELED = :EXTERNAL_WIRE_CANCELED + EXTERNAL_WIRE_INITIATED = :EXTERNAL_WIRE_INITIATED + EXTERNAL_WIRE_RELEASED = :EXTERNAL_WIRE_RELEASED + EXTERNAL_WIRE_REVERSED = :EXTERNAL_WIRE_REVERSED + EXTERNAL_WIRE_SETTLED = :EXTERNAL_WIRE_SETTLED + FINANCIAL_AUTHORIZATION = :FINANCIAL_AUTHORIZATION + FINANCIAL_CREDIT_AUTHORIZATION = :FINANCIAL_CREDIT_AUTHORIZATION + INTEREST = :INTEREST + INTEREST_REVERSAL = :INTEREST_REVERSAL + INTERNAL_ADJUSTMENT = :INTERNAL_ADJUSTMENT + LATE_PAYMENT = :LATE_PAYMENT + LATE_PAYMENT_REVERSAL = :LATE_PAYMENT_REVERSAL + LOSS_WRITE_OFF = :LOSS_WRITE_OFF + PROVISIONAL_CREDIT = :PROVISIONAL_CREDIT + PROVISIONAL_CREDIT_REVERSAL = :PROVISIONAL_CREDIT_REVERSAL + SERVICE = :SERVICE + RETURN = :RETURN + RETURN_REVERSAL = :RETURN_REVERSAL + TRANSFER = :TRANSFER + TRANSFER_INSUFFICIENT_FUNDS = :TRANSFER_INSUFFICIENT_FUNDS + RETURNED_PAYMENT = :RETURNED_PAYMENT + RETURNED_PAYMENT_REVERSAL = :RETURNED_PAYMENT_REVERSAL + LITHIC_NETWORK_PAYMENT = :LITHIC_NETWORK_PAYMENT + + # @!method self.values + # @return [Array] + end + end + + # @see Lithic::Models::AccountActivityListResponse::FinancialTransaction#family + module Family + extend Lithic::Internal::Type::Enum + + CARD = :CARD + PAYMENT = :PAYMENT + TRANSFER = :TRANSFER + INTERNAL = :INTERNAL + EXTERNAL_PAYMENT = :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION = :MANAGEMENT_OPERATION + + # @!method self.values + # @return [Array] + end + + # Transaction result + # + # @see Lithic::Models::AccountActivityListResponse::FinancialTransaction#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # The status of the transaction + # + # @see Lithic::Models::AccountActivityListResponse::FinancialTransaction#status + module Status + extend Lithic::Internal::Type::Enum + + PENDING = :PENDING + SETTLED = :SETTLED + DECLINED = :DECLINED + REVERSED = :REVERSED + CANCELED = :CANCELED + + # @!method self.values + # @return [Array] + end + end + + class BookTransferTransaction < Lithic::Internal::Type::BaseModel + # @!attribute token + # Unique identifier for the transaction + # + # @return [String] + required :token, String + + # @!attribute category + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category] + required :category, + enum: -> { Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category } + + # @!attribute created + # ISO 8601 timestamp of when the transaction was created + # + # @return [Time] + required :created, Time + + # @!attribute currency + # Currency of the transaction in ISO 4217 format + # + # @return [String] + required :currency, String + + # @!attribute events + # List of events associated with this book transfer + # + # @return [Array] + required :events, + -> { Lithic::Internal::Type::ArrayOf[Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event] } + + # @!attribute family + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family] + required :family, + enum: -> { Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family } + + # @!attribute from_financial_account_token + # Source account token + # + # @return [String] + required :from_financial_account_token, String + + # @!attribute pending_amount + # The pending amount of the transaction in cents + # + # @return [Integer] + required :pending_amount, Integer + + # @!attribute result + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Result] + required :result, + enum: -> { Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Result } + + # @!attribute settled_amount + # The settled amount of the transaction in cents + # + # @return [Integer] + required :settled_amount, Integer + + # @!attribute status + # The status of the transaction + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Status] + required :status, + enum: -> { Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Status } + + # @!attribute to_financial_account_token + # Destination account token + # + # @return [String] + required :to_financial_account_token, String + + # @!attribute updated + # ISO 8601 timestamp of when the transaction was last updated + # + # @return [Time] + required :updated, Time + + # @!attribute external_id + # External identifier for the transaction + # + # @return [String, nil] + optional :external_id, String + + # @!attribute external_resource + # External resource associated with the management operation + # + # @return [Lithic::Models::ExternalResource, nil] + optional :external_resource, -> { Lithic::ExternalResource }, nil?: true + + # @!attribute transaction_series + # + # @return [Lithic::Models::AccountActivityListResponse::BookTransferTransaction::TransactionSeries, nil] + optional :transaction_series, + -> { Lithic::Models::AccountActivityListResponse::BookTransferTransaction::TransactionSeries }, + nil?: true + + # @!method initialize(token:, category:, created:, currency:, events:, family:, from_financial_account_token:, pending_amount:, result:, settled_amount:, status:, to_financial_account_token:, updated:, external_id: nil, external_resource: nil, transaction_series: nil) + # Book transfer transaction + # + # @param token [String] Unique identifier for the transaction + # + # @param category [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category] + # + # @param created [Time] ISO 8601 timestamp of when the transaction was created + # + # @param currency [String] Currency of the transaction in ISO 4217 format + # + # @param events [Array] List of events associated with this book transfer + # + # @param family [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family] + # + # @param from_financial_account_token [String] Source account token + # + # @param pending_amount [Integer] The pending amount of the transaction in cents + # + # @param result [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Result] + # + # @param settled_amount [Integer] The settled amount of the transaction in cents + # + # @param status [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Status] The status of the transaction + # + # @param to_financial_account_token [String] Destination account token + # + # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated + # + # @param external_id [String] External identifier for the transaction + # + # @param external_resource [Lithic::Models::ExternalResource, nil] External resource associated with the management operation + # + # @param transaction_series [Lithic::Models::AccountActivityListResponse::BookTransferTransaction::TransactionSeries, nil] + + # @see Lithic::Models::AccountActivityListResponse::BookTransferTransaction#category + module Category + extend Lithic::Internal::Type::Enum + + ACH = :ACH + BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING + CARD = :CARD + EXTERNAL_ACH = :EXTERNAL_ACH + EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER + EXTERNAL_WIRE = :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE = :MANAGEMENT_DISPUTE + MANAGEMENT_FEE = :MANAGEMENT_FEE + MANAGEMENT_REWARD = :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING = :PROGRAM_FUNDING + + # @!method self.values + # @return [Array] + end + + class Event < Lithic::Internal::Type::BaseModel + # @!attribute token + # Globally unique identifier. + # + # @return [String] + required :token, String + + # @!attribute amount + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + # + # @return [Integer] + required :amount, Integer + + # @!attribute created + # Date and time when the financial event occurred. UTC time zone. + # + # @return [Time] + required :created, Time + + # @!attribute detailed_results + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::DetailedResults] + required :detailed_results, + enum: -> { Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::DetailedResults } + + # @!attribute memo + # Memo for the transfer. + # + # @return [String] + required :memo, String + + # @!attribute result + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Result] + required :result, + enum: -> { Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Result } + + # @!attribute subtype + # The program specific subtype code for the specified category/type. + # + # @return [String] + required :subtype, String + + # @!attribute type + # Type of the book transfer + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type] + required :type, + enum: -> { Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type } + + # @!method initialize(token:, amount:, created:, detailed_results:, memo:, result:, subtype:, type:) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event} + # for more details. + # + # Book transfer Event + # + # @param token [String] Globally unique identifier. + # + # @param amount [Integer] Amount of the financial event that has been settled in the currency's smallest u + # + # @param created [Time] Date and time when the financial event occurred. UTC time zone. + # + # @param detailed_results [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::DetailedResults] + # + # @param memo [String] Memo for the transfer. + # + # @param result [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Result] APPROVED financial events were successful while DECLINED financial events were d + # + # @param subtype [String] The program specific subtype code for the specified category/type. + # + # @param type [Symbol, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type] Type of the book transfer + + # @see Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event#detailed_results + module DetailedResults + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + FUNDS_INSUFFICIENT = :FUNDS_INSUFFICIENT + + # @!method self.values + # @return [Array] + end + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + # + # @see Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # Type of the book transfer + # + # @see Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event#type + module Type + extend Lithic::Internal::Type::Enum + + ATM_WITHDRAWAL = :ATM_WITHDRAWAL + ATM_DECLINE = :ATM_DECLINE + INTERNATIONAL_ATM_WITHDRAWAL = :INTERNATIONAL_ATM_WITHDRAWAL + INACTIVITY = :INACTIVITY + STATEMENT = :STATEMENT + MONTHLY = :MONTHLY + QUARTERLY = :QUARTERLY + ANNUAL = :ANNUAL + CUSTOMER_SERVICE = :CUSTOMER_SERVICE + ACCOUNT_MAINTENANCE = :ACCOUNT_MAINTENANCE + ACCOUNT_ACTIVATION = :ACCOUNT_ACTIVATION + ACCOUNT_CLOSURE = :ACCOUNT_CLOSURE + CARD_REPLACEMENT = :CARD_REPLACEMENT + CARD_DELIVERY = :CARD_DELIVERY + CARD_CREATE = :CARD_CREATE + CURRENCY_CONVERSION = :CURRENCY_CONVERSION + INTEREST = :INTEREST + LATE_PAYMENT = :LATE_PAYMENT + BILL_PAYMENT = :BILL_PAYMENT + CASH_BACK = :CASH_BACK + ACCOUNT_TO_ACCOUNT = :ACCOUNT_TO_ACCOUNT + CARD_TO_CARD = :CARD_TO_CARD + DISBURSE = :DISBURSE + BILLING_ERROR = :BILLING_ERROR + LOSS_WRITE_OFF = :LOSS_WRITE_OFF + EXPIRED_CARD = :EXPIRED_CARD + EARLY_DERECOGNITION = :EARLY_DERECOGNITION + ESCHEATMENT = :ESCHEATMENT + INACTIVITY_FEE_DOWN = :INACTIVITY_FEE_DOWN + PROVISIONAL_CREDIT = :PROVISIONAL_CREDIT + DISPUTE_WON = :DISPUTE_WON + SERVICE = :SERVICE + TRANSFER = :TRANSFER + + # @!method self.values + # @return [Array] + end + end + + # @see Lithic::Models::AccountActivityListResponse::BookTransferTransaction#family + module Family + extend Lithic::Internal::Type::Enum + + CARD = :CARD + PAYMENT = :PAYMENT + TRANSFER = :TRANSFER + INTERNAL = :INTERNAL + EXTERNAL_PAYMENT = :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION = :MANAGEMENT_OPERATION + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::AccountActivityListResponse::BookTransferTransaction#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # The status of the transaction + # + # @see Lithic::Models::AccountActivityListResponse::BookTransferTransaction#status + module Status + extend Lithic::Internal::Type::Enum + + PENDING = :PENDING + SETTLED = :SETTLED + DECLINED = :DECLINED + REVERSED = :REVERSED + CANCELED = :CANCELED + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::AccountActivityListResponse::BookTransferTransaction#transaction_series + class TransactionSeries < Lithic::Internal::Type::BaseModel + # @!attribute related_transaction_event_token + # + # @return [String, nil] + required :related_transaction_event_token, String, nil?: true + + # @!attribute related_transaction_token + # + # @return [String, nil] + required :related_transaction_token, String, nil?: true + + # @!attribute type + # + # @return [String] + required :type, String + + # @!method initialize(related_transaction_event_token:, related_transaction_token:, type:) + # @param related_transaction_event_token [String, nil] + # @param related_transaction_token [String, nil] + # @param type [String] + end + end + + class CardTransaction < Lithic::Models::Transaction + # @!attribute token + # Unique identifier for the transaction + # + # @return [String] + required :token, String + + # @!attribute created + # ISO 8601 timestamp of when the transaction was created + # + # @return [Time] + required :created, Time + + # @!attribute family + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::CardTransaction::Family] + required :family, enum: -> { Lithic::Models::AccountActivityListResponse::CardTransaction::Family } + + # @!attribute status + # The status of the transaction + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::CardTransaction::Status] + required :status, enum: -> { Lithic::Models::AccountActivityListResponse::CardTransaction::Status } + + # @!attribute updated + # ISO 8601 timestamp of when the transaction was last updated + # + # @return [Time] + required :updated, Time + + # @!method initialize(token:, created:, family:, status:, updated:) + # Base class for all transaction types in the ledger service + # + # @param token [String] Unique identifier for the transaction + # + # @param created [Time] ISO 8601 timestamp of when the transaction was created + # + # @param family [Symbol, Lithic::Models::AccountActivityListResponse::CardTransaction::Family] + # + # @param status [Symbol, Lithic::Models::AccountActivityListResponse::CardTransaction::Status] The status of the transaction + # + # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated + + module Family + extend Lithic::Internal::Type::Enum + + CARD = :CARD + PAYMENT = :PAYMENT + TRANSFER = :TRANSFER + INTERNAL = :INTERNAL + EXTERNAL_PAYMENT = :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION = :MANAGEMENT_OPERATION + + # @!method self.values + # @return [Array] + end + + # The status of the transaction + module Status + extend Lithic::Internal::Type::Enum + + PENDING = :PENDING + SETTLED = :SETTLED + DECLINED = :DECLINED + REVERSED = :REVERSED + CANCELED = :CANCELED + + # @!method self.values + # @return [Array] + end + end + + class PaymentTransaction < Lithic::Internal::Type::BaseModel + # @!attribute token + # Unique identifier for the transaction + # + # @return [String] + required :token, String + + # @!attribute category + # Transaction category + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category] + required :category, enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category } + + # @!attribute created + # ISO 8601 timestamp of when the transaction was created + # + # @return [Time] + required :created, Time + + # @!attribute descriptor + # Transaction descriptor + # + # @return [String] + required :descriptor, String + + # @!attribute direction + # Transfer direction + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Direction] + required :direction, + enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::Direction } + + # @!attribute events + # List of transaction events + # + # @return [Array] + required :events, + -> { Lithic::Internal::Type::ArrayOf[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event] } + + # @!attribute family + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family] + required :family, enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family } + + # @!attribute financial_account_token + # Financial account token + # + # @return [String] + required :financial_account_token, String + + # @!attribute method_ + # Transfer method + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Method] + required :method_, + enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::Method }, + api_name: :method + + # @!attribute method_attributes + # Method-specific attributes + # + # @return [Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes, Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes] + required :method_attributes, + union: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes } + + # @!attribute pending_amount + # Pending amount in cents + # + # @return [Integer] + required :pending_amount, Integer + + # @!attribute related_account_tokens + # Related account tokens for the transaction + # + # @return [Lithic::Models::AccountActivityListResponse::PaymentTransaction::RelatedAccountTokens] + required :related_account_tokens, + -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::RelatedAccountTokens } + + # @!attribute result + # Transaction result + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Result] + required :result, enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::Result } + + # @!attribute settled_amount + # Settled amount in cents + # + # @return [Integer] + required :settled_amount, Integer + + # @!attribute source + # Transaction source + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Source] + required :source, enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::Source } + + # @!attribute status + # The status of the transaction + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Status] + required :status, enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::Status } + + # @!attribute updated + # ISO 8601 timestamp of when the transaction was last updated + # + # @return [Time] + required :updated, Time + + # @!attribute currency + # Currency of the transaction in ISO 4217 format + # + # @return [String, nil] + optional :currency, String + + # @!attribute expected_release_date + # Expected release date for the transaction + # + # @return [Date, nil] + optional :expected_release_date, Date, nil?: true + + # @!attribute external_bank_account_token + # External bank account token + # + # @return [String, nil] + optional :external_bank_account_token, String, nil?: true + + # @!attribute user_defined_id + # User-defined identifier + # + # @return [String, nil] + optional :user_defined_id, String, nil?: true + + # @!method initialize(token:, category:, created:, descriptor:, direction:, events:, family:, financial_account_token:, method_:, method_attributes:, pending_amount:, related_account_tokens:, result:, settled_amount:, source:, status:, updated:, currency: nil, expected_release_date: nil, external_bank_account_token: nil, user_defined_id: nil) + # Payment transaction + # + # @param token [String] Unique identifier for the transaction + # + # @param category [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category] Transaction category + # + # @param created [Time] ISO 8601 timestamp of when the transaction was created + # + # @param descriptor [String] Transaction descriptor + # + # @param direction [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Direction] Transfer direction + # + # @param events [Array] List of transaction events + # + # @param family [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family] + # + # @param financial_account_token [String] Financial account token + # + # @param method_ [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Method] Transfer method + # + # @param method_attributes [Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes, Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes] Method-specific attributes + # + # @param pending_amount [Integer] Pending amount in cents + # + # @param related_account_tokens [Lithic::Models::AccountActivityListResponse::PaymentTransaction::RelatedAccountTokens] Related account tokens for the transaction + # + # @param result [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Result] Transaction result + # + # @param settled_amount [Integer] Settled amount in cents + # + # @param source [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Source] Transaction source + # + # @param status [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Status] The status of the transaction + # + # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated + # + # @param currency [String] Currency of the transaction in ISO 4217 format + # + # @param expected_release_date [Date, nil] Expected release date for the transaction + # + # @param external_bank_account_token [String, nil] External bank account token + # + # @param user_defined_id [String, nil] User-defined identifier + + # Transaction category + # + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction#category + module Category + extend Lithic::Internal::Type::Enum + + ACH = :ACH + BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING + CARD = :CARD + EXTERNAL_ACH = :EXTERNAL_ACH + EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER + EXTERNAL_WIRE = :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE = :MANAGEMENT_DISPUTE + MANAGEMENT_FEE = :MANAGEMENT_FEE + MANAGEMENT_REWARD = :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING = :PROGRAM_FUNDING + + # @!method self.values + # @return [Array] + end + + # Transfer direction + # + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction#direction + module Direction + extend Lithic::Internal::Type::Enum + + CREDIT = :CREDIT + DEBIT = :DEBIT + + # @!method self.values + # @return [Array] + end + + class Event < Lithic::Internal::Type::BaseModel + # @!attribute token + # Globally unique identifier. + # + # @return [String] + required :token, String + + # @!attribute amount + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + # + # @return [Integer] + required :amount, Integer + + # @!attribute created + # Date and time when the financial event occurred. UTC time zone. + # + # @return [Time] + required :created, Time + + # @!attribute result + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Result] + required :result, + enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Result } + + # @!attribute type + # Event types: + # + # - `ACH_ORIGINATION_INITIATED` - ACH origination received and pending + # approval/release from an ACH hold. + # - `ACH_ORIGINATION_REVIEWED` - ACH origination has completed the review process. + # - `ACH_ORIGINATION_CANCELLED` - ACH origination has been cancelled. + # - `ACH_ORIGINATION_PROCESSED` - ACH origination has been processed and sent to + # the Federal Reserve. + # - `ACH_ORIGINATION_SETTLED` - ACH origination has settled. + # - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to + # available balance. + # - `ACH_RETURN_PROCESSED` - ACH origination returned by the Receiving Depository + # Financial Institution. + # - `ACH_RECEIPT_PROCESSED` - ACH receipt pending release from an ACH holder. + # - `ACH_RETURN_INITIATED` - ACH initiated return for a ACH receipt. + # - `ACH_RECEIPT_SETTLED` - ACH receipt funds have settled. + # - `ACH_RECEIPT_RELEASED` - ACH receipt released from pending to available + # balance. + # - `ACH_RETURN_SETTLED` - ACH receipt return settled by the Receiving Depository + # Financial Institution. + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type] + required :type, enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type } + + # @!attribute detailed_results + # More detailed reasons for the event + # + # @return [Array, nil] + optional :detailed_results, + -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::DetailedResult] } + + # @!method initialize(token:, amount:, created:, result:, type:, detailed_results: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event} for + # more details. + # + # Payment Event + # + # @param token [String] Globally unique identifier. + # + # @param amount [Integer] Amount of the financial event that has been settled in the currency's smallest u + # + # @param created [Time] Date and time when the financial event occurred. UTC time zone. + # + # @param result [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Result] APPROVED financial events were successful while DECLINED financial events were d + # + # @param type [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type] Event types: + # + # @param detailed_results [Array] More detailed reasons for the event + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + # + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # Event types: + # + # - `ACH_ORIGINATION_INITIATED` - ACH origination received and pending + # approval/release from an ACH hold. + # - `ACH_ORIGINATION_REVIEWED` - ACH origination has completed the review process. + # - `ACH_ORIGINATION_CANCELLED` - ACH origination has been cancelled. + # - `ACH_ORIGINATION_PROCESSED` - ACH origination has been processed and sent to + # the Federal Reserve. + # - `ACH_ORIGINATION_SETTLED` - ACH origination has settled. + # - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to + # available balance. + # - `ACH_RETURN_PROCESSED` - ACH origination returned by the Receiving Depository + # Financial Institution. + # - `ACH_RECEIPT_PROCESSED` - ACH receipt pending release from an ACH holder. + # - `ACH_RETURN_INITIATED` - ACH initiated return for a ACH receipt. + # - `ACH_RECEIPT_SETTLED` - ACH receipt funds have settled. + # - `ACH_RECEIPT_RELEASED` - ACH receipt released from pending to available + # balance. + # - `ACH_RETURN_SETTLED` - ACH receipt return settled by the Receiving Depository + # Financial Institution. + # + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event#type + module Type + extend Lithic::Internal::Type::Enum + + ACH_ORIGINATION_CANCELLED = :ACH_ORIGINATION_CANCELLED + ACH_ORIGINATION_INITIATED = :ACH_ORIGINATION_INITIATED + ACH_ORIGINATION_PROCESSED = :ACH_ORIGINATION_PROCESSED + ACH_ORIGINATION_SETTLED = :ACH_ORIGINATION_SETTLED + ACH_ORIGINATION_RELEASED = :ACH_ORIGINATION_RELEASED + ACH_ORIGINATION_REVIEWED = :ACH_ORIGINATION_REVIEWED + ACH_RECEIPT_PROCESSED = :ACH_RECEIPT_PROCESSED + ACH_RECEIPT_SETTLED = :ACH_RECEIPT_SETTLED + ACH_RETURN_INITIATED = :ACH_RETURN_INITIATED + ACH_RETURN_PROCESSED = :ACH_RETURN_PROCESSED + ACH_RETURN_SETTLED = :ACH_RETURN_SETTLED + + # @!method self.values + # @return [Array] + end + + module DetailedResult + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + FUNDS_INSUFFICIENT = :FUNDS_INSUFFICIENT + ACCOUNT_INVALID = :ACCOUNT_INVALID + PROGRAM_TRANSACTION_LIMIT_EXCEEDED = :PROGRAM_TRANSACTION_LIMIT_EXCEEDED + PROGRAM_DAILY_LIMIT_EXCEEDED = :PROGRAM_DAILY_LIMIT_EXCEEDED + PROGRAM_MONTHLY_LIMIT_EXCEEDED = :PROGRAM_MONTHLY_LIMIT_EXCEEDED + + # @!method self.values + # @return [Array] + end + end + + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction#family + module Family + extend Lithic::Internal::Type::Enum + + CARD = :CARD + PAYMENT = :PAYMENT + TRANSFER = :TRANSFER + INTERNAL = :INTERNAL + EXTERNAL_PAYMENT = :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION = :MANAGEMENT_OPERATION + + # @!method self.values + # @return [Array] + end + + # Transfer method + # + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction#method_ + module Method + extend Lithic::Internal::Type::Enum + + ACH_NEXT_DAY = :ACH_NEXT_DAY + ACH_SAME_DAY = :ACH_SAME_DAY + WIRE = :WIRE + + # @!method self.values + # @return [Array] + end + + # Method-specific attributes + # + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction#method_attributes + module MethodAttributes + extend Lithic::Internal::Type::Union + + variant -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes } + + variant -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes } + + class ACHMethodAttributes < Lithic::Internal::Type::BaseModel + # @!attribute sec_code + # SEC code for ACH transaction + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode] + required :sec_code, + enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode } + + # @!attribute addenda + # Addenda information + # + # @return [String, nil] + optional :addenda, String, nil?: true + + # @!attribute company_id + # Company ID for the ACH transaction + # + # @return [String, nil] + optional :company_id, String, nil?: true + + # @!attribute receipt_routing_number + # Receipt routing number + # + # @return [String, nil] + optional :receipt_routing_number, String, nil?: true + + # @!attribute retries + # Number of retries attempted + # + # @return [Integer, nil] + optional :retries, Integer, nil?: true + + # @!attribute return_reason_code + # Return reason code if the transaction was returned + # + # @return [String, nil] + optional :return_reason_code, String, nil?: true + + # @!attribute trace_numbers + # Trace numbers for the ACH transaction + # + # @return [Array, nil] + optional :trace_numbers, Lithic::Internal::Type::ArrayOf[String] + + # @!method initialize(sec_code:, addenda: nil, company_id: nil, receipt_routing_number: nil, retries: nil, return_reason_code: nil, trace_numbers: nil) + # @param sec_code [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode] SEC code for ACH transaction + # + # @param addenda [String, nil] Addenda information + # + # @param company_id [String, nil] Company ID for the ACH transaction + # + # @param receipt_routing_number [String, nil] Receipt routing number + # + # @param retries [Integer, nil] Number of retries attempted + # + # @param return_reason_code [String, nil] Return reason code if the transaction was returned + # + # @param trace_numbers [Array] Trace numbers for the ACH transaction + + # SEC code for ACH transaction + # + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes#sec_code + module SecCode + extend Lithic::Internal::Type::Enum + + CCD = :CCD + PPD = :PPD + WEB = :WEB + TEL = :TEL + CIE = :CIE + CTX = :CTX + + # @!method self.values + # @return [Array] + end + end + + class WireMethodAttributes < Lithic::Internal::Type::BaseModel + # @!attribute wire_transfer_type + # Type of wire transfer + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType] + required :wire_transfer_type, + enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType } + + # @!attribute external_bank_name + # External bank name + # + # @return [String, nil] + optional :external_bank_name, String, nil?: true + + # @!attribute external_bank_routing_number + # External bank routing number + # + # @return [String, nil] + optional :external_bank_routing_number, String, nil?: true + + # @!attribute external_individual_name + # External individual name + # + # @return [String, nil] + optional :external_individual_name, String, nil?: true + + # @!attribute imad + # IMAD + # + # @return [String, nil] + optional :imad, String, nil?: true + + # @!attribute lithic_bank_name + # Lithic bank name + # + # @return [String, nil] + optional :lithic_bank_name, String, nil?: true + + # @!attribute lithic_bank_routing_number + # Lithic bank routing number + # + # @return [String, nil] + optional :lithic_bank_routing_number, String, nil?: true + + # @!attribute lithic_individual_name + # Lithic individual name + # + # @return [String, nil] + optional :lithic_individual_name, String, nil?: true + + # @!attribute omad + # OMAD + # + # @return [String, nil] + optional :omad, String, nil?: true + + # @!attribute previous_transfer + # UUID of previous transfer if this is a retry + # + # @return [String, nil] + optional :previous_transfer, String, nil?: true + + # @!attribute wire_token + # Wire token + # + # @return [String, nil] + optional :wire_token, String, nil?: true + + # @!method initialize(wire_transfer_type:, external_bank_name: nil, external_bank_routing_number: nil, external_individual_name: nil, imad: nil, lithic_bank_name: nil, lithic_bank_routing_number: nil, lithic_individual_name: nil, omad: nil, previous_transfer: nil, wire_token: nil) + # @param wire_transfer_type [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType] Type of wire transfer + # + # @param external_bank_name [String, nil] External bank name + # + # @param external_bank_routing_number [String, nil] External bank routing number + # + # @param external_individual_name [String, nil] External individual name + # + # @param imad [String, nil] IMAD + # + # @param lithic_bank_name [String, nil] Lithic bank name + # + # @param lithic_bank_routing_number [String, nil] Lithic bank routing number + # + # @param lithic_individual_name [String, nil] Lithic individual name + # + # @param omad [String, nil] OMAD + # + # @param previous_transfer [String, nil] UUID of previous transfer if this is a retry + # + # @param wire_token [String, nil] Wire token + + # Type of wire transfer + # + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes#wire_transfer_type + module WireTransferType + extend Lithic::Internal::Type::Enum + + FEDWIRE = :FEDWIRE + SWIFT = :SWIFT + + # @!method self.values + # @return [Array] + end + end + + # @!method self.variants + # @return [Array(Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes, Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes)] + end + + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction#related_account_tokens + class RelatedAccountTokens < Lithic::Internal::Type::BaseModel + # @!attribute account_token + # Globally unique identifier for the account + # + # @return [String, nil] + required :account_token, String, nil?: true + + # @!attribute business_account_token + # Globally unique identifier for the business account + # + # @return [String, nil] + required :business_account_token, String, nil?: true + + # @!method initialize(account_token:, business_account_token:) + # Related account tokens for the transaction + # + # @param account_token [String, nil] Globally unique identifier for the account + # + # @param business_account_token [String, nil] Globally unique identifier for the business account + end + + # Transaction result + # + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # Transaction source + # + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction#source + module Source + extend Lithic::Internal::Type::Enum + + LITHIC = :LITHIC + EXTERNAL = :EXTERNAL + CUSTOMER = :CUSTOMER + + # @!method self.values + # @return [Array] + end + + # The status of the transaction + # + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction#status + module Status + extend Lithic::Internal::Type::Enum + + PENDING = :PENDING + SETTLED = :SETTLED + DECLINED = :DECLINED + REVERSED = :REVERSED + CANCELED = :CANCELED + + # @!method self.values + # @return [Array] + end + end + + # @!method self.variants + # @return [Array(Lithic::Models::AccountActivityListResponse::FinancialTransaction, Lithic::Models::AccountActivityListResponse::BookTransferTransaction, Lithic::Models::AccountActivityListResponse::CardTransaction, Lithic::Models::AccountActivityListResponse::PaymentTransaction, Lithic::Models::ExternalPayment, Lithic::Models::ManagementOperationTransaction)] + end + end +end diff --git a/lib/lithic/models/account_activity_retrieve_transaction_params.rb b/lib/lithic/models/account_activity_retrieve_transaction_params.rb new file mode 100644 index 00000000..6e601321 --- /dev/null +++ b/lib/lithic/models/account_activity_retrieve_transaction_params.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +module Lithic + module Models + # @see Lithic::Resources::AccountActivity#retrieve_transaction + class AccountActivityRetrieveTransactionParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + # @!method initialize(request_options: {}) + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}] + end + end +end diff --git a/lib/lithic/models/account_activity_retrieve_transaction_response.rb b/lib/lithic/models/account_activity_retrieve_transaction_response.rb new file mode 100644 index 00000000..c46cd5d0 --- /dev/null +++ b/lib/lithic/models/account_activity_retrieve_transaction_response.rb @@ -0,0 +1,1462 @@ +# frozen_string_literal: true + +module Lithic + module Models + # Response containing multiple transaction types + # + # @see Lithic::Resources::AccountActivity#retrieve_transaction + module AccountActivityRetrieveTransactionResponse + extend Lithic::Internal::Type::Union + + # Financial transaction with inheritance from unified base transaction + variant -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction } + + # Book transfer transaction + variant -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction } + + # Base class for all transaction types in the ledger service + variant -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction } + + # Payment transaction + variant -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction } + + variant -> { Lithic::ExternalPayment } + + variant -> { Lithic::ManagementOperationTransaction } + + class FinancialTransaction < Lithic::Internal::Type::BaseModel + # @!attribute token + # Unique identifier for the transaction + # + # @return [String] + required :token, String + + # @!attribute category + # Transaction category + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category] + required :category, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category } + + # @!attribute created + # ISO 8601 timestamp of when the transaction was created + # + # @return [Time] + required :created, Time + + # @!attribute currency + # Currency of the transaction, represented in ISO 4217 format + # + # @return [String] + required :currency, String + + # @!attribute descriptor + # Transaction descriptor + # + # @return [String] + required :descriptor, String + + # @!attribute events + # List of transaction events + # + # @return [Array] + required :events, + -> { Lithic::Internal::Type::ArrayOf[Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event] } + + # @!attribute family + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family] + required :family, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family } + + # @!attribute financial_account_token + # Financial account token associated with the transaction + # + # @return [String] + required :financial_account_token, String + + # @!attribute pending_amount + # Pending amount in cents + # + # @return [Integer] + required :pending_amount, Integer + + # @!attribute result + # Transaction result + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Result] + required :result, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Result } + + # @!attribute settled_amount + # Settled amount in cents + # + # @return [Integer] + required :settled_amount, Integer + + # @!attribute status + # The status of the transaction + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Status] + required :status, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Status } + + # @!attribute updated + # ISO 8601 timestamp of when the transaction was last updated + # + # @return [Time] + required :updated, Time + + # @!method initialize(token:, category:, created:, currency:, descriptor:, events:, family:, financial_account_token:, pending_amount:, result:, settled_amount:, status:, updated:) + # Financial transaction with inheritance from unified base transaction + # + # @param token [String] Unique identifier for the transaction + # + # @param category [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category] Transaction category + # + # @param created [Time] ISO 8601 timestamp of when the transaction was created + # + # @param currency [String] Currency of the transaction, represented in ISO 4217 format + # + # @param descriptor [String] Transaction descriptor + # + # @param events [Array] List of transaction events + # + # @param family [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family] + # + # @param financial_account_token [String] Financial account token associated with the transaction + # + # @param pending_amount [Integer] Pending amount in cents + # + # @param result [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Result] Transaction result + # + # @param settled_amount [Integer] Settled amount in cents + # + # @param status [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Status] The status of the transaction + # + # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated + + # Transaction category + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction#category + module Category + extend Lithic::Internal::Type::Enum + + ACH = :ACH + BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING + CARD = :CARD + EXTERNAL_ACH = :EXTERNAL_ACH + EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER + EXTERNAL_WIRE = :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE = :MANAGEMENT_DISPUTE + MANAGEMENT_FEE = :MANAGEMENT_FEE + MANAGEMENT_REWARD = :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING = :PROGRAM_FUNDING + + # @!method self.values + # @return [Array] + end + + class Event < Lithic::Internal::Type::BaseModel + # @!attribute token + # Globally unique identifier. + # + # @return [String, nil] + optional :token, String + + # @!attribute amount + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + # + # @return [Integer, nil] + optional :amount, Integer + + # @!attribute created + # Date and time when the financial event occurred. UTC time zone. + # + # @return [Time, nil] + optional :created, Time + + # @!attribute result + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Result, nil] + optional :result, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Result } + + # @!attribute type + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type, nil] + optional :type, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type } + + # @!method initialize(token: nil, amount: nil, created: nil, result: nil, type: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event} + # for more details. + # + # Financial Event + # + # @param token [String] Globally unique identifier. + # + # @param amount [Integer] Amount of the financial event that has been settled in the currency's smallest u + # + # @param created [Time] Date and time when the financial event occurred. UTC time zone. + # + # @param result [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Result] APPROVED financial events were successful while DECLINED financial events were d + # + # @param type [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type] + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event#type + module Type + extend Lithic::Internal::Type::Enum + + ACH_ORIGINATION_CANCELLED = :ACH_ORIGINATION_CANCELLED + ACH_ORIGINATION_INITIATED = :ACH_ORIGINATION_INITIATED + ACH_ORIGINATION_PROCESSED = :ACH_ORIGINATION_PROCESSED + ACH_ORIGINATION_RELEASED = :ACH_ORIGINATION_RELEASED + ACH_ORIGINATION_REVIEWED = :ACH_ORIGINATION_REVIEWED + ACH_ORIGINATION_SETTLED = :ACH_ORIGINATION_SETTLED + ACH_RECEIPT_PROCESSED = :ACH_RECEIPT_PROCESSED + ACH_RECEIPT_SETTLED = :ACH_RECEIPT_SETTLED + ACH_RETURN_INITIATED = :ACH_RETURN_INITIATED + ACH_RETURN_PROCESSED = :ACH_RETURN_PROCESSED + ACH_RETURN_SETTLED = :ACH_RETURN_SETTLED + AUTHORIZATION = :AUTHORIZATION + AUTHORIZATION_ADVICE = :AUTHORIZATION_ADVICE + AUTHORIZATION_EXPIRY = :AUTHORIZATION_EXPIRY + AUTHORIZATION_REVERSAL = :AUTHORIZATION_REVERSAL + BALANCE_INQUIRY = :BALANCE_INQUIRY + BILLING_ERROR = :BILLING_ERROR + BILLING_ERROR_REVERSAL = :BILLING_ERROR_REVERSAL + CARD_TO_CARD = :CARD_TO_CARD + CASH_BACK = :CASH_BACK + CASH_BACK_REVERSAL = :CASH_BACK_REVERSAL + CLEARING = :CLEARING + COLLECTION = :COLLECTION + CORRECTION_CREDIT = :CORRECTION_CREDIT + CORRECTION_DEBIT = :CORRECTION_DEBIT + CREDIT_AUTHORIZATION = :CREDIT_AUTHORIZATION + CREDIT_AUTHORIZATION_ADVICE = :CREDIT_AUTHORIZATION_ADVICE + CURRENCY_CONVERSION = :CURRENCY_CONVERSION + CURRENCY_CONVERSION_REVERSAL = :CURRENCY_CONVERSION_REVERSAL + DISPUTE_WON = :DISPUTE_WON + EXTERNAL_ACH_CANCELED = :EXTERNAL_ACH_CANCELED + EXTERNAL_ACH_INITIATED = :EXTERNAL_ACH_INITIATED + EXTERNAL_ACH_RELEASED = :EXTERNAL_ACH_RELEASED + EXTERNAL_ACH_REVERSED = :EXTERNAL_ACH_REVERSED + EXTERNAL_ACH_SETTLED = :EXTERNAL_ACH_SETTLED + EXTERNAL_CHECK_CANCELED = :EXTERNAL_CHECK_CANCELED + EXTERNAL_CHECK_INITIATED = :EXTERNAL_CHECK_INITIATED + EXTERNAL_CHECK_RELEASED = :EXTERNAL_CHECK_RELEASED + EXTERNAL_CHECK_REVERSED = :EXTERNAL_CHECK_REVERSED + EXTERNAL_CHECK_SETTLED = :EXTERNAL_CHECK_SETTLED + EXTERNAL_TRANSFER_CANCELED = :EXTERNAL_TRANSFER_CANCELED + EXTERNAL_TRANSFER_INITIATED = :EXTERNAL_TRANSFER_INITIATED + EXTERNAL_TRANSFER_RELEASED = :EXTERNAL_TRANSFER_RELEASED + EXTERNAL_TRANSFER_REVERSED = :EXTERNAL_TRANSFER_REVERSED + EXTERNAL_TRANSFER_SETTLED = :EXTERNAL_TRANSFER_SETTLED + EXTERNAL_WIRE_CANCELED = :EXTERNAL_WIRE_CANCELED + EXTERNAL_WIRE_INITIATED = :EXTERNAL_WIRE_INITIATED + EXTERNAL_WIRE_RELEASED = :EXTERNAL_WIRE_RELEASED + EXTERNAL_WIRE_REVERSED = :EXTERNAL_WIRE_REVERSED + EXTERNAL_WIRE_SETTLED = :EXTERNAL_WIRE_SETTLED + FINANCIAL_AUTHORIZATION = :FINANCIAL_AUTHORIZATION + FINANCIAL_CREDIT_AUTHORIZATION = :FINANCIAL_CREDIT_AUTHORIZATION + INTEREST = :INTEREST + INTEREST_REVERSAL = :INTEREST_REVERSAL + INTERNAL_ADJUSTMENT = :INTERNAL_ADJUSTMENT + LATE_PAYMENT = :LATE_PAYMENT + LATE_PAYMENT_REVERSAL = :LATE_PAYMENT_REVERSAL + LOSS_WRITE_OFF = :LOSS_WRITE_OFF + PROVISIONAL_CREDIT = :PROVISIONAL_CREDIT + PROVISIONAL_CREDIT_REVERSAL = :PROVISIONAL_CREDIT_REVERSAL + SERVICE = :SERVICE + RETURN = :RETURN + RETURN_REVERSAL = :RETURN_REVERSAL + TRANSFER = :TRANSFER + TRANSFER_INSUFFICIENT_FUNDS = :TRANSFER_INSUFFICIENT_FUNDS + RETURNED_PAYMENT = :RETURNED_PAYMENT + RETURNED_PAYMENT_REVERSAL = :RETURNED_PAYMENT_REVERSAL + LITHIC_NETWORK_PAYMENT = :LITHIC_NETWORK_PAYMENT + + # @!method self.values + # @return [Array] + end + end + + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction#family + module Family + extend Lithic::Internal::Type::Enum + + CARD = :CARD + PAYMENT = :PAYMENT + TRANSFER = :TRANSFER + INTERNAL = :INTERNAL + EXTERNAL_PAYMENT = :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION = :MANAGEMENT_OPERATION + + # @!method self.values + # @return [Array] + end + + # Transaction result + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # The status of the transaction + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction#status + module Status + extend Lithic::Internal::Type::Enum + + PENDING = :PENDING + SETTLED = :SETTLED + DECLINED = :DECLINED + REVERSED = :REVERSED + CANCELED = :CANCELED + + # @!method self.values + # @return [Array] + end + end + + class BookTransferTransaction < Lithic::Internal::Type::BaseModel + # @!attribute token + # Unique identifier for the transaction + # + # @return [String] + required :token, String + + # @!attribute category + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category] + required :category, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category } + + # @!attribute created + # ISO 8601 timestamp of when the transaction was created + # + # @return [Time] + required :created, Time + + # @!attribute currency + # Currency of the transaction in ISO 4217 format + # + # @return [String] + required :currency, String + + # @!attribute events + # List of events associated with this book transfer + # + # @return [Array] + required :events, + -> { Lithic::Internal::Type::ArrayOf[Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event] } + + # @!attribute family + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family] + required :family, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family } + + # @!attribute from_financial_account_token + # Source account token + # + # @return [String] + required :from_financial_account_token, String + + # @!attribute pending_amount + # The pending amount of the transaction in cents + # + # @return [Integer] + required :pending_amount, Integer + + # @!attribute result + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Result] + required :result, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Result } + + # @!attribute settled_amount + # The settled amount of the transaction in cents + # + # @return [Integer] + required :settled_amount, Integer + + # @!attribute status + # The status of the transaction + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Status] + required :status, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Status } + + # @!attribute to_financial_account_token + # Destination account token + # + # @return [String] + required :to_financial_account_token, String + + # @!attribute updated + # ISO 8601 timestamp of when the transaction was last updated + # + # @return [Time] + required :updated, Time + + # @!attribute external_id + # External identifier for the transaction + # + # @return [String, nil] + optional :external_id, String + + # @!attribute external_resource + # External resource associated with the management operation + # + # @return [Lithic::Models::ExternalResource, nil] + optional :external_resource, -> { Lithic::ExternalResource }, nil?: true + + # @!attribute transaction_series + # + # @return [Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::TransactionSeries, nil] + optional :transaction_series, + -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::TransactionSeries }, + nil?: true + + # @!method initialize(token:, category:, created:, currency:, events:, family:, from_financial_account_token:, pending_amount:, result:, settled_amount:, status:, to_financial_account_token:, updated:, external_id: nil, external_resource: nil, transaction_series: nil) + # Book transfer transaction + # + # @param token [String] Unique identifier for the transaction + # + # @param category [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category] + # + # @param created [Time] ISO 8601 timestamp of when the transaction was created + # + # @param currency [String] Currency of the transaction in ISO 4217 format + # + # @param events [Array] List of events associated with this book transfer + # + # @param family [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family] + # + # @param from_financial_account_token [String] Source account token + # + # @param pending_amount [Integer] The pending amount of the transaction in cents + # + # @param result [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Result] + # + # @param settled_amount [Integer] The settled amount of the transaction in cents + # + # @param status [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Status] The status of the transaction + # + # @param to_financial_account_token [String] Destination account token + # + # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated + # + # @param external_id [String] External identifier for the transaction + # + # @param external_resource [Lithic::Models::ExternalResource, nil] External resource associated with the management operation + # + # @param transaction_series [Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::TransactionSeries, nil] + + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction#category + module Category + extend Lithic::Internal::Type::Enum + + ACH = :ACH + BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING + CARD = :CARD + EXTERNAL_ACH = :EXTERNAL_ACH + EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER + EXTERNAL_WIRE = :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE = :MANAGEMENT_DISPUTE + MANAGEMENT_FEE = :MANAGEMENT_FEE + MANAGEMENT_REWARD = :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING = :PROGRAM_FUNDING + + # @!method self.values + # @return [Array] + end + + class Event < Lithic::Internal::Type::BaseModel + # @!attribute token + # Globally unique identifier. + # + # @return [String] + required :token, String + + # @!attribute amount + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + # + # @return [Integer] + required :amount, Integer + + # @!attribute created + # Date and time when the financial event occurred. UTC time zone. + # + # @return [Time] + required :created, Time + + # @!attribute detailed_results + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::DetailedResults] + required :detailed_results, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::DetailedResults } + + # @!attribute memo + # Memo for the transfer. + # + # @return [String] + required :memo, String + + # @!attribute result + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Result] + required :result, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Result } + + # @!attribute subtype + # The program specific subtype code for the specified category/type. + # + # @return [String] + required :subtype, String + + # @!attribute type + # Type of the book transfer + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type] + required :type, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type } + + # @!method initialize(token:, amount:, created:, detailed_results:, memo:, result:, subtype:, type:) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event} + # for more details. + # + # Book transfer Event + # + # @param token [String] Globally unique identifier. + # + # @param amount [Integer] Amount of the financial event that has been settled in the currency's smallest u + # + # @param created [Time] Date and time when the financial event occurred. UTC time zone. + # + # @param detailed_results [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::DetailedResults] + # + # @param memo [String] Memo for the transfer. + # + # @param result [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Result] APPROVED financial events were successful while DECLINED financial events were d + # + # @param subtype [String] The program specific subtype code for the specified category/type. + # + # @param type [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type] Type of the book transfer + + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event#detailed_results + module DetailedResults + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + FUNDS_INSUFFICIENT = :FUNDS_INSUFFICIENT + + # @!method self.values + # @return [Array] + end + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # Type of the book transfer + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event#type + module Type + extend Lithic::Internal::Type::Enum + + ATM_WITHDRAWAL = :ATM_WITHDRAWAL + ATM_DECLINE = :ATM_DECLINE + INTERNATIONAL_ATM_WITHDRAWAL = :INTERNATIONAL_ATM_WITHDRAWAL + INACTIVITY = :INACTIVITY + STATEMENT = :STATEMENT + MONTHLY = :MONTHLY + QUARTERLY = :QUARTERLY + ANNUAL = :ANNUAL + CUSTOMER_SERVICE = :CUSTOMER_SERVICE + ACCOUNT_MAINTENANCE = :ACCOUNT_MAINTENANCE + ACCOUNT_ACTIVATION = :ACCOUNT_ACTIVATION + ACCOUNT_CLOSURE = :ACCOUNT_CLOSURE + CARD_REPLACEMENT = :CARD_REPLACEMENT + CARD_DELIVERY = :CARD_DELIVERY + CARD_CREATE = :CARD_CREATE + CURRENCY_CONVERSION = :CURRENCY_CONVERSION + INTEREST = :INTEREST + LATE_PAYMENT = :LATE_PAYMENT + BILL_PAYMENT = :BILL_PAYMENT + CASH_BACK = :CASH_BACK + ACCOUNT_TO_ACCOUNT = :ACCOUNT_TO_ACCOUNT + CARD_TO_CARD = :CARD_TO_CARD + DISBURSE = :DISBURSE + BILLING_ERROR = :BILLING_ERROR + LOSS_WRITE_OFF = :LOSS_WRITE_OFF + EXPIRED_CARD = :EXPIRED_CARD + EARLY_DERECOGNITION = :EARLY_DERECOGNITION + ESCHEATMENT = :ESCHEATMENT + INACTIVITY_FEE_DOWN = :INACTIVITY_FEE_DOWN + PROVISIONAL_CREDIT = :PROVISIONAL_CREDIT + DISPUTE_WON = :DISPUTE_WON + SERVICE = :SERVICE + TRANSFER = :TRANSFER + + # @!method self.values + # @return [Array] + end + end + + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction#family + module Family + extend Lithic::Internal::Type::Enum + + CARD = :CARD + PAYMENT = :PAYMENT + TRANSFER = :TRANSFER + INTERNAL = :INTERNAL + EXTERNAL_PAYMENT = :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION = :MANAGEMENT_OPERATION + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # The status of the transaction + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction#status + module Status + extend Lithic::Internal::Type::Enum + + PENDING = :PENDING + SETTLED = :SETTLED + DECLINED = :DECLINED + REVERSED = :REVERSED + CANCELED = :CANCELED + + # @!method self.values + # @return [Array] + end + + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction#transaction_series + class TransactionSeries < Lithic::Internal::Type::BaseModel + # @!attribute related_transaction_event_token + # + # @return [String, nil] + required :related_transaction_event_token, String, nil?: true + + # @!attribute related_transaction_token + # + # @return [String, nil] + required :related_transaction_token, String, nil?: true + + # @!attribute type + # + # @return [String] + required :type, String + + # @!method initialize(related_transaction_event_token:, related_transaction_token:, type:) + # @param related_transaction_event_token [String, nil] + # @param related_transaction_token [String, nil] + # @param type [String] + end + end + + class CardTransaction < Lithic::Models::Transaction + # @!attribute token + # Unique identifier for the transaction + # + # @return [String] + required :token, String + + # @!attribute created + # ISO 8601 timestamp of when the transaction was created + # + # @return [Time] + required :created, Time + + # @!attribute family + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family] + required :family, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family } + + # @!attribute status + # The status of the transaction + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Status] + required :status, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Status } + + # @!attribute updated + # ISO 8601 timestamp of when the transaction was last updated + # + # @return [Time] + required :updated, Time + + # @!method initialize(token:, created:, family:, status:, updated:) + # Base class for all transaction types in the ledger service + # + # @param token [String] Unique identifier for the transaction + # + # @param created [Time] ISO 8601 timestamp of when the transaction was created + # + # @param family [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family] + # + # @param status [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Status] The status of the transaction + # + # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated + + module Family + extend Lithic::Internal::Type::Enum + + CARD = :CARD + PAYMENT = :PAYMENT + TRANSFER = :TRANSFER + INTERNAL = :INTERNAL + EXTERNAL_PAYMENT = :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION = :MANAGEMENT_OPERATION + + # @!method self.values + # @return [Array] + end + + # The status of the transaction + module Status + extend Lithic::Internal::Type::Enum + + PENDING = :PENDING + SETTLED = :SETTLED + DECLINED = :DECLINED + REVERSED = :REVERSED + CANCELED = :CANCELED + + # @!method self.values + # @return [Array] + end + end + + class PaymentTransaction < Lithic::Internal::Type::BaseModel + # @!attribute token + # Unique identifier for the transaction + # + # @return [String] + required :token, String + + # @!attribute category + # Transaction category + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category] + required :category, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category } + + # @!attribute created + # ISO 8601 timestamp of when the transaction was created + # + # @return [Time] + required :created, Time + + # @!attribute descriptor + # Transaction descriptor + # + # @return [String] + required :descriptor, String + + # @!attribute direction + # Transfer direction + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Direction] + required :direction, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Direction } + + # @!attribute events + # List of transaction events + # + # @return [Array] + required :events, + -> { Lithic::Internal::Type::ArrayOf[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event] } + + # @!attribute family + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family] + required :family, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family } + + # @!attribute financial_account_token + # Financial account token + # + # @return [String] + required :financial_account_token, String + + # @!attribute method_ + # Transfer method + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Method] + required :method_, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Method }, + api_name: :method + + # @!attribute method_attributes + # Method-specific attributes + # + # @return [Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes] + required :method_attributes, + union: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes } + + # @!attribute pending_amount + # Pending amount in cents + # + # @return [Integer] + required :pending_amount, Integer + + # @!attribute related_account_tokens + # Related account tokens for the transaction + # + # @return [Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::RelatedAccountTokens] + required :related_account_tokens, + -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::RelatedAccountTokens } + + # @!attribute result + # Transaction result + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Result] + required :result, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Result } + + # @!attribute settled_amount + # Settled amount in cents + # + # @return [Integer] + required :settled_amount, Integer + + # @!attribute source + # Transaction source + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Source] + required :source, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Source } + + # @!attribute status + # The status of the transaction + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Status] + required :status, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Status } + + # @!attribute updated + # ISO 8601 timestamp of when the transaction was last updated + # + # @return [Time] + required :updated, Time + + # @!attribute currency + # Currency of the transaction in ISO 4217 format + # + # @return [String, nil] + optional :currency, String + + # @!attribute expected_release_date + # Expected release date for the transaction + # + # @return [Date, nil] + optional :expected_release_date, Date, nil?: true + + # @!attribute external_bank_account_token + # External bank account token + # + # @return [String, nil] + optional :external_bank_account_token, String, nil?: true + + # @!attribute user_defined_id + # User-defined identifier + # + # @return [String, nil] + optional :user_defined_id, String, nil?: true + + # @!method initialize(token:, category:, created:, descriptor:, direction:, events:, family:, financial_account_token:, method_:, method_attributes:, pending_amount:, related_account_tokens:, result:, settled_amount:, source:, status:, updated:, currency: nil, expected_release_date: nil, external_bank_account_token: nil, user_defined_id: nil) + # Payment transaction + # + # @param token [String] Unique identifier for the transaction + # + # @param category [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category] Transaction category + # + # @param created [Time] ISO 8601 timestamp of when the transaction was created + # + # @param descriptor [String] Transaction descriptor + # + # @param direction [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Direction] Transfer direction + # + # @param events [Array] List of transaction events + # + # @param family [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family] + # + # @param financial_account_token [String] Financial account token + # + # @param method_ [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Method] Transfer method + # + # @param method_attributes [Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes] Method-specific attributes + # + # @param pending_amount [Integer] Pending amount in cents + # + # @param related_account_tokens [Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::RelatedAccountTokens] Related account tokens for the transaction + # + # @param result [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Result] Transaction result + # + # @param settled_amount [Integer] Settled amount in cents + # + # @param source [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Source] Transaction source + # + # @param status [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Status] The status of the transaction + # + # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated + # + # @param currency [String] Currency of the transaction in ISO 4217 format + # + # @param expected_release_date [Date, nil] Expected release date for the transaction + # + # @param external_bank_account_token [String, nil] External bank account token + # + # @param user_defined_id [String, nil] User-defined identifier + + # Transaction category + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction#category + module Category + extend Lithic::Internal::Type::Enum + + ACH = :ACH + BALANCE_OR_FUNDING = :BALANCE_OR_FUNDING + CARD = :CARD + EXTERNAL_ACH = :EXTERNAL_ACH + EXTERNAL_CHECK = :EXTERNAL_CHECK + EXTERNAL_TRANSFER = :EXTERNAL_TRANSFER + EXTERNAL_WIRE = :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT = :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE = :MANAGEMENT_DISPUTE + MANAGEMENT_FEE = :MANAGEMENT_FEE + MANAGEMENT_REWARD = :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT = :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING = :PROGRAM_FUNDING + + # @!method self.values + # @return [Array] + end + + # Transfer direction + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction#direction + module Direction + extend Lithic::Internal::Type::Enum + + CREDIT = :CREDIT + DEBIT = :DEBIT + + # @!method self.values + # @return [Array] + end + + class Event < Lithic::Internal::Type::BaseModel + # @!attribute token + # Globally unique identifier. + # + # @return [String] + required :token, String + + # @!attribute amount + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + # + # @return [Integer] + required :amount, Integer + + # @!attribute created + # Date and time when the financial event occurred. UTC time zone. + # + # @return [Time] + required :created, Time + + # @!attribute result + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Result] + required :result, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Result } + + # @!attribute type + # Event types: + # + # - `ACH_ORIGINATION_INITIATED` - ACH origination received and pending + # approval/release from an ACH hold. + # - `ACH_ORIGINATION_REVIEWED` - ACH origination has completed the review process. + # - `ACH_ORIGINATION_CANCELLED` - ACH origination has been cancelled. + # - `ACH_ORIGINATION_PROCESSED` - ACH origination has been processed and sent to + # the Federal Reserve. + # - `ACH_ORIGINATION_SETTLED` - ACH origination has settled. + # - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to + # available balance. + # - `ACH_RETURN_PROCESSED` - ACH origination returned by the Receiving Depository + # Financial Institution. + # - `ACH_RECEIPT_PROCESSED` - ACH receipt pending release from an ACH holder. + # - `ACH_RETURN_INITIATED` - ACH initiated return for a ACH receipt. + # - `ACH_RECEIPT_SETTLED` - ACH receipt funds have settled. + # - `ACH_RECEIPT_RELEASED` - ACH receipt released from pending to available + # balance. + # - `ACH_RETURN_SETTLED` - ACH receipt return settled by the Receiving Depository + # Financial Institution. + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type] + required :type, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type } + + # @!attribute detailed_results + # More detailed reasons for the event + # + # @return [Array, nil] + optional :detailed_results, + -> do + Lithic::Internal::Type::ArrayOf[ + enum: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::DetailedResult + ] + end + + # @!method initialize(token:, amount:, created:, result:, type:, detailed_results: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event} + # for more details. + # + # Payment Event + # + # @param token [String] Globally unique identifier. + # + # @param amount [Integer] Amount of the financial event that has been settled in the currency's smallest u + # + # @param created [Time] Date and time when the financial event occurred. UTC time zone. + # + # @param result [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Result] APPROVED financial events were successful while DECLINED financial events were d + # + # @param type [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type] Event types: + # + # @param detailed_results [Array] More detailed reasons for the event + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # Event types: + # + # - `ACH_ORIGINATION_INITIATED` - ACH origination received and pending + # approval/release from an ACH hold. + # - `ACH_ORIGINATION_REVIEWED` - ACH origination has completed the review process. + # - `ACH_ORIGINATION_CANCELLED` - ACH origination has been cancelled. + # - `ACH_ORIGINATION_PROCESSED` - ACH origination has been processed and sent to + # the Federal Reserve. + # - `ACH_ORIGINATION_SETTLED` - ACH origination has settled. + # - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to + # available balance. + # - `ACH_RETURN_PROCESSED` - ACH origination returned by the Receiving Depository + # Financial Institution. + # - `ACH_RECEIPT_PROCESSED` - ACH receipt pending release from an ACH holder. + # - `ACH_RETURN_INITIATED` - ACH initiated return for a ACH receipt. + # - `ACH_RECEIPT_SETTLED` - ACH receipt funds have settled. + # - `ACH_RECEIPT_RELEASED` - ACH receipt released from pending to available + # balance. + # - `ACH_RETURN_SETTLED` - ACH receipt return settled by the Receiving Depository + # Financial Institution. + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event#type + module Type + extend Lithic::Internal::Type::Enum + + ACH_ORIGINATION_CANCELLED = :ACH_ORIGINATION_CANCELLED + ACH_ORIGINATION_INITIATED = :ACH_ORIGINATION_INITIATED + ACH_ORIGINATION_PROCESSED = :ACH_ORIGINATION_PROCESSED + ACH_ORIGINATION_SETTLED = :ACH_ORIGINATION_SETTLED + ACH_ORIGINATION_RELEASED = :ACH_ORIGINATION_RELEASED + ACH_ORIGINATION_REVIEWED = :ACH_ORIGINATION_REVIEWED + ACH_RECEIPT_PROCESSED = :ACH_RECEIPT_PROCESSED + ACH_RECEIPT_SETTLED = :ACH_RECEIPT_SETTLED + ACH_RETURN_INITIATED = :ACH_RETURN_INITIATED + ACH_RETURN_PROCESSED = :ACH_RETURN_PROCESSED + ACH_RETURN_SETTLED = :ACH_RETURN_SETTLED + + # @!method self.values + # @return [Array] + end + + module DetailedResult + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + FUNDS_INSUFFICIENT = :FUNDS_INSUFFICIENT + ACCOUNT_INVALID = :ACCOUNT_INVALID + PROGRAM_TRANSACTION_LIMIT_EXCEEDED = :PROGRAM_TRANSACTION_LIMIT_EXCEEDED + PROGRAM_DAILY_LIMIT_EXCEEDED = :PROGRAM_DAILY_LIMIT_EXCEEDED + PROGRAM_MONTHLY_LIMIT_EXCEEDED = :PROGRAM_MONTHLY_LIMIT_EXCEEDED + + # @!method self.values + # @return [Array] + end + end + + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction#family + module Family + extend Lithic::Internal::Type::Enum + + CARD = :CARD + PAYMENT = :PAYMENT + TRANSFER = :TRANSFER + INTERNAL = :INTERNAL + EXTERNAL_PAYMENT = :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION = :MANAGEMENT_OPERATION + + # @!method self.values + # @return [Array] + end + + # Transfer method + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction#method_ + module Method + extend Lithic::Internal::Type::Enum + + ACH_NEXT_DAY = :ACH_NEXT_DAY + ACH_SAME_DAY = :ACH_SAME_DAY + WIRE = :WIRE + + # @!method self.values + # @return [Array] + end + + # Method-specific attributes + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction#method_attributes + module MethodAttributes + extend Lithic::Internal::Type::Union + + variant -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes } + + variant -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes } + + class ACHMethodAttributes < Lithic::Internal::Type::BaseModel + # @!attribute sec_code + # SEC code for ACH transaction + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode] + required :sec_code, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode } + + # @!attribute addenda + # Addenda information + # + # @return [String, nil] + optional :addenda, String, nil?: true + + # @!attribute company_id + # Company ID for the ACH transaction + # + # @return [String, nil] + optional :company_id, String, nil?: true + + # @!attribute receipt_routing_number + # Receipt routing number + # + # @return [String, nil] + optional :receipt_routing_number, String, nil?: true + + # @!attribute retries + # Number of retries attempted + # + # @return [Integer, nil] + optional :retries, Integer, nil?: true + + # @!attribute return_reason_code + # Return reason code if the transaction was returned + # + # @return [String, nil] + optional :return_reason_code, String, nil?: true + + # @!attribute trace_numbers + # Trace numbers for the ACH transaction + # + # @return [Array, nil] + optional :trace_numbers, Lithic::Internal::Type::ArrayOf[String] + + # @!method initialize(sec_code:, addenda: nil, company_id: nil, receipt_routing_number: nil, retries: nil, return_reason_code: nil, trace_numbers: nil) + # @param sec_code [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode] SEC code for ACH transaction + # + # @param addenda [String, nil] Addenda information + # + # @param company_id [String, nil] Company ID for the ACH transaction + # + # @param receipt_routing_number [String, nil] Receipt routing number + # + # @param retries [Integer, nil] Number of retries attempted + # + # @param return_reason_code [String, nil] Return reason code if the transaction was returned + # + # @param trace_numbers [Array] Trace numbers for the ACH transaction + + # SEC code for ACH transaction + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes#sec_code + module SecCode + extend Lithic::Internal::Type::Enum + + CCD = :CCD + PPD = :PPD + WEB = :WEB + TEL = :TEL + CIE = :CIE + CTX = :CTX + + # @!method self.values + # @return [Array] + end + end + + class WireMethodAttributes < Lithic::Internal::Type::BaseModel + # @!attribute wire_transfer_type + # Type of wire transfer + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType] + required :wire_transfer_type, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType } + + # @!attribute external_bank_name + # External bank name + # + # @return [String, nil] + optional :external_bank_name, String, nil?: true + + # @!attribute external_bank_routing_number + # External bank routing number + # + # @return [String, nil] + optional :external_bank_routing_number, String, nil?: true + + # @!attribute external_individual_name + # External individual name + # + # @return [String, nil] + optional :external_individual_name, String, nil?: true + + # @!attribute imad + # IMAD + # + # @return [String, nil] + optional :imad, String, nil?: true + + # @!attribute lithic_bank_name + # Lithic bank name + # + # @return [String, nil] + optional :lithic_bank_name, String, nil?: true + + # @!attribute lithic_bank_routing_number + # Lithic bank routing number + # + # @return [String, nil] + optional :lithic_bank_routing_number, String, nil?: true + + # @!attribute lithic_individual_name + # Lithic individual name + # + # @return [String, nil] + optional :lithic_individual_name, String, nil?: true + + # @!attribute omad + # OMAD + # + # @return [String, nil] + optional :omad, String, nil?: true + + # @!attribute previous_transfer + # UUID of previous transfer if this is a retry + # + # @return [String, nil] + optional :previous_transfer, String, nil?: true + + # @!attribute wire_token + # Wire token + # + # @return [String, nil] + optional :wire_token, String, nil?: true + + # @!method initialize(wire_transfer_type:, external_bank_name: nil, external_bank_routing_number: nil, external_individual_name: nil, imad: nil, lithic_bank_name: nil, lithic_bank_routing_number: nil, lithic_individual_name: nil, omad: nil, previous_transfer: nil, wire_token: nil) + # @param wire_transfer_type [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType] Type of wire transfer + # + # @param external_bank_name [String, nil] External bank name + # + # @param external_bank_routing_number [String, nil] External bank routing number + # + # @param external_individual_name [String, nil] External individual name + # + # @param imad [String, nil] IMAD + # + # @param lithic_bank_name [String, nil] Lithic bank name + # + # @param lithic_bank_routing_number [String, nil] Lithic bank routing number + # + # @param lithic_individual_name [String, nil] Lithic individual name + # + # @param omad [String, nil] OMAD + # + # @param previous_transfer [String, nil] UUID of previous transfer if this is a retry + # + # @param wire_token [String, nil] Wire token + + # Type of wire transfer + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes#wire_transfer_type + module WireTransferType + extend Lithic::Internal::Type::Enum + + FEDWIRE = :FEDWIRE + SWIFT = :SWIFT + + # @!method self.values + # @return [Array] + end + end + + # @!method self.variants + # @return [Array(Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes)] + end + + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction#related_account_tokens + class RelatedAccountTokens < Lithic::Internal::Type::BaseModel + # @!attribute account_token + # Globally unique identifier for the account + # + # @return [String, nil] + required :account_token, String, nil?: true + + # @!attribute business_account_token + # Globally unique identifier for the business account + # + # @return [String, nil] + required :business_account_token, String, nil?: true + + # @!method initialize(account_token:, business_account_token:) + # Related account tokens for the transaction + # + # @param account_token [String, nil] Globally unique identifier for the account + # + # @param business_account_token [String, nil] Globally unique identifier for the business account + end + + # Transaction result + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction#result + module Result + extend Lithic::Internal::Type::Enum + + APPROVED = :APPROVED + DECLINED = :DECLINED + + # @!method self.values + # @return [Array] + end + + # Transaction source + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction#source + module Source + extend Lithic::Internal::Type::Enum + + LITHIC = :LITHIC + EXTERNAL = :EXTERNAL + CUSTOMER = :CUSTOMER + + # @!method self.values + # @return [Array] + end + + # The status of the transaction + # + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction#status + module Status + extend Lithic::Internal::Type::Enum + + PENDING = :PENDING + SETTLED = :SETTLED + DECLINED = :DECLINED + REVERSED = :REVERSED + CANCELED = :CANCELED + + # @!method self.values + # @return [Array] + end + end + + # @!method self.variants + # @return [Array(Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction, Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction, Lithic::Models::ExternalPayment, Lithic::Models::ManagementOperationTransaction)] + end + end +end diff --git a/lib/lithic/models/account_holder.rb b/lib/lithic/models/account_holder.rb index bf0c42ed..3366b646 100644 --- a/lib/lithic/models/account_holder.rb +++ b/lib/lithic/models/account_holder.rb @@ -70,10 +70,9 @@ class AccountHolder < Lithic::Internal::Type::BaseModel optional :control_person, -> { Lithic::AccountHolder::ControlPerson } # @!attribute email - # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary email of Account Holder. + # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of + # Account Holder. # # @return [String, nil] optional :email, String @@ -106,10 +105,9 @@ class AccountHolder < Lithic::Internal::Type::BaseModel optional :nature_of_business, String # @!attribute phone_number - # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary phone of Account Holder, entered in E.164 format. + # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of + # Account Holder, entered in E.164 format. # # @return [String, nil] optional :phone_number, String @@ -122,7 +120,7 @@ class AccountHolder < Lithic::Internal::Type::BaseModel optional :required_documents, -> { Lithic::Internal::Type::ArrayOf[Lithic::RequiredDocument] } # @!attribute status - # + # (Deprecated. Use verification_application.status instead) # # KYC and KYB evaluation states. # @@ -134,8 +132,9 @@ class AccountHolder < Lithic::Internal::Type::BaseModel optional :status, enum: -> { Lithic::AccountHolder::Status } # @!attribute status_reasons - # Reason for the - # evaluation status. + # (Deprecated. Use verification_application.status_reasons) + # + # Reason for the evaluation status. # # @return [Array, nil] optional :status_reasons, @@ -182,7 +181,7 @@ class AccountHolder < Lithic::Internal::Type::BaseModel # # @param control_person [Lithic::Models::AccountHolder::ControlPerson] Only present when user_type == "BUSINESS". # - # @param email [String] < + # @param email [String] (Deprecated. Use control_person.email when user_type == "BUSINESS". Use individu # # @param exemption_type [Symbol, Lithic::Models::AccountHolder::ExemptionType] The type of KYC exemption for a KYC-Exempt Account Holder. # @@ -192,13 +191,13 @@ class AccountHolder < Lithic::Internal::Type::BaseModel # # @param nature_of_business [String] Only present when user_type == "BUSINESS". User-submitted description of the bus # - # @param phone_number [String] < + # @param phone_number [String] (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use i # # @param required_documents [Array] Only present for "KYB_BASIC" workflow. A list of documents required for the acco # - # @param status [Symbol, Lithic::Models::AccountHolder::Status] + # @param status [Symbol, Lithic::Models::AccountHolder::Status] (Deprecated. Use verification_application.status instead) # - # @param status_reasons [Array] Reason for the evaluat + # @param status_reasons [Array] (Deprecated. Use verification_application.status_reasons) # # @param user_type [Symbol, Lithic::Models::AccountHolder::UserType] The type of Account Holder. If the type is "INDIVIDUAL", the "individual" attrib # @@ -550,7 +549,7 @@ class Individual < Lithic::Internal::Type::BaseModel # @param phone_number [String] Individual's phone number, entered in E.164 format. end - # + # (Deprecated. Use verification_application.status instead) # # KYC and KYB evaluation states. # @@ -630,9 +629,7 @@ class VerificationApplication < Lithic::Internal::Type::BaseModel # # @return [Array, nil] optional :status_reasons, - -> { - Lithic::Internal::Type::ArrayOf[enum: Lithic::AccountHolder::VerificationApplication::StatusReason] - } + -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::AccountHolder::VerificationApplication::StatusReason] } # @!attribute updated # Timestamp of when the application was last updated. diff --git a/lib/lithic/models/account_holder_create_params.rb b/lib/lithic/models/account_holder_create_params.rb index a3a831d4..f744e3e0 100644 --- a/lib/lithic/models/account_holder_create_params.rb +++ b/lib/lithic/models/account_holder_create_params.rb @@ -17,9 +17,7 @@ class AccountHolderCreateParams < Lithic::Internal::Type::BaseModel # # @return [Array] required :beneficial_owner_individuals, - -> { - Lithic::Internal::Type::ArrayOf[Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual] - } + -> { Lithic::Internal::Type::ArrayOf[Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual] } # @!attribute business_entity # Information for business for which the account is being opened and KYB is being @@ -69,9 +67,7 @@ class AccountHolderCreateParams < Lithic::Internal::Type::BaseModel # # @return [Array, nil] optional :beneficial_owner_entities, - -> { - Lithic::Internal::Type::ArrayOf[Lithic::AccountHolderCreateParams::BeneficialOwnerEntity] - } + -> { Lithic::Internal::Type::ArrayOf[Lithic::AccountHolderCreateParams::BeneficialOwnerEntity] } # @!attribute external_id # A user provided id that can be used to link an account holder with an external @@ -81,7 +77,7 @@ class AccountHolderCreateParams < Lithic::Internal::Type::BaseModel optional :external_id, String # @!attribute kyb_passed_timestamp - # An RFC 3339 timestamp indicating when precomputed KYC was completed on the + # An RFC 3339 timestamp indicating when precomputed KYB was completed on the # business with a pass result. # # This field is required only if workflow type is `KYB_BYO`. @@ -190,7 +186,7 @@ class AccountHolderCreateParams < Lithic::Internal::Type::BaseModel # # @param external_id [String] A user provided id that can be used to link an account holder with an external s # - # @param kyb_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYC was completed on the busin + # @param kyb_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYB was completed on the busin # # @param website_url [String] Company website URL. # diff --git a/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb b/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb index 8c411947..0e0cc8f2 100644 --- a/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +++ b/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb @@ -25,9 +25,7 @@ class AccountHolderSimulateEnrollmentReviewParams < Lithic::Internal::Type::Base # # @return [Array, nil] optional :status_reasons, - -> { - Lithic::Internal::Type::ArrayOf[enum: Lithic::AccountHolderSimulateEnrollmentReviewParams::StatusReason] - } + -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::AccountHolderSimulateEnrollmentReviewParams::StatusReason] } # @!method initialize(account_holder_token: nil, status: nil, status_reasons: nil, request_options: {}) # Some parameter documentations has been truncated, see diff --git a/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb b/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb index ceeaedbb..ebe0e47d 100644 --- a/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +++ b/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb @@ -73,10 +73,9 @@ class AccountHolderSimulateEnrollmentReviewResponse < Lithic::Internal::Type::Ba optional :created, Time # @!attribute email - # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary email of Account Holder. + # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of + # Account Holder. # # @return [String, nil] optional :email, String @@ -111,10 +110,9 @@ class AccountHolderSimulateEnrollmentReviewResponse < Lithic::Internal::Type::Ba optional :nature_of_business, String # @!attribute phone_number - # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary phone of Account Holder, entered in E.164 format. + # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of + # Account Holder, entered in E.164 format. # # @return [String, nil] optional :phone_number, String @@ -127,9 +125,8 @@ class AccountHolderSimulateEnrollmentReviewResponse < Lithic::Internal::Type::Ba optional :required_documents, -> { Lithic::Internal::Type::ArrayOf[Lithic::RequiredDocument] } # @!attribute status - # - # - # KYC and KYB evaluation states. + # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation + # states. # # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the # `ADVANCED` workflow. @@ -138,7 +135,7 @@ class AccountHolderSimulateEnrollmentReviewResponse < Lithic::Internal::Type::Ba optional :status, enum: -> { Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::Status } # @!attribute status_reasons - # Reason for the + # (Deprecated. Use verification_application.status_reasons) Reason for the # evaluation status. # # @return [Array, nil] @@ -190,7 +187,7 @@ class AccountHolderSimulateEnrollmentReviewResponse < Lithic::Internal::Type::Ba # # @param created [Time] Timestamp of when the account holder was created. # - # @param email [String] < + # @param email [String] (Deprecated. Use control_person.email when user_type == "BUSINESS". # # @param exemption_type [Symbol, Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::ExemptionType] The type of KYC exemption for a KYC-Exempt Account Holder. "None" if the account # @@ -200,13 +197,13 @@ class AccountHolderSimulateEnrollmentReviewResponse < Lithic::Internal::Type::Ba # # @param nature_of_business [String] Only present when user_type == "BUSINESS". User-submitted description of the bus # - # @param phone_number [String] < + # @param phone_number [String] (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". # # @param required_documents [Array] Only present for "KYB_BASIC" and "KYC_ADVANCED" workflows. A list of documents r # - # @param status [Symbol, Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::Status] + # @param status [Symbol, Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::Status] (Deprecated. Use verification_application.status instead) # - # @param status_reasons [Array] Reason for the evaluat + # @param status_reasons [Array] (Deprecated. Use verification_application.status_reasons) # # @param user_type [Symbol, Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::UserType] The type of Account Holder. If the type is "INDIVIDUAL", the "individual" attrib # @@ -605,9 +602,8 @@ class Address < Lithic::Internal::Type::BaseModel end end - # - # - # KYC and KYB evaluation states. + # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation + # states. # # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the # `ADVANCED` workflow. @@ -709,7 +705,14 @@ class VerificationApplication < Lithic::Internal::Type::BaseModel # @return [Time] required :updated, Time - # @!method initialize(created:, status:, status_reasons:, updated:) + # @!attribute ky_passed_at + # Timestamp of when the application passed the verification process. Only present + # if `status` is `ACCEPTED` + # + # @return [Time, nil] + optional :ky_passed_at, Time + + # @!method initialize(created:, status:, status_reasons:, updated:, ky_passed_at: nil) # Some parameter documentations has been truncated, see # {Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::VerificationApplication} # for more details. @@ -723,6 +726,8 @@ class VerificationApplication < Lithic::Internal::Type::BaseModel # @param status_reasons [Array] Reason for the evaluation status. # # @param updated [Time] Timestamp of when the application was last updated. + # + # @param ky_passed_at [Time] Timestamp of when the application passed the verification process. Only present # KYC and KYB evaluation states. # diff --git a/lib/lithic/models/account_holder_update_params.rb b/lib/lithic/models/account_holder_update_params.rb index d9892807..4b81019e 100644 --- a/lib/lithic/models/account_holder_update_params.rb +++ b/lib/lithic/models/account_holder_update_params.rb @@ -14,9 +14,7 @@ class AccountHolderUpdateParams < Lithic::Internal::Type::BaseModel # # @return [Array, nil] optional :beneficial_owner_entities, - -> { - Lithic::Internal::Type::ArrayOf[Lithic::AccountHolderUpdateParams::BeneficialOwnerEntity] - } + -> { Lithic::Internal::Type::ArrayOf[Lithic::AccountHolderUpdateParams::BeneficialOwnerEntity] } # @!attribute beneficial_owner_individuals # You must submit a list of all direct and indirect individuals with 25% or more @@ -28,9 +26,7 @@ class AccountHolderUpdateParams < Lithic::Internal::Type::BaseModel # # @return [Array, nil] optional :beneficial_owner_individuals, - -> { - Lithic::Internal::Type::ArrayOf[Lithic::AccountHolderUpdateParams::BeneficialOwnerIndividual] - } + -> { Lithic::Internal::Type::ArrayOf[Lithic::AccountHolderUpdateParams::BeneficialOwnerIndividual] } # @!attribute business_entity # Information for business for which the account is being opened and KYB is being diff --git a/lib/lithic/models/account_holder_update_response.rb b/lib/lithic/models/account_holder_update_response.rb index 2bbef537..305fdf8c 100644 --- a/lib/lithic/models/account_holder_update_response.rb +++ b/lib/lithic/models/account_holder_update_response.rb @@ -80,10 +80,9 @@ class KYBKYCPatchResponse < Lithic::Internal::Type::BaseModel optional :created, Time # @!attribute email - # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary email of Account Holder. + # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of + # Account Holder. # # @return [String, nil] optional :email, String @@ -118,10 +117,9 @@ class KYBKYCPatchResponse < Lithic::Internal::Type::BaseModel optional :nature_of_business, String # @!attribute phone_number - # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary phone of Account Holder, entered in E.164 format. + # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of + # Account Holder, entered in E.164 format. # # @return [String, nil] optional :phone_number, String @@ -134,9 +132,8 @@ class KYBKYCPatchResponse < Lithic::Internal::Type::BaseModel optional :required_documents, -> { Lithic::Internal::Type::ArrayOf[Lithic::RequiredDocument] } # @!attribute status - # - # - # KYC and KYB evaluation states. + # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation + # states. # # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the # `ADVANCED` workflow. @@ -145,7 +142,7 @@ class KYBKYCPatchResponse < Lithic::Internal::Type::BaseModel optional :status, enum: -> { Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::Status } # @!attribute status_reasons - # Reason for the + # (Deprecated. Use verification_application.status_reasons) Reason for the # evaluation status. # # @return [Array, nil] @@ -198,7 +195,7 @@ class KYBKYCPatchResponse < Lithic::Internal::Type::BaseModel # # @param created [Time] Timestamp of when the account holder was created. # - # @param email [String] < + # @param email [String] (Deprecated. Use control_person.email when user_type == "BUSINESS". # # @param exemption_type [Symbol, Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::ExemptionType] The type of KYC exemption for a KYC-Exempt Account Holder. "None" if the account # @@ -208,13 +205,13 @@ class KYBKYCPatchResponse < Lithic::Internal::Type::BaseModel # # @param nature_of_business [String] Only present when user_type == "BUSINESS". User-submitted description of the bus # - # @param phone_number [String] < + # @param phone_number [String] (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". # # @param required_documents [Array] Only present for "KYB_BASIC" and "KYC_ADVANCED" workflows. A list of documents r # - # @param status [Symbol, Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::Status] + # @param status [Symbol, Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::Status] (Deprecated. Use verification_application.status instead) # - # @param status_reasons [Array] Reason for the evaluat + # @param status_reasons [Array] (Deprecated. Use verification_application.status_reasons) # # @param user_type [Symbol, Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::UserType] The type of Account Holder. If the type is "INDIVIDUAL", the "individual" attrib # @@ -613,9 +610,8 @@ class Address < Lithic::Internal::Type::BaseModel end end - # - # - # KYC and KYB evaluation states. + # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation + # states. # # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the # `ADVANCED` workflow. @@ -721,7 +717,14 @@ class VerificationApplication < Lithic::Internal::Type::BaseModel # @return [Time] required :updated, Time - # @!method initialize(created:, status:, status_reasons:, updated:) + # @!attribute ky_passed_at + # Timestamp of when the application passed the verification process. Only present + # if `status` is `ACCEPTED` + # + # @return [Time, nil] + optional :ky_passed_at, Time + + # @!method initialize(created:, status:, status_reasons:, updated:, ky_passed_at: nil) # Some parameter documentations has been truncated, see # {Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::VerificationApplication} # for more details. @@ -735,6 +738,8 @@ class VerificationApplication < Lithic::Internal::Type::BaseModel # @param status_reasons [Array] Reason for the evaluation status. # # @param updated [Time] Timestamp of when the application was last updated. + # + # @param ky_passed_at [Time] Timestamp of when the application passed the verification process. Only present # KYC and KYB evaluation states. # diff --git a/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb b/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb index 99c5ec8b..a98ca383 100644 --- a/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +++ b/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb @@ -14,9 +14,7 @@ class Conditional3DSActionParameters < Lithic::Internal::Type::BaseModel # # @return [Array] required :conditions, - -> { - Lithic::Internal::Type::ArrayOf[Lithic::AuthRules::Conditional3DSActionParameters::Condition] - } + -> { Lithic::Internal::Type::ArrayOf[Lithic::AuthRules::Conditional3DSActionParameters::Condition] } # @!method initialize(action:, conditions:) # @param action [Symbol, Lithic::Models::AuthRules::Conditional3DSActionParameters::Action] The action to take if the conditions are met. @@ -61,19 +59,13 @@ class Condition < Lithic::Internal::Type::BaseModel # - `MESSAGE_CATEGORY`: The category of the authentication being processed. # # @return [Symbol, Lithic::Models::AuthRules::Conditional3DSActionParameters::Condition::Attribute, nil] - optional :attribute, - enum: -> { - Lithic::AuthRules::Conditional3DSActionParameters::Condition::Attribute - } + optional :attribute, enum: -> { Lithic::AuthRules::Conditional3DSActionParameters::Condition::Attribute } # @!attribute operation # The operation to apply to the attribute # # @return [Symbol, Lithic::Models::AuthRules::Conditional3DSActionParameters::Condition::Operation, nil] - optional :operation, - enum: -> { - Lithic::AuthRules::Conditional3DSActionParameters::Condition::Operation - } + optional :operation, enum: -> { Lithic::AuthRules::Conditional3DSActionParameters::Condition::Operation } # @!attribute value # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` diff --git a/lib/lithic/models/auth_rules/v2_list_params.rb b/lib/lithic/models/auth_rules/v2_list_params.rb index cd00ddb0..760520f1 100644 --- a/lib/lithic/models/auth_rules/v2_list_params.rb +++ b/lib/lithic/models/auth_rules/v2_list_params.rb @@ -90,6 +90,7 @@ module Scope PROGRAM = :PROGRAM ACCOUNT = :ACCOUNT CARD = :CARD + ANY = :ANY # @!method self.values # @return [Array] diff --git a/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb b/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb index b111308f..d844fc7e 100644 --- a/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +++ b/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb @@ -92,10 +92,7 @@ class FixedWindowDay < Lithic::Internal::Type::BaseModel # @!attribute type # # @return [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::Type, nil] - optional :type, - enum: -> { - Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::Type - } + optional :type, enum: -> { Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowDay::Type } # @!method initialize(type: nil) # Velocity over the current day since 00:00 / 12 AM in Eastern Time @@ -124,10 +121,7 @@ class FixedWindowWeek < Lithic::Internal::Type::BaseModel # @!attribute type # # @return [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::Type, nil] - optional :type, - enum: -> { - Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::Type - } + optional :type, enum: -> { Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowWeek::Type } # @!method initialize(day_of_week: nil, type: nil) # Some parameter documentations has been truncated, see @@ -164,10 +158,7 @@ class FixedWindowMonth < Lithic::Internal::Type::BaseModel # @!attribute type # # @return [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::Type, nil] - optional :type, - enum: -> { - Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::Type - } + optional :type, enum: -> { Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowMonth::Type } # @!method initialize(day_of_month: nil, type: nil) # Some parameter documentations has been truncated, see @@ -210,10 +201,7 @@ class FixedWindowYear < Lithic::Internal::Type::BaseModel # @!attribute type # # @return [Symbol, Lithic::Models::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::Type, nil] - optional :type, - enum: -> { - Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::Type - } + optional :type, enum: -> { Lithic::AuthRules::VelocityLimitParamsPeriodWindow::FixedWindowYear::Type } # @!method initialize(day_of_month: nil, month: nil, type: nil) # Some parameter documentations has been truncated, see diff --git a/lib/lithic/models/book_transfer_create_params.rb b/lib/lithic/models/book_transfer_create_params.rb index 6aaa236a..fc932a06 100644 --- a/lib/lithic/models/book_transfer_create_params.rb +++ b/lib/lithic/models/book_transfer_create_params.rb @@ -8,7 +8,7 @@ class BookTransferCreateParams < Lithic::Internal::Type::BaseModel include Lithic::Internal::Type::RequestParameters # @!attribute amount - # Amount to be transferred in the currency’s smallest unit (e.g., cents for USD). + # Amount to be transferred in the currency's smallest unit (e.g., cents for USD). # This should always be a positive value. # # @return [Integer] @@ -41,7 +41,7 @@ class BookTransferCreateParams < Lithic::Internal::Type::BaseModel required :to_financial_account_token, String # @!attribute type - # Type of book_transfer + # Type of the book transfer # # @return [Symbol, Lithic::Models::BookTransferCreateParams::Type] required :type, enum: -> { Lithic::BookTransferCreateParams::Type } @@ -53,17 +53,29 @@ class BookTransferCreateParams < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :token, String + # @!attribute external_id + # External ID defined by the customer + # + # @return [String, nil] + optional :external_id, String + # @!attribute memo # Optional descriptor for the transfer. # # @return [String, nil] optional :memo, String - # @!method initialize(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, memo: nil, request_options: {}) + # @!attribute on_closed_account + # What to do if the financial account is closed when posting an operation + # + # @return [Symbol, Lithic::Models::BookTransferCreateParams::OnClosedAccount, nil] + optional :on_closed_account, enum: -> { Lithic::BookTransferCreateParams::OnClosedAccount } + + # @!method initialize(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, external_id: nil, memo: nil, on_closed_account: nil, request_options: {}) # Some parameter documentations has been truncated, see # {Lithic::Models::BookTransferCreateParams} for more details. # - # @param amount [Integer] Amount to be transferred in the currency’s smallest unit (e.g., cents for USD). + # @param amount [Integer] Amount to be transferred in the currency's smallest unit (e.g., cents for USD). # # @param category [Symbol, Lithic::Models::BookTransferCreateParams::Category] Category of the book transfer # @@ -73,12 +85,16 @@ class BookTransferCreateParams < Lithic::Internal::Type::BaseModel # # @param to_financial_account_token [String] Globally unique identifier for the financial account or card that will receive t # - # @param type [Symbol, Lithic::Models::BookTransferCreateParams::Type] Type of book_transfer + # @param type [Symbol, Lithic::Models::BookTransferCreateParams::Type] Type of the book transfer # # @param token [String] Customer-provided token that will serve as an idempotency token. This token will # + # @param external_id [String] External ID defined by the customer + # # @param memo [String] Optional descriptor for the transfer. # + # @param on_closed_account [Symbol, Lithic::Models::BookTransferCreateParams::OnClosedAccount] What to do if the financial account is closed when posting an operation + # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}] # Category of the book transfer @@ -97,7 +113,7 @@ module Category # @return [Array] end - # Type of book_transfer + # Type of the book transfer module Type extend Lithic::Internal::Type::Enum @@ -138,6 +154,17 @@ module Type # @!method self.values # @return [Array] end + + # What to do if the financial account is closed when posting an operation + module OnClosedAccount + extend Lithic::Internal::Type::Enum + + FAIL = :FAIL + USE_SUSPENSE = :USE_SUSPENSE + + # @!method self.values + # @return [Array] + end end end end diff --git a/lib/lithic/models/book_transfer_response.rb b/lib/lithic/models/book_transfer_response.rb index 2a4b6094..1aa4d7d4 100644 --- a/lib/lithic/models/book_transfer_response.rb +++ b/lib/lithic/models/book_transfer_response.rb @@ -36,6 +36,18 @@ class BookTransferResponse < Lithic::Internal::Type::BaseModel # @return [Array] required :events, -> { Lithic::Internal::Type::ArrayOf[Lithic::BookTransferResponse::Event] } + # @!attribute external_id + # External ID defined by the customer + # + # @return [String, nil] + required :external_id, String, nil?: true + + # @!attribute external_resource + # External resource associated with the management operation + # + # @return [Lithic::Models::ExternalResource, nil] + required :external_resource, -> { Lithic::ExternalResource }, nil?: true + # @!attribute from_financial_account_token # Globally unique identifier for the financial account or card that will send the # funds. Accepted type dependent on the program's use case. @@ -45,15 +57,15 @@ class BookTransferResponse < Lithic::Internal::Type::BaseModel # @!attribute pending_amount # Pending amount of the transaction in the currency's smallest unit (e.g., cents), - # including any acquirer fees. The value of this field will go to zero over time - # once the financial transaction is settled. + # including any acquirer fees. + # + # The value of this field will go to zero over time once the financial transaction + # is settled. # # @return [Integer] required :pending_amount, Integer # @!attribute result - # APPROVED transactions were successful while DECLINED transactions were declined - # by user, Lithic, or the network. # # @return [Symbol, Lithic::Models::BookTransferResponse::Result] required :result, enum: -> { Lithic::BookTransferResponse::Result } @@ -66,8 +78,11 @@ class BookTransferResponse < Lithic::Internal::Type::BaseModel required :settled_amount, Integer # @!attribute status - # Status types: _ `DECLINED` - The transfer was declined. _ `REVERSED` - The - # transfer was reversed \* `SETTLED` - The transfer is completed. + # Status types: + # + # - `DECLINED` - The transfer was declined. + # - `REVERSED` - The transfer was reversed + # - `SETTLED` - The transfer is completed. # # @return [Symbol, Lithic::Models::BookTransferResponse::Status] required :status, enum: -> { Lithic::BookTransferResponse::Status } @@ -76,8 +91,14 @@ class BookTransferResponse < Lithic::Internal::Type::BaseModel # Globally unique identifier for the financial account or card that will receive # the funds. Accepted type dependent on the program's use case. # - # @return [Object] - required :to_financial_account_token, Lithic::Internal::Type::Unknown + # @return [String] + required :to_financial_account_token, String + + # @!attribute transaction_series + # A series of transactions that are grouped together. + # + # @return [Lithic::Models::BookTransferResponse::TransactionSeries, nil] + required :transaction_series, -> { Lithic::BookTransferResponse::TransactionSeries }, nil?: true # @!attribute updated # Date and time when the financial transaction was last updated. UTC time zone. @@ -85,7 +106,7 @@ class BookTransferResponse < Lithic::Internal::Type::BaseModel # @return [Time] required :updated, Time - # @!method initialize(token:, category:, created:, currency:, events:, from_financial_account_token:, pending_amount:, result:, settled_amount:, status:, to_financial_account_token:, updated:) + # @!method initialize(token:, category:, created:, currency:, events:, external_id:, external_resource:, from_financial_account_token:, pending_amount:, result:, settled_amount:, status:, to_financial_account_token:, transaction_series:, updated:) # Some parameter documentations has been truncated, see # {Lithic::Models::BookTransferResponse} for more details. # @@ -99,17 +120,23 @@ class BookTransferResponse < Lithic::Internal::Type::BaseModel # # @param events [Array] A list of all financial events that have modified this transfer. # + # @param external_id [String, nil] External ID defined by the customer + # + # @param external_resource [Lithic::Models::ExternalResource, nil] External resource associated with the management operation + # # @param from_financial_account_token [String] Globally unique identifier for the financial account or card that will send the # # @param pending_amount [Integer] Pending amount of the transaction in the currency's smallest unit (e.g., cents), # - # @param result [Symbol, Lithic::Models::BookTransferResponse::Result] APPROVED transactions were successful while DECLINED transactions were declined + # @param result [Symbol, Lithic::Models::BookTransferResponse::Result] # # @param settled_amount [Integer] Amount of the transaction that has been settled in the currency's smallest unit # - # @param status [Symbol, Lithic::Models::BookTransferResponse::Status] Status types: _ `DECLINED` - The transfer was declined. _ `REVERSED` - The trans + # @param status [Symbol, Lithic::Models::BookTransferResponse::Status] Status types: + # + # @param to_financial_account_token [String] Globally unique identifier for the financial account or card that will receive t # - # @param to_financial_account_token [Object] Globally unique identifier for the financial account or card that will receive t + # @param transaction_series [Lithic::Models::BookTransferResponse::TransactionSeries, nil] A series of transactions that are grouped together. # # @param updated [Time] Date and time when the financial transaction was last updated. UTC time zone. @@ -152,13 +179,9 @@ class Event < Lithic::Internal::Type::BaseModel required :created, Time # @!attribute detailed_results - # Detailed Results # - # @return [Array] - required :detailed_results, - -> { - Lithic::Internal::Type::ArrayOf[enum: Lithic::BookTransferResponse::Event::DetailedResult] - } + # @return [Symbol, Lithic::Models::BookTransferResponse::Event::DetailedResults] + required :detailed_results, enum: -> { Lithic::BookTransferResponse::Event::DetailedResults } # @!attribute memo # Memo for the transfer. @@ -182,20 +205,22 @@ class Event < Lithic::Internal::Type::BaseModel # @!attribute type # Type of the book transfer # - # @return [String] - required :type, String + # @return [Symbol, Lithic::Models::BookTransferResponse::Event::Type] + required :type, enum: -> { Lithic::BookTransferResponse::Event::Type } # @!method initialize(token:, amount:, created:, detailed_results:, memo:, result:, subtype:, type:) # Some parameter documentations has been truncated, see # {Lithic::Models::BookTransferResponse::Event} for more details. # + # Book transfer Event + # # @param token [String] Globally unique identifier. # # @param amount [Integer] Amount of the financial event that has been settled in the currency's smallest u # # @param created [Time] Date and time when the financial event occurred. UTC time zone. # - # @param detailed_results [Array] Detailed Results + # @param detailed_results [Symbol, Lithic::Models::BookTransferResponse::Event::DetailedResults] # # @param memo [String] Memo for the transfer. # @@ -203,9 +228,10 @@ class Event < Lithic::Internal::Type::BaseModel # # @param subtype [String] The program specific subtype code for the specified category/type. # - # @param type [String] Type of the book transfer + # @param type [Symbol, Lithic::Models::BookTransferResponse::Event::Type] Type of the book transfer - module DetailedResult + # @see Lithic::Models::BookTransferResponse::Event#detailed_results + module DetailedResults extend Lithic::Internal::Type::Enum APPROVED = :APPROVED @@ -228,11 +254,52 @@ module Result # @!method self.values # @return [Array] end + + # Type of the book transfer + # + # @see Lithic::Models::BookTransferResponse::Event#type + module Type + extend Lithic::Internal::Type::Enum + + ATM_WITHDRAWAL = :ATM_WITHDRAWAL + ATM_DECLINE = :ATM_DECLINE + INTERNATIONAL_ATM_WITHDRAWAL = :INTERNATIONAL_ATM_WITHDRAWAL + INACTIVITY = :INACTIVITY + STATEMENT = :STATEMENT + MONTHLY = :MONTHLY + QUARTERLY = :QUARTERLY + ANNUAL = :ANNUAL + CUSTOMER_SERVICE = :CUSTOMER_SERVICE + ACCOUNT_MAINTENANCE = :ACCOUNT_MAINTENANCE + ACCOUNT_ACTIVATION = :ACCOUNT_ACTIVATION + ACCOUNT_CLOSURE = :ACCOUNT_CLOSURE + CARD_REPLACEMENT = :CARD_REPLACEMENT + CARD_DELIVERY = :CARD_DELIVERY + CARD_CREATE = :CARD_CREATE + CURRENCY_CONVERSION = :CURRENCY_CONVERSION + INTEREST = :INTEREST + LATE_PAYMENT = :LATE_PAYMENT + BILL_PAYMENT = :BILL_PAYMENT + CASH_BACK = :CASH_BACK + ACCOUNT_TO_ACCOUNT = :ACCOUNT_TO_ACCOUNT + CARD_TO_CARD = :CARD_TO_CARD + DISBURSE = :DISBURSE + BILLING_ERROR = :BILLING_ERROR + LOSS_WRITE_OFF = :LOSS_WRITE_OFF + EXPIRED_CARD = :EXPIRED_CARD + EARLY_DERECOGNITION = :EARLY_DERECOGNITION + ESCHEATMENT = :ESCHEATMENT + INACTIVITY_FEE_DOWN = :INACTIVITY_FEE_DOWN + PROVISIONAL_CREDIT = :PROVISIONAL_CREDIT + DISPUTE_WON = :DISPUTE_WON + SERVICE = :SERVICE + TRANSFER = :TRANSFER + + # @!method self.values + # @return [Array] + end end - # APPROVED transactions were successful while DECLINED transactions were declined - # by user, Lithic, or the network. - # # @see Lithic::Models::BookTransferResponse#result module Result extend Lithic::Internal::Type::Enum @@ -244,8 +311,11 @@ module Result # @return [Array] end - # Status types: _ `DECLINED` - The transfer was declined. _ `REVERSED` - The - # transfer was reversed \* `SETTLED` - The transfer is completed. + # Status types: + # + # - `DECLINED` - The transfer was declined. + # - `REVERSED` - The transfer was reversed + # - `SETTLED` - The transfer is completed. # # @see Lithic::Models::BookTransferResponse#status module Status @@ -258,6 +328,31 @@ module Status # @!method self.values # @return [Array] end + + # @see Lithic::Models::BookTransferResponse#transaction_series + class TransactionSeries < Lithic::Internal::Type::BaseModel + # @!attribute related_transaction_event_token + # + # @return [String, nil] + required :related_transaction_event_token, String, nil?: true + + # @!attribute related_transaction_token + # + # @return [String, nil] + required :related_transaction_token, String, nil?: true + + # @!attribute type + # + # @return [String] + required :type, String + + # @!method initialize(related_transaction_event_token:, related_transaction_token:, type:) + # A series of transactions that are grouped together. + # + # @param related_transaction_event_token [String, nil] + # @param related_transaction_token [String, nil] + # @param type [String] + end end end end diff --git a/lib/lithic/models/document.rb b/lib/lithic/models/document.rb index 4c0243c1..f8a8bf48 100644 --- a/lib/lithic/models/document.rb +++ b/lib/lithic/models/document.rb @@ -122,9 +122,7 @@ class RequiredDocumentUpload < Lithic::Internal::Type::BaseModel # # @return [Array] required :status_reasons, - -> { - Lithic::Internal::Type::ArrayOf[enum: Lithic::Document::RequiredDocumentUpload::StatusReason] - } + -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::Document::RequiredDocumentUpload::StatusReason] } # @!attribute updated # When the document upload was last updated diff --git a/lib/lithic/models/events/subscription_create_params.rb b/lib/lithic/models/events/subscription_create_params.rb index 861ffd60..b928126d 100644 --- a/lib/lithic/models/events/subscription_create_params.rb +++ b/lib/lithic/models/events/subscription_create_params.rb @@ -32,9 +32,7 @@ class SubscriptionCreateParams < Lithic::Internal::Type::BaseModel # # @return [Array, nil] optional :event_types, - -> { - Lithic::Internal::Type::ArrayOf[enum: Lithic::Events::SubscriptionCreateParams::EventType] - } + -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::Events::SubscriptionCreateParams::EventType] } # @!method initialize(url:, description: nil, disabled: nil, event_types: nil, request_options: {}) # Some parameter documentations has been truncated, see diff --git a/lib/lithic/models/events/subscription_update_params.rb b/lib/lithic/models/events/subscription_update_params.rb index fc4eb957..1fd0b068 100644 --- a/lib/lithic/models/events/subscription_update_params.rb +++ b/lib/lithic/models/events/subscription_update_params.rb @@ -32,9 +32,7 @@ class SubscriptionUpdateParams < Lithic::Internal::Type::BaseModel # # @return [Array, nil] optional :event_types, - -> { - Lithic::Internal::Type::ArrayOf[enum: Lithic::Events::SubscriptionUpdateParams::EventType] - } + -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::Events::SubscriptionUpdateParams::EventType] } # @!method initialize(url:, description: nil, disabled: nil, event_types: nil, request_options: {}) # Some parameter documentations has been truncated, see diff --git a/lib/lithic/models/external_bank_account_list_params.rb b/lib/lithic/models/external_bank_account_list_params.rb index a5b31a84..f28cc975 100644 --- a/lib/lithic/models/external_bank_account_list_params.rb +++ b/lib/lithic/models/external_bank_account_list_params.rb @@ -16,9 +16,7 @@ class ExternalBankAccountListParams < Lithic::Internal::Type::BaseModel # # @return [Array, nil] optional :account_types, - -> { - Lithic::Internal::Type::ArrayOf[enum: Lithic::ExternalBankAccountListParams::AccountType] - } + -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::ExternalBankAccountListParams::AccountType] } # @!attribute countries # @@ -60,9 +58,7 @@ class ExternalBankAccountListParams < Lithic::Internal::Type::BaseModel # # @return [Array, nil] optional :verification_states, - -> { - Lithic::Internal::Type::ArrayOf[enum: Lithic::ExternalBankAccountListParams::VerificationState] - } + -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::ExternalBankAccountListParams::VerificationState] } # @!method initialize(account_token: nil, account_types: nil, countries: nil, ending_before: nil, owner_types: nil, page_size: nil, starting_after: nil, states: nil, verification_states: nil, request_options: {}) # Some parameter documentations has been truncated, see diff --git a/lib/lithic/models/external_payment.rb b/lib/lithic/models/external_payment.rb index 3733e658..824990dc 100644 --- a/lib/lithic/models/external_payment.rb +++ b/lib/lithic/models/external_payment.rb @@ -5,85 +5,139 @@ module Models # @see Lithic::Resources::ExternalPayments#create class ExternalPayment < Lithic::Internal::Type::BaseModel # @!attribute token + # Unique identifier for the transaction # # @return [String] required :token, String - # @!attribute category - # - # @return [Symbol, Lithic::Models::ExternalPayment::Category] - required :category, enum: -> { Lithic::ExternalPayment::Category } - # @!attribute created + # ISO 8601 timestamp of when the transaction was created # # @return [Time] required :created, Time + # @!attribute family + # + # @return [Symbol, Lithic::Models::ExternalPayment::Family] + required :family, enum: -> { Lithic::ExternalPayment::Family } + + # @!attribute status + # The status of the transaction + # + # @return [Symbol, Lithic::Models::ExternalPayment::Status] + required :status, enum: -> { Lithic::ExternalPayment::Status } + + # @!attribute updated + # ISO 8601 timestamp of when the transaction was last updated + # + # @return [Time] + required :updated, Time + + # @!attribute category + # + # @return [Symbol, Lithic::Models::ExternalPayment::Category, nil] + optional :category, enum: -> { Lithic::ExternalPayment::Category } + # @!attribute currency # - # @return [String] - required :currency, String + # @return [String, nil] + optional :currency, String # @!attribute events # - # @return [Array] - required :events, -> { Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event] } + # @return [Array, nil] + optional :events, -> { Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event] } # @!attribute financial_account_token # - # @return [String] - required :financial_account_token, String + # @return [String, nil] + optional :financial_account_token, String # @!attribute payment_type # - # @return [Symbol, Lithic::Models::ExternalPayment::PaymentType] - required :payment_type, enum: -> { Lithic::ExternalPayment::PaymentType } + # @return [Symbol, Lithic::Models::ExternalPayment::PaymentType, nil] + optional :payment_type, enum: -> { Lithic::ExternalPayment::PaymentType } # @!attribute pending_amount # - # @return [Integer] - required :pending_amount, Integer + # @return [Integer, nil] + optional :pending_amount, Integer # @!attribute result # - # @return [Symbol, Lithic::Models::ExternalPayment::Result] - required :result, enum: -> { Lithic::ExternalPayment::Result } + # @return [Symbol, Lithic::Models::ExternalPayment::Result, nil] + optional :result, enum: -> { Lithic::ExternalPayment::Result } # @!attribute settled_amount # - # @return [Integer] - required :settled_amount, Integer - - # @!attribute status - # - # @return [Symbol, Lithic::Models::ExternalPayment::Status] - required :status, enum: -> { Lithic::ExternalPayment::Status } - - # @!attribute updated - # - # @return [Time] - required :updated, Time + # @return [Integer, nil] + optional :settled_amount, Integer # @!attribute user_defined_id # # @return [String, nil] optional :user_defined_id, String - # @!method initialize(token:, category:, created:, currency:, events:, financial_account_token:, payment_type:, pending_amount:, result:, settled_amount:, status:, updated:, user_defined_id: nil) - # @param token [String] + # @!method initialize(token:, created:, family:, status:, updated:, category: nil, currency: nil, events: nil, financial_account_token: nil, payment_type: nil, pending_amount: nil, result: nil, settled_amount: nil, user_defined_id: nil) + # @param token [String] Unique identifier for the transaction + # + # @param created [Time] ISO 8601 timestamp of when the transaction was created + # + # @param family [Symbol, Lithic::Models::ExternalPayment::Family] + # + # @param status [Symbol, Lithic::Models::ExternalPayment::Status] The status of the transaction + # + # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated + # # @param category [Symbol, Lithic::Models::ExternalPayment::Category] - # @param created [Time] + # # @param currency [String] + # # @param events [Array] + # # @param financial_account_token [String] + # # @param payment_type [Symbol, Lithic::Models::ExternalPayment::PaymentType] + # # @param pending_amount [Integer] + # # @param result [Symbol, Lithic::Models::ExternalPayment::Result] + # # @param settled_amount [Integer] - # @param status [Symbol, Lithic::Models::ExternalPayment::Status] - # @param updated [Time] + # # @param user_defined_id [String] + # @see Lithic::Models::ExternalPayment#family + module Family + extend Lithic::Internal::Type::Enum + + CARD = :CARD + PAYMENT = :PAYMENT + TRANSFER = :TRANSFER + INTERNAL = :INTERNAL + EXTERNAL_PAYMENT = :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION = :MANAGEMENT_OPERATION + + # @!method self.values + # @return [Array] + end + + # The status of the transaction + # + # @see Lithic::Models::ExternalPayment#status + module Status + extend Lithic::Internal::Type::Enum + + PENDING = :PENDING + SETTLED = :SETTLED + DECLINED = :DECLINED + REVERSED = :REVERSED + CANCELED = :CANCELED + + # @!method self.values + # @return [Array] + end + # @see Lithic::Models::ExternalPayment#category module Category extend Lithic::Internal::Type::Enum @@ -153,6 +207,7 @@ module DetailedResult extend Lithic::Internal::Type::Enum APPROVED = :APPROVED + INSUFFICIENT_FUNDS = :INSUFFICIENT_FUNDS # @!method self.values # @return [Array] @@ -220,20 +275,6 @@ module Result # @!method self.values # @return [Array] end - - # @see Lithic::Models::ExternalPayment#status - module Status - extend Lithic::Internal::Type::Enum - - PENDING = :PENDING - SETTLED = :SETTLED - DECLINED = :DECLINED - REVERSED = :REVERSED - CANCELED = :CANCELED - - # @!method self.values - # @return [Array] - end end end end diff --git a/lib/lithic/models/financial_account.rb b/lib/lithic/models/financial_account.rb index e6a41a9b..161ea280 100644 --- a/lib/lithic/models/financial_account.rb +++ b/lib/lithic/models/financial_account.rb @@ -210,6 +210,7 @@ module Type SECURITY = :SECURITY PROGRAM_RECEIVABLES = :PROGRAM_RECEIVABLES COLLECTION = :COLLECTION + BANK_ACCOUNTS_PAYABLE = :BANK_ACCOUNTS_PAYABLE # @!method self.values # @return [Array] diff --git a/lib/lithic/models/financial_accounts/loan_tape.rb b/lib/lithic/models/financial_accounts/loan_tape.rb index 82214aa4..b2b18371 100644 --- a/lib/lithic/models/financial_accounts/loan_tape.rb +++ b/lib/lithic/models/financial_accounts/loan_tape.rb @@ -101,10 +101,7 @@ class LoanTape < Lithic::Internal::Type::BaseModel # @!attribute previous_statement_balance # # @return [Lithic::Models::FinancialAccounts::LoanTape::PreviousStatementBalance] - required :previous_statement_balance, - -> { - Lithic::FinancialAccounts::LoanTape::PreviousStatementBalance - } + required :previous_statement_balance, -> { Lithic::FinancialAccounts::LoanTape::PreviousStatementBalance } # @!attribute starting_balance # Balance at the start of the day @@ -231,10 +228,7 @@ class AccountStanding < Lithic::Internal::Type::BaseModel # @!attribute period_state # # @return [Symbol, Lithic::Models::FinancialAccounts::LoanTape::AccountStanding::PeriodState] - required :period_state, - enum: -> { - Lithic::FinancialAccounts::LoanTape::AccountStanding::PeriodState - } + required :period_state, enum: -> { Lithic::FinancialAccounts::LoanTape::AccountStanding::PeriodState } # @!method initialize(consecutive_full_payments_made:, consecutive_minimum_payments_made:, consecutive_minimum_payments_missed:, days_past_due:, financial_account_state:, has_grace:, period_number:, period_state:) # @param consecutive_full_payments_made [Integer] Number of consecutive full payments made @@ -260,9 +254,7 @@ class FinancialAccountState < Lithic::Internal::Type::BaseModel # # @return [Symbol, Lithic::Models::FinancialAccounts::LoanTape::AccountStanding::FinancialAccountState::Status] required :status, - enum: -> { - Lithic::FinancialAccounts::LoanTape::AccountStanding::FinancialAccountState::Status - } + enum: -> { Lithic::FinancialAccounts::LoanTape::AccountStanding::FinancialAccountState::Status } # @!attribute substatus # Substatus for the financial account @@ -353,10 +345,7 @@ class Balances < Lithic::Internal::Type::BaseModel # Amount due for the past billing cycles. # # @return [Lithic::Models::FinancialAccounts::LoanTape::Balances::PastStatementsDue] - required :past_statements_due, - -> { - Lithic::FinancialAccounts::LoanTape::Balances::PastStatementsDue - } + required :past_statements_due, -> { Lithic::FinancialAccounts::LoanTape::Balances::PastStatementsDue } # @!method initialize(due:, next_statement_due:, past_due:, past_statements_due:) # Some parameter documentations has been truncated, see @@ -560,9 +549,7 @@ class InterestDetails < Lithic::Internal::Type::BaseModel # # @return [Symbol, Lithic::Models::FinancialAccounts::LoanTape::InterestDetails::InterestCalculationMethod] required :interest_calculation_method, - enum: -> { - Lithic::FinancialAccounts::LoanTape::InterestDetails::InterestCalculationMethod - } + enum: -> { Lithic::FinancialAccounts::LoanTape::InterestDetails::InterestCalculationMethod } # @!attribute interest_for_period # diff --git a/lib/lithic/models/financial_accounts/statement.rb b/lib/lithic/models/financial_accounts/statement.rb index 098b7102..e8924766 100644 --- a/lib/lithic/models/financial_accounts/statement.rb +++ b/lib/lithic/models/financial_accounts/statement.rb @@ -220,10 +220,7 @@ class AccountStanding < Lithic::Internal::Type::BaseModel # @!attribute period_state # # @return [Symbol, Lithic::Models::FinancialAccounts::Statement::AccountStanding::PeriodState] - required :period_state, - enum: -> { - Lithic::FinancialAccounts::Statement::AccountStanding::PeriodState - } + required :period_state, enum: -> { Lithic::FinancialAccounts::Statement::AccountStanding::PeriodState } # @!method initialize(consecutive_full_payments_made:, consecutive_minimum_payments_made:, consecutive_minimum_payments_missed:, days_past_due:, financial_account_state:, has_grace:, period_number:, period_state:) # @param consecutive_full_payments_made [Integer] Number of consecutive full payments made @@ -249,9 +246,7 @@ class FinancialAccountState < Lithic::Internal::Type::BaseModel # # @return [Symbol, Lithic::Models::FinancialAccounts::Statement::AccountStanding::FinancialAccountState::Status] required :status, - enum: -> { - Lithic::FinancialAccounts::Statement::AccountStanding::FinancialAccountState::Status - } + enum: -> { Lithic::FinancialAccounts::Statement::AccountStanding::FinancialAccountState::Status } # @!attribute substatus # Substatus for the financial account @@ -503,9 +498,7 @@ class InterestDetails < Lithic::Internal::Type::BaseModel # # @return [Symbol, Lithic::Models::FinancialAccounts::Statement::InterestDetails::InterestCalculationMethod] required :interest_calculation_method, - enum: -> { - Lithic::FinancialAccounts::Statement::InterestDetails::InterestCalculationMethod - } + enum: -> { Lithic::FinancialAccounts::Statement::InterestDetails::InterestCalculationMethod } # @!attribute interest_for_period # diff --git a/lib/lithic/models/financial_accounts/statements/statement_line_items.rb b/lib/lithic/models/financial_accounts/statements/statement_line_items.rb index 4554015c..a0e401b0 100644 --- a/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +++ b/lib/lithic/models/financial_accounts/statements/statement_line_items.rb @@ -9,9 +9,7 @@ class StatementLineItems < Lithic::Internal::Type::BaseModel # # @return [Array] required :data, - -> { - Lithic::Internal::Type::ArrayOf[Lithic::FinancialAccounts::Statements::StatementLineItems::Data] - } + -> { Lithic::Internal::Type::ArrayOf[Lithic::FinancialAccounts::Statements::StatementLineItems::Data] } # @!attribute has_more # @@ -38,10 +36,7 @@ class Data < Lithic::Internal::Type::BaseModel # @!attribute category # # @return [Symbol, Lithic::Models::FinancialAccounts::Statements::StatementLineItems::Data::Category] - required :category, - enum: -> { - Lithic::FinancialAccounts::Statements::StatementLineItems::Data::Category - } + required :category, enum: -> { Lithic::FinancialAccounts::Statements::StatementLineItems::Data::Category } # @!attribute created # Timestamp of when the line item was generated diff --git a/lib/lithic/models/financial_transaction.rb b/lib/lithic/models/financial_transaction.rb index c827fa13..bb8ab0cb 100644 --- a/lib/lithic/models/financial_transaction.rb +++ b/lib/lithic/models/financial_transaction.rb @@ -172,6 +172,8 @@ class Event < Lithic::Internal::Type::BaseModel # Some parameter documentations has been truncated, see # {Lithic::Models::FinancialTransaction::Event} for more details. # + # Financial Event + # # @param token [String] Globally unique identifier. # # @param amount [Integer] Amount of the financial event that has been settled in the currency's smallest u diff --git a/lib/lithic/models/instance_financial_account_type.rb b/lib/lithic/models/instance_financial_account_type.rb index 49648d19..8aecdf3a 100644 --- a/lib/lithic/models/instance_financial_account_type.rb +++ b/lib/lithic/models/instance_financial_account_type.rb @@ -15,6 +15,7 @@ module InstanceFinancialAccountType SECURITY = :SECURITY PROGRAM_RECEIVABLES = :PROGRAM_RECEIVABLES COLLECTION = :COLLECTION + BANK_ACCOUNTS_PAYABLE = :BANK_ACCOUNTS_PAYABLE # @!method self.values # @return [Array] diff --git a/lib/lithic/models/kyb.rb b/lib/lithic/models/kyb.rb index 842e7243..1e01db44 100644 --- a/lib/lithic/models/kyb.rb +++ b/lib/lithic/models/kyb.rb @@ -73,7 +73,7 @@ class KYB < Lithic::Internal::Type::BaseModel optional :external_id, String # @!attribute kyb_passed_timestamp - # An RFC 3339 timestamp indicating when precomputed KYC was completed on the + # An RFC 3339 timestamp indicating when precomputed KYB was completed on the # business with a pass result. # # This field is required only if workflow type is `KYB_BYO`. @@ -107,7 +107,7 @@ class KYB < Lithic::Internal::Type::BaseModel # # @param external_id [String] A user provided id that can be used to link an account holder with an external s # - # @param kyb_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYC was completed on the busin + # @param kyb_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYB was completed on the busin # # @param website_url [String] Company website URL. diff --git a/lib/lithic/models/management_operation_transaction.rb b/lib/lithic/models/management_operation_transaction.rb index f475ad68..3daf2b76 100644 --- a/lib/lithic/models/management_operation_transaction.rb +++ b/lib/lithic/models/management_operation_transaction.rb @@ -5,91 +5,106 @@ module Models # @see Lithic::Resources::ManagementOperations#create class ManagementOperationTransaction < Lithic::Internal::Type::BaseModel # @!attribute token + # Unique identifier for the transaction # # @return [String] required :token, String - # @!attribute category - # - # @return [Symbol, Lithic::Models::ManagementOperationTransaction::Category] - required :category, enum: -> { Lithic::ManagementOperationTransaction::Category } - # @!attribute created + # ISO 8601 timestamp of when the transaction was created # # @return [Time] required :created, Time + # @!attribute family + # + # @return [Symbol, Lithic::Models::ManagementOperationTransaction::Family] + required :family, enum: -> { Lithic::ManagementOperationTransaction::Family } + + # @!attribute status + # The status of the transaction + # + # @return [Symbol, Lithic::Models::ManagementOperationTransaction::Status] + required :status, enum: -> { Lithic::ManagementOperationTransaction::Status } + + # @!attribute updated + # ISO 8601 timestamp of when the transaction was last updated + # + # @return [Time] + required :updated, Time + + # @!attribute category + # + # @return [Symbol, Lithic::Models::ManagementOperationTransaction::Category, nil] + optional :category, enum: -> { Lithic::ManagementOperationTransaction::Category } + # @!attribute currency # - # @return [String] - required :currency, String + # @return [String, nil] + optional :currency, String # @!attribute direction # - # @return [Symbol, Lithic::Models::ManagementOperationTransaction::Direction] - required :direction, enum: -> { Lithic::ManagementOperationTransaction::Direction } + # @return [Symbol, Lithic::Models::ManagementOperationTransaction::Direction, nil] + optional :direction, enum: -> { Lithic::ManagementOperationTransaction::Direction } # @!attribute events # - # @return [Array] - required :events, -> { Lithic::Internal::Type::ArrayOf[Lithic::ManagementOperationTransaction::Event] } + # @return [Array, nil] + optional :events, -> { Lithic::Internal::Type::ArrayOf[Lithic::ManagementOperationTransaction::Event] } + + # @!attribute external_resource + # External resource associated with the management operation + # + # @return [Lithic::Models::ExternalResource, nil] + optional :external_resource, -> { Lithic::ExternalResource }, nil?: true # @!attribute financial_account_token # - # @return [String] - required :financial_account_token, String + # @return [String, nil] + optional :financial_account_token, String # @!attribute pending_amount # - # @return [Integer] - required :pending_amount, Integer + # @return [Integer, nil] + optional :pending_amount, Integer # @!attribute result # - # @return [Symbol, Lithic::Models::ManagementOperationTransaction::Result] - required :result, enum: -> { Lithic::ManagementOperationTransaction::Result } + # @return [Symbol, Lithic::Models::ManagementOperationTransaction::Result, nil] + optional :result, enum: -> { Lithic::ManagementOperationTransaction::Result } # @!attribute settled_amount # - # @return [Integer] - required :settled_amount, Integer - - # @!attribute status - # - # @return [Symbol, Lithic::Models::ManagementOperationTransaction::Status] - required :status, enum: -> { Lithic::ManagementOperationTransaction::Status } + # @return [Integer, nil] + optional :settled_amount, Integer # @!attribute transaction_series # # @return [Lithic::Models::ManagementOperationTransaction::TransactionSeries, nil] - required :transaction_series, + optional :transaction_series, -> { Lithic::ManagementOperationTransaction::TransactionSeries }, nil?: true - # @!attribute updated - # - # @return [Time] - required :updated, Time - - # @!attribute external_resource - # External resource associated with the management operation - # - # @return [Lithic::Models::ExternalResource, nil] - optional :external_resource, -> { Lithic::ExternalResource }, nil?: true - # @!attribute user_defined_id # # @return [String, nil] optional :user_defined_id, String - # @!method initialize(token:, category:, created:, currency:, direction:, events:, financial_account_token:, pending_amount:, result:, settled_amount:, status:, transaction_series:, updated:, external_resource: nil, user_defined_id: nil) - # @param token [String] + # @!method initialize(token:, created:, family:, status:, updated:, category: nil, currency: nil, direction: nil, events: nil, external_resource: nil, financial_account_token: nil, pending_amount: nil, result: nil, settled_amount: nil, transaction_series: nil, user_defined_id: nil) + # @param token [String] Unique identifier for the transaction # - # @param category [Symbol, Lithic::Models::ManagementOperationTransaction::Category] + # @param created [Time] ISO 8601 timestamp of when the transaction was created + # + # @param family [Symbol, Lithic::Models::ManagementOperationTransaction::Family] # - # @param created [Time] + # @param status [Symbol, Lithic::Models::ManagementOperationTransaction::Status] The status of the transaction + # + # @param updated [Time] ISO 8601 timestamp of when the transaction was last updated + # + # @param category [Symbol, Lithic::Models::ManagementOperationTransaction::Category] # # @param currency [String] # @@ -97,6 +112,8 @@ class ManagementOperationTransaction < Lithic::Internal::Type::BaseModel # # @param events [Array] # + # @param external_resource [Lithic::Models::ExternalResource, nil] External resource associated with the management operation + # # @param financial_account_token [String] # # @param pending_amount [Integer] @@ -105,16 +122,41 @@ class ManagementOperationTransaction < Lithic::Internal::Type::BaseModel # # @param settled_amount [Integer] # - # @param status [Symbol, Lithic::Models::ManagementOperationTransaction::Status] - # # @param transaction_series [Lithic::Models::ManagementOperationTransaction::TransactionSeries, nil] # - # @param updated [Time] - # - # @param external_resource [Lithic::Models::ExternalResource, nil] External resource associated with the management operation - # # @param user_defined_id [String] + # @see Lithic::Models::ManagementOperationTransaction#family + module Family + extend Lithic::Internal::Type::Enum + + CARD = :CARD + PAYMENT = :PAYMENT + TRANSFER = :TRANSFER + INTERNAL = :INTERNAL + EXTERNAL_PAYMENT = :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION = :MANAGEMENT_OPERATION + + # @!method self.values + # @return [Array] + end + + # The status of the transaction + # + # @see Lithic::Models::ManagementOperationTransaction#status + module Status + extend Lithic::Internal::Type::Enum + + PENDING = :PENDING + SETTLED = :SETTLED + DECLINED = :DECLINED + REVERSED = :REVERSED + CANCELED = :CANCELED + + # @!method self.values + # @return [Array] + end + # @see Lithic::Models::ManagementOperationTransaction#category module Category extend Lithic::Internal::Type::Enum @@ -160,9 +202,7 @@ class Event < Lithic::Internal::Type::BaseModel # # @return [Array] required :detailed_results, - -> { - Lithic::Internal::Type::ArrayOf[enum: Lithic::ManagementOperationTransaction::Event::DetailedResult] - } + -> { Lithic::Internal::Type::ArrayOf[enum: Lithic::ManagementOperationTransaction::Event::DetailedResult] } # @!attribute effective_date # @@ -204,6 +244,7 @@ module DetailedResult extend Lithic::Internal::Type::Enum APPROVED = :APPROVED + INSUFFICIENT_FUNDS = :INSUFFICIENT_FUNDS # @!method self.values # @return [Array] @@ -260,20 +301,6 @@ module Result # @return [Array] end - # @see Lithic::Models::ManagementOperationTransaction#status - module Status - extend Lithic::Internal::Type::Enum - - PENDING = :PENDING - SETTLED = :SETTLED - DECLINED = :DECLINED - REVERSED = :REVERSED - CANCELED = :CANCELED - - # @!method self.values - # @return [Array] - end - # @see Lithic::Models::ManagementOperationTransaction#transaction_series class TransactionSeries < Lithic::Internal::Type::BaseModel # @!attribute related_transaction_event_token diff --git a/lib/lithic/models/payment.rb b/lib/lithic/models/payment.rb index 67643ca6..a68c872e 100644 --- a/lib/lithic/models/payment.rb +++ b/lib/lithic/models/payment.rb @@ -73,6 +73,12 @@ class Payment < Lithic::Internal::Type::BaseModel # @return [Integer] required :pending_amount, Integer + # @!attribute related_account_tokens + # Account tokens related to a payment transaction + # + # @return [Lithic::Models::Payment::RelatedAccountTokens] + required :related_account_tokens, -> { Lithic::Payment::RelatedAccountTokens } + # @!attribute result # APPROVED payments were successful while DECLINED payments were declined by # Lithic or returned. @@ -121,7 +127,13 @@ class Payment < Lithic::Internal::Type::BaseModel # @return [Date, nil] optional :expected_release_date, Date - # @!method initialize(token:, category:, created:, currency:, descriptor:, direction:, events:, external_bank_account_token:, financial_account_token:, method_:, method_attributes:, pending_amount:, result:, settled_amount:, source:, status:, updated:, user_defined_id:, expected_release_date: nil) + # @!attribute type + # Payment type indicating the specific ACH message or Fedwire transfer type + # + # @return [Symbol, Lithic::Models::Payment::Type, nil] + optional :type, enum: -> { Lithic::Payment::Type } + + # @!method initialize(token:, category:, created:, currency:, descriptor:, direction:, events:, external_bank_account_token:, financial_account_token:, method_:, method_attributes:, pending_amount:, related_account_tokens:, result:, settled_amount:, source:, status:, updated:, user_defined_id:, expected_release_date: nil, type: nil) # Some parameter documentations has been truncated, see {Lithic::Models::Payment} # for more details. # @@ -149,6 +161,8 @@ class Payment < Lithic::Internal::Type::BaseModel # # @param pending_amount [Integer] Pending amount of the payment in the currency's smallest unit (e.g., cents). # + # @param related_account_tokens [Lithic::Models::Payment::RelatedAccountTokens] Account tokens related to a payment transaction + # # @param result [Symbol, Lithic::Models::Payment::Result] APPROVED payments were successful while DECLINED payments were declined by Lithi # # @param settled_amount [Integer] Amount of the payment that has been settled in the currency's smallest unit (e.g @@ -162,6 +176,8 @@ class Payment < Lithic::Internal::Type::BaseModel # @param user_defined_id [String, nil] # # @param expected_release_date [Date] Date when the financial transaction expected to be released after settlement + # + # @param type [Symbol, Lithic::Models::Payment::Type] Payment type indicating the specific ACH message or Fedwire transfer type # Payment category # @@ -249,6 +265,8 @@ class Event < Lithic::Internal::Type::BaseModel # Some parameter documentations has been truncated, see # {Lithic::Models::Payment::Event} for more details. # + # Payment Event + # # @param token [String] Globally unique identifier. # # @param amount [Integer] Amount of the financial event that has been settled in the currency's smallest u @@ -401,6 +419,28 @@ module SecCode end end + # @see Lithic::Models::Payment#related_account_tokens + class RelatedAccountTokens < Lithic::Internal::Type::BaseModel + # @!attribute account_token + # Globally unique identifier for the account + # + # @return [String, nil] + required :account_token, String, nil?: true + + # @!attribute business_account_token + # Globally unique identifier for the business account + # + # @return [String, nil] + required :business_account_token, String, nil?: true + + # @!method initialize(account_token:, business_account_token:) + # Account tokens related to a payment transaction + # + # @param account_token [String, nil] Globally unique identifier for the account + # + # @param business_account_token [String, nil] Globally unique identifier for the business account + end + # APPROVED payments were successful while DECLINED payments were declined by # Lithic or returned. # @@ -446,6 +486,27 @@ module Status # @!method self.values # @return [Array] end + + # Payment type indicating the specific ACH message or Fedwire transfer type + # + # @see Lithic::Models::Payment#type + module Type + extend Lithic::Internal::Type::Enum + + ORIGINATION_CREDIT = :ORIGINATION_CREDIT + ORIGINATION_DEBIT = :ORIGINATION_DEBIT + RECEIPT_CREDIT = :RECEIPT_CREDIT + RECEIPT_DEBIT = :RECEIPT_DEBIT + CUSTOMER_TRANSFER = :CUSTOMER_TRANSFER + DRAWDOWN_PAYMENT = :DRAWDOWN_PAYMENT + REVERSAL_PAYMENT = :REVERSAL_PAYMENT + DRAWDOWN_REQUEST = :DRAWDOWN_REQUEST + REVERSAL_REQUEST = :REVERSAL_REQUEST + DRAWDOWN_REFUSAL = :DRAWDOWN_REFUSAL + + # @!method self.values + # @return [Array] + end end end end diff --git a/lib/lithic/models/settlement_detail.rb b/lib/lithic/models/settlement_detail.rb index ed652706..e9216c0c 100644 --- a/lib/lithic/models/settlement_detail.rb +++ b/lib/lithic/models/settlement_detail.rb @@ -221,6 +221,7 @@ module Type ARBITRATION = :ARBITRATION CHARGEBACK = :CHARGEBACK CLEARING = :CLEARING + COLLABORATION = :COLLABORATION FEE = :FEE FINANCIAL = :FINANCIAL NON_FINANCIAL = :"NON-FINANCIAL" diff --git a/lib/lithic/models/three_ds/authentication_retrieve_response.rb b/lib/lithic/models/three_ds/authentication_retrieve_response.rb index ad559d2c..4627d12e 100644 --- a/lib/lithic/models/three_ds/authentication_retrieve_response.rb +++ b/lib/lithic/models/three_ds/authentication_retrieve_response.rb @@ -938,18 +938,46 @@ class ChallengeMetadata < Lithic::Internal::Type::BaseModel required :method_type, enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType } + # @!attribute status + # Indicates the status of the challenge + # + # - SUCCESS - Cardholder completed the challenge successfully + # - PENDING - Challenge was issued to the cardholder and was not completed yet + # - SMS_DELIVERY_FAILED - Lithic confirmed undeliverability of the SMS to the + # provided phone number. Relevant only for SMS_OTP method + # - CARDHOLDER_TIMEOUT - Cardholder failed to complete the challenge within the + # given challenge TTL + # - CANCELED_VIA_CHALLENGE_UI - Cardholder canceled the challenge by selecting + # "cancel" on the challenge UI + # - CANCELED_OOB - Cardholder canceled the challenge out of band + # - ATTEMPTS_EXCEEDED - Cardholder failed the challenge by either entering an + # incorrect OTP more than the allowed number of times or requesting a new OTP + # more than the allowed number of times + # - ABORTED - Merchant aborted authentication after a challenge was requested + # - ERROR - The challenge failed for a reason different than those documented + # + # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status] + required :status, + enum: -> { Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status } + # @!attribute phone_number # The phone number used for delivering the OTP. Relevant only for SMS_OTP method. # # @return [String, nil] optional :phone_number, String, nil?: true - # @!method initialize(method_type:, phone_number: nil) + # @!method initialize(method_type:, status:, phone_number: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata} for + # more details. + # # Metadata about the challenge method and delivery. Only present when a challenge # is triggered. # # @param method_type [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType] The type of challenge method used for authentication. # + # @param status [Symbol, Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status] Indicates the status of the challenge + # # @param phone_number [String, nil] The phone number used for delivering the OTP. Relevant only for SMS_OTP method. # The type of challenge method used for authentication. @@ -964,6 +992,41 @@ module MethodType # @!method self.values # @return [Array] end + + # Indicates the status of the challenge + # + # - SUCCESS - Cardholder completed the challenge successfully + # - PENDING - Challenge was issued to the cardholder and was not completed yet + # - SMS_DELIVERY_FAILED - Lithic confirmed undeliverability of the SMS to the + # provided phone number. Relevant only for SMS_OTP method + # - CARDHOLDER_TIMEOUT - Cardholder failed to complete the challenge within the + # given challenge TTL + # - CANCELED_VIA_CHALLENGE_UI - Cardholder canceled the challenge by selecting + # "cancel" on the challenge UI + # - CANCELED_OOB - Cardholder canceled the challenge out of band + # - ATTEMPTS_EXCEEDED - Cardholder failed the challenge by either entering an + # incorrect OTP more than the allowed number of times or requesting a new OTP + # more than the allowed number of times + # - ABORTED - Merchant aborted authentication after a challenge was requested + # - ERROR - The challenge failed for a reason different than those documented + # + # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata#status + module Status + extend Lithic::Internal::Type::Enum + + SUCCESS = :SUCCESS + PENDING = :PENDING + SMS_DELIVERY_FAILED = :SMS_DELIVERY_FAILED + CARDHOLDER_TIMEOUT = :CARDHOLDER_TIMEOUT + CANCELED_VIA_CHALLENGE_UI = :CANCELED_VIA_CHALLENGE_UI + CANCELED_OOB = :CANCELED_OOB + ATTEMPTS_EXCEEDED = :ATTEMPTS_EXCEEDED + ABORTED = :ABORTED + ERROR = :ERROR + + # @!method self.values + # @return [Array] + end end # Entity that orchestrates the challenge. This won't be set for authentications diff --git a/lib/lithic/models/three_ds/authentication_simulate_params.rb b/lib/lithic/models/three_ds/authentication_simulate_params.rb index 60e69ac3..f211ac85 100644 --- a/lib/lithic/models/three_ds/authentication_simulate_params.rb +++ b/lib/lithic/models/three_ds/authentication_simulate_params.rb @@ -31,10 +31,7 @@ class AuthenticationSimulateParams < Lithic::Internal::Type::BaseModel # When not set defaults to MATCH # # @return [Symbol, Lithic::Models::ThreeDS::AuthenticationSimulateParams::CardExpiryCheck, nil] - optional :card_expiry_check, - enum: -> { - Lithic::ThreeDS::AuthenticationSimulateParams::CardExpiryCheck - } + optional :card_expiry_check, enum: -> { Lithic::ThreeDS::AuthenticationSimulateParams::CardExpiryCheck } # @!method initialize(merchant:, pan:, transaction:, card_expiry_check: nil, request_options: {}) # Some parameter documentations has been truncated, see diff --git a/lib/lithic/models/tokenization.rb b/lib/lithic/models/tokenization.rb index dd2a9156..784b9b1e 100644 --- a/lib/lithic/models/tokenization.rb +++ b/lib/lithic/models/tokenization.rb @@ -2,7 +2,7 @@ module Lithic module Models - # @see Lithic::Resources::Tokenizations#list + # @see Lithic::Resources::Tokenizations#retrieve class Tokenization < Lithic::Internal::Type::BaseModel # @!attribute token # Globally unique identifier for a Tokenization diff --git a/lib/lithic/models/tokenization_retrieve_response.rb b/lib/lithic/models/tokenization_retrieve_response.rb deleted file mode 100644 index 8988950a..00000000 --- a/lib/lithic/models/tokenization_retrieve_response.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Lithic - module Models - # @see Lithic::Resources::Tokenizations#retrieve - class TokenizationRetrieveResponse < Lithic::Internal::Type::BaseModel - # @!attribute data - # - # @return [Lithic::Models::Tokenization, nil] - optional :data, -> { Lithic::Tokenization } - - # @!method initialize(data: nil) - # @param data [Lithic::Models::Tokenization] - end - end -end diff --git a/lib/lithic/models/transactions/events/enhanced_data.rb b/lib/lithic/models/transactions/events/enhanced_data.rb index 0fe5e078..f697b12e 100644 --- a/lib/lithic/models/transactions/events/enhanced_data.rb +++ b/lib/lithic/models/transactions/events/enhanced_data.rb @@ -26,10 +26,7 @@ class EnhancedData < Lithic::Internal::Type::BaseModel # @!attribute fleet # # @return [Array] - required :fleet, - -> { - Lithic::Internal::Type::ArrayOf[Lithic::Transactions::Events::EnhancedData::Fleet] - } + required :fleet, -> { Lithic::Internal::Type::ArrayOf[Lithic::Transactions::Events::EnhancedData::Fleet] } # @!attribute transaction_token # The token of the transaction that the enhanced data is associated with. @@ -54,9 +51,7 @@ class Common < Lithic::Internal::Type::BaseModel # # @return [Array] required :line_items, - -> { - Lithic::Internal::Type::ArrayOf[Lithic::Transactions::Events::EnhancedData::Common::LineItem] - } + -> { Lithic::Internal::Type::ArrayOf[Lithic::Transactions::Events::EnhancedData::Common::LineItem] } # @!attribute tax # @@ -200,10 +195,7 @@ class Fleet < Lithic::Internal::Type::BaseModel # The type of fuel service. # # @return [Symbol, Lithic::Models::Transactions::Events::EnhancedData::Fleet::ServiceType, nil] - optional :service_type, - enum: -> { - Lithic::Transactions::Events::EnhancedData::Fleet::ServiceType - } + optional :service_type, enum: -> { Lithic::Transactions::Events::EnhancedData::Fleet::ServiceType } # @!attribute vehicle_number # The vehicle number entered into the terminal at the time of sale, with leading diff --git a/lib/lithic/models/transfer.rb b/lib/lithic/models/transfer.rb index 30df0f52..6aec3fa4 100644 --- a/lib/lithic/models/transfer.rb +++ b/lib/lithic/models/transfer.rb @@ -178,6 +178,8 @@ class Event < Lithic::Internal::Type::BaseModel # Some parameter documentations has been truncated, see # {Lithic::Models::Transfer::Event} for more details. # + # Financial Event + # # @param token [String] Globally unique identifier. # # @param amount [Integer] Amount of the financial event that has been settled in the currency's smallest u diff --git a/lib/lithic/resources/account_activity.rb b/lib/lithic/resources/account_activity.rb new file mode 100644 index 00000000..eae0012f --- /dev/null +++ b/lib/lithic/resources/account_activity.rb @@ -0,0 +1,80 @@ +# frozen_string_literal: true + +module Lithic + module Resources + class AccountActivity + # Some parameter documentations has been truncated, see + # {Lithic::Models::AccountActivityListParams} for more details. + # + # Retrieve a list of transactions across all public accounts. + # + # @overload list(account_token: nil, begin_: nil, business_account_token: nil, category: nil, end_: nil, ending_before: nil, financial_account_token: nil, page_size: nil, result: nil, starting_after: nil, status: nil, request_options: {}) + # + # @param account_token [String] Filter by account token + # + # @param begin_ [Time] Date string in RFC 3339 format. Only entries created after the specified time wi + # + # @param business_account_token [String] Filter by business account token + # + # @param category [Symbol, Lithic::Models::AccountActivityListParams::Category] Filter by transaction category + # + # @param end_ [Time] Date string in RFC 3339 format. Only entries created before the specified time w + # + # @param ending_before [String] A cursor representing an item's token before which a page of results should end. + # + # @param financial_account_token [String] Filter by financial account token + # + # @param page_size [Integer] Page size (for pagination). + # + # @param result [Array] Filter by transaction result + # + # @param starting_after [String] A cursor representing an item's token after which a page of results should begin + # + # @param status [Array] Filter by transaction status + # + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Lithic::Internal::CursorPage] + # + # @see Lithic::Models::AccountActivityListParams + def list(params = {}) + parsed, options = Lithic::AccountActivityListParams.dump_request(params) + @client.request( + method: :get, + path: "v1/account_activity", + query: parsed.transform_keys(begin_: "begin", end_: "end"), + page: Lithic::Internal::CursorPage, + model: Lithic::Models::AccountActivityListResponse, + options: options + ) + end + + # Retrieve a single transaction + # + # @overload retrieve_transaction(transaction_token, request_options: {}) + # + # @param transaction_token [String] The unique identifier for the transaction + # + # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction, Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction, Lithic::Models::ExternalPayment, Lithic::Models::ManagementOperationTransaction] + # + # @see Lithic::Models::AccountActivityRetrieveTransactionParams + def retrieve_transaction(transaction_token, params = {}) + @client.request( + method: :get, + path: ["v1/account_activity/%1$s", transaction_token], + model: Lithic::Models::AccountActivityRetrieveTransactionResponse, + options: params[:request_options] + ) + end + + # @api private + # + # @param client [Lithic::Client] + def initialize(client:) + @client = client + end + end + end +end diff --git a/lib/lithic/resources/account_holders.rb b/lib/lithic/resources/account_holders.rb index 653901a7..86e1cc9b 100644 --- a/lib/lithic/resources/account_holders.rb +++ b/lib/lithic/resources/account_holders.rb @@ -47,7 +47,7 @@ class AccountHolders # # @param external_id [String] A user provided id that can be used to link an account holder with an external s # - # @param kyb_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYC was completed on the busin + # @param kyb_passed_timestamp [String] An RFC 3339 timestamp indicating when precomputed KYB was completed on the busin # # @param website_url [String] Company website URL. # diff --git a/lib/lithic/resources/book_transfers.rb b/lib/lithic/resources/book_transfers.rb index 8cbf6255..47eb4370 100644 --- a/lib/lithic/resources/book_transfers.rb +++ b/lib/lithic/resources/book_transfers.rb @@ -9,9 +9,9 @@ class BookTransfers # Book transfer funds between two financial accounts or between a financial # account and card # - # @overload create(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, memo: nil, request_options: {}) + # @overload create(amount:, category:, from_financial_account_token:, subtype:, to_financial_account_token:, type:, token: nil, external_id: nil, memo: nil, on_closed_account: nil, request_options: {}) # - # @param amount [Integer] Amount to be transferred in the currency’s smallest unit (e.g., cents for USD). + # @param amount [Integer] Amount to be transferred in the currency's smallest unit (e.g., cents for USD). # # @param category [Symbol, Lithic::Models::BookTransferCreateParams::Category] Category of the book transfer # @@ -21,12 +21,16 @@ class BookTransfers # # @param to_financial_account_token [String] Globally unique identifier for the financial account or card that will receive t # - # @param type [Symbol, Lithic::Models::BookTransferCreateParams::Type] Type of book_transfer + # @param type [Symbol, Lithic::Models::BookTransferCreateParams::Type] Type of the book transfer # # @param token [String] Customer-provided token that will serve as an idempotency token. This token will # + # @param external_id [String] External ID defined by the customer + # # @param memo [String] Optional descriptor for the transfer. # + # @param on_closed_account [Symbol, Lithic::Models::BookTransferCreateParams::OnClosedAccount] What to do if the financial account is closed when posting an operation + # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # # @return [Lithic::Models::BookTransferResponse] diff --git a/lib/lithic/resources/tokenizations.rb b/lib/lithic/resources/tokenizations.rb index c7707ddc..7474ed1a 100644 --- a/lib/lithic/resources/tokenizations.rb +++ b/lib/lithic/resources/tokenizations.rb @@ -11,14 +11,14 @@ class Tokenizations # # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [Lithic::Models::TokenizationRetrieveResponse] + # @return [Lithic::Models::Tokenization] # # @see Lithic::Models::TokenizationRetrieveParams def retrieve(tokenization_token, params = {}) @client.request( method: :get, path: ["v1/tokenizations/%1$s", tokenization_token], - model: Lithic::Models::TokenizationRetrieveResponse, + model: Lithic::Tokenization, options: params[:request_options] ) end diff --git a/lib/lithic/version.rb b/lib/lithic/version.rb index db2c2090..7b28be27 100644 --- a/lib/lithic/version.rb +++ b/lib/lithic/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Lithic - VERSION = "0.1.0.pre.alpha.40" + VERSION = "0.1.0.pre.alpha.39" end diff --git a/rbi/lithic/client.rbi b/rbi/lithic/client.rbi index a649be15..a06e2e9a 100644 --- a/rbi/lithic/client.rbi +++ b/rbi/lithic/client.rbi @@ -106,6 +106,9 @@ module Lithic sig { returns(Lithic::Resources::NetworkPrograms) } attr_reader :network_programs + sig { returns(Lithic::Resources::AccountActivity) } + attr_reader :account_activity + # Status of api sig do params(request_options: Lithic::RequestOptions::OrHash).returns( diff --git a/rbi/lithic/errors.rbi b/rbi/lithic/errors.rbi index 4fb98e36..0c8b1a1c 100644 --- a/rbi/lithic/errors.rbi +++ b/rbi/lithic/errors.rbi @@ -59,10 +59,10 @@ module Lithic end class APIConnectionError < Lithic::Errors::APIError - sig { void } + sig { returns(NilClass) } attr_accessor :status - sig { void } + sig { returns(NilClass) } attr_accessor :body # @api private diff --git a/rbi/lithic/internal/transport/base_client.rbi b/rbi/lithic/internal/transport/base_client.rbi index 241ddb3a..5f1914f3 100644 --- a/rbi/lithic/internal/transport/base_client.rbi +++ b/rbi/lithic/internal/transport/base_client.rbi @@ -213,7 +213,7 @@ module Lithic send_retry_header: T::Boolean ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]]) end - private def send_request( + def send_request( request, redirect_count:, retry_count:, diff --git a/rbi/lithic/internal/type/converter.rbi b/rbi/lithic/internal/type/converter.rbi index 165e6908..02189511 100644 --- a/rbi/lithic/internal/type/converter.rbi +++ b/rbi/lithic/internal/type/converter.rbi @@ -86,6 +86,52 @@ module Lithic def self.type_info(spec) end + # @api private + sig do + params( + type_info: + T.any( + { + const: + T.nilable( + T.any(NilClass, T::Boolean, Integer, Float, Symbol) + ), + enum: + T.nilable( + T.proc.returns(Lithic::Internal::Type::Converter::Input) + ), + union: + T.nilable( + T.proc.returns(Lithic::Internal::Type::Converter::Input) + ) + }, + T.proc.returns(Lithic::Internal::Type::Converter::Input), + Lithic::Internal::Type::Converter::Input + ), + spec: + T.any( + { + const: + T.nilable( + T.any(NilClass, T::Boolean, Integer, Float, Symbol) + ), + enum: + T.nilable( + T.proc.returns(Lithic::Internal::Type::Converter::Input) + ), + union: + T.nilable( + T.proc.returns(Lithic::Internal::Type::Converter::Input) + ) + }, + T.proc.returns(Lithic::Internal::Type::Converter::Input), + Lithic::Internal::Type::Converter::Input + ) + ).returns(Lithic::Internal::AnyHash) + end + def self.meta_info(type_info, spec) + end + # @api private sig do params(translate_names: T::Boolean).returns( diff --git a/rbi/lithic/internal/type/union.rbi b/rbi/lithic/internal/type/union.rbi index 0bce1328..864e94c0 100644 --- a/rbi/lithic/internal/type/union.rbi +++ b/rbi/lithic/internal/type/union.rbi @@ -16,7 +16,8 @@ module Lithic T::Array[ [ T.nilable(Symbol), - T.proc.returns(Lithic::Internal::Type::Converter::Input) + T.proc.returns(Lithic::Internal::Type::Converter::Input), + Lithic::Internal::AnyHash ] ] ) @@ -25,7 +26,11 @@ module Lithic end # @api private - sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) } + sig do + returns( + T::Array[[T.nilable(Symbol), T.anything, Lithic::Internal::AnyHash]] + ) + end protected def derefed_variants end diff --git a/rbi/lithic/models.rbi b/rbi/lithic/models.rbi index aa165440..296961a2 100644 --- a/rbi/lithic/models.rbi +++ b/rbi/lithic/models.rbi @@ -3,6 +3,11 @@ module Lithic Account = Lithic::Models::Account + AccountActivityListParams = Lithic::Models::AccountActivityListParams + + AccountActivityRetrieveTransactionParams = + Lithic::Models::AccountActivityRetrieveTransactionParams + AccountFinancialAccountType = Lithic::Models::AccountFinancialAccountType AccountHolder = Lithic::Models::AccountHolder diff --git a/rbi/lithic/models/account_activity_list_params.rbi b/rbi/lithic/models/account_activity_list_params.rbi new file mode 100644 index 00000000..df2e4d76 --- /dev/null +++ b/rbi/lithic/models/account_activity_list_params.rbi @@ -0,0 +1,359 @@ +# typed: strong + +module Lithic + module Models + class AccountActivityListParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any(Lithic::AccountActivityListParams, Lithic::Internal::AnyHash) + end + + # Filter by account token + sig { returns(T.nilable(String)) } + attr_reader :account_token + + sig { params(account_token: String).void } + attr_writer :account_token + + # Date string in RFC 3339 format. Only entries created after the specified time + # will be included. UTC time zone. + sig { returns(T.nilable(Time)) } + attr_reader :begin_ + + sig { params(begin_: Time).void } + attr_writer :begin_ + + # Filter by business account token + sig { returns(T.nilable(String)) } + attr_reader :business_account_token + + sig { params(business_account_token: String).void } + attr_writer :business_account_token + + # Filter by transaction category + sig do + returns( + T.nilable(Lithic::AccountActivityListParams::Category::OrSymbol) + ) + end + attr_reader :category + + sig do + params( + category: Lithic::AccountActivityListParams::Category::OrSymbol + ).void + end + attr_writer :category + + # Date string in RFC 3339 format. Only entries created before the specified time + # will be included. UTC time zone. + sig { returns(T.nilable(Time)) } + attr_reader :end_ + + sig { params(end_: Time).void } + attr_writer :end_ + + # A cursor representing an item's token before which a page of results should end. + # Used to retrieve the previous page of results before this item. + sig { returns(T.nilable(String)) } + attr_reader :ending_before + + sig { params(ending_before: String).void } + attr_writer :ending_before + + # Filter by financial account token + sig { returns(T.nilable(String)) } + attr_reader :financial_account_token + + sig { params(financial_account_token: String).void } + attr_writer :financial_account_token + + # Page size (for pagination). + sig { returns(T.nilable(Integer)) } + attr_reader :page_size + + sig { params(page_size: Integer).void } + attr_writer :page_size + + # Filter by transaction result + sig do + returns( + T.nilable( + T::Array[Lithic::AccountActivityListParams::Result::OrSymbol] + ) + ) + end + attr_reader :result + + sig do + params( + result: T::Array[Lithic::AccountActivityListParams::Result::OrSymbol] + ).void + end + attr_writer :result + + # A cursor representing an item's token after which a page of results should + # begin. Used to retrieve the next page of results after this item. + sig { returns(T.nilable(String)) } + attr_reader :starting_after + + sig { params(starting_after: String).void } + attr_writer :starting_after + + # Filter by transaction status + sig do + returns( + T.nilable( + T::Array[Lithic::AccountActivityListParams::Status::OrSymbol] + ) + ) + end + attr_reader :status + + sig do + params( + status: T::Array[Lithic::AccountActivityListParams::Status::OrSymbol] + ).void + end + attr_writer :status + + sig do + params( + account_token: String, + begin_: Time, + business_account_token: String, + category: Lithic::AccountActivityListParams::Category::OrSymbol, + end_: Time, + ending_before: String, + financial_account_token: String, + page_size: Integer, + result: T::Array[Lithic::AccountActivityListParams::Result::OrSymbol], + starting_after: String, + status: T::Array[Lithic::AccountActivityListParams::Status::OrSymbol], + request_options: Lithic::RequestOptions::OrHash + ).returns(T.attached_class) + end + def self.new( + # Filter by account token + account_token: nil, + # Date string in RFC 3339 format. Only entries created after the specified time + # will be included. UTC time zone. + begin_: nil, + # Filter by business account token + business_account_token: nil, + # Filter by transaction category + category: nil, + # Date string in RFC 3339 format. Only entries created before the specified time + # will be included. UTC time zone. + end_: nil, + # A cursor representing an item's token before which a page of results should end. + # Used to retrieve the previous page of results before this item. + ending_before: nil, + # Filter by financial account token + financial_account_token: nil, + # Page size (for pagination). + page_size: nil, + # Filter by transaction result + result: nil, + # A cursor representing an item's token after which a page of results should + # begin. Used to retrieve the next page of results after this item. + starting_after: nil, + # Filter by transaction status + status: nil, + request_options: {} + ) + end + + sig do + override.returns( + { + account_token: String, + begin_: Time, + business_account_token: String, + category: Lithic::AccountActivityListParams::Category::OrSymbol, + end_: Time, + ending_before: String, + financial_account_token: String, + page_size: Integer, + result: + T::Array[Lithic::AccountActivityListParams::Result::OrSymbol], + starting_after: String, + status: + T::Array[Lithic::AccountActivityListParams::Status::OrSymbol], + request_options: Lithic::RequestOptions + } + ) + end + def to_hash + end + + # Filter by transaction category + module Category + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::AccountActivityListParams::Category) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACH = + T.let(:ACH, Lithic::AccountActivityListParams::Category::TaggedSymbol) + BALANCE_OR_FUNDING = + T.let( + :BALANCE_OR_FUNDING, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) + CARD = + T.let( + :CARD, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) + EXTERNAL_ACH = + T.let( + :EXTERNAL_ACH, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) + EXTERNAL_CHECK = + T.let( + :EXTERNAL_CHECK, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) + EXTERNAL_TRANSFER = + T.let( + :EXTERNAL_TRANSFER, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) + EXTERNAL_WIRE = + T.let( + :EXTERNAL_WIRE, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) + MANAGEMENT_ADJUSTMENT = + T.let( + :MANAGEMENT_ADJUSTMENT, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) + MANAGEMENT_DISPUTE = + T.let( + :MANAGEMENT_DISPUTE, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) + MANAGEMENT_FEE = + T.let( + :MANAGEMENT_FEE, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) + MANAGEMENT_REWARD = + T.let( + :MANAGEMENT_REWARD, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) + MANAGEMENT_DISBURSEMENT = + T.let( + :MANAGEMENT_DISBURSEMENT, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) + PROGRAM_FUNDING = + T.let( + :PROGRAM_FUNDING, + Lithic::AccountActivityListParams::Category::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::AccountActivityListParams::Category::TaggedSymbol] + ) + end + def self.values + end + end + + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::AccountActivityListParams::Result) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::AccountActivityListParams::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::AccountActivityListParams::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::AccountActivityListParams::Result::TaggedSymbol] + ) + end + def self.values + end + end + + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::AccountActivityListParams::Status) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + DECLINED = + T.let( + :DECLINED, + Lithic::AccountActivityListParams::Status::TaggedSymbol + ) + EXPIRED = + T.let( + :EXPIRED, + Lithic::AccountActivityListParams::Status::TaggedSymbol + ) + PENDING = + T.let( + :PENDING, + Lithic::AccountActivityListParams::Status::TaggedSymbol + ) + SETTLED = + T.let( + :SETTLED, + Lithic::AccountActivityListParams::Status::TaggedSymbol + ) + VOIDED = + T.let( + :VOIDED, + Lithic::AccountActivityListParams::Status::TaggedSymbol + ) + RETURNED = + T.let( + :RETURNED, + Lithic::AccountActivityListParams::Status::TaggedSymbol + ) + REVERSED = + T.let( + :REVERSED, + Lithic::AccountActivityListParams::Status::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::AccountActivityListParams::Status::TaggedSymbol] + ) + end + def self.values + end + end + end + end +end diff --git a/rbi/lithic/models/account_activity_list_response.rbi b/rbi/lithic/models/account_activity_list_response.rbi new file mode 100644 index 00000000..cd593944 --- /dev/null +++ b/rbi/lithic/models/account_activity_list_response.rbi @@ -0,0 +1,3309 @@ +# typed: strong + +module Lithic + module Models + # Response containing multiple transaction types + module AccountActivityListResponse + extend Lithic::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + Lithic::Models::AccountActivityListResponse::FinancialTransaction, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction, + Lithic::Models::AccountActivityListResponse::CardTransaction, + Lithic::Models::AccountActivityListResponse::PaymentTransaction, + Lithic::ExternalPayment, + Lithic::ManagementOperationTransaction + ) + end + + class FinancialTransaction < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityListResponse::FinancialTransaction, + Lithic::Internal::AnyHash + ) + end + + # Unique identifier for the transaction + sig { returns(String) } + attr_accessor :token + + # Transaction category + sig do + returns( + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + end + attr_accessor :category + + # ISO 8601 timestamp of when the transaction was created + sig { returns(Time) } + attr_accessor :created + + # Currency of the transaction, represented in ISO 4217 format + sig { returns(String) } + attr_accessor :currency + + # Transaction descriptor + sig { returns(String) } + attr_accessor :descriptor + + # List of transaction events + sig do + returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event + ] + ) + end + attr_accessor :events + + sig do + returns( + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family::TaggedSymbol + ) + end + attr_accessor :family + + # Financial account token associated with the transaction + sig { returns(String) } + attr_accessor :financial_account_token + + # Pending amount in cents + sig { returns(Integer) } + attr_accessor :pending_amount + + # Transaction result + sig do + returns( + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Result::TaggedSymbol + ) + end + attr_accessor :result + + # Settled amount in cents + sig { returns(Integer) } + attr_accessor :settled_amount + + # The status of the transaction + sig do + returns( + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Status::TaggedSymbol + ) + end + attr_accessor :status + + # ISO 8601 timestamp of when the transaction was last updated + sig { returns(Time) } + attr_accessor :updated + + # Financial transaction with inheritance from unified base transaction + sig do + params( + token: String, + category: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::OrSymbol, + created: Time, + currency: String, + descriptor: String, + events: + T::Array[ + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::OrHash + ], + family: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family::OrSymbol, + financial_account_token: String, + pending_amount: Integer, + result: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Result::OrSymbol, + settled_amount: Integer, + status: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Status::OrSymbol, + updated: Time + ).returns(T.attached_class) + end + def self.new( + # Unique identifier for the transaction + token:, + # Transaction category + category:, + # ISO 8601 timestamp of when the transaction was created + created:, + # Currency of the transaction, represented in ISO 4217 format + currency:, + # Transaction descriptor + descriptor:, + # List of transaction events + events:, + family:, + # Financial account token associated with the transaction + financial_account_token:, + # Pending amount in cents + pending_amount:, + # Transaction result + result:, + # Settled amount in cents + settled_amount:, + # The status of the transaction + status:, + # ISO 8601 timestamp of when the transaction was last updated + updated: + ) + end + + sig do + override.returns( + { + token: String, + category: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol, + created: Time, + currency: String, + descriptor: String, + events: + T::Array[ + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event + ], + family: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family::TaggedSymbol, + financial_account_token: String, + pending_amount: Integer, + result: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Result::TaggedSymbol, + settled_amount: Integer, + status: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Status::TaggedSymbol, + updated: Time + } + ) + end + def to_hash + end + + # Transaction category + module Category + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACH = + T.let( + :ACH, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + BALANCE_OR_FUNDING = + T.let( + :BALANCE_OR_FUNDING, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + EXTERNAL_ACH = + T.let( + :EXTERNAL_ACH, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + EXTERNAL_CHECK = + T.let( + :EXTERNAL_CHECK, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + EXTERNAL_TRANSFER = + T.let( + :EXTERNAL_TRANSFER, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + EXTERNAL_WIRE = + T.let( + :EXTERNAL_WIRE, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + MANAGEMENT_ADJUSTMENT = + T.let( + :MANAGEMENT_ADJUSTMENT, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + MANAGEMENT_DISPUTE = + T.let( + :MANAGEMENT_DISPUTE, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + MANAGEMENT_FEE = + T.let( + :MANAGEMENT_FEE, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + MANAGEMENT_REWARD = + T.let( + :MANAGEMENT_REWARD, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + MANAGEMENT_DISBURSEMENT = + T.let( + :MANAGEMENT_DISBURSEMENT, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + PROGRAM_FUNDING = + T.let( + :PROGRAM_FUNDING, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Category::TaggedSymbol + ] + ) + end + def self.values + end + end + + class Event < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event, + Lithic::Internal::AnyHash + ) + end + + # Globally unique identifier. + sig { returns(T.nilable(String)) } + attr_reader :token + + sig { params(token: String).void } + attr_writer :token + + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + sig { returns(T.nilable(Integer)) } + attr_reader :amount + + sig { params(amount: Integer).void } + attr_writer :amount + + # Date and time when the financial event occurred. UTC time zone. + sig { returns(T.nilable(Time)) } + attr_reader :created + + sig { params(created: Time).void } + attr_writer :created + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + sig do + returns( + T.nilable( + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Result::TaggedSymbol + ) + ) + end + attr_reader :result + + sig do + params( + result: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Result::OrSymbol + ).void + end + attr_writer :result + + sig do + returns( + T.nilable( + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ) + end + attr_reader :type + + sig do + params( + type: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::OrSymbol + ).void + end + attr_writer :type + + # Financial Event + sig do + params( + token: String, + amount: Integer, + created: Time, + result: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Result::OrSymbol, + type: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # Globally unique identifier. + token: nil, + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + amount: nil, + # Date and time when the financial event occurred. UTC time zone. + created: nil, + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + result: nil, + type: nil + ) + end + + sig do + override.returns( + { + token: String, + amount: Integer, + created: Time, + result: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Result::TaggedSymbol, + type: + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + } + ) + end + def to_hash + end + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACH_ORIGINATION_CANCELLED = + T.let( + :ACH_ORIGINATION_CANCELLED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_INITIATED = + T.let( + :ACH_ORIGINATION_INITIATED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_PROCESSED = + T.let( + :ACH_ORIGINATION_PROCESSED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_RELEASED = + T.let( + :ACH_ORIGINATION_RELEASED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_REVIEWED = + T.let( + :ACH_ORIGINATION_REVIEWED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_SETTLED = + T.let( + :ACH_ORIGINATION_SETTLED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_RECEIPT_PROCESSED = + T.let( + :ACH_RECEIPT_PROCESSED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_RECEIPT_SETTLED = + T.let( + :ACH_RECEIPT_SETTLED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_RETURN_INITIATED = + T.let( + :ACH_RETURN_INITIATED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_RETURN_PROCESSED = + T.let( + :ACH_RETURN_PROCESSED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_RETURN_SETTLED = + T.let( + :ACH_RETURN_SETTLED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + AUTHORIZATION = + T.let( + :AUTHORIZATION, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + AUTHORIZATION_ADVICE = + T.let( + :AUTHORIZATION_ADVICE, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + AUTHORIZATION_EXPIRY = + T.let( + :AUTHORIZATION_EXPIRY, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + AUTHORIZATION_REVERSAL = + T.let( + :AUTHORIZATION_REVERSAL, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + BALANCE_INQUIRY = + T.let( + :BALANCE_INQUIRY, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + BILLING_ERROR = + T.let( + :BILLING_ERROR, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + BILLING_ERROR_REVERSAL = + T.let( + :BILLING_ERROR_REVERSAL, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CARD_TO_CARD = + T.let( + :CARD_TO_CARD, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CASH_BACK = + T.let( + :CASH_BACK, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CASH_BACK_REVERSAL = + T.let( + :CASH_BACK_REVERSAL, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CLEARING = + T.let( + :CLEARING, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + COLLECTION = + T.let( + :COLLECTION, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CORRECTION_CREDIT = + T.let( + :CORRECTION_CREDIT, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CORRECTION_DEBIT = + T.let( + :CORRECTION_DEBIT, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CREDIT_AUTHORIZATION = + T.let( + :CREDIT_AUTHORIZATION, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CREDIT_AUTHORIZATION_ADVICE = + T.let( + :CREDIT_AUTHORIZATION_ADVICE, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CURRENCY_CONVERSION = + T.let( + :CURRENCY_CONVERSION, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CURRENCY_CONVERSION_REVERSAL = + T.let( + :CURRENCY_CONVERSION_REVERSAL, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + DISPUTE_WON = + T.let( + :DISPUTE_WON, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_ACH_CANCELED = + T.let( + :EXTERNAL_ACH_CANCELED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_ACH_INITIATED = + T.let( + :EXTERNAL_ACH_INITIATED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_ACH_RELEASED = + T.let( + :EXTERNAL_ACH_RELEASED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_ACH_REVERSED = + T.let( + :EXTERNAL_ACH_REVERSED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_ACH_SETTLED = + T.let( + :EXTERNAL_ACH_SETTLED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_CHECK_CANCELED = + T.let( + :EXTERNAL_CHECK_CANCELED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_CHECK_INITIATED = + T.let( + :EXTERNAL_CHECK_INITIATED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_CHECK_RELEASED = + T.let( + :EXTERNAL_CHECK_RELEASED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_CHECK_REVERSED = + T.let( + :EXTERNAL_CHECK_REVERSED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_CHECK_SETTLED = + T.let( + :EXTERNAL_CHECK_SETTLED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_TRANSFER_CANCELED = + T.let( + :EXTERNAL_TRANSFER_CANCELED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_TRANSFER_INITIATED = + T.let( + :EXTERNAL_TRANSFER_INITIATED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_TRANSFER_RELEASED = + T.let( + :EXTERNAL_TRANSFER_RELEASED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_TRANSFER_REVERSED = + T.let( + :EXTERNAL_TRANSFER_REVERSED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_TRANSFER_SETTLED = + T.let( + :EXTERNAL_TRANSFER_SETTLED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_WIRE_CANCELED = + T.let( + :EXTERNAL_WIRE_CANCELED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_WIRE_INITIATED = + T.let( + :EXTERNAL_WIRE_INITIATED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_WIRE_RELEASED = + T.let( + :EXTERNAL_WIRE_RELEASED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_WIRE_REVERSED = + T.let( + :EXTERNAL_WIRE_REVERSED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_WIRE_SETTLED = + T.let( + :EXTERNAL_WIRE_SETTLED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + FINANCIAL_AUTHORIZATION = + T.let( + :FINANCIAL_AUTHORIZATION, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + FINANCIAL_CREDIT_AUTHORIZATION = + T.let( + :FINANCIAL_CREDIT_AUTHORIZATION, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + INTEREST = + T.let( + :INTEREST, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + INTEREST_REVERSAL = + T.let( + :INTEREST_REVERSAL, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + INTERNAL_ADJUSTMENT = + T.let( + :INTERNAL_ADJUSTMENT, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + LATE_PAYMENT = + T.let( + :LATE_PAYMENT, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + LATE_PAYMENT_REVERSAL = + T.let( + :LATE_PAYMENT_REVERSAL, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + LOSS_WRITE_OFF = + T.let( + :LOSS_WRITE_OFF, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + PROVISIONAL_CREDIT = + T.let( + :PROVISIONAL_CREDIT, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + PROVISIONAL_CREDIT_REVERSAL = + T.let( + :PROVISIONAL_CREDIT_REVERSAL, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + SERVICE = + T.let( + :SERVICE, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + RETURN = + T.let( + :RETURN, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + RETURN_REVERSAL = + T.let( + :RETURN_REVERSAL, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + TRANSFER_INSUFFICIENT_FUNDS = + T.let( + :TRANSFER_INSUFFICIENT_FUNDS, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + RETURNED_PAYMENT = + T.let( + :RETURNED_PAYMENT, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + RETURNED_PAYMENT_REVERSAL = + T.let( + :RETURNED_PAYMENT_REVERSAL, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + LITHIC_NETWORK_PAYMENT = + T.let( + :LITHIC_NETWORK_PAYMENT, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + module Family + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family::TaggedSymbol + ) + PAYMENT = + T.let( + :PAYMENT, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family::TaggedSymbol + ) + INTERNAL = + T.let( + :INTERNAL, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family::TaggedSymbol + ) + EXTERNAL_PAYMENT = + T.let( + :EXTERNAL_PAYMENT, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family::TaggedSymbol + ) + MANAGEMENT_OPERATION = + T.let( + :MANAGEMENT_OPERATION, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Family::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Transaction result + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + + # The status of the transaction + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Status + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PENDING = + T.let( + :PENDING, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Status::TaggedSymbol + ) + SETTLED = + T.let( + :SETTLED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Status::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Status::TaggedSymbol + ) + REVERSED = + T.let( + :REVERSED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Status::TaggedSymbol + ) + CANCELED = + T.let( + :CANCELED, + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Status::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Status::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class BookTransferTransaction < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction, + Lithic::Internal::AnyHash + ) + end + + # Unique identifier for the transaction + sig { returns(String) } + attr_accessor :token + + sig do + returns( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + end + attr_accessor :category + + # ISO 8601 timestamp of when the transaction was created + sig { returns(Time) } + attr_accessor :created + + # Currency of the transaction in ISO 4217 format + sig { returns(String) } + attr_accessor :currency + + # List of events associated with this book transfer + sig do + returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event + ] + ) + end + attr_accessor :events + + sig do + returns( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family::TaggedSymbol + ) + end + attr_accessor :family + + # Source account token + sig { returns(String) } + attr_accessor :from_financial_account_token + + # The pending amount of the transaction in cents + sig { returns(Integer) } + attr_accessor :pending_amount + + sig do + returns( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Result::TaggedSymbol + ) + end + attr_accessor :result + + # The settled amount of the transaction in cents + sig { returns(Integer) } + attr_accessor :settled_amount + + # The status of the transaction + sig do + returns( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Status::TaggedSymbol + ) + end + attr_accessor :status + + # Destination account token + sig { returns(String) } + attr_accessor :to_financial_account_token + + # ISO 8601 timestamp of when the transaction was last updated + sig { returns(Time) } + attr_accessor :updated + + # External identifier for the transaction + sig { returns(T.nilable(String)) } + attr_reader :external_id + + sig { params(external_id: String).void } + attr_writer :external_id + + # External resource associated with the management operation + sig { returns(T.nilable(Lithic::ExternalResource)) } + attr_reader :external_resource + + sig do + params( + external_resource: T.nilable(Lithic::ExternalResource::OrHash) + ).void + end + attr_writer :external_resource + + sig do + returns( + T.nilable( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::TransactionSeries + ) + ) + end + attr_reader :transaction_series + + sig do + params( + transaction_series: + T.nilable( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::TransactionSeries::OrHash + ) + ).void + end + attr_writer :transaction_series + + # Book transfer transaction + sig do + params( + token: String, + category: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::OrSymbol, + created: Time, + currency: String, + events: + T::Array[ + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::OrHash + ], + family: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family::OrSymbol, + from_financial_account_token: String, + pending_amount: Integer, + result: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Result::OrSymbol, + settled_amount: Integer, + status: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Status::OrSymbol, + to_financial_account_token: String, + updated: Time, + external_id: String, + external_resource: T.nilable(Lithic::ExternalResource::OrHash), + transaction_series: + T.nilable( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::TransactionSeries::OrHash + ) + ).returns(T.attached_class) + end + def self.new( + # Unique identifier for the transaction + token:, + category:, + # ISO 8601 timestamp of when the transaction was created + created:, + # Currency of the transaction in ISO 4217 format + currency:, + # List of events associated with this book transfer + events:, + family:, + # Source account token + from_financial_account_token:, + # The pending amount of the transaction in cents + pending_amount:, + result:, + # The settled amount of the transaction in cents + settled_amount:, + # The status of the transaction + status:, + # Destination account token + to_financial_account_token:, + # ISO 8601 timestamp of when the transaction was last updated + updated:, + # External identifier for the transaction + external_id: nil, + # External resource associated with the management operation + external_resource: nil, + transaction_series: nil + ) + end + + sig do + override.returns( + { + token: String, + category: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol, + created: Time, + currency: String, + events: + T::Array[ + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event + ], + family: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family::TaggedSymbol, + from_financial_account_token: String, + pending_amount: Integer, + result: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Result::TaggedSymbol, + settled_amount: Integer, + status: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Status::TaggedSymbol, + to_financial_account_token: String, + updated: Time, + external_id: String, + external_resource: T.nilable(Lithic::ExternalResource), + transaction_series: + T.nilable( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::TransactionSeries + ) + } + ) + end + def to_hash + end + + module Category + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACH = + T.let( + :ACH, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + BALANCE_OR_FUNDING = + T.let( + :BALANCE_OR_FUNDING, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + EXTERNAL_ACH = + T.let( + :EXTERNAL_ACH, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + EXTERNAL_CHECK = + T.let( + :EXTERNAL_CHECK, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + EXTERNAL_TRANSFER = + T.let( + :EXTERNAL_TRANSFER, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + EXTERNAL_WIRE = + T.let( + :EXTERNAL_WIRE, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + MANAGEMENT_ADJUSTMENT = + T.let( + :MANAGEMENT_ADJUSTMENT, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + MANAGEMENT_DISPUTE = + T.let( + :MANAGEMENT_DISPUTE, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + MANAGEMENT_FEE = + T.let( + :MANAGEMENT_FEE, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + MANAGEMENT_REWARD = + T.let( + :MANAGEMENT_REWARD, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + MANAGEMENT_DISBURSEMENT = + T.let( + :MANAGEMENT_DISBURSEMENT, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + PROGRAM_FUNDING = + T.let( + :PROGRAM_FUNDING, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Category::TaggedSymbol + ] + ) + end + def self.values + end + end + + class Event < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event, + Lithic::Internal::AnyHash + ) + end + + # Globally unique identifier. + sig { returns(String) } + attr_accessor :token + + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + sig { returns(Integer) } + attr_accessor :amount + + # Date and time when the financial event occurred. UTC time zone. + sig { returns(Time) } + attr_accessor :created + + sig do + returns( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::DetailedResults::TaggedSymbol + ) + end + attr_accessor :detailed_results + + # Memo for the transfer. + sig { returns(String) } + attr_accessor :memo + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + sig do + returns( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Result::TaggedSymbol + ) + end + attr_accessor :result + + # The program specific subtype code for the specified category/type. + sig { returns(String) } + attr_accessor :subtype + + # Type of the book transfer + sig do + returns( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + end + attr_accessor :type + + # Book transfer Event + sig do + params( + token: String, + amount: Integer, + created: Time, + detailed_results: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::DetailedResults::OrSymbol, + memo: String, + result: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Result::OrSymbol, + subtype: String, + type: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # Globally unique identifier. + token:, + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + amount:, + # Date and time when the financial event occurred. UTC time zone. + created:, + detailed_results:, + # Memo for the transfer. + memo:, + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + result:, + # The program specific subtype code for the specified category/type. + subtype:, + # Type of the book transfer + type: + ) + end + + sig do + override.returns( + { + token: String, + amount: Integer, + created: Time, + detailed_results: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::DetailedResults::TaggedSymbol, + memo: String, + result: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Result::TaggedSymbol, + subtype: String, + type: + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + } + ) + end + def to_hash + end + + module DetailedResults + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::DetailedResults + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::DetailedResults::TaggedSymbol + ) + FUNDS_INSUFFICIENT = + T.let( + :FUNDS_INSUFFICIENT, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::DetailedResults::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::DetailedResults::TaggedSymbol + ] + ) + end + def self.values + end + end + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Type of the book transfer + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ATM_WITHDRAWAL = + T.let( + :ATM_WITHDRAWAL, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ATM_DECLINE = + T.let( + :ATM_DECLINE, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + INTERNATIONAL_ATM_WITHDRAWAL = + T.let( + :INTERNATIONAL_ATM_WITHDRAWAL, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + INACTIVITY = + T.let( + :INACTIVITY, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + STATEMENT = + T.let( + :STATEMENT, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + MONTHLY = + T.let( + :MONTHLY, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + QUARTERLY = + T.let( + :QUARTERLY, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ANNUAL = + T.let( + :ANNUAL, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CUSTOMER_SERVICE = + T.let( + :CUSTOMER_SERVICE, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ACCOUNT_MAINTENANCE = + T.let( + :ACCOUNT_MAINTENANCE, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ACCOUNT_ACTIVATION = + T.let( + :ACCOUNT_ACTIVATION, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ACCOUNT_CLOSURE = + T.let( + :ACCOUNT_CLOSURE, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CARD_REPLACEMENT = + T.let( + :CARD_REPLACEMENT, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CARD_DELIVERY = + T.let( + :CARD_DELIVERY, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CARD_CREATE = + T.let( + :CARD_CREATE, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CURRENCY_CONVERSION = + T.let( + :CURRENCY_CONVERSION, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + INTEREST = + T.let( + :INTEREST, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + LATE_PAYMENT = + T.let( + :LATE_PAYMENT, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + BILL_PAYMENT = + T.let( + :BILL_PAYMENT, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CASH_BACK = + T.let( + :CASH_BACK, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ACCOUNT_TO_ACCOUNT = + T.let( + :ACCOUNT_TO_ACCOUNT, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CARD_TO_CARD = + T.let( + :CARD_TO_CARD, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + DISBURSE = + T.let( + :DISBURSE, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + BILLING_ERROR = + T.let( + :BILLING_ERROR, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + LOSS_WRITE_OFF = + T.let( + :LOSS_WRITE_OFF, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + EXPIRED_CARD = + T.let( + :EXPIRED_CARD, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + EARLY_DERECOGNITION = + T.let( + :EARLY_DERECOGNITION, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ESCHEATMENT = + T.let( + :ESCHEATMENT, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + INACTIVITY_FEE_DOWN = + T.let( + :INACTIVITY_FEE_DOWN, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + PROVISIONAL_CREDIT = + T.let( + :PROVISIONAL_CREDIT, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + DISPUTE_WON = + T.let( + :DISPUTE_WON, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + SERVICE = + T.let( + :SERVICE, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + module Family + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family::TaggedSymbol + ) + PAYMENT = + T.let( + :PAYMENT, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family::TaggedSymbol + ) + INTERNAL = + T.let( + :INTERNAL, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family::TaggedSymbol + ) + EXTERNAL_PAYMENT = + T.let( + :EXTERNAL_PAYMENT, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family::TaggedSymbol + ) + MANAGEMENT_OPERATION = + T.let( + :MANAGEMENT_OPERATION, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Family::TaggedSymbol + ] + ) + end + def self.values + end + end + + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + + # The status of the transaction + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Status + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PENDING = + T.let( + :PENDING, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Status::TaggedSymbol + ) + SETTLED = + T.let( + :SETTLED, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Status::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Status::TaggedSymbol + ) + REVERSED = + T.let( + :REVERSED, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Status::TaggedSymbol + ) + CANCELED = + T.let( + :CANCELED, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Status::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Status::TaggedSymbol + ] + ) + end + def self.values + end + end + + class TransactionSeries < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::TransactionSeries, + Lithic::Internal::AnyHash + ) + end + + sig { returns(T.nilable(String)) } + attr_accessor :related_transaction_event_token + + sig { returns(T.nilable(String)) } + attr_accessor :related_transaction_token + + sig { returns(String) } + attr_accessor :type + + sig do + params( + related_transaction_event_token: T.nilable(String), + related_transaction_token: T.nilable(String), + type: String + ).returns(T.attached_class) + end + def self.new( + related_transaction_event_token:, + related_transaction_token:, + type: + ) + end + + sig do + override.returns( + { + related_transaction_event_token: T.nilable(String), + related_transaction_token: T.nilable(String), + type: String + } + ) + end + def to_hash + end + end + end + + class CardTransaction < Lithic::Models::Transaction + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityListResponse::CardTransaction, + Lithic::Internal::AnyHash + ) + end + + # Unique identifier for the transaction + sig { returns(String) } + attr_accessor :token + + # ISO 8601 timestamp of when the transaction was created + sig { returns(Time) } + attr_accessor :created + + sig do + returns( + Lithic::Models::AccountActivityListResponse::CardTransaction::Family::TaggedSymbol + ) + end + attr_accessor :family + + # The status of the transaction + sig do + returns( + Lithic::Models::AccountActivityListResponse::CardTransaction::Status::TaggedSymbol + ) + end + attr_accessor :status + + # ISO 8601 timestamp of when the transaction was last updated + sig { returns(Time) } + attr_accessor :updated + + # Base class for all transaction types in the ledger service + sig do + params( + token: String, + created: Time, + family: + Lithic::Models::AccountActivityListResponse::CardTransaction::Family::OrSymbol, + status: + Lithic::Models::AccountActivityListResponse::CardTransaction::Status::OrSymbol, + updated: Time + ).returns(T.attached_class) + end + def self.new( + # Unique identifier for the transaction + token:, + # ISO 8601 timestamp of when the transaction was created + created:, + family:, + # The status of the transaction + status:, + # ISO 8601 timestamp of when the transaction was last updated + updated: + ) + end + + sig do + override.returns( + { + token: String, + created: Time, + family: + Lithic::Models::AccountActivityListResponse::CardTransaction::Family::TaggedSymbol, + status: + Lithic::Models::AccountActivityListResponse::CardTransaction::Status::TaggedSymbol, + updated: Time + } + ) + end + def to_hash + end + + module Family + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::CardTransaction::Family + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityListResponse::CardTransaction::Family::TaggedSymbol + ) + PAYMENT = + T.let( + :PAYMENT, + Lithic::Models::AccountActivityListResponse::CardTransaction::Family::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::Models::AccountActivityListResponse::CardTransaction::Family::TaggedSymbol + ) + INTERNAL = + T.let( + :INTERNAL, + Lithic::Models::AccountActivityListResponse::CardTransaction::Family::TaggedSymbol + ) + EXTERNAL_PAYMENT = + T.let( + :EXTERNAL_PAYMENT, + Lithic::Models::AccountActivityListResponse::CardTransaction::Family::TaggedSymbol + ) + MANAGEMENT_OPERATION = + T.let( + :MANAGEMENT_OPERATION, + Lithic::Models::AccountActivityListResponse::CardTransaction::Family::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::CardTransaction::Family::TaggedSymbol + ] + ) + end + def self.values + end + end + + # The status of the transaction + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::CardTransaction::Status + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PENDING = + T.let( + :PENDING, + Lithic::Models::AccountActivityListResponse::CardTransaction::Status::TaggedSymbol + ) + SETTLED = + T.let( + :SETTLED, + Lithic::Models::AccountActivityListResponse::CardTransaction::Status::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityListResponse::CardTransaction::Status::TaggedSymbol + ) + REVERSED = + T.let( + :REVERSED, + Lithic::Models::AccountActivityListResponse::CardTransaction::Status::TaggedSymbol + ) + CANCELED = + T.let( + :CANCELED, + Lithic::Models::AccountActivityListResponse::CardTransaction::Status::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::CardTransaction::Status::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class PaymentTransaction < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityListResponse::PaymentTransaction, + Lithic::Internal::AnyHash + ) + end + + # Unique identifier for the transaction + sig { returns(String) } + attr_accessor :token + + # Transaction category + sig do + returns( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + end + attr_accessor :category + + # ISO 8601 timestamp of when the transaction was created + sig { returns(Time) } + attr_accessor :created + + # Transaction descriptor + sig { returns(String) } + attr_accessor :descriptor + + # Transfer direction + sig do + returns( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Direction::TaggedSymbol + ) + end + attr_accessor :direction + + # List of transaction events + sig do + returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event + ] + ) + end + attr_accessor :events + + sig do + returns( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family::TaggedSymbol + ) + end + attr_accessor :family + + # Financial account token + sig { returns(String) } + attr_accessor :financial_account_token + + # Transfer method + sig do + returns( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Method::TaggedSymbol + ) + end + attr_accessor :method_ + + # Method-specific attributes + sig do + returns( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::Variants + ) + end + attr_accessor :method_attributes + + # Pending amount in cents + sig { returns(Integer) } + attr_accessor :pending_amount + + # Related account tokens for the transaction + sig do + returns( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::RelatedAccountTokens + ) + end + attr_reader :related_account_tokens + + sig do + params( + related_account_tokens: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::RelatedAccountTokens::OrHash + ).void + end + attr_writer :related_account_tokens + + # Transaction result + sig do + returns( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Result::TaggedSymbol + ) + end + attr_accessor :result + + # Settled amount in cents + sig { returns(Integer) } + attr_accessor :settled_amount + + # Transaction source + sig do + returns( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Source::TaggedSymbol + ) + end + attr_accessor :source + + # The status of the transaction + sig do + returns( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Status::TaggedSymbol + ) + end + attr_accessor :status + + # ISO 8601 timestamp of when the transaction was last updated + sig { returns(Time) } + attr_accessor :updated + + # Currency of the transaction in ISO 4217 format + sig { returns(T.nilable(String)) } + attr_reader :currency + + sig { params(currency: String).void } + attr_writer :currency + + # Expected release date for the transaction + sig { returns(T.nilable(Date)) } + attr_accessor :expected_release_date + + # External bank account token + sig { returns(T.nilable(String)) } + attr_accessor :external_bank_account_token + + # User-defined identifier + sig { returns(T.nilable(String)) } + attr_accessor :user_defined_id + + # Payment transaction + sig do + params( + token: String, + category: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::OrSymbol, + created: Time, + descriptor: String, + direction: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Direction::OrSymbol, + events: + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::OrHash + ], + family: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family::OrSymbol, + financial_account_token: String, + method_: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Method::OrSymbol, + method_attributes: + T.any( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::OrHash, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::OrHash + ), + pending_amount: Integer, + related_account_tokens: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::RelatedAccountTokens::OrHash, + result: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Result::OrSymbol, + settled_amount: Integer, + source: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Source::OrSymbol, + status: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Status::OrSymbol, + updated: Time, + currency: String, + expected_release_date: T.nilable(Date), + external_bank_account_token: T.nilable(String), + user_defined_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Unique identifier for the transaction + token:, + # Transaction category + category:, + # ISO 8601 timestamp of when the transaction was created + created:, + # Transaction descriptor + descriptor:, + # Transfer direction + direction:, + # List of transaction events + events:, + family:, + # Financial account token + financial_account_token:, + # Transfer method + method_:, + # Method-specific attributes + method_attributes:, + # Pending amount in cents + pending_amount:, + # Related account tokens for the transaction + related_account_tokens:, + # Transaction result + result:, + # Settled amount in cents + settled_amount:, + # Transaction source + source:, + # The status of the transaction + status:, + # ISO 8601 timestamp of when the transaction was last updated + updated:, + # Currency of the transaction in ISO 4217 format + currency: nil, + # Expected release date for the transaction + expected_release_date: nil, + # External bank account token + external_bank_account_token: nil, + # User-defined identifier + user_defined_id: nil + ) + end + + sig do + override.returns( + { + token: String, + category: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol, + created: Time, + descriptor: String, + direction: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Direction::TaggedSymbol, + events: + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event + ], + family: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family::TaggedSymbol, + financial_account_token: String, + method_: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Method::TaggedSymbol, + method_attributes: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::Variants, + pending_amount: Integer, + related_account_tokens: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::RelatedAccountTokens, + result: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Result::TaggedSymbol, + settled_amount: Integer, + source: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Source::TaggedSymbol, + status: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Status::TaggedSymbol, + updated: Time, + currency: String, + expected_release_date: T.nilable(Date), + external_bank_account_token: T.nilable(String), + user_defined_id: T.nilable(String) + } + ) + end + def to_hash + end + + # Transaction category + module Category + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACH = + T.let( + :ACH, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + BALANCE_OR_FUNDING = + T.let( + :BALANCE_OR_FUNDING, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + EXTERNAL_ACH = + T.let( + :EXTERNAL_ACH, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + EXTERNAL_CHECK = + T.let( + :EXTERNAL_CHECK, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + EXTERNAL_TRANSFER = + T.let( + :EXTERNAL_TRANSFER, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + EXTERNAL_WIRE = + T.let( + :EXTERNAL_WIRE, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + MANAGEMENT_ADJUSTMENT = + T.let( + :MANAGEMENT_ADJUSTMENT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + MANAGEMENT_DISPUTE = + T.let( + :MANAGEMENT_DISPUTE, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + MANAGEMENT_FEE = + T.let( + :MANAGEMENT_FEE, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + MANAGEMENT_REWARD = + T.let( + :MANAGEMENT_REWARD, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + MANAGEMENT_DISBURSEMENT = + T.let( + :MANAGEMENT_DISBURSEMENT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + PROGRAM_FUNDING = + T.let( + :PROGRAM_FUNDING, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Category::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Transfer direction + module Direction + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Direction + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CREDIT = + T.let( + :CREDIT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Direction::TaggedSymbol + ) + DEBIT = + T.let( + :DEBIT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Direction::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Direction::TaggedSymbol + ] + ) + end + def self.values + end + end + + class Event < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event, + Lithic::Internal::AnyHash + ) + end + + # Globally unique identifier. + sig { returns(String) } + attr_accessor :token + + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + sig { returns(Integer) } + attr_accessor :amount + + # Date and time when the financial event occurred. UTC time zone. + sig { returns(Time) } + attr_accessor :created + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + sig do + returns( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Result::TaggedSymbol + ) + end + attr_accessor :result + + # Event types: + # + # - `ACH_ORIGINATION_INITIATED` - ACH origination received and pending + # approval/release from an ACH hold. + # - `ACH_ORIGINATION_REVIEWED` - ACH origination has completed the review process. + # - `ACH_ORIGINATION_CANCELLED` - ACH origination has been cancelled. + # - `ACH_ORIGINATION_PROCESSED` - ACH origination has been processed and sent to + # the Federal Reserve. + # - `ACH_ORIGINATION_SETTLED` - ACH origination has settled. + # - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to + # available balance. + # - `ACH_RETURN_PROCESSED` - ACH origination returned by the Receiving Depository + # Financial Institution. + # - `ACH_RECEIPT_PROCESSED` - ACH receipt pending release from an ACH holder. + # - `ACH_RETURN_INITIATED` - ACH initiated return for a ACH receipt. + # - `ACH_RECEIPT_SETTLED` - ACH receipt funds have settled. + # - `ACH_RECEIPT_RELEASED` - ACH receipt released from pending to available + # balance. + # - `ACH_RETURN_SETTLED` - ACH receipt return settled by the Receiving Depository + # Financial Institution. + sig do + returns( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + end + attr_accessor :type + + # More detailed reasons for the event + sig do + returns( + T.nilable( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ] + ) + ) + end + attr_reader :detailed_results + + sig do + params( + detailed_results: + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::DetailedResult::OrSymbol + ] + ).void + end + attr_writer :detailed_results + + # Payment Event + sig do + params( + token: String, + amount: Integer, + created: Time, + result: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Result::OrSymbol, + type: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::OrSymbol, + detailed_results: + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::DetailedResult::OrSymbol + ] + ).returns(T.attached_class) + end + def self.new( + # Globally unique identifier. + token:, + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + amount:, + # Date and time when the financial event occurred. UTC time zone. + created:, + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + result:, + # Event types: + # + # - `ACH_ORIGINATION_INITIATED` - ACH origination received and pending + # approval/release from an ACH hold. + # - `ACH_ORIGINATION_REVIEWED` - ACH origination has completed the review process. + # - `ACH_ORIGINATION_CANCELLED` - ACH origination has been cancelled. + # - `ACH_ORIGINATION_PROCESSED` - ACH origination has been processed and sent to + # the Federal Reserve. + # - `ACH_ORIGINATION_SETTLED` - ACH origination has settled. + # - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to + # available balance. + # - `ACH_RETURN_PROCESSED` - ACH origination returned by the Receiving Depository + # Financial Institution. + # - `ACH_RECEIPT_PROCESSED` - ACH receipt pending release from an ACH holder. + # - `ACH_RETURN_INITIATED` - ACH initiated return for a ACH receipt. + # - `ACH_RECEIPT_SETTLED` - ACH receipt funds have settled. + # - `ACH_RECEIPT_RELEASED` - ACH receipt released from pending to available + # balance. + # - `ACH_RETURN_SETTLED` - ACH receipt return settled by the Receiving Depository + # Financial Institution. + type:, + # More detailed reasons for the event + detailed_results: nil + ) + end + + sig do + override.returns( + { + token: String, + amount: Integer, + created: Time, + result: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Result::TaggedSymbol, + type: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol, + detailed_results: + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ] + } + ) + end + def to_hash + end + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Event types: + # + # - `ACH_ORIGINATION_INITIATED` - ACH origination received and pending + # approval/release from an ACH hold. + # - `ACH_ORIGINATION_REVIEWED` - ACH origination has completed the review process. + # - `ACH_ORIGINATION_CANCELLED` - ACH origination has been cancelled. + # - `ACH_ORIGINATION_PROCESSED` - ACH origination has been processed and sent to + # the Federal Reserve. + # - `ACH_ORIGINATION_SETTLED` - ACH origination has settled. + # - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to + # available balance. + # - `ACH_RETURN_PROCESSED` - ACH origination returned by the Receiving Depository + # Financial Institution. + # - `ACH_RECEIPT_PROCESSED` - ACH receipt pending release from an ACH holder. + # - `ACH_RETURN_INITIATED` - ACH initiated return for a ACH receipt. + # - `ACH_RECEIPT_SETTLED` - ACH receipt funds have settled. + # - `ACH_RECEIPT_RELEASED` - ACH receipt released from pending to available + # balance. + # - `ACH_RETURN_SETTLED` - ACH receipt return settled by the Receiving Depository + # Financial Institution. + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACH_ORIGINATION_CANCELLED = + T.let( + :ACH_ORIGINATION_CANCELLED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_INITIATED = + T.let( + :ACH_ORIGINATION_INITIATED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_PROCESSED = + T.let( + :ACH_ORIGINATION_PROCESSED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_SETTLED = + T.let( + :ACH_ORIGINATION_SETTLED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_RELEASED = + T.let( + :ACH_ORIGINATION_RELEASED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_REVIEWED = + T.let( + :ACH_ORIGINATION_REVIEWED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_RECEIPT_PROCESSED = + T.let( + :ACH_RECEIPT_PROCESSED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_RECEIPT_SETTLED = + T.let( + :ACH_RECEIPT_SETTLED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_RETURN_INITIATED = + T.let( + :ACH_RETURN_INITIATED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_RETURN_PROCESSED = + T.let( + :ACH_RETURN_PROCESSED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_RETURN_SETTLED = + T.let( + :ACH_RETURN_SETTLED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + + module DetailedResult + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::DetailedResult + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ) + FUNDS_INSUFFICIENT = + T.let( + :FUNDS_INSUFFICIENT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ) + ACCOUNT_INVALID = + T.let( + :ACCOUNT_INVALID, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ) + PROGRAM_TRANSACTION_LIMIT_EXCEEDED = + T.let( + :PROGRAM_TRANSACTION_LIMIT_EXCEEDED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ) + PROGRAM_DAILY_LIMIT_EXCEEDED = + T.let( + :PROGRAM_DAILY_LIMIT_EXCEEDED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ) + PROGRAM_MONTHLY_LIMIT_EXCEEDED = + T.let( + :PROGRAM_MONTHLY_LIMIT_EXCEEDED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + module Family + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family::TaggedSymbol + ) + PAYMENT = + T.let( + :PAYMENT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family::TaggedSymbol + ) + INTERNAL = + T.let( + :INTERNAL, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family::TaggedSymbol + ) + EXTERNAL_PAYMENT = + T.let( + :EXTERNAL_PAYMENT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family::TaggedSymbol + ) + MANAGEMENT_OPERATION = + T.let( + :MANAGEMENT_OPERATION, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Family::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Transfer method + module Method + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Method + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACH_NEXT_DAY = + T.let( + :ACH_NEXT_DAY, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Method::TaggedSymbol + ) + ACH_SAME_DAY = + T.let( + :ACH_SAME_DAY, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Method::TaggedSymbol + ) + WIRE = + T.let( + :WIRE, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Method::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Method::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Method-specific attributes + module MethodAttributes + extend Lithic::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes + ) + end + + class ACHMethodAttributes < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes, + Lithic::Internal::AnyHash + ) + end + + # SEC code for ACH transaction + sig do + returns( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + end + attr_accessor :sec_code + + # Addenda information + sig { returns(T.nilable(String)) } + attr_accessor :addenda + + # Company ID for the ACH transaction + sig { returns(T.nilable(String)) } + attr_accessor :company_id + + # Receipt routing number + sig { returns(T.nilable(String)) } + attr_accessor :receipt_routing_number + + # Number of retries attempted + sig { returns(T.nilable(Integer)) } + attr_accessor :retries + + # Return reason code if the transaction was returned + sig { returns(T.nilable(String)) } + attr_accessor :return_reason_code + + # Trace numbers for the ACH transaction + sig { returns(T.nilable(T::Array[String])) } + attr_reader :trace_numbers + + sig { params(trace_numbers: T::Array[String]).void } + attr_writer :trace_numbers + + sig do + params( + sec_code: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::OrSymbol, + addenda: T.nilable(String), + company_id: T.nilable(String), + receipt_routing_number: T.nilable(String), + retries: T.nilable(Integer), + return_reason_code: T.nilable(String), + trace_numbers: T::Array[String] + ).returns(T.attached_class) + end + def self.new( + # SEC code for ACH transaction + sec_code:, + # Addenda information + addenda: nil, + # Company ID for the ACH transaction + company_id: nil, + # Receipt routing number + receipt_routing_number: nil, + # Number of retries attempted + retries: nil, + # Return reason code if the transaction was returned + return_reason_code: nil, + # Trace numbers for the ACH transaction + trace_numbers: nil + ) + end + + sig do + override.returns( + { + sec_code: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol, + addenda: T.nilable(String), + company_id: T.nilable(String), + receipt_routing_number: T.nilable(String), + retries: T.nilable(Integer), + return_reason_code: T.nilable(String), + trace_numbers: T::Array[String] + } + ) + end + def to_hash + end + + # SEC code for ACH transaction + module SecCode + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CCD = + T.let( + :CCD, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + PPD = + T.let( + :PPD, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + WEB = + T.let( + :WEB, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + TEL = + T.let( + :TEL, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + CIE = + T.let( + :CIE, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + CTX = + T.let( + :CTX, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class WireMethodAttributes < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes, + Lithic::Internal::AnyHash + ) + end + + # Type of wire transfer + sig do + returns( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + ) + end + attr_accessor :wire_transfer_type + + # External bank name + sig { returns(T.nilable(String)) } + attr_accessor :external_bank_name + + # External bank routing number + sig { returns(T.nilable(String)) } + attr_accessor :external_bank_routing_number + + # External individual name + sig { returns(T.nilable(String)) } + attr_accessor :external_individual_name + + # IMAD + sig { returns(T.nilable(String)) } + attr_accessor :imad + + # Lithic bank name + sig { returns(T.nilable(String)) } + attr_accessor :lithic_bank_name + + # Lithic bank routing number + sig { returns(T.nilable(String)) } + attr_accessor :lithic_bank_routing_number + + # Lithic individual name + sig { returns(T.nilable(String)) } + attr_accessor :lithic_individual_name + + # OMAD + sig { returns(T.nilable(String)) } + attr_accessor :omad + + # UUID of previous transfer if this is a retry + sig { returns(T.nilable(String)) } + attr_accessor :previous_transfer + + # Wire token + sig { returns(T.nilable(String)) } + attr_accessor :wire_token + + sig do + params( + wire_transfer_type: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::OrSymbol, + external_bank_name: T.nilable(String), + external_bank_routing_number: T.nilable(String), + external_individual_name: T.nilable(String), + imad: T.nilable(String), + lithic_bank_name: T.nilable(String), + lithic_bank_routing_number: T.nilable(String), + lithic_individual_name: T.nilable(String), + omad: T.nilable(String), + previous_transfer: T.nilable(String), + wire_token: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Type of wire transfer + wire_transfer_type:, + # External bank name + external_bank_name: nil, + # External bank routing number + external_bank_routing_number: nil, + # External individual name + external_individual_name: nil, + # IMAD + imad: nil, + # Lithic bank name + lithic_bank_name: nil, + # Lithic bank routing number + lithic_bank_routing_number: nil, + # Lithic individual name + lithic_individual_name: nil, + # OMAD + omad: nil, + # UUID of previous transfer if this is a retry + previous_transfer: nil, + # Wire token + wire_token: nil + ) + end + + sig do + override.returns( + { + wire_transfer_type: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol, + external_bank_name: T.nilable(String), + external_bank_routing_number: T.nilable(String), + external_individual_name: T.nilable(String), + imad: T.nilable(String), + lithic_bank_name: T.nilable(String), + lithic_bank_routing_number: T.nilable(String), + lithic_individual_name: T.nilable(String), + omad: T.nilable(String), + previous_transfer: T.nilable(String), + wire_token: T.nilable(String) + } + ) + end + def to_hash + end + + # Type of wire transfer + module WireTransferType + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + FEDWIRE = + T.let( + :FEDWIRE, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + ) + SWIFT = + T.let( + :SWIFT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::Variants + ] + ) + end + def self.variants + end + end + + class RelatedAccountTokens < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::RelatedAccountTokens, + Lithic::Internal::AnyHash + ) + end + + # Globally unique identifier for the account + sig { returns(T.nilable(String)) } + attr_accessor :account_token + + # Globally unique identifier for the business account + sig { returns(T.nilable(String)) } + attr_accessor :business_account_token + + # Related account tokens for the transaction + sig do + params( + account_token: T.nilable(String), + business_account_token: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Globally unique identifier for the account + account_token:, + # Globally unique identifier for the business account + business_account_token: + ) + end + + sig do + override.returns( + { + account_token: T.nilable(String), + business_account_token: T.nilable(String) + } + ) + end + def to_hash + end + end + + # Transaction result + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Transaction source + module Source + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Source + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + LITHIC = + T.let( + :LITHIC, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Source::TaggedSymbol + ) + EXTERNAL = + T.let( + :EXTERNAL, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Source::TaggedSymbol + ) + CUSTOMER = + T.let( + :CUSTOMER, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Source::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Source::TaggedSymbol + ] + ) + end + def self.values + end + end + + # The status of the transaction + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Status + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PENDING = + T.let( + :PENDING, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Status::TaggedSymbol + ) + SETTLED = + T.let( + :SETTLED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Status::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Status::TaggedSymbol + ) + REVERSED = + T.let( + :REVERSED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Status::TaggedSymbol + ) + CANCELED = + T.let( + :CANCELED, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Status::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Status::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + sig do + override.returns( + T::Array[Lithic::Models::AccountActivityListResponse::Variants] + ) + end + def self.variants + end + end + end +end diff --git a/rbi/lithic/models/account_activity_retrieve_transaction_params.rbi b/rbi/lithic/models/account_activity_retrieve_transaction_params.rbi new file mode 100644 index 00000000..117358e9 --- /dev/null +++ b/rbi/lithic/models/account_activity_retrieve_transaction_params.rbi @@ -0,0 +1,30 @@ +# typed: strong + +module Lithic + module Models + class AccountActivityRetrieveTransactionParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + OrHash = + T.type_alias do + T.any( + Lithic::AccountActivityRetrieveTransactionParams, + Lithic::Internal::AnyHash + ) + end + + sig do + params(request_options: Lithic::RequestOptions::OrHash).returns( + T.attached_class + ) + end + def self.new(request_options: {}) + end + + sig { override.returns({ request_options: Lithic::RequestOptions }) } + def to_hash + end + end + end +end diff --git a/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi b/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi new file mode 100644 index 00000000..5bb091f0 --- /dev/null +++ b/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi @@ -0,0 +1,3311 @@ +# typed: strong + +module Lithic + module Models + # Response containing multiple transaction types + module AccountActivityRetrieveTransactionResponse + extend Lithic::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction, + Lithic::ExternalPayment, + Lithic::ManagementOperationTransaction + ) + end + + class FinancialTransaction < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction, + Lithic::Internal::AnyHash + ) + end + + # Unique identifier for the transaction + sig { returns(String) } + attr_accessor :token + + # Transaction category + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + end + attr_accessor :category + + # ISO 8601 timestamp of when the transaction was created + sig { returns(Time) } + attr_accessor :created + + # Currency of the transaction, represented in ISO 4217 format + sig { returns(String) } + attr_accessor :currency + + # Transaction descriptor + sig { returns(String) } + attr_accessor :descriptor + + # List of transaction events + sig do + returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event + ] + ) + end + attr_accessor :events + + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family::TaggedSymbol + ) + end + attr_accessor :family + + # Financial account token associated with the transaction + sig { returns(String) } + attr_accessor :financial_account_token + + # Pending amount in cents + sig { returns(Integer) } + attr_accessor :pending_amount + + # Transaction result + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Result::TaggedSymbol + ) + end + attr_accessor :result + + # Settled amount in cents + sig { returns(Integer) } + attr_accessor :settled_amount + + # The status of the transaction + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Status::TaggedSymbol + ) + end + attr_accessor :status + + # ISO 8601 timestamp of when the transaction was last updated + sig { returns(Time) } + attr_accessor :updated + + # Financial transaction with inheritance from unified base transaction + sig do + params( + token: String, + category: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::OrSymbol, + created: Time, + currency: String, + descriptor: String, + events: + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::OrHash + ], + family: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family::OrSymbol, + financial_account_token: String, + pending_amount: Integer, + result: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Result::OrSymbol, + settled_amount: Integer, + status: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Status::OrSymbol, + updated: Time + ).returns(T.attached_class) + end + def self.new( + # Unique identifier for the transaction + token:, + # Transaction category + category:, + # ISO 8601 timestamp of when the transaction was created + created:, + # Currency of the transaction, represented in ISO 4217 format + currency:, + # Transaction descriptor + descriptor:, + # List of transaction events + events:, + family:, + # Financial account token associated with the transaction + financial_account_token:, + # Pending amount in cents + pending_amount:, + # Transaction result + result:, + # Settled amount in cents + settled_amount:, + # The status of the transaction + status:, + # ISO 8601 timestamp of when the transaction was last updated + updated: + ) + end + + sig do + override.returns( + { + token: String, + category: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol, + created: Time, + currency: String, + descriptor: String, + events: + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event + ], + family: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family::TaggedSymbol, + financial_account_token: String, + pending_amount: Integer, + result: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Result::TaggedSymbol, + settled_amount: Integer, + status: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Status::TaggedSymbol, + updated: Time + } + ) + end + def to_hash + end + + # Transaction category + module Category + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACH = + T.let( + :ACH, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + BALANCE_OR_FUNDING = + T.let( + :BALANCE_OR_FUNDING, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + EXTERNAL_ACH = + T.let( + :EXTERNAL_ACH, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + EXTERNAL_CHECK = + T.let( + :EXTERNAL_CHECK, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + EXTERNAL_TRANSFER = + T.let( + :EXTERNAL_TRANSFER, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + EXTERNAL_WIRE = + T.let( + :EXTERNAL_WIRE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + MANAGEMENT_ADJUSTMENT = + T.let( + :MANAGEMENT_ADJUSTMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + MANAGEMENT_DISPUTE = + T.let( + :MANAGEMENT_DISPUTE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + MANAGEMENT_FEE = + T.let( + :MANAGEMENT_FEE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + MANAGEMENT_REWARD = + T.let( + :MANAGEMENT_REWARD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + MANAGEMENT_DISBURSEMENT = + T.let( + :MANAGEMENT_DISBURSEMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + PROGRAM_FUNDING = + T.let( + :PROGRAM_FUNDING, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Category::TaggedSymbol + ] + ) + end + def self.values + end + end + + class Event < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event, + Lithic::Internal::AnyHash + ) + end + + # Globally unique identifier. + sig { returns(T.nilable(String)) } + attr_reader :token + + sig { params(token: String).void } + attr_writer :token + + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + sig { returns(T.nilable(Integer)) } + attr_reader :amount + + sig { params(amount: Integer).void } + attr_writer :amount + + # Date and time when the financial event occurred. UTC time zone. + sig { returns(T.nilable(Time)) } + attr_reader :created + + sig { params(created: Time).void } + attr_writer :created + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + sig do + returns( + T.nilable( + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Result::TaggedSymbol + ) + ) + end + attr_reader :result + + sig do + params( + result: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Result::OrSymbol + ).void + end + attr_writer :result + + sig do + returns( + T.nilable( + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ) + end + attr_reader :type + + sig do + params( + type: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::OrSymbol + ).void + end + attr_writer :type + + # Financial Event + sig do + params( + token: String, + amount: Integer, + created: Time, + result: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Result::OrSymbol, + type: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # Globally unique identifier. + token: nil, + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + amount: nil, + # Date and time when the financial event occurred. UTC time zone. + created: nil, + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + result: nil, + type: nil + ) + end + + sig do + override.returns( + { + token: String, + amount: Integer, + created: Time, + result: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Result::TaggedSymbol, + type: + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + } + ) + end + def to_hash + end + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACH_ORIGINATION_CANCELLED = + T.let( + :ACH_ORIGINATION_CANCELLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_INITIATED = + T.let( + :ACH_ORIGINATION_INITIATED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_PROCESSED = + T.let( + :ACH_ORIGINATION_PROCESSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_RELEASED = + T.let( + :ACH_ORIGINATION_RELEASED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_REVIEWED = + T.let( + :ACH_ORIGINATION_REVIEWED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_SETTLED = + T.let( + :ACH_ORIGINATION_SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_RECEIPT_PROCESSED = + T.let( + :ACH_RECEIPT_PROCESSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_RECEIPT_SETTLED = + T.let( + :ACH_RECEIPT_SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_RETURN_INITIATED = + T.let( + :ACH_RETURN_INITIATED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_RETURN_PROCESSED = + T.let( + :ACH_RETURN_PROCESSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + ACH_RETURN_SETTLED = + T.let( + :ACH_RETURN_SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + AUTHORIZATION = + T.let( + :AUTHORIZATION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + AUTHORIZATION_ADVICE = + T.let( + :AUTHORIZATION_ADVICE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + AUTHORIZATION_EXPIRY = + T.let( + :AUTHORIZATION_EXPIRY, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + AUTHORIZATION_REVERSAL = + T.let( + :AUTHORIZATION_REVERSAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + BALANCE_INQUIRY = + T.let( + :BALANCE_INQUIRY, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + BILLING_ERROR = + T.let( + :BILLING_ERROR, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + BILLING_ERROR_REVERSAL = + T.let( + :BILLING_ERROR_REVERSAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CARD_TO_CARD = + T.let( + :CARD_TO_CARD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CASH_BACK = + T.let( + :CASH_BACK, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CASH_BACK_REVERSAL = + T.let( + :CASH_BACK_REVERSAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CLEARING = + T.let( + :CLEARING, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + COLLECTION = + T.let( + :COLLECTION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CORRECTION_CREDIT = + T.let( + :CORRECTION_CREDIT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CORRECTION_DEBIT = + T.let( + :CORRECTION_DEBIT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CREDIT_AUTHORIZATION = + T.let( + :CREDIT_AUTHORIZATION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CREDIT_AUTHORIZATION_ADVICE = + T.let( + :CREDIT_AUTHORIZATION_ADVICE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CURRENCY_CONVERSION = + T.let( + :CURRENCY_CONVERSION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + CURRENCY_CONVERSION_REVERSAL = + T.let( + :CURRENCY_CONVERSION_REVERSAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + DISPUTE_WON = + T.let( + :DISPUTE_WON, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_ACH_CANCELED = + T.let( + :EXTERNAL_ACH_CANCELED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_ACH_INITIATED = + T.let( + :EXTERNAL_ACH_INITIATED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_ACH_RELEASED = + T.let( + :EXTERNAL_ACH_RELEASED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_ACH_REVERSED = + T.let( + :EXTERNAL_ACH_REVERSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_ACH_SETTLED = + T.let( + :EXTERNAL_ACH_SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_CHECK_CANCELED = + T.let( + :EXTERNAL_CHECK_CANCELED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_CHECK_INITIATED = + T.let( + :EXTERNAL_CHECK_INITIATED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_CHECK_RELEASED = + T.let( + :EXTERNAL_CHECK_RELEASED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_CHECK_REVERSED = + T.let( + :EXTERNAL_CHECK_REVERSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_CHECK_SETTLED = + T.let( + :EXTERNAL_CHECK_SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_TRANSFER_CANCELED = + T.let( + :EXTERNAL_TRANSFER_CANCELED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_TRANSFER_INITIATED = + T.let( + :EXTERNAL_TRANSFER_INITIATED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_TRANSFER_RELEASED = + T.let( + :EXTERNAL_TRANSFER_RELEASED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_TRANSFER_REVERSED = + T.let( + :EXTERNAL_TRANSFER_REVERSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_TRANSFER_SETTLED = + T.let( + :EXTERNAL_TRANSFER_SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_WIRE_CANCELED = + T.let( + :EXTERNAL_WIRE_CANCELED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_WIRE_INITIATED = + T.let( + :EXTERNAL_WIRE_INITIATED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_WIRE_RELEASED = + T.let( + :EXTERNAL_WIRE_RELEASED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_WIRE_REVERSED = + T.let( + :EXTERNAL_WIRE_REVERSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + EXTERNAL_WIRE_SETTLED = + T.let( + :EXTERNAL_WIRE_SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + FINANCIAL_AUTHORIZATION = + T.let( + :FINANCIAL_AUTHORIZATION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + FINANCIAL_CREDIT_AUTHORIZATION = + T.let( + :FINANCIAL_CREDIT_AUTHORIZATION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + INTEREST = + T.let( + :INTEREST, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + INTEREST_REVERSAL = + T.let( + :INTEREST_REVERSAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + INTERNAL_ADJUSTMENT = + T.let( + :INTERNAL_ADJUSTMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + LATE_PAYMENT = + T.let( + :LATE_PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + LATE_PAYMENT_REVERSAL = + T.let( + :LATE_PAYMENT_REVERSAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + LOSS_WRITE_OFF = + T.let( + :LOSS_WRITE_OFF, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + PROVISIONAL_CREDIT = + T.let( + :PROVISIONAL_CREDIT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + PROVISIONAL_CREDIT_REVERSAL = + T.let( + :PROVISIONAL_CREDIT_REVERSAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + SERVICE = + T.let( + :SERVICE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + RETURN = + T.let( + :RETURN, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + RETURN_REVERSAL = + T.let( + :RETURN_REVERSAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + TRANSFER_INSUFFICIENT_FUNDS = + T.let( + :TRANSFER_INSUFFICIENT_FUNDS, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + RETURNED_PAYMENT = + T.let( + :RETURNED_PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + RETURNED_PAYMENT_REVERSAL = + T.let( + :RETURNED_PAYMENT_REVERSAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + LITHIC_NETWORK_PAYMENT = + T.let( + :LITHIC_NETWORK_PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + module Family + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family::TaggedSymbol + ) + PAYMENT = + T.let( + :PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family::TaggedSymbol + ) + INTERNAL = + T.let( + :INTERNAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family::TaggedSymbol + ) + EXTERNAL_PAYMENT = + T.let( + :EXTERNAL_PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family::TaggedSymbol + ) + MANAGEMENT_OPERATION = + T.let( + :MANAGEMENT_OPERATION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Family::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Transaction result + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + + # The status of the transaction + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Status + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PENDING = + T.let( + :PENDING, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Status::TaggedSymbol + ) + SETTLED = + T.let( + :SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Status::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Status::TaggedSymbol + ) + REVERSED = + T.let( + :REVERSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Status::TaggedSymbol + ) + CANCELED = + T.let( + :CANCELED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Status::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Status::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class BookTransferTransaction < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction, + Lithic::Internal::AnyHash + ) + end + + # Unique identifier for the transaction + sig { returns(String) } + attr_accessor :token + + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + end + attr_accessor :category + + # ISO 8601 timestamp of when the transaction was created + sig { returns(Time) } + attr_accessor :created + + # Currency of the transaction in ISO 4217 format + sig { returns(String) } + attr_accessor :currency + + # List of events associated with this book transfer + sig do + returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event + ] + ) + end + attr_accessor :events + + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family::TaggedSymbol + ) + end + attr_accessor :family + + # Source account token + sig { returns(String) } + attr_accessor :from_financial_account_token + + # The pending amount of the transaction in cents + sig { returns(Integer) } + attr_accessor :pending_amount + + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Result::TaggedSymbol + ) + end + attr_accessor :result + + # The settled amount of the transaction in cents + sig { returns(Integer) } + attr_accessor :settled_amount + + # The status of the transaction + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Status::TaggedSymbol + ) + end + attr_accessor :status + + # Destination account token + sig { returns(String) } + attr_accessor :to_financial_account_token + + # ISO 8601 timestamp of when the transaction was last updated + sig { returns(Time) } + attr_accessor :updated + + # External identifier for the transaction + sig { returns(T.nilable(String)) } + attr_reader :external_id + + sig { params(external_id: String).void } + attr_writer :external_id + + # External resource associated with the management operation + sig { returns(T.nilable(Lithic::ExternalResource)) } + attr_reader :external_resource + + sig do + params( + external_resource: T.nilable(Lithic::ExternalResource::OrHash) + ).void + end + attr_writer :external_resource + + sig do + returns( + T.nilable( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::TransactionSeries + ) + ) + end + attr_reader :transaction_series + + sig do + params( + transaction_series: + T.nilable( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::TransactionSeries::OrHash + ) + ).void + end + attr_writer :transaction_series + + # Book transfer transaction + sig do + params( + token: String, + category: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::OrSymbol, + created: Time, + currency: String, + events: + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::OrHash + ], + family: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family::OrSymbol, + from_financial_account_token: String, + pending_amount: Integer, + result: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Result::OrSymbol, + settled_amount: Integer, + status: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Status::OrSymbol, + to_financial_account_token: String, + updated: Time, + external_id: String, + external_resource: T.nilable(Lithic::ExternalResource::OrHash), + transaction_series: + T.nilable( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::TransactionSeries::OrHash + ) + ).returns(T.attached_class) + end + def self.new( + # Unique identifier for the transaction + token:, + category:, + # ISO 8601 timestamp of when the transaction was created + created:, + # Currency of the transaction in ISO 4217 format + currency:, + # List of events associated with this book transfer + events:, + family:, + # Source account token + from_financial_account_token:, + # The pending amount of the transaction in cents + pending_amount:, + result:, + # The settled amount of the transaction in cents + settled_amount:, + # The status of the transaction + status:, + # Destination account token + to_financial_account_token:, + # ISO 8601 timestamp of when the transaction was last updated + updated:, + # External identifier for the transaction + external_id: nil, + # External resource associated with the management operation + external_resource: nil, + transaction_series: nil + ) + end + + sig do + override.returns( + { + token: String, + category: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol, + created: Time, + currency: String, + events: + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event + ], + family: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family::TaggedSymbol, + from_financial_account_token: String, + pending_amount: Integer, + result: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Result::TaggedSymbol, + settled_amount: Integer, + status: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Status::TaggedSymbol, + to_financial_account_token: String, + updated: Time, + external_id: String, + external_resource: T.nilable(Lithic::ExternalResource), + transaction_series: + T.nilable( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::TransactionSeries + ) + } + ) + end + def to_hash + end + + module Category + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACH = + T.let( + :ACH, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + BALANCE_OR_FUNDING = + T.let( + :BALANCE_OR_FUNDING, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + EXTERNAL_ACH = + T.let( + :EXTERNAL_ACH, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + EXTERNAL_CHECK = + T.let( + :EXTERNAL_CHECK, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + EXTERNAL_TRANSFER = + T.let( + :EXTERNAL_TRANSFER, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + EXTERNAL_WIRE = + T.let( + :EXTERNAL_WIRE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + MANAGEMENT_ADJUSTMENT = + T.let( + :MANAGEMENT_ADJUSTMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + MANAGEMENT_DISPUTE = + T.let( + :MANAGEMENT_DISPUTE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + MANAGEMENT_FEE = + T.let( + :MANAGEMENT_FEE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + MANAGEMENT_REWARD = + T.let( + :MANAGEMENT_REWARD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + MANAGEMENT_DISBURSEMENT = + T.let( + :MANAGEMENT_DISBURSEMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + PROGRAM_FUNDING = + T.let( + :PROGRAM_FUNDING, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Category::TaggedSymbol + ] + ) + end + def self.values + end + end + + class Event < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event, + Lithic::Internal::AnyHash + ) + end + + # Globally unique identifier. + sig { returns(String) } + attr_accessor :token + + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + sig { returns(Integer) } + attr_accessor :amount + + # Date and time when the financial event occurred. UTC time zone. + sig { returns(Time) } + attr_accessor :created + + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::DetailedResults::TaggedSymbol + ) + end + attr_accessor :detailed_results + + # Memo for the transfer. + sig { returns(String) } + attr_accessor :memo + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Result::TaggedSymbol + ) + end + attr_accessor :result + + # The program specific subtype code for the specified category/type. + sig { returns(String) } + attr_accessor :subtype + + # Type of the book transfer + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + end + attr_accessor :type + + # Book transfer Event + sig do + params( + token: String, + amount: Integer, + created: Time, + detailed_results: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::DetailedResults::OrSymbol, + memo: String, + result: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Result::OrSymbol, + subtype: String, + type: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::OrSymbol + ).returns(T.attached_class) + end + def self.new( + # Globally unique identifier. + token:, + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + amount:, + # Date and time when the financial event occurred. UTC time zone. + created:, + detailed_results:, + # Memo for the transfer. + memo:, + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + result:, + # The program specific subtype code for the specified category/type. + subtype:, + # Type of the book transfer + type: + ) + end + + sig do + override.returns( + { + token: String, + amount: Integer, + created: Time, + detailed_results: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::DetailedResults::TaggedSymbol, + memo: String, + result: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Result::TaggedSymbol, + subtype: String, + type: + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + } + ) + end + def to_hash + end + + module DetailedResults + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::DetailedResults + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::DetailedResults::TaggedSymbol + ) + FUNDS_INSUFFICIENT = + T.let( + :FUNDS_INSUFFICIENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::DetailedResults::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::DetailedResults::TaggedSymbol + ] + ) + end + def self.values + end + end + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Type of the book transfer + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ATM_WITHDRAWAL = + T.let( + :ATM_WITHDRAWAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ATM_DECLINE = + T.let( + :ATM_DECLINE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + INTERNATIONAL_ATM_WITHDRAWAL = + T.let( + :INTERNATIONAL_ATM_WITHDRAWAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + INACTIVITY = + T.let( + :INACTIVITY, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + STATEMENT = + T.let( + :STATEMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + MONTHLY = + T.let( + :MONTHLY, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + QUARTERLY = + T.let( + :QUARTERLY, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ANNUAL = + T.let( + :ANNUAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CUSTOMER_SERVICE = + T.let( + :CUSTOMER_SERVICE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ACCOUNT_MAINTENANCE = + T.let( + :ACCOUNT_MAINTENANCE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ACCOUNT_ACTIVATION = + T.let( + :ACCOUNT_ACTIVATION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ACCOUNT_CLOSURE = + T.let( + :ACCOUNT_CLOSURE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CARD_REPLACEMENT = + T.let( + :CARD_REPLACEMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CARD_DELIVERY = + T.let( + :CARD_DELIVERY, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CARD_CREATE = + T.let( + :CARD_CREATE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CURRENCY_CONVERSION = + T.let( + :CURRENCY_CONVERSION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + INTEREST = + T.let( + :INTEREST, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + LATE_PAYMENT = + T.let( + :LATE_PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + BILL_PAYMENT = + T.let( + :BILL_PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CASH_BACK = + T.let( + :CASH_BACK, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ACCOUNT_TO_ACCOUNT = + T.let( + :ACCOUNT_TO_ACCOUNT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + CARD_TO_CARD = + T.let( + :CARD_TO_CARD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + DISBURSE = + T.let( + :DISBURSE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + BILLING_ERROR = + T.let( + :BILLING_ERROR, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + LOSS_WRITE_OFF = + T.let( + :LOSS_WRITE_OFF, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + EXPIRED_CARD = + T.let( + :EXPIRED_CARD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + EARLY_DERECOGNITION = + T.let( + :EARLY_DERECOGNITION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + ESCHEATMENT = + T.let( + :ESCHEATMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + INACTIVITY_FEE_DOWN = + T.let( + :INACTIVITY_FEE_DOWN, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + PROVISIONAL_CREDIT = + T.let( + :PROVISIONAL_CREDIT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + DISPUTE_WON = + T.let( + :DISPUTE_WON, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + SERVICE = + T.let( + :SERVICE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + module Family + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family::TaggedSymbol + ) + PAYMENT = + T.let( + :PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family::TaggedSymbol + ) + INTERNAL = + T.let( + :INTERNAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family::TaggedSymbol + ) + EXTERNAL_PAYMENT = + T.let( + :EXTERNAL_PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family::TaggedSymbol + ) + MANAGEMENT_OPERATION = + T.let( + :MANAGEMENT_OPERATION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Family::TaggedSymbol + ] + ) + end + def self.values + end + end + + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + + # The status of the transaction + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Status + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PENDING = + T.let( + :PENDING, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Status::TaggedSymbol + ) + SETTLED = + T.let( + :SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Status::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Status::TaggedSymbol + ) + REVERSED = + T.let( + :REVERSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Status::TaggedSymbol + ) + CANCELED = + T.let( + :CANCELED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Status::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Status::TaggedSymbol + ] + ) + end + def self.values + end + end + + class TransactionSeries < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::TransactionSeries, + Lithic::Internal::AnyHash + ) + end + + sig { returns(T.nilable(String)) } + attr_accessor :related_transaction_event_token + + sig { returns(T.nilable(String)) } + attr_accessor :related_transaction_token + + sig { returns(String) } + attr_accessor :type + + sig do + params( + related_transaction_event_token: T.nilable(String), + related_transaction_token: T.nilable(String), + type: String + ).returns(T.attached_class) + end + def self.new( + related_transaction_event_token:, + related_transaction_token:, + type: + ) + end + + sig do + override.returns( + { + related_transaction_event_token: T.nilable(String), + related_transaction_token: T.nilable(String), + type: String + } + ) + end + def to_hash + end + end + end + + class CardTransaction < Lithic::Models::Transaction + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction, + Lithic::Internal::AnyHash + ) + end + + # Unique identifier for the transaction + sig { returns(String) } + attr_accessor :token + + # ISO 8601 timestamp of when the transaction was created + sig { returns(Time) } + attr_accessor :created + + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family::TaggedSymbol + ) + end + attr_accessor :family + + # The status of the transaction + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Status::TaggedSymbol + ) + end + attr_accessor :status + + # ISO 8601 timestamp of when the transaction was last updated + sig { returns(Time) } + attr_accessor :updated + + # Base class for all transaction types in the ledger service + sig do + params( + token: String, + created: Time, + family: + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family::OrSymbol, + status: + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Status::OrSymbol, + updated: Time + ).returns(T.attached_class) + end + def self.new( + # Unique identifier for the transaction + token:, + # ISO 8601 timestamp of when the transaction was created + created:, + family:, + # The status of the transaction + status:, + # ISO 8601 timestamp of when the transaction was last updated + updated: + ) + end + + sig do + override.returns( + { + token: String, + created: Time, + family: + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family::TaggedSymbol, + status: + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Status::TaggedSymbol, + updated: Time + } + ) + end + def to_hash + end + + module Family + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family::TaggedSymbol + ) + PAYMENT = + T.let( + :PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family::TaggedSymbol + ) + INTERNAL = + T.let( + :INTERNAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family::TaggedSymbol + ) + EXTERNAL_PAYMENT = + T.let( + :EXTERNAL_PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family::TaggedSymbol + ) + MANAGEMENT_OPERATION = + T.let( + :MANAGEMENT_OPERATION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Family::TaggedSymbol + ] + ) + end + def self.values + end + end + + # The status of the transaction + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Status + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PENDING = + T.let( + :PENDING, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Status::TaggedSymbol + ) + SETTLED = + T.let( + :SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Status::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Status::TaggedSymbol + ) + REVERSED = + T.let( + :REVERSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Status::TaggedSymbol + ) + CANCELED = + T.let( + :CANCELED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Status::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::Status::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class PaymentTransaction < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction, + Lithic::Internal::AnyHash + ) + end + + # Unique identifier for the transaction + sig { returns(String) } + attr_accessor :token + + # Transaction category + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + end + attr_accessor :category + + # ISO 8601 timestamp of when the transaction was created + sig { returns(Time) } + attr_accessor :created + + # Transaction descriptor + sig { returns(String) } + attr_accessor :descriptor + + # Transfer direction + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Direction::TaggedSymbol + ) + end + attr_accessor :direction + + # List of transaction events + sig do + returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event + ] + ) + end + attr_accessor :events + + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family::TaggedSymbol + ) + end + attr_accessor :family + + # Financial account token + sig { returns(String) } + attr_accessor :financial_account_token + + # Transfer method + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Method::TaggedSymbol + ) + end + attr_accessor :method_ + + # Method-specific attributes + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::Variants + ) + end + attr_accessor :method_attributes + + # Pending amount in cents + sig { returns(Integer) } + attr_accessor :pending_amount + + # Related account tokens for the transaction + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::RelatedAccountTokens + ) + end + attr_reader :related_account_tokens + + sig do + params( + related_account_tokens: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::RelatedAccountTokens::OrHash + ).void + end + attr_writer :related_account_tokens + + # Transaction result + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Result::TaggedSymbol + ) + end + attr_accessor :result + + # Settled amount in cents + sig { returns(Integer) } + attr_accessor :settled_amount + + # Transaction source + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Source::TaggedSymbol + ) + end + attr_accessor :source + + # The status of the transaction + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Status::TaggedSymbol + ) + end + attr_accessor :status + + # ISO 8601 timestamp of when the transaction was last updated + sig { returns(Time) } + attr_accessor :updated + + # Currency of the transaction in ISO 4217 format + sig { returns(T.nilable(String)) } + attr_reader :currency + + sig { params(currency: String).void } + attr_writer :currency + + # Expected release date for the transaction + sig { returns(T.nilable(Date)) } + attr_accessor :expected_release_date + + # External bank account token + sig { returns(T.nilable(String)) } + attr_accessor :external_bank_account_token + + # User-defined identifier + sig { returns(T.nilable(String)) } + attr_accessor :user_defined_id + + # Payment transaction + sig do + params( + token: String, + category: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::OrSymbol, + created: Time, + descriptor: String, + direction: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Direction::OrSymbol, + events: + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::OrHash + ], + family: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family::OrSymbol, + financial_account_token: String, + method_: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Method::OrSymbol, + method_attributes: + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::OrHash, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::OrHash + ), + pending_amount: Integer, + related_account_tokens: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::RelatedAccountTokens::OrHash, + result: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Result::OrSymbol, + settled_amount: Integer, + source: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Source::OrSymbol, + status: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Status::OrSymbol, + updated: Time, + currency: String, + expected_release_date: T.nilable(Date), + external_bank_account_token: T.nilable(String), + user_defined_id: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Unique identifier for the transaction + token:, + # Transaction category + category:, + # ISO 8601 timestamp of when the transaction was created + created:, + # Transaction descriptor + descriptor:, + # Transfer direction + direction:, + # List of transaction events + events:, + family:, + # Financial account token + financial_account_token:, + # Transfer method + method_:, + # Method-specific attributes + method_attributes:, + # Pending amount in cents + pending_amount:, + # Related account tokens for the transaction + related_account_tokens:, + # Transaction result + result:, + # Settled amount in cents + settled_amount:, + # Transaction source + source:, + # The status of the transaction + status:, + # ISO 8601 timestamp of when the transaction was last updated + updated:, + # Currency of the transaction in ISO 4217 format + currency: nil, + # Expected release date for the transaction + expected_release_date: nil, + # External bank account token + external_bank_account_token: nil, + # User-defined identifier + user_defined_id: nil + ) + end + + sig do + override.returns( + { + token: String, + category: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol, + created: Time, + descriptor: String, + direction: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Direction::TaggedSymbol, + events: + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event + ], + family: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family::TaggedSymbol, + financial_account_token: String, + method_: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Method::TaggedSymbol, + method_attributes: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::Variants, + pending_amount: Integer, + related_account_tokens: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::RelatedAccountTokens, + result: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Result::TaggedSymbol, + settled_amount: Integer, + source: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Source::TaggedSymbol, + status: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Status::TaggedSymbol, + updated: Time, + currency: String, + expected_release_date: T.nilable(Date), + external_bank_account_token: T.nilable(String), + user_defined_id: T.nilable(String) + } + ) + end + def to_hash + end + + # Transaction category + module Category + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACH = + T.let( + :ACH, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + BALANCE_OR_FUNDING = + T.let( + :BALANCE_OR_FUNDING, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + EXTERNAL_ACH = + T.let( + :EXTERNAL_ACH, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + EXTERNAL_CHECK = + T.let( + :EXTERNAL_CHECK, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + EXTERNAL_TRANSFER = + T.let( + :EXTERNAL_TRANSFER, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + EXTERNAL_WIRE = + T.let( + :EXTERNAL_WIRE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + MANAGEMENT_ADJUSTMENT = + T.let( + :MANAGEMENT_ADJUSTMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + MANAGEMENT_DISPUTE = + T.let( + :MANAGEMENT_DISPUTE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + MANAGEMENT_FEE = + T.let( + :MANAGEMENT_FEE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + MANAGEMENT_REWARD = + T.let( + :MANAGEMENT_REWARD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + MANAGEMENT_DISBURSEMENT = + T.let( + :MANAGEMENT_DISBURSEMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + PROGRAM_FUNDING = + T.let( + :PROGRAM_FUNDING, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Category::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Transfer direction + module Direction + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Direction + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CREDIT = + T.let( + :CREDIT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Direction::TaggedSymbol + ) + DEBIT = + T.let( + :DEBIT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Direction::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Direction::TaggedSymbol + ] + ) + end + def self.values + end + end + + class Event < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event, + Lithic::Internal::AnyHash + ) + end + + # Globally unique identifier. + sig { returns(String) } + attr_accessor :token + + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + sig { returns(Integer) } + attr_accessor :amount + + # Date and time when the financial event occurred. UTC time zone. + sig { returns(Time) } + attr_accessor :created + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Result::TaggedSymbol + ) + end + attr_accessor :result + + # Event types: + # + # - `ACH_ORIGINATION_INITIATED` - ACH origination received and pending + # approval/release from an ACH hold. + # - `ACH_ORIGINATION_REVIEWED` - ACH origination has completed the review process. + # - `ACH_ORIGINATION_CANCELLED` - ACH origination has been cancelled. + # - `ACH_ORIGINATION_PROCESSED` - ACH origination has been processed and sent to + # the Federal Reserve. + # - `ACH_ORIGINATION_SETTLED` - ACH origination has settled. + # - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to + # available balance. + # - `ACH_RETURN_PROCESSED` - ACH origination returned by the Receiving Depository + # Financial Institution. + # - `ACH_RECEIPT_PROCESSED` - ACH receipt pending release from an ACH holder. + # - `ACH_RETURN_INITIATED` - ACH initiated return for a ACH receipt. + # - `ACH_RECEIPT_SETTLED` - ACH receipt funds have settled. + # - `ACH_RECEIPT_RELEASED` - ACH receipt released from pending to available + # balance. + # - `ACH_RETURN_SETTLED` - ACH receipt return settled by the Receiving Depository + # Financial Institution. + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + end + attr_accessor :type + + # More detailed reasons for the event + sig do + returns( + T.nilable( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ] + ) + ) + end + attr_reader :detailed_results + + sig do + params( + detailed_results: + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::DetailedResult::OrSymbol + ] + ).void + end + attr_writer :detailed_results + + # Payment Event + sig do + params( + token: String, + amount: Integer, + created: Time, + result: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Result::OrSymbol, + type: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::OrSymbol, + detailed_results: + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::DetailedResult::OrSymbol + ] + ).returns(T.attached_class) + end + def self.new( + # Globally unique identifier. + token:, + # Amount of the financial event that has been settled in the currency's smallest + # unit (e.g., cents). + amount:, + # Date and time when the financial event occurred. UTC time zone. + created:, + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + result:, + # Event types: + # + # - `ACH_ORIGINATION_INITIATED` - ACH origination received and pending + # approval/release from an ACH hold. + # - `ACH_ORIGINATION_REVIEWED` - ACH origination has completed the review process. + # - `ACH_ORIGINATION_CANCELLED` - ACH origination has been cancelled. + # - `ACH_ORIGINATION_PROCESSED` - ACH origination has been processed and sent to + # the Federal Reserve. + # - `ACH_ORIGINATION_SETTLED` - ACH origination has settled. + # - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to + # available balance. + # - `ACH_RETURN_PROCESSED` - ACH origination returned by the Receiving Depository + # Financial Institution. + # - `ACH_RECEIPT_PROCESSED` - ACH receipt pending release from an ACH holder. + # - `ACH_RETURN_INITIATED` - ACH initiated return for a ACH receipt. + # - `ACH_RECEIPT_SETTLED` - ACH receipt funds have settled. + # - `ACH_RECEIPT_RELEASED` - ACH receipt released from pending to available + # balance. + # - `ACH_RETURN_SETTLED` - ACH receipt return settled by the Receiving Depository + # Financial Institution. + type:, + # More detailed reasons for the event + detailed_results: nil + ) + end + + sig do + override.returns( + { + token: String, + amount: Integer, + created: Time, + result: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Result::TaggedSymbol, + type: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol, + detailed_results: + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ] + } + ) + end + def to_hash + end + + # APPROVED financial events were successful while DECLINED financial events were + # declined by user, Lithic, or the network. + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Event types: + # + # - `ACH_ORIGINATION_INITIATED` - ACH origination received and pending + # approval/release from an ACH hold. + # - `ACH_ORIGINATION_REVIEWED` - ACH origination has completed the review process. + # - `ACH_ORIGINATION_CANCELLED` - ACH origination has been cancelled. + # - `ACH_ORIGINATION_PROCESSED` - ACH origination has been processed and sent to + # the Federal Reserve. + # - `ACH_ORIGINATION_SETTLED` - ACH origination has settled. + # - `ACH_ORIGINATION_RELEASED` - ACH origination released from pending to + # available balance. + # - `ACH_RETURN_PROCESSED` - ACH origination returned by the Receiving Depository + # Financial Institution. + # - `ACH_RECEIPT_PROCESSED` - ACH receipt pending release from an ACH holder. + # - `ACH_RETURN_INITIATED` - ACH initiated return for a ACH receipt. + # - `ACH_RECEIPT_SETTLED` - ACH receipt funds have settled. + # - `ACH_RECEIPT_RELEASED` - ACH receipt released from pending to available + # balance. + # - `ACH_RETURN_SETTLED` - ACH receipt return settled by the Receiving Depository + # Financial Institution. + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACH_ORIGINATION_CANCELLED = + T.let( + :ACH_ORIGINATION_CANCELLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_INITIATED = + T.let( + :ACH_ORIGINATION_INITIATED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_PROCESSED = + T.let( + :ACH_ORIGINATION_PROCESSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_SETTLED = + T.let( + :ACH_ORIGINATION_SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_RELEASED = + T.let( + :ACH_ORIGINATION_RELEASED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_ORIGINATION_REVIEWED = + T.let( + :ACH_ORIGINATION_REVIEWED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_RECEIPT_PROCESSED = + T.let( + :ACH_RECEIPT_PROCESSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_RECEIPT_SETTLED = + T.let( + :ACH_RECEIPT_SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_RETURN_INITIATED = + T.let( + :ACH_RETURN_INITIATED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_RETURN_PROCESSED = + T.let( + :ACH_RETURN_PROCESSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + ACH_RETURN_SETTLED = + T.let( + :ACH_RETURN_SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::Type::TaggedSymbol + ] + ) + end + def self.values + end + end + + module DetailedResult + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::DetailedResult + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ) + FUNDS_INSUFFICIENT = + T.let( + :FUNDS_INSUFFICIENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ) + ACCOUNT_INVALID = + T.let( + :ACCOUNT_INVALID, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ) + PROGRAM_TRANSACTION_LIMIT_EXCEEDED = + T.let( + :PROGRAM_TRANSACTION_LIMIT_EXCEEDED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ) + PROGRAM_DAILY_LIMIT_EXCEEDED = + T.let( + :PROGRAM_DAILY_LIMIT_EXCEEDED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ) + PROGRAM_MONTHLY_LIMIT_EXCEEDED = + T.let( + :PROGRAM_MONTHLY_LIMIT_EXCEEDED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::DetailedResult::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + module Family + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CARD = + T.let( + :CARD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family::TaggedSymbol + ) + PAYMENT = + T.let( + :PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family::TaggedSymbol + ) + INTERNAL = + T.let( + :INTERNAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family::TaggedSymbol + ) + EXTERNAL_PAYMENT = + T.let( + :EXTERNAL_PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family::TaggedSymbol + ) + MANAGEMENT_OPERATION = + T.let( + :MANAGEMENT_OPERATION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Family::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Transfer method + module Method + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Method + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ACH_NEXT_DAY = + T.let( + :ACH_NEXT_DAY, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Method::TaggedSymbol + ) + ACH_SAME_DAY = + T.let( + :ACH_SAME_DAY, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Method::TaggedSymbol + ) + WIRE = + T.let( + :WIRE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Method::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Method::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Method-specific attributes + module MethodAttributes + extend Lithic::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes + ) + end + + class ACHMethodAttributes < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes, + Lithic::Internal::AnyHash + ) + end + + # SEC code for ACH transaction + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + end + attr_accessor :sec_code + + # Addenda information + sig { returns(T.nilable(String)) } + attr_accessor :addenda + + # Company ID for the ACH transaction + sig { returns(T.nilable(String)) } + attr_accessor :company_id + + # Receipt routing number + sig { returns(T.nilable(String)) } + attr_accessor :receipt_routing_number + + # Number of retries attempted + sig { returns(T.nilable(Integer)) } + attr_accessor :retries + + # Return reason code if the transaction was returned + sig { returns(T.nilable(String)) } + attr_accessor :return_reason_code + + # Trace numbers for the ACH transaction + sig { returns(T.nilable(T::Array[String])) } + attr_reader :trace_numbers + + sig { params(trace_numbers: T::Array[String]).void } + attr_writer :trace_numbers + + sig do + params( + sec_code: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::OrSymbol, + addenda: T.nilable(String), + company_id: T.nilable(String), + receipt_routing_number: T.nilable(String), + retries: T.nilable(Integer), + return_reason_code: T.nilable(String), + trace_numbers: T::Array[String] + ).returns(T.attached_class) + end + def self.new( + # SEC code for ACH transaction + sec_code:, + # Addenda information + addenda: nil, + # Company ID for the ACH transaction + company_id: nil, + # Receipt routing number + receipt_routing_number: nil, + # Number of retries attempted + retries: nil, + # Return reason code if the transaction was returned + return_reason_code: nil, + # Trace numbers for the ACH transaction + trace_numbers: nil + ) + end + + sig do + override.returns( + { + sec_code: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol, + addenda: T.nilable(String), + company_id: T.nilable(String), + receipt_routing_number: T.nilable(String), + retries: T.nilable(Integer), + return_reason_code: T.nilable(String), + trace_numbers: T::Array[String] + } + ) + end + def to_hash + end + + # SEC code for ACH transaction + module SecCode + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CCD = + T.let( + :CCD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + PPD = + T.let( + :PPD, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + WEB = + T.let( + :WEB, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + TEL = + T.let( + :TEL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + CIE = + T.let( + :CIE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + CTX = + T.let( + :CTX, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::SecCode::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + class WireMethodAttributes < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes, + Lithic::Internal::AnyHash + ) + end + + # Type of wire transfer + sig do + returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + ) + end + attr_accessor :wire_transfer_type + + # External bank name + sig { returns(T.nilable(String)) } + attr_accessor :external_bank_name + + # External bank routing number + sig { returns(T.nilable(String)) } + attr_accessor :external_bank_routing_number + + # External individual name + sig { returns(T.nilable(String)) } + attr_accessor :external_individual_name + + # IMAD + sig { returns(T.nilable(String)) } + attr_accessor :imad + + # Lithic bank name + sig { returns(T.nilable(String)) } + attr_accessor :lithic_bank_name + + # Lithic bank routing number + sig { returns(T.nilable(String)) } + attr_accessor :lithic_bank_routing_number + + # Lithic individual name + sig { returns(T.nilable(String)) } + attr_accessor :lithic_individual_name + + # OMAD + sig { returns(T.nilable(String)) } + attr_accessor :omad + + # UUID of previous transfer if this is a retry + sig { returns(T.nilable(String)) } + attr_accessor :previous_transfer + + # Wire token + sig { returns(T.nilable(String)) } + attr_accessor :wire_token + + sig do + params( + wire_transfer_type: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::OrSymbol, + external_bank_name: T.nilable(String), + external_bank_routing_number: T.nilable(String), + external_individual_name: T.nilable(String), + imad: T.nilable(String), + lithic_bank_name: T.nilable(String), + lithic_bank_routing_number: T.nilable(String), + lithic_individual_name: T.nilable(String), + omad: T.nilable(String), + previous_transfer: T.nilable(String), + wire_token: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Type of wire transfer + wire_transfer_type:, + # External bank name + external_bank_name: nil, + # External bank routing number + external_bank_routing_number: nil, + # External individual name + external_individual_name: nil, + # IMAD + imad: nil, + # Lithic bank name + lithic_bank_name: nil, + # Lithic bank routing number + lithic_bank_routing_number: nil, + # Lithic individual name + lithic_individual_name: nil, + # OMAD + omad: nil, + # UUID of previous transfer if this is a retry + previous_transfer: nil, + # Wire token + wire_token: nil + ) + end + + sig do + override.returns( + { + wire_transfer_type: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol, + external_bank_name: T.nilable(String), + external_bank_routing_number: T.nilable(String), + external_individual_name: T.nilable(String), + imad: T.nilable(String), + lithic_bank_name: T.nilable(String), + lithic_bank_routing_number: T.nilable(String), + lithic_individual_name: T.nilable(String), + omad: T.nilable(String), + previous_transfer: T.nilable(String), + wire_token: T.nilable(String) + } + ) + end + def to_hash + end + + # Type of wire transfer + module WireTransferType + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + FEDWIRE = + T.let( + :FEDWIRE, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + ) + SWIFT = + T.let( + :SWIFT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::Variants + ] + ) + end + def self.variants + end + end + + class RelatedAccountTokens < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::RelatedAccountTokens, + Lithic::Internal::AnyHash + ) + end + + # Globally unique identifier for the account + sig { returns(T.nilable(String)) } + attr_accessor :account_token + + # Globally unique identifier for the business account + sig { returns(T.nilable(String)) } + attr_accessor :business_account_token + + # Related account tokens for the transaction + sig do + params( + account_token: T.nilable(String), + business_account_token: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Globally unique identifier for the account + account_token:, + # Globally unique identifier for the business account + business_account_token: + ) + end + + sig do + override.returns( + { + account_token: T.nilable(String), + business_account_token: T.nilable(String) + } + ) + end + def to_hash + end + end + + # Transaction result + module Result + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Result + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + APPROVED = + T.let( + :APPROVED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Result::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Result::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Result::TaggedSymbol + ] + ) + end + def self.values + end + end + + # Transaction source + module Source + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Source + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + LITHIC = + T.let( + :LITHIC, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Source::TaggedSymbol + ) + EXTERNAL = + T.let( + :EXTERNAL, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Source::TaggedSymbol + ) + CUSTOMER = + T.let( + :CUSTOMER, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Source::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Source::TaggedSymbol + ] + ) + end + def self.values + end + end + + # The status of the transaction + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Status + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PENDING = + T.let( + :PENDING, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Status::TaggedSymbol + ) + SETTLED = + T.let( + :SETTLED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Status::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Status::TaggedSymbol + ) + REVERSED = + T.let( + :REVERSED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Status::TaggedSymbol + ) + CANCELED = + T.let( + :CANCELED, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Status::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Status::TaggedSymbol + ] + ) + end + def self.values + end + end + end + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::Variants + ] + ) + end + def self.variants + end + end + end +end diff --git a/rbi/lithic/models/account_holder.rbi b/rbi/lithic/models/account_holder.rbi index 50f92db1..ce6d7883 100644 --- a/rbi/lithic/models/account_holder.rbi +++ b/rbi/lithic/models/account_holder.rbi @@ -95,10 +95,9 @@ module Lithic end attr_writer :control_person - # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary email of Account Holder. + # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of + # Account Holder. sig { returns(T.nilable(String)) } attr_reader :email @@ -142,10 +141,9 @@ module Lithic sig { params(nature_of_business: String).void } attr_writer :nature_of_business - # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary phone of Account Holder, entered in E.164 format. + # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of + # Account Holder, entered in E.164 format. sig { returns(T.nilable(String)) } attr_reader :phone_number @@ -164,7 +162,7 @@ module Lithic end attr_writer :required_documents - # + # (Deprecated. Use verification_application.status instead) # # KYC and KYB evaluation states. # @@ -177,8 +175,9 @@ module Lithic sig { params(status: Lithic::AccountHolder::Status::OrSymbol).void } attr_writer :status - # Reason for the - # evaluation status. + # (Deprecated. Use verification_application.status_reasons) + # + # Reason for the evaluation status. sig do returns( T.nilable(T::Array[Lithic::AccountHolder::StatusReason::TaggedSymbol]) @@ -281,10 +280,9 @@ module Lithic # someone who will have program-wide access to the cards that Lithic will provide. # In some cases, this individual could also be a beneficial owner listed above. control_person: nil, - # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary email of Account Holder. + # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of + # Account Holder. email: nil, # The type of KYC exemption for a KYC-Exempt Account Holder. exemption_type: nil, @@ -297,15 +295,14 @@ module Lithic # Only present when user_type == "BUSINESS". User-submitted description of the # business. nature_of_business: nil, - # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary phone of Account Holder, entered in E.164 format. + # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of + # Account Holder, entered in E.164 format. phone_number: nil, # Only present for "KYB_BASIC" workflow. A list of documents required for the # account holder to be approved. required_documents: nil, - # + # (Deprecated. Use verification_application.status instead) # # KYC and KYB evaluation states. # @@ -313,8 +310,9 @@ module Lithic # # - `PENDING_REVIEW` is only applicable for the `KYB_BASIC` workflow. status: nil, - # Reason for the - # evaluation status. + # (Deprecated. Use verification_application.status_reasons) + # + # Reason for the evaluation status. status_reasons: nil, # The type of Account Holder. If the type is "INDIVIDUAL", the "individual" # attribute will be present. If the type is "BUSINESS" then the "business_entity", @@ -855,7 +853,7 @@ module Lithic end end - # + # (Deprecated. Use verification_application.status instead) # # KYC and KYB evaluation states. # diff --git a/rbi/lithic/models/account_holder_create_params.rbi b/rbi/lithic/models/account_holder_create_params.rbi index e89e7662..aea20425 100644 --- a/rbi/lithic/models/account_holder_create_params.rbi +++ b/rbi/lithic/models/account_holder_create_params.rbi @@ -99,7 +99,7 @@ module Lithic sig { params(external_id: String).void } attr_writer :external_id - # An RFC 3339 timestamp indicating when precomputed KYC was completed on the + # An RFC 3339 timestamp indicating when precomputed KYB was completed on the # business with a pass result. # # This field is required only if workflow type is `KYB_BYO`. @@ -260,7 +260,7 @@ module Lithic # A user provided id that can be used to link an account holder with an external # system external_id: nil, - # An RFC 3339 timestamp indicating when precomputed KYC was completed on the + # An RFC 3339 timestamp indicating when precomputed KYB was completed on the # business with a pass result. # # This field is required only if workflow type is `KYB_BYO`. diff --git a/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi b/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi index 86089e06..b2f2f303 100644 --- a/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi +++ b/rbi/lithic/models/account_holder_simulate_enrollment_review_response.rbi @@ -115,10 +115,9 @@ module Lithic sig { params(created: Time).void } attr_writer :created - # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary email of Account Holder. + # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of + # Account Holder. sig { returns(T.nilable(String)) } attr_reader :email @@ -179,10 +178,9 @@ module Lithic sig { params(nature_of_business: String).void } attr_writer :nature_of_business - # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary phone of Account Holder, entered in E.164 format. + # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of + # Account Holder, entered in E.164 format. sig { returns(T.nilable(String)) } attr_reader :phone_number @@ -201,9 +199,8 @@ module Lithic end attr_writer :required_documents - # - # - # KYC and KYB evaluation states. + # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation + # states. # # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the # `ADVANCED` workflow. @@ -224,7 +221,7 @@ module Lithic end attr_writer :status - # Reason for the + # (Deprecated. Use verification_application.status_reasons) Reason for the # evaluation status. sig do returns( @@ -367,10 +364,9 @@ module Lithic control_person: nil, # Timestamp of when the account holder was created. created: nil, - # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary email of Account Holder. + # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of + # Account Holder. email: nil, # The type of KYC exemption for a KYC-Exempt Account Holder. "None" if the account # holder is not KYC-Exempt. @@ -384,22 +380,20 @@ module Lithic # Only present when user_type == "BUSINESS". User-submitted description of the # business. nature_of_business: nil, - # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary phone of Account Holder, entered in E.164 format. + # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of + # Account Holder, entered in E.164 format. phone_number: nil, # Only present for "KYB_BASIC" and "KYC_ADVANCED" workflows. A list of documents # required for the account holder to be approved. required_documents: nil, - # - # - # KYC and KYB evaluation states. + # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation + # states. # # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the # `ADVANCED` workflow. status: nil, - # Reason for the + # (Deprecated. Use verification_application.status_reasons) Reason for the # evaluation status. status_reasons: nil, # The type of Account Holder. If the type is "INDIVIDUAL", the "individual" @@ -1097,9 +1091,8 @@ module Lithic end end - # - # - # KYC and KYB evaluation states. + # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation + # states. # # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the # `ADVANCED` workflow. @@ -1370,6 +1363,14 @@ module Lithic sig { returns(Time) } attr_accessor :updated + # Timestamp of when the application passed the verification process. Only present + # if `status` is `ACCEPTED` + sig { returns(T.nilable(Time)) } + attr_reader :ky_passed_at + + sig { params(ky_passed_at: Time).void } + attr_writer :ky_passed_at + # Information about the most recent identity verification attempt sig do params( @@ -1380,7 +1381,8 @@ module Lithic T::Array[ Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::VerificationApplication::StatusReason::OrSymbol ], - updated: Time + updated: Time, + ky_passed_at: Time ).returns(T.attached_class) end def self.new( @@ -1394,7 +1396,10 @@ module Lithic # Reason for the evaluation status. status_reasons:, # Timestamp of when the application was last updated. - updated: + updated:, + # Timestamp of when the application passed the verification process. Only present + # if `status` is `ACCEPTED` + ky_passed_at: nil ) end @@ -1408,7 +1413,8 @@ module Lithic T::Array[ Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::VerificationApplication::StatusReason::TaggedSymbol ], - updated: Time + updated: Time, + ky_passed_at: Time } ) end diff --git a/rbi/lithic/models/account_holder_update_response.rbi b/rbi/lithic/models/account_holder_update_response.rbi index 9580eab3..5bc9f910 100644 --- a/rbi/lithic/models/account_holder_update_response.rbi +++ b/rbi/lithic/models/account_holder_update_response.rbi @@ -127,10 +127,9 @@ module Lithic sig { params(created: Time).void } attr_writer :created - # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary email of Account Holder. + # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of + # Account Holder. sig { returns(T.nilable(String)) } attr_reader :email @@ -191,10 +190,9 @@ module Lithic sig { params(nature_of_business: String).void } attr_writer :nature_of_business - # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary phone of Account Holder, entered in E.164 format. + # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of + # Account Holder, entered in E.164 format. sig { returns(T.nilable(String)) } attr_reader :phone_number @@ -213,9 +211,8 @@ module Lithic end attr_writer :required_documents - # - # - # KYC and KYB evaluation states. + # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation + # states. # # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the # `ADVANCED` workflow. @@ -236,7 +233,7 @@ module Lithic end attr_writer :status - # Reason for the + # (Deprecated. Use verification_application.status_reasons) Reason for the # evaluation status. sig do returns( @@ -379,10 +376,9 @@ module Lithic control_person: nil, # Timestamp of when the account holder was created. created: nil, - # < Deprecated. Use control_person.email when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary email of Account Holder. + # (Deprecated. Use control_person.email when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary email of + # Account Holder. email: nil, # The type of KYC exemption for a KYC-Exempt Account Holder. "None" if the account # holder is not KYC-Exempt. @@ -396,22 +392,20 @@ module Lithic # Only present when user_type == "BUSINESS". User-submitted description of the # business. nature_of_business: nil, - # < Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use - # individual.phone_number when user_type == "INDIVIDUAL". - # - # > Primary phone of Account Holder, entered in E.164 format. + # (Deprecated. Use control_person.phone_number when user_type == "BUSINESS". Use + # individual.phone_number when user_type == "INDIVIDUAL".) Primary phone of + # Account Holder, entered in E.164 format. phone_number: nil, # Only present for "KYB_BASIC" and "KYC_ADVANCED" workflows. A list of documents # required for the account holder to be approved. required_documents: nil, - # - # - # KYC and KYB evaluation states. + # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation + # states. # # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the # `ADVANCED` workflow. status: nil, - # Reason for the + # (Deprecated. Use verification_application.status_reasons) Reason for the # evaluation status. status_reasons: nil, # The type of Account Holder. If the type is "INDIVIDUAL", the "individual" @@ -1109,9 +1103,8 @@ module Lithic end end - # - # - # KYC and KYB evaluation states. + # (Deprecated. Use verification_application.status instead) KYC and KYB evaluation + # states. # # Note: `PENDING_RESUBMIT` and `PENDING_DOCUMENT` are only applicable for the # `ADVANCED` workflow. @@ -1382,6 +1375,14 @@ module Lithic sig { returns(Time) } attr_accessor :updated + # Timestamp of when the application passed the verification process. Only present + # if `status` is `ACCEPTED` + sig { returns(T.nilable(Time)) } + attr_reader :ky_passed_at + + sig { params(ky_passed_at: Time).void } + attr_writer :ky_passed_at + # Information about the most recent identity verification attempt sig do params( @@ -1392,7 +1393,8 @@ module Lithic T::Array[ Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::VerificationApplication::StatusReason::OrSymbol ], - updated: Time + updated: Time, + ky_passed_at: Time ).returns(T.attached_class) end def self.new( @@ -1406,7 +1408,10 @@ module Lithic # Reason for the evaluation status. status_reasons:, # Timestamp of when the application was last updated. - updated: + updated:, + # Timestamp of when the application passed the verification process. Only present + # if `status` is `ACCEPTED` + ky_passed_at: nil ) end @@ -1420,7 +1425,8 @@ module Lithic T::Array[ Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::VerificationApplication::StatusReason::TaggedSymbol ], - updated: Time + updated: Time, + ky_passed_at: Time } ) end diff --git a/rbi/lithic/models/auth_rules/v2_list_params.rbi b/rbi/lithic/models/auth_rules/v2_list_params.rbi index 7a281bad..6a475574 100644 --- a/rbi/lithic/models/auth_rules/v2_list_params.rbi +++ b/rbi/lithic/models/auth_rules/v2_list_params.rbi @@ -181,6 +181,8 @@ module Lithic ) CARD = T.let(:CARD, Lithic::AuthRules::V2ListParams::Scope::TaggedSymbol) + ANY = + T.let(:ANY, Lithic::AuthRules::V2ListParams::Scope::TaggedSymbol) sig do override.returns( diff --git a/rbi/lithic/models/book_transfer_create_params.rbi b/rbi/lithic/models/book_transfer_create_params.rbi index 0d22a318..53123481 100644 --- a/rbi/lithic/models/book_transfer_create_params.rbi +++ b/rbi/lithic/models/book_transfer_create_params.rbi @@ -11,7 +11,7 @@ module Lithic T.any(Lithic::BookTransferCreateParams, Lithic::Internal::AnyHash) end - # Amount to be transferred in the currency’s smallest unit (e.g., cents for USD). + # Amount to be transferred in the currency's smallest unit (e.g., cents for USD). # This should always be a positive value. sig { returns(Integer) } attr_accessor :amount @@ -34,7 +34,7 @@ module Lithic sig { returns(String) } attr_accessor :to_financial_account_token - # Type of book_transfer + # Type of the book transfer sig { returns(Lithic::BookTransferCreateParams::Type::OrSymbol) } attr_accessor :type @@ -46,6 +46,13 @@ module Lithic sig { params(token: String).void } attr_writer :token + # External ID defined by the customer + sig { returns(T.nilable(String)) } + attr_reader :external_id + + sig { params(external_id: String).void } + attr_writer :external_id + # Optional descriptor for the transfer. sig { returns(T.nilable(String)) } attr_reader :memo @@ -53,6 +60,22 @@ module Lithic sig { params(memo: String).void } attr_writer :memo + # What to do if the financial account is closed when posting an operation + sig do + returns( + T.nilable(Lithic::BookTransferCreateParams::OnClosedAccount::OrSymbol) + ) + end + attr_reader :on_closed_account + + sig do + params( + on_closed_account: + Lithic::BookTransferCreateParams::OnClosedAccount::OrSymbol + ).void + end + attr_writer :on_closed_account + sig do params( amount: Integer, @@ -62,12 +85,15 @@ module Lithic to_financial_account_token: String, type: Lithic::BookTransferCreateParams::Type::OrSymbol, token: String, + external_id: String, memo: String, + on_closed_account: + Lithic::BookTransferCreateParams::OnClosedAccount::OrSymbol, request_options: Lithic::RequestOptions::OrHash ).returns(T.attached_class) end def self.new( - # Amount to be transferred in the currency’s smallest unit (e.g., cents for USD). + # Amount to be transferred in the currency's smallest unit (e.g., cents for USD). # This should always be a positive value. amount:, # Category of the book transfer @@ -80,13 +106,17 @@ module Lithic # Globally unique identifier for the financial account or card that will receive # the funds. Accepted type dependent on the program's use case. to_financial_account_token:, - # Type of book_transfer + # Type of the book transfer type:, # Customer-provided token that will serve as an idempotency token. This token will # become the transaction token. token: nil, + # External ID defined by the customer + external_id: nil, # Optional descriptor for the transfer. memo: nil, + # What to do if the financial account is closed when posting an operation + on_closed_account: nil, request_options: {} ) end @@ -101,7 +131,10 @@ module Lithic to_financial_account_token: String, type: Lithic::BookTransferCreateParams::Type::OrSymbol, token: String, + external_id: String, memo: String, + on_closed_account: + Lithic::BookTransferCreateParams::OnClosedAccount::OrSymbol, request_options: Lithic::RequestOptions } ) @@ -161,7 +194,7 @@ module Lithic end end - # Type of book_transfer + # Type of the book transfer module Type extend Lithic::Internal::Type::Enum @@ -325,6 +358,38 @@ module Lithic def self.values end end + + # What to do if the financial account is closed when posting an operation + module OnClosedAccount + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::BookTransferCreateParams::OnClosedAccount) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + FAIL = + T.let( + :FAIL, + Lithic::BookTransferCreateParams::OnClosedAccount::TaggedSymbol + ) + USE_SUSPENSE = + T.let( + :USE_SUSPENSE, + Lithic::BookTransferCreateParams::OnClosedAccount::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::BookTransferCreateParams::OnClosedAccount::TaggedSymbol + ] + ) + end + def self.values + end + end end end end diff --git a/rbi/lithic/models/book_transfer_response.rbi b/rbi/lithic/models/book_transfer_response.rbi index 181dc9cc..33c8e366 100644 --- a/rbi/lithic/models/book_transfer_response.rbi +++ b/rbi/lithic/models/book_transfer_response.rbi @@ -30,19 +30,34 @@ module Lithic sig { returns(T::Array[Lithic::BookTransferResponse::Event]) } attr_accessor :events + # External ID defined by the customer + sig { returns(T.nilable(String)) } + attr_accessor :external_id + + # External resource associated with the management operation + sig { returns(T.nilable(Lithic::ExternalResource)) } + attr_reader :external_resource + + sig do + params( + external_resource: T.nilable(Lithic::ExternalResource::OrHash) + ).void + end + attr_writer :external_resource + # Globally unique identifier for the financial account or card that will send the # funds. Accepted type dependent on the program's use case. sig { returns(String) } attr_accessor :from_financial_account_token # Pending amount of the transaction in the currency's smallest unit (e.g., cents), - # including any acquirer fees. The value of this field will go to zero over time - # once the financial transaction is settled. + # including any acquirer fees. + # + # The value of this field will go to zero over time once the financial transaction + # is settled. sig { returns(Integer) } attr_accessor :pending_amount - # APPROVED transactions were successful while DECLINED transactions were declined - # by user, Lithic, or the network. sig { returns(Lithic::BookTransferResponse::Result::TaggedSymbol) } attr_accessor :result @@ -51,16 +66,33 @@ module Lithic sig { returns(Integer) } attr_accessor :settled_amount - # Status types: _ `DECLINED` - The transfer was declined. _ `REVERSED` - The - # transfer was reversed \* `SETTLED` - The transfer is completed. + # Status types: + # + # - `DECLINED` - The transfer was declined. + # - `REVERSED` - The transfer was reversed + # - `SETTLED` - The transfer is completed. sig { returns(Lithic::BookTransferResponse::Status::TaggedSymbol) } attr_accessor :status # Globally unique identifier for the financial account or card that will receive # the funds. Accepted type dependent on the program's use case. - sig { returns(T.anything) } + sig { returns(String) } attr_accessor :to_financial_account_token + # A series of transactions that are grouped together. + sig do + returns(T.nilable(Lithic::BookTransferResponse::TransactionSeries)) + end + attr_reader :transaction_series + + sig do + params( + transaction_series: + T.nilable(Lithic::BookTransferResponse::TransactionSeries::OrHash) + ).void + end + attr_writer :transaction_series + # Date and time when the financial transaction was last updated. UTC time zone. sig { returns(Time) } attr_accessor :updated @@ -72,12 +104,16 @@ module Lithic created: Time, currency: String, events: T::Array[Lithic::BookTransferResponse::Event::OrHash], + external_id: T.nilable(String), + external_resource: T.nilable(Lithic::ExternalResource::OrHash), from_financial_account_token: String, pending_amount: Integer, result: Lithic::BookTransferResponse::Result::OrSymbol, settled_amount: Integer, status: Lithic::BookTransferResponse::Status::OrSymbol, - to_financial_account_token: T.anything, + to_financial_account_token: String, + transaction_series: + T.nilable(Lithic::BookTransferResponse::TransactionSeries::OrHash), updated: Time ).returns(T.attached_class) end @@ -94,25 +130,34 @@ module Lithic currency:, # A list of all financial events that have modified this transfer. events:, + # External ID defined by the customer + external_id:, + # External resource associated with the management operation + external_resource:, # Globally unique identifier for the financial account or card that will send the # funds. Accepted type dependent on the program's use case. from_financial_account_token:, # Pending amount of the transaction in the currency's smallest unit (e.g., cents), - # including any acquirer fees. The value of this field will go to zero over time - # once the financial transaction is settled. + # including any acquirer fees. + # + # The value of this field will go to zero over time once the financial transaction + # is settled. pending_amount:, - # APPROVED transactions were successful while DECLINED transactions were declined - # by user, Lithic, or the network. result:, # Amount of the transaction that has been settled in the currency's smallest unit # (e.g., cents). settled_amount:, - # Status types: _ `DECLINED` - The transfer was declined. _ `REVERSED` - The - # transfer was reversed \* `SETTLED` - The transfer is completed. + # Status types: + # + # - `DECLINED` - The transfer was declined. + # - `REVERSED` - The transfer was reversed + # - `SETTLED` - The transfer is completed. status:, # Globally unique identifier for the financial account or card that will receive # the funds. Accepted type dependent on the program's use case. to_financial_account_token:, + # A series of transactions that are grouped together. + transaction_series:, # Date and time when the financial transaction was last updated. UTC time zone. updated: ) @@ -126,12 +171,16 @@ module Lithic created: Time, currency: String, events: T::Array[Lithic::BookTransferResponse::Event], + external_id: T.nilable(String), + external_resource: T.nilable(Lithic::ExternalResource), from_financial_account_token: String, pending_amount: Integer, result: Lithic::BookTransferResponse::Result::TaggedSymbol, settled_amount: Integer, status: Lithic::BookTransferResponse::Status::TaggedSymbol, - to_financial_account_token: T.anything, + to_financial_account_token: String, + transaction_series: + T.nilable(Lithic::BookTransferResponse::TransactionSeries), updated: Time } ) @@ -201,12 +250,9 @@ module Lithic sig { returns(Time) } attr_accessor :created - # Detailed Results sig do returns( - T::Array[ - Lithic::BookTransferResponse::Event::DetailedResult::TaggedSymbol - ] + Lithic::BookTransferResponse::Event::DetailedResults::TaggedSymbol ) end attr_accessor :detailed_results @@ -227,22 +273,21 @@ module Lithic attr_accessor :subtype # Type of the book transfer - sig { returns(String) } + sig { returns(Lithic::BookTransferResponse::Event::Type::TaggedSymbol) } attr_accessor :type + # Book transfer Event sig do params( token: String, amount: Integer, created: Time, detailed_results: - T::Array[ - Lithic::BookTransferResponse::Event::DetailedResult::OrSymbol - ], + Lithic::BookTransferResponse::Event::DetailedResults::OrSymbol, memo: String, result: Lithic::BookTransferResponse::Event::Result::OrSymbol, subtype: String, - type: String + type: Lithic::BookTransferResponse::Event::Type::OrSymbol ).returns(T.attached_class) end def self.new( @@ -253,7 +298,6 @@ module Lithic amount:, # Date and time when the financial event occurred. UTC time zone. created:, - # Detailed Results detailed_results:, # Memo for the transfer. memo:, @@ -274,43 +318,44 @@ module Lithic amount: Integer, created: Time, detailed_results: - T::Array[ - Lithic::BookTransferResponse::Event::DetailedResult::TaggedSymbol - ], + Lithic::BookTransferResponse::Event::DetailedResults::TaggedSymbol, memo: String, result: Lithic::BookTransferResponse::Event::Result::TaggedSymbol, subtype: String, - type: String + type: Lithic::BookTransferResponse::Event::Type::TaggedSymbol } ) end def to_hash end - module DetailedResult + module DetailedResults extend Lithic::Internal::Type::Enum TaggedSymbol = T.type_alias do - T.all(Symbol, Lithic::BookTransferResponse::Event::DetailedResult) + T.all( + Symbol, + Lithic::BookTransferResponse::Event::DetailedResults + ) end OrSymbol = T.type_alias { T.any(Symbol, String) } APPROVED = T.let( :APPROVED, - Lithic::BookTransferResponse::Event::DetailedResult::TaggedSymbol + Lithic::BookTransferResponse::Event::DetailedResults::TaggedSymbol ) FUNDS_INSUFFICIENT = T.let( :FUNDS_INSUFFICIENT, - Lithic::BookTransferResponse::Event::DetailedResult::TaggedSymbol + Lithic::BookTransferResponse::Event::DetailedResults::TaggedSymbol ) sig do override.returns( T::Array[ - Lithic::BookTransferResponse::Event::DetailedResult::TaggedSymbol + Lithic::BookTransferResponse::Event::DetailedResults::TaggedSymbol ] ) end @@ -350,10 +395,193 @@ module Lithic def self.values end end + + # Type of the book transfer + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::BookTransferResponse::Event::Type) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ATM_WITHDRAWAL = + T.let( + :ATM_WITHDRAWAL, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + ATM_DECLINE = + T.let( + :ATM_DECLINE, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + INTERNATIONAL_ATM_WITHDRAWAL = + T.let( + :INTERNATIONAL_ATM_WITHDRAWAL, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + INACTIVITY = + T.let( + :INACTIVITY, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + STATEMENT = + T.let( + :STATEMENT, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + MONTHLY = + T.let( + :MONTHLY, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + QUARTERLY = + T.let( + :QUARTERLY, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + ANNUAL = + T.let( + :ANNUAL, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + CUSTOMER_SERVICE = + T.let( + :CUSTOMER_SERVICE, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + ACCOUNT_MAINTENANCE = + T.let( + :ACCOUNT_MAINTENANCE, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + ACCOUNT_ACTIVATION = + T.let( + :ACCOUNT_ACTIVATION, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + ACCOUNT_CLOSURE = + T.let( + :ACCOUNT_CLOSURE, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + CARD_REPLACEMENT = + T.let( + :CARD_REPLACEMENT, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + CARD_DELIVERY = + T.let( + :CARD_DELIVERY, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + CARD_CREATE = + T.let( + :CARD_CREATE, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + CURRENCY_CONVERSION = + T.let( + :CURRENCY_CONVERSION, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + INTEREST = + T.let( + :INTEREST, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + LATE_PAYMENT = + T.let( + :LATE_PAYMENT, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + BILL_PAYMENT = + T.let( + :BILL_PAYMENT, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + CASH_BACK = + T.let( + :CASH_BACK, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + ACCOUNT_TO_ACCOUNT = + T.let( + :ACCOUNT_TO_ACCOUNT, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + CARD_TO_CARD = + T.let( + :CARD_TO_CARD, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + DISBURSE = + T.let( + :DISBURSE, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + BILLING_ERROR = + T.let( + :BILLING_ERROR, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + LOSS_WRITE_OFF = + T.let( + :LOSS_WRITE_OFF, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + EXPIRED_CARD = + T.let( + :EXPIRED_CARD, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + EARLY_DERECOGNITION = + T.let( + :EARLY_DERECOGNITION, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + ESCHEATMENT = + T.let( + :ESCHEATMENT, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + INACTIVITY_FEE_DOWN = + T.let( + :INACTIVITY_FEE_DOWN, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + PROVISIONAL_CREDIT = + T.let( + :PROVISIONAL_CREDIT, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + DISPUTE_WON = + T.let( + :DISPUTE_WON, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + SERVICE = + T.let( + :SERVICE, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::BookTransferResponse::Event::Type::TaggedSymbol] + ) + end + def self.values + end + end end - # APPROVED transactions were successful while DECLINED transactions were declined - # by user, Lithic, or the network. module Result extend Lithic::Internal::Type::Enum @@ -375,8 +603,11 @@ module Lithic end end - # Status types: _ `DECLINED` - The transfer was declined. _ `REVERSED` - The - # transfer was reversed \* `SETTLED` - The transfer is completed. + # Status types: + # + # - `DECLINED` - The transfer was declined. + # - `REVERSED` - The transfer was reversed + # - `SETTLED` - The transfer is completed. module Status extend Lithic::Internal::Type::Enum @@ -399,6 +630,52 @@ module Lithic def self.values end end + + class TransactionSeries < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::BookTransferResponse::TransactionSeries, + Lithic::Internal::AnyHash + ) + end + + sig { returns(T.nilable(String)) } + attr_accessor :related_transaction_event_token + + sig { returns(T.nilable(String)) } + attr_accessor :related_transaction_token + + sig { returns(String) } + attr_accessor :type + + # A series of transactions that are grouped together. + sig do + params( + related_transaction_event_token: T.nilable(String), + related_transaction_token: T.nilable(String), + type: String + ).returns(T.attached_class) + end + def self.new( + related_transaction_event_token:, + related_transaction_token:, + type: + ) + end + + sig do + override.returns( + { + related_transaction_event_token: T.nilable(String), + related_transaction_token: T.nilable(String), + type: String + } + ) + end + def to_hash + end + end end end end diff --git a/rbi/lithic/models/external_payment.rbi b/rbi/lithic/models/external_payment.rbi index 6d921f9c..e1d2cfb8 100644 --- a/rbi/lithic/models/external_payment.rbi +++ b/rbi/lithic/models/external_payment.rbi @@ -8,41 +8,82 @@ module Lithic T.any(Lithic::ExternalPayment, Lithic::Internal::AnyHash) end + # Unique identifier for the transaction sig { returns(String) } attr_accessor :token - sig { returns(Lithic::ExternalPayment::Category::TaggedSymbol) } - attr_accessor :category - + # ISO 8601 timestamp of when the transaction was created sig { returns(Time) } attr_accessor :created - sig { returns(String) } - attr_accessor :currency + sig { returns(Lithic::ExternalPayment::Family::TaggedSymbol) } + attr_accessor :family - sig { returns(T::Array[Lithic::ExternalPayment::Event]) } - attr_accessor :events + # The status of the transaction + sig { returns(Lithic::ExternalPayment::Status::TaggedSymbol) } + attr_accessor :status - sig { returns(String) } - attr_accessor :financial_account_token + # ISO 8601 timestamp of when the transaction was last updated + sig { returns(Time) } + attr_accessor :updated - sig { returns(Lithic::ExternalPayment::PaymentType::TaggedSymbol) } - attr_accessor :payment_type + sig do + returns(T.nilable(Lithic::ExternalPayment::Category::TaggedSymbol)) + end + attr_reader :category - sig { returns(Integer) } - attr_accessor :pending_amount + sig { params(category: Lithic::ExternalPayment::Category::OrSymbol).void } + attr_writer :category - sig { returns(Lithic::ExternalPayment::Result::TaggedSymbol) } - attr_accessor :result + sig { returns(T.nilable(String)) } + attr_reader :currency - sig { returns(Integer) } - attr_accessor :settled_amount + sig { params(currency: String).void } + attr_writer :currency - sig { returns(Lithic::ExternalPayment::Status::TaggedSymbol) } - attr_accessor :status + sig { returns(T.nilable(T::Array[Lithic::ExternalPayment::Event])) } + attr_reader :events - sig { returns(Time) } - attr_accessor :updated + sig do + params(events: T::Array[Lithic::ExternalPayment::Event::OrHash]).void + end + attr_writer :events + + sig { returns(T.nilable(String)) } + attr_reader :financial_account_token + + sig { params(financial_account_token: String).void } + attr_writer :financial_account_token + + sig do + returns(T.nilable(Lithic::ExternalPayment::PaymentType::TaggedSymbol)) + end + attr_reader :payment_type + + sig do + params( + payment_type: Lithic::ExternalPayment::PaymentType::OrSymbol + ).void + end + attr_writer :payment_type + + sig { returns(T.nilable(Integer)) } + attr_reader :pending_amount + + sig { params(pending_amount: Integer).void } + attr_writer :pending_amount + + sig { returns(T.nilable(Lithic::ExternalPayment::Result::TaggedSymbol)) } + attr_reader :result + + sig { params(result: Lithic::ExternalPayment::Result::OrSymbol).void } + attr_writer :result + + sig { returns(T.nilable(Integer)) } + attr_reader :settled_amount + + sig { params(settled_amount: Integer).void } + attr_writer :settled_amount sig { returns(T.nilable(String)) } attr_reader :user_defined_id @@ -53,8 +94,11 @@ module Lithic sig do params( token: String, - category: Lithic::ExternalPayment::Category::OrSymbol, created: Time, + family: Lithic::ExternalPayment::Family::OrSymbol, + status: Lithic::ExternalPayment::Status::OrSymbol, + updated: Time, + category: Lithic::ExternalPayment::Category::OrSymbol, currency: String, events: T::Array[Lithic::ExternalPayment::Event::OrHash], financial_account_token: String, @@ -62,24 +106,27 @@ module Lithic pending_amount: Integer, result: Lithic::ExternalPayment::Result::OrSymbol, settled_amount: Integer, - status: Lithic::ExternalPayment::Status::OrSymbol, - updated: Time, user_defined_id: String ).returns(T.attached_class) end def self.new( + # Unique identifier for the transaction token:, - category:, + # ISO 8601 timestamp of when the transaction was created created:, - currency:, - events:, - financial_account_token:, - payment_type:, - pending_amount:, - result:, - settled_amount:, + family:, + # The status of the transaction status:, + # ISO 8601 timestamp of when the transaction was last updated updated:, + category: nil, + currency: nil, + events: nil, + financial_account_token: nil, + payment_type: nil, + pending_amount: nil, + result: nil, + settled_amount: nil, user_defined_id: nil ) end @@ -88,8 +135,11 @@ module Lithic override.returns( { token: String, - category: Lithic::ExternalPayment::Category::TaggedSymbol, created: Time, + family: Lithic::ExternalPayment::Family::TaggedSymbol, + status: Lithic::ExternalPayment::Status::TaggedSymbol, + updated: Time, + category: Lithic::ExternalPayment::Category::TaggedSymbol, currency: String, events: T::Array[Lithic::ExternalPayment::Event], financial_account_token: String, @@ -97,8 +147,6 @@ module Lithic pending_amount: Integer, result: Lithic::ExternalPayment::Result::TaggedSymbol, settled_amount: Integer, - status: Lithic::ExternalPayment::Status::TaggedSymbol, - updated: Time, user_defined_id: String } ) @@ -106,6 +154,65 @@ module Lithic def to_hash end + module Family + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::ExternalPayment::Family) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CARD = T.let(:CARD, Lithic::ExternalPayment::Family::TaggedSymbol) + PAYMENT = T.let(:PAYMENT, Lithic::ExternalPayment::Family::TaggedSymbol) + TRANSFER = + T.let(:TRANSFER, Lithic::ExternalPayment::Family::TaggedSymbol) + INTERNAL = + T.let(:INTERNAL, Lithic::ExternalPayment::Family::TaggedSymbol) + EXTERNAL_PAYMENT = + T.let( + :EXTERNAL_PAYMENT, + Lithic::ExternalPayment::Family::TaggedSymbol + ) + MANAGEMENT_OPERATION = + T.let( + :MANAGEMENT_OPERATION, + Lithic::ExternalPayment::Family::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Lithic::ExternalPayment::Family::TaggedSymbol] + ) + end + def self.values + end + end + + # The status of the transaction + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias { T.all(Symbol, Lithic::ExternalPayment::Status) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PENDING = T.let(:PENDING, Lithic::ExternalPayment::Status::TaggedSymbol) + SETTLED = T.let(:SETTLED, Lithic::ExternalPayment::Status::TaggedSymbol) + DECLINED = + T.let(:DECLINED, Lithic::ExternalPayment::Status::TaggedSymbol) + REVERSED = + T.let(:REVERSED, Lithic::ExternalPayment::Status::TaggedSymbol) + CANCELED = + T.let(:CANCELED, Lithic::ExternalPayment::Status::TaggedSymbol) + + sig do + override.returns( + T::Array[Lithic::ExternalPayment::Status::TaggedSymbol] + ) + end + def self.values + end + end + module Category extend Lithic::Internal::Type::Enum @@ -234,6 +341,11 @@ module Lithic :APPROVED, Lithic::ExternalPayment::Event::DetailedResult::TaggedSymbol ) + INSUFFICIENT_FUNDS = + T.let( + :INSUFFICIENT_FUNDS, + Lithic::ExternalPayment::Event::DetailedResult::TaggedSymbol + ) sig do override.returns( @@ -434,31 +546,6 @@ module Lithic def self.values end end - - module Status - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias { T.all(Symbol, Lithic::ExternalPayment::Status) } - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PENDING = T.let(:PENDING, Lithic::ExternalPayment::Status::TaggedSymbol) - SETTLED = T.let(:SETTLED, Lithic::ExternalPayment::Status::TaggedSymbol) - DECLINED = - T.let(:DECLINED, Lithic::ExternalPayment::Status::TaggedSymbol) - REVERSED = - T.let(:REVERSED, Lithic::ExternalPayment::Status::TaggedSymbol) - CANCELED = - T.let(:CANCELED, Lithic::ExternalPayment::Status::TaggedSymbol) - - sig do - override.returns( - T::Array[Lithic::ExternalPayment::Status::TaggedSymbol] - ) - end - def self.values - end - end end end end diff --git a/rbi/lithic/models/financial_account.rbi b/rbi/lithic/models/financial_account.rbi index 0dd8b6d8..e0224297 100644 --- a/rbi/lithic/models/financial_account.rbi +++ b/rbi/lithic/models/financial_account.rbi @@ -355,6 +355,11 @@ module Lithic ) COLLECTION = T.let(:COLLECTION, Lithic::FinancialAccount::Type::TaggedSymbol) + BANK_ACCOUNTS_PAYABLE = + T.let( + :BANK_ACCOUNTS_PAYABLE, + Lithic::FinancialAccount::Type::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/financial_transaction.rbi b/rbi/lithic/models/financial_transaction.rbi index 71415601..dad5fde8 100644 --- a/rbi/lithic/models/financial_transaction.rbi +++ b/rbi/lithic/models/financial_transaction.rbi @@ -243,6 +243,7 @@ module Lithic end attr_writer :type + # Financial Event sig do params( token: String, diff --git a/rbi/lithic/models/instance_financial_account_type.rbi b/rbi/lithic/models/instance_financial_account_type.rbi index 99848757..bd8fb5df 100644 --- a/rbi/lithic/models/instance_financial_account_type.rbi +++ b/rbi/lithic/models/instance_financial_account_type.rbi @@ -40,6 +40,11 @@ module Lithic ) COLLECTION = T.let(:COLLECTION, Lithic::InstanceFinancialAccountType::TaggedSymbol) + BANK_ACCOUNTS_PAYABLE = + T.let( + :BANK_ACCOUNTS_PAYABLE, + Lithic::InstanceFinancialAccountType::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/kyb.rbi b/rbi/lithic/models/kyb.rbi index 53a11dd9..be98accf 100644 --- a/rbi/lithic/models/kyb.rbi +++ b/rbi/lithic/models/kyb.rbi @@ -71,7 +71,7 @@ module Lithic sig { params(external_id: String).void } attr_writer :external_id - # An RFC 3339 timestamp indicating when precomputed KYC was completed on the + # An RFC 3339 timestamp indicating when precomputed KYB was completed on the # business with a pass result. # # This field is required only if workflow type is `KYB_BYO`. @@ -138,7 +138,7 @@ module Lithic # A user provided id that can be used to link an account holder with an external # system external_id: nil, - # An RFC 3339 timestamp indicating when precomputed KYC was completed on the + # An RFC 3339 timestamp indicating when precomputed KYB was completed on the # business with a pass result. # # This field is required only if workflow type is `KYB_BYO`. diff --git a/rbi/lithic/models/management_operation_transaction.rbi b/rbi/lithic/models/management_operation_transaction.rbi index 0f252b43..efe552ae 100644 --- a/rbi/lithic/models/management_operation_transaction.rbi +++ b/rbi/lithic/models/management_operation_transaction.rbi @@ -11,66 +11,81 @@ module Lithic ) end + # Unique identifier for the transaction sig { returns(String) } attr_accessor :token + # ISO 8601 timestamp of when the transaction was created + sig { returns(Time) } + attr_accessor :created + sig do - returns(Lithic::ManagementOperationTransaction::Category::TaggedSymbol) + returns(Lithic::ManagementOperationTransaction::Family::TaggedSymbol) end - attr_accessor :category + attr_accessor :family - sig { returns(Time) } - attr_accessor :created + # The status of the transaction + sig do + returns(Lithic::ManagementOperationTransaction::Status::TaggedSymbol) + end + attr_accessor :status - sig { returns(String) } - attr_accessor :currency + # ISO 8601 timestamp of when the transaction was last updated + sig { returns(Time) } + attr_accessor :updated sig do - returns(Lithic::ManagementOperationTransaction::Direction::TaggedSymbol) + returns( + T.nilable( + Lithic::ManagementOperationTransaction::Category::TaggedSymbol + ) + ) end - attr_accessor :direction + attr_reader :category - sig { returns(T::Array[Lithic::ManagementOperationTransaction::Event]) } - attr_accessor :events + sig do + params( + category: Lithic::ManagementOperationTransaction::Category::OrSymbol + ).void + end + attr_writer :category - sig { returns(String) } - attr_accessor :financial_account_token + sig { returns(T.nilable(String)) } + attr_reader :currency - sig { returns(Integer) } - attr_accessor :pending_amount + sig { params(currency: String).void } + attr_writer :currency sig do - returns(Lithic::ManagementOperationTransaction::Result::TaggedSymbol) + returns( + T.nilable( + Lithic::ManagementOperationTransaction::Direction::TaggedSymbol + ) + ) end - attr_accessor :result - - sig { returns(Integer) } - attr_accessor :settled_amount + attr_reader :direction sig do - returns(Lithic::ManagementOperationTransaction::Status::TaggedSymbol) + params( + direction: Lithic::ManagementOperationTransaction::Direction::OrSymbol + ).void end - attr_accessor :status + attr_writer :direction sig do returns( - T.nilable(Lithic::ManagementOperationTransaction::TransactionSeries) + T.nilable(T::Array[Lithic::ManagementOperationTransaction::Event]) ) end - attr_reader :transaction_series + attr_reader :events sig do params( - transaction_series: - T.nilable( - Lithic::ManagementOperationTransaction::TransactionSeries::OrHash - ) + events: + T::Array[Lithic::ManagementOperationTransaction::Event::OrHash] ).void end - attr_writer :transaction_series - - sig { returns(Time) } - attr_accessor :updated + attr_writer :events # External resource associated with the management operation sig { returns(T.nilable(Lithic::ExternalResource)) } @@ -83,6 +98,57 @@ module Lithic end attr_writer :external_resource + sig { returns(T.nilable(String)) } + attr_reader :financial_account_token + + sig { params(financial_account_token: String).void } + attr_writer :financial_account_token + + sig { returns(T.nilable(Integer)) } + attr_reader :pending_amount + + sig { params(pending_amount: Integer).void } + attr_writer :pending_amount + + sig do + returns( + T.nilable( + Lithic::ManagementOperationTransaction::Result::TaggedSymbol + ) + ) + end + attr_reader :result + + sig do + params( + result: Lithic::ManagementOperationTransaction::Result::OrSymbol + ).void + end + attr_writer :result + + sig { returns(T.nilable(Integer)) } + attr_reader :settled_amount + + sig { params(settled_amount: Integer).void } + attr_writer :settled_amount + + sig do + returns( + T.nilable(Lithic::ManagementOperationTransaction::TransactionSeries) + ) + end + attr_reader :transaction_series + + sig do + params( + transaction_series: + T.nilable( + Lithic::ManagementOperationTransaction::TransactionSeries::OrHash + ) + ).void + end + attr_writer :transaction_series + sig { returns(T.nilable(String)) } attr_reader :user_defined_id @@ -92,43 +158,49 @@ module Lithic sig do params( token: String, - category: Lithic::ManagementOperationTransaction::Category::OrSymbol, created: Time, + family: Lithic::ManagementOperationTransaction::Family::OrSymbol, + status: Lithic::ManagementOperationTransaction::Status::OrSymbol, + updated: Time, + category: Lithic::ManagementOperationTransaction::Category::OrSymbol, currency: String, direction: Lithic::ManagementOperationTransaction::Direction::OrSymbol, events: T::Array[Lithic::ManagementOperationTransaction::Event::OrHash], + external_resource: T.nilable(Lithic::ExternalResource::OrHash), financial_account_token: String, pending_amount: Integer, result: Lithic::ManagementOperationTransaction::Result::OrSymbol, settled_amount: Integer, - status: Lithic::ManagementOperationTransaction::Status::OrSymbol, transaction_series: T.nilable( Lithic::ManagementOperationTransaction::TransactionSeries::OrHash ), - updated: Time, - external_resource: T.nilable(Lithic::ExternalResource::OrHash), user_defined_id: String ).returns(T.attached_class) end def self.new( + # Unique identifier for the transaction token:, - category:, + # ISO 8601 timestamp of when the transaction was created created:, - currency:, - direction:, - events:, - financial_account_token:, - pending_amount:, - result:, - settled_amount:, + family:, + # The status of the transaction status:, - transaction_series:, + # ISO 8601 timestamp of when the transaction was last updated updated:, + category: nil, + currency: nil, + direction: nil, + events: nil, # External resource associated with the management operation external_resource: nil, + financial_account_token: nil, + pending_amount: nil, + result: nil, + settled_amount: nil, + transaction_series: nil, user_defined_id: nil ) end @@ -137,26 +209,28 @@ module Lithic override.returns( { token: String, + created: Time, + family: + Lithic::ManagementOperationTransaction::Family::TaggedSymbol, + status: + Lithic::ManagementOperationTransaction::Status::TaggedSymbol, + updated: Time, category: Lithic::ManagementOperationTransaction::Category::TaggedSymbol, - created: Time, currency: String, direction: Lithic::ManagementOperationTransaction::Direction::TaggedSymbol, events: T::Array[Lithic::ManagementOperationTransaction::Event], + external_resource: T.nilable(Lithic::ExternalResource), financial_account_token: String, pending_amount: Integer, result: Lithic::ManagementOperationTransaction::Result::TaggedSymbol, settled_amount: Integer, - status: - Lithic::ManagementOperationTransaction::Status::TaggedSymbol, transaction_series: T.nilable( Lithic::ManagementOperationTransaction::TransactionSeries ), - updated: Time, - external_resource: T.nilable(Lithic::ExternalResource), user_defined_id: String } ) @@ -164,6 +238,104 @@ module Lithic def to_hash end + module Family + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::ManagementOperationTransaction::Family) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + CARD = + T.let( + :CARD, + Lithic::ManagementOperationTransaction::Family::TaggedSymbol + ) + PAYMENT = + T.let( + :PAYMENT, + Lithic::ManagementOperationTransaction::Family::TaggedSymbol + ) + TRANSFER = + T.let( + :TRANSFER, + Lithic::ManagementOperationTransaction::Family::TaggedSymbol + ) + INTERNAL = + T.let( + :INTERNAL, + Lithic::ManagementOperationTransaction::Family::TaggedSymbol + ) + EXTERNAL_PAYMENT = + T.let( + :EXTERNAL_PAYMENT, + Lithic::ManagementOperationTransaction::Family::TaggedSymbol + ) + MANAGEMENT_OPERATION = + T.let( + :MANAGEMENT_OPERATION, + Lithic::ManagementOperationTransaction::Family::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ManagementOperationTransaction::Family::TaggedSymbol + ] + ) + end + def self.values + end + end + + # The status of the transaction + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Lithic::ManagementOperationTransaction::Status) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + PENDING = + T.let( + :PENDING, + Lithic::ManagementOperationTransaction::Status::TaggedSymbol + ) + SETTLED = + T.let( + :SETTLED, + Lithic::ManagementOperationTransaction::Status::TaggedSymbol + ) + DECLINED = + T.let( + :DECLINED, + Lithic::ManagementOperationTransaction::Status::TaggedSymbol + ) + REVERSED = + T.let( + :REVERSED, + Lithic::ManagementOperationTransaction::Status::TaggedSymbol + ) + CANCELED = + T.let( + :CANCELED, + Lithic::ManagementOperationTransaction::Status::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::ManagementOperationTransaction::Status::TaggedSymbol + ] + ) + end + def self.values + end + end + module Category extend Lithic::Internal::Type::Enum @@ -364,6 +536,11 @@ module Lithic :APPROVED, Lithic::ManagementOperationTransaction::Event::DetailedResult::TaggedSymbol ) + INSUFFICIENT_FUNDS = + T.let( + :INSUFFICIENT_FUNDS, + Lithic::ManagementOperationTransaction::Event::DetailedResult::TaggedSymbol + ) sig do override.returns( @@ -558,52 +735,6 @@ module Lithic end end - module Status - extend Lithic::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Lithic::ManagementOperationTransaction::Status) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - PENDING = - T.let( - :PENDING, - Lithic::ManagementOperationTransaction::Status::TaggedSymbol - ) - SETTLED = - T.let( - :SETTLED, - Lithic::ManagementOperationTransaction::Status::TaggedSymbol - ) - DECLINED = - T.let( - :DECLINED, - Lithic::ManagementOperationTransaction::Status::TaggedSymbol - ) - REVERSED = - T.let( - :REVERSED, - Lithic::ManagementOperationTransaction::Status::TaggedSymbol - ) - CANCELED = - T.let( - :CANCELED, - Lithic::ManagementOperationTransaction::Status::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Lithic::ManagementOperationTransaction::Status::TaggedSymbol - ] - ) - end - def self.values - end - end - class TransactionSeries < Lithic::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/lithic/models/payment.rbi b/rbi/lithic/models/payment.rbi index e76eab28..6a805cd2 100644 --- a/rbi/lithic/models/payment.rbi +++ b/rbi/lithic/models/payment.rbi @@ -58,6 +58,17 @@ module Lithic sig { returns(Integer) } attr_accessor :pending_amount + # Account tokens related to a payment transaction + sig { returns(Lithic::Payment::RelatedAccountTokens) } + attr_reader :related_account_tokens + + sig do + params( + related_account_tokens: Lithic::Payment::RelatedAccountTokens::OrHash + ).void + end + attr_writer :related_account_tokens + # APPROVED payments were successful while DECLINED payments were declined by # Lithic or returned. sig { returns(Lithic::Payment::Result::TaggedSymbol) } @@ -95,6 +106,13 @@ module Lithic sig { params(expected_release_date: Date).void } attr_writer :expected_release_date + # Payment type indicating the specific ACH message or Fedwire transfer type + sig { returns(T.nilable(Lithic::Payment::Type::TaggedSymbol)) } + attr_reader :type + + sig { params(type: Lithic::Payment::Type::OrSymbol).void } + attr_writer :type + sig do params( token: String, @@ -109,13 +127,15 @@ module Lithic method_: Lithic::Payment::Method::OrSymbol, method_attributes: Lithic::Payment::MethodAttributes::OrHash, pending_amount: Integer, + related_account_tokens: Lithic::Payment::RelatedAccountTokens::OrHash, result: Lithic::Payment::Result::OrSymbol, settled_amount: Integer, source: Lithic::Payment::Source::OrSymbol, status: Lithic::Payment::Status::OrSymbol, updated: Time, user_defined_id: T.nilable(String), - expected_release_date: Date + expected_release_date: Date, + type: Lithic::Payment::Type::OrSymbol ).returns(T.attached_class) end def self.new( @@ -140,6 +160,8 @@ module Lithic # Pending amount of the payment in the currency's smallest unit (e.g., cents). The # value of this field will go to zero over time once the payment is settled. pending_amount:, + # Account tokens related to a payment transaction + related_account_tokens:, # APPROVED payments were successful while DECLINED payments were declined by # Lithic or returned. result:, @@ -159,7 +181,9 @@ module Lithic updated:, user_defined_id:, # Date when the financial transaction expected to be released after settlement - expected_release_date: nil + expected_release_date: nil, + # Payment type indicating the specific ACH message or Fedwire transfer type + type: nil ) end @@ -178,13 +202,15 @@ module Lithic method_: Lithic::Payment::Method::TaggedSymbol, method_attributes: Lithic::Payment::MethodAttributes, pending_amount: Integer, + related_account_tokens: Lithic::Payment::RelatedAccountTokens, result: Lithic::Payment::Result::TaggedSymbol, settled_amount: Integer, source: Lithic::Payment::Source::TaggedSymbol, status: Lithic::Payment::Status::TaggedSymbol, updated: Time, user_defined_id: T.nilable(String), - expected_release_date: Date + expected_release_date: Date, + type: Lithic::Payment::Type::TaggedSymbol } ) end @@ -289,6 +315,7 @@ module Lithic end attr_writer :detailed_results + # Payment Event sig do params( token: String, @@ -639,6 +666,50 @@ module Lithic end end + class RelatedAccountTokens < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Lithic::Payment::RelatedAccountTokens, + Lithic::Internal::AnyHash + ) + end + + # Globally unique identifier for the account + sig { returns(T.nilable(String)) } + attr_accessor :account_token + + # Globally unique identifier for the business account + sig { returns(T.nilable(String)) } + attr_accessor :business_account_token + + # Account tokens related to a payment transaction + sig do + params( + account_token: T.nilable(String), + business_account_token: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Globally unique identifier for the account + account_token:, + # Globally unique identifier for the business account + business_account_token: + ) + end + + sig do + override.returns( + { + account_token: T.nilable(String), + business_account_token: T.nilable(String) + } + ) + end + def to_hash + end + end + # APPROVED payments were successful while DECLINED payments were declined by # Lithic or returned. module Result @@ -697,6 +768,39 @@ module Lithic def self.values end end + + # Payment type indicating the specific ACH message or Fedwire transfer type + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = T.type_alias { T.all(Symbol, Lithic::Payment::Type) } + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ORIGINATION_CREDIT = + T.let(:ORIGINATION_CREDIT, Lithic::Payment::Type::TaggedSymbol) + ORIGINATION_DEBIT = + T.let(:ORIGINATION_DEBIT, Lithic::Payment::Type::TaggedSymbol) + RECEIPT_CREDIT = + T.let(:RECEIPT_CREDIT, Lithic::Payment::Type::TaggedSymbol) + RECEIPT_DEBIT = + T.let(:RECEIPT_DEBIT, Lithic::Payment::Type::TaggedSymbol) + CUSTOMER_TRANSFER = + T.let(:CUSTOMER_TRANSFER, Lithic::Payment::Type::TaggedSymbol) + DRAWDOWN_PAYMENT = + T.let(:DRAWDOWN_PAYMENT, Lithic::Payment::Type::TaggedSymbol) + REVERSAL_PAYMENT = + T.let(:REVERSAL_PAYMENT, Lithic::Payment::Type::TaggedSymbol) + DRAWDOWN_REQUEST = + T.let(:DRAWDOWN_REQUEST, Lithic::Payment::Type::TaggedSymbol) + REVERSAL_REQUEST = + T.let(:REVERSAL_REQUEST, Lithic::Payment::Type::TaggedSymbol) + DRAWDOWN_REFUSAL = + T.let(:DRAWDOWN_REFUSAL, Lithic::Payment::Type::TaggedSymbol) + + sig { override.returns(T::Array[Lithic::Payment::Type::TaggedSymbol]) } + def self.values + end + end end end end diff --git a/rbi/lithic/models/settlement_detail.rbi b/rbi/lithic/models/settlement_detail.rbi index f93f5e6b..a007d22d 100644 --- a/rbi/lithic/models/settlement_detail.rbi +++ b/rbi/lithic/models/settlement_detail.rbi @@ -286,6 +286,8 @@ module Lithic T.let(:CHARGEBACK, Lithic::SettlementDetail::Type::TaggedSymbol) CLEARING = T.let(:CLEARING, Lithic::SettlementDetail::Type::TaggedSymbol) + COLLABORATION = + T.let(:COLLABORATION, Lithic::SettlementDetail::Type::TaggedSymbol) FEE = T.let(:FEE, Lithic::SettlementDetail::Type::TaggedSymbol) FINANCIAL = T.let(:FINANCIAL, Lithic::SettlementDetail::Type::TaggedSymbol) diff --git a/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi b/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi index 2c40caac..40a7de07 100644 --- a/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +++ b/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi @@ -1854,6 +1854,29 @@ module Lithic end attr_accessor :method_type + # Indicates the status of the challenge + # + # - SUCCESS - Cardholder completed the challenge successfully + # - PENDING - Challenge was issued to the cardholder and was not completed yet + # - SMS_DELIVERY_FAILED - Lithic confirmed undeliverability of the SMS to the + # provided phone number. Relevant only for SMS_OTP method + # - CARDHOLDER_TIMEOUT - Cardholder failed to complete the challenge within the + # given challenge TTL + # - CANCELED_VIA_CHALLENGE_UI - Cardholder canceled the challenge by selecting + # "cancel" on the challenge UI + # - CANCELED_OOB - Cardholder canceled the challenge out of band + # - ATTEMPTS_EXCEEDED - Cardholder failed the challenge by either entering an + # incorrect OTP more than the allowed number of times or requesting a new OTP + # more than the allowed number of times + # - ABORTED - Merchant aborted authentication after a challenge was requested + # - ERROR - The challenge failed for a reason different than those documented + sig do + returns( + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol + ) + end + attr_accessor :status + # The phone number used for delivering the OTP. Relevant only for SMS_OTP method. sig { returns(T.nilable(String)) } attr_accessor :phone_number @@ -1864,12 +1887,31 @@ module Lithic params( method_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType::OrSymbol, + status: + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::OrSymbol, phone_number: T.nilable(String) ).returns(T.attached_class) end def self.new( # The type of challenge method used for authentication. method_type:, + # Indicates the status of the challenge + # + # - SUCCESS - Cardholder completed the challenge successfully + # - PENDING - Challenge was issued to the cardholder and was not completed yet + # - SMS_DELIVERY_FAILED - Lithic confirmed undeliverability of the SMS to the + # provided phone number. Relevant only for SMS_OTP method + # - CARDHOLDER_TIMEOUT - Cardholder failed to complete the challenge within the + # given challenge TTL + # - CANCELED_VIA_CHALLENGE_UI - Cardholder canceled the challenge by selecting + # "cancel" on the challenge UI + # - CANCELED_OOB - Cardholder canceled the challenge out of band + # - ATTEMPTS_EXCEEDED - Cardholder failed the challenge by either entering an + # incorrect OTP more than the allowed number of times or requesting a new OTP + # more than the allowed number of times + # - ABORTED - Merchant aborted authentication after a challenge was requested + # - ERROR - The challenge failed for a reason different than those documented + status:, # The phone number used for delivering the OTP. Relevant only for SMS_OTP method. phone_number: nil ) @@ -1880,6 +1922,8 @@ module Lithic { method_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::MethodType::TaggedSymbol, + status: + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol, phone_number: T.nilable(String) } ) @@ -1921,6 +1965,91 @@ module Lithic def self.values end end + + # Indicates the status of the challenge + # + # - SUCCESS - Cardholder completed the challenge successfully + # - PENDING - Challenge was issued to the cardholder and was not completed yet + # - SMS_DELIVERY_FAILED - Lithic confirmed undeliverability of the SMS to the + # provided phone number. Relevant only for SMS_OTP method + # - CARDHOLDER_TIMEOUT - Cardholder failed to complete the challenge within the + # given challenge TTL + # - CANCELED_VIA_CHALLENGE_UI - Cardholder canceled the challenge by selecting + # "cancel" on the challenge UI + # - CANCELED_OOB - Cardholder canceled the challenge out of band + # - ATTEMPTS_EXCEEDED - Cardholder failed the challenge by either entering an + # incorrect OTP more than the allowed number of times or requesting a new OTP + # more than the allowed number of times + # - ABORTED - Merchant aborted authentication after a challenge was requested + # - ERROR - The challenge failed for a reason different than those documented + module Status + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + SUCCESS = + T.let( + :SUCCESS, + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol + ) + PENDING = + T.let( + :PENDING, + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol + ) + SMS_DELIVERY_FAILED = + T.let( + :SMS_DELIVERY_FAILED, + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol + ) + CARDHOLDER_TIMEOUT = + T.let( + :CARDHOLDER_TIMEOUT, + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol + ) + CANCELED_VIA_CHALLENGE_UI = + T.let( + :CANCELED_VIA_CHALLENGE_UI, + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol + ) + CANCELED_OOB = + T.let( + :CANCELED_OOB, + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol + ) + ATTEMPTS_EXCEEDED = + T.let( + :ATTEMPTS_EXCEEDED, + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol + ) + ABORTED = + T.let( + :ABORTED, + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol + ) + ERROR = + T.let( + :ERROR, + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::Status::TaggedSymbol + ] + ) + end + def self.values + end + end end # Entity that orchestrates the challenge. This won't be set for authentications diff --git a/rbi/lithic/models/tokenization_retrieve_response.rbi b/rbi/lithic/models/tokenization_retrieve_response.rbi deleted file mode 100644 index 7d27c5c3..00000000 --- a/rbi/lithic/models/tokenization_retrieve_response.rbi +++ /dev/null @@ -1,31 +0,0 @@ -# typed: strong - -module Lithic - module Models - class TokenizationRetrieveResponse < Lithic::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Lithic::Models::TokenizationRetrieveResponse, - Lithic::Internal::AnyHash - ) - end - - sig { returns(T.nilable(Lithic::Tokenization)) } - attr_reader :data - - sig { params(data: Lithic::Tokenization::OrHash).void } - attr_writer :data - - sig do - params(data: Lithic::Tokenization::OrHash).returns(T.attached_class) - end - def self.new(data: nil) - end - - sig { override.returns({ data: Lithic::Tokenization }) } - def to_hash - end - end - end -end diff --git a/rbi/lithic/models/transfer.rbi b/rbi/lithic/models/transfer.rbi index 330d722d..47c32ff2 100644 --- a/rbi/lithic/models/transfer.rbi +++ b/rbi/lithic/models/transfer.rbi @@ -260,6 +260,7 @@ module Lithic sig { params(type: Lithic::Transfer::Event::Type::OrSymbol).void } attr_writer :type + # Financial Event sig do params( token: String, diff --git a/rbi/lithic/resources/account_activity.rbi b/rbi/lithic/resources/account_activity.rbi new file mode 100644 index 00000000..ffd38a75 --- /dev/null +++ b/rbi/lithic/resources/account_activity.rbi @@ -0,0 +1,80 @@ +# typed: strong + +module Lithic + module Resources + class AccountActivity + # Retrieve a list of transactions across all public accounts. + sig do + params( + account_token: String, + begin_: Time, + business_account_token: String, + category: Lithic::AccountActivityListParams::Category::OrSymbol, + end_: Time, + ending_before: String, + financial_account_token: String, + page_size: Integer, + result: T::Array[Lithic::AccountActivityListParams::Result::OrSymbol], + starting_after: String, + status: T::Array[Lithic::AccountActivityListParams::Status::OrSymbol], + request_options: Lithic::RequestOptions::OrHash + ).returns( + Lithic::Internal::CursorPage[ + Lithic::Models::AccountActivityListResponse::Variants + ] + ) + end + def list( + # Filter by account token + account_token: nil, + # Date string in RFC 3339 format. Only entries created after the specified time + # will be included. UTC time zone. + begin_: nil, + # Filter by business account token + business_account_token: nil, + # Filter by transaction category + category: nil, + # Date string in RFC 3339 format. Only entries created before the specified time + # will be included. UTC time zone. + end_: nil, + # A cursor representing an item's token before which a page of results should end. + # Used to retrieve the previous page of results before this item. + ending_before: nil, + # Filter by financial account token + financial_account_token: nil, + # Page size (for pagination). + page_size: nil, + # Filter by transaction result + result: nil, + # A cursor representing an item's token after which a page of results should + # begin. Used to retrieve the next page of results after this item. + starting_after: nil, + # Filter by transaction status + status: nil, + request_options: {} + ) + end + + # Retrieve a single transaction + sig do + params( + transaction_token: String, + request_options: Lithic::RequestOptions::OrHash + ).returns( + Lithic::Models::AccountActivityRetrieveTransactionResponse::Variants + ) + end + def retrieve_transaction( + # The unique identifier for the transaction + transaction_token, + request_options: {} + ) + end + + # @api private + sig { params(client: Lithic::Client).returns(T.attached_class) } + def self.new(client:) + end + end + end +end diff --git a/rbi/lithic/resources/account_holders.rbi b/rbi/lithic/resources/account_holders.rbi index af1e1507..635947d7 100644 --- a/rbi/lithic/resources/account_holders.rbi +++ b/rbi/lithic/resources/account_holders.rbi @@ -94,7 +94,7 @@ module Lithic # A user provided id that can be used to link an account holder with an external # system external_id: nil, - # An RFC 3339 timestamp indicating when precomputed KYC was completed on the + # An RFC 3339 timestamp indicating when precomputed KYB was completed on the # business with a pass result. # # This field is required only if workflow type is `KYB_BYO`. diff --git a/rbi/lithic/resources/book_transfers.rbi b/rbi/lithic/resources/book_transfers.rbi index f6e5dd46..cbc3cc0e 100644 --- a/rbi/lithic/resources/book_transfers.rbi +++ b/rbi/lithic/resources/book_transfers.rbi @@ -14,12 +14,15 @@ module Lithic to_financial_account_token: String, type: Lithic::BookTransferCreateParams::Type::OrSymbol, token: String, + external_id: String, memo: String, + on_closed_account: + Lithic::BookTransferCreateParams::OnClosedAccount::OrSymbol, request_options: Lithic::RequestOptions::OrHash ).returns(Lithic::BookTransferResponse) end def create( - # Amount to be transferred in the currency’s smallest unit (e.g., cents for USD). + # Amount to be transferred in the currency's smallest unit (e.g., cents for USD). # This should always be a positive value. amount:, # Category of the book transfer @@ -32,13 +35,17 @@ module Lithic # Globally unique identifier for the financial account or card that will receive # the funds. Accepted type dependent on the program's use case. to_financial_account_token:, - # Type of book_transfer + # Type of the book transfer type:, # Customer-provided token that will serve as an idempotency token. This token will # become the transaction token. token: nil, + # External ID defined by the customer + external_id: nil, # Optional descriptor for the transfer. memo: nil, + # What to do if the financial account is closed when posting an operation + on_closed_account: nil, request_options: {} ) end diff --git a/rbi/lithic/resources/tokenizations.rbi b/rbi/lithic/resources/tokenizations.rbi index 85354887..8477f421 100644 --- a/rbi/lithic/resources/tokenizations.rbi +++ b/rbi/lithic/resources/tokenizations.rbi @@ -8,7 +8,7 @@ module Lithic params( tokenization_token: String, request_options: Lithic::RequestOptions::OrHash - ).returns(Lithic::Models::TokenizationRetrieveResponse) + ).returns(Lithic::Tokenization) end def retrieve( # Tokenization token diff --git a/scripts/mock b/scripts/mock index d2814ae6..0b28f6ea 100755 --- a/scripts/mock +++ b/scripts/mock @@ -21,7 +21,7 @@ echo "==> Starting mock server with URL ${URL}" # Run prism mock on the given spec if [ "$1" == "--daemon" ]; then - npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL" &> .prism.log & + npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" &> .prism.log & # Wait for server to come online echo -n "Waiting for server" @@ -37,5 +37,5 @@ if [ "$1" == "--daemon" ]; then echo else - npm exec --package=@stainless-api/prism-cli@5.8.5 -- prism mock "$URL" + npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" fi diff --git a/scripts/test b/scripts/test index 8e5d35cd..e0dc1374 100755 --- a/scripts/test +++ b/scripts/test @@ -43,7 +43,7 @@ elif ! prism_is_running ; then echo -e "To run the server, pass in the path or url of your OpenAPI" echo -e "spec to the prism command:" echo - echo -e " \$ ${YELLOW}npm exec --package=@stoplight/prism-cli@~5.3.2 -- prism mock path/to/your.openapi.yml${NC}" + echo -e " \$ ${YELLOW}npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock path/to/your.openapi.yml${NC}" echo exit 1 diff --git a/sig/lithic/client.rbs b/sig/lithic/client.rbs index 2baaf930..a2c7f061 100644 --- a/sig/lithic/client.rbs +++ b/sig/lithic/client.rbs @@ -71,6 +71,8 @@ module Lithic attr_reader network_programs: Lithic::Resources::NetworkPrograms + attr_reader account_activity: Lithic::Resources::AccountActivity + def api_status: ( ?request_options: Lithic::request_opts ) -> Lithic::APIStatus diff --git a/sig/lithic/internal/transport/base_client.rbs b/sig/lithic/internal/transport/base_client.rbs index 6a18c890..de9b891f 100644 --- a/sig/lithic/internal/transport/base_client.rbs +++ b/sig/lithic/internal/transport/base_client.rbs @@ -99,7 +99,7 @@ module Lithic retry_count: Integer ) -> Float - private def send_request: ( + def send_request: ( Lithic::Internal::Transport::BaseClient::request_input request, redirect_count: Integer, retry_count: Integer, diff --git a/sig/lithic/internal/type/converter.rbs b/sig/lithic/internal/type/converter.rbs index b4a41907..9f2139ce 100644 --- a/sig/lithic/internal/type/converter.rbs +++ b/sig/lithic/internal/type/converter.rbs @@ -39,6 +39,23 @@ module Lithic | Lithic::Internal::Type::Converter::input spec ) -> (^-> top) + def self.meta_info: ( + { + const: (nil | bool | Integer | Float | Symbol)?, + enum: ^-> Lithic::Internal::Type::Converter::input?, + union: ^-> Lithic::Internal::Type::Converter::input? + } + | ^-> Lithic::Internal::Type::Converter::input + | Lithic::Internal::Type::Converter::input type_info, + { + const: (nil | bool | Integer | Float | Symbol)?, + enum: ^-> Lithic::Internal::Type::Converter::input?, + union: ^-> Lithic::Internal::Type::Converter::input? + } + | ^-> Lithic::Internal::Type::Converter::input + | Lithic::Internal::Type::Converter::input spec + ) -> ::Hash[Symbol, top] + def self.new_coerce_state: ( ?translate_names: bool ) -> Lithic::Internal::Type::Converter::coerce_state diff --git a/sig/lithic/internal/type/union.rbs b/sig/lithic/internal/type/union.rbs index 77136bf1..fbe48976 100644 --- a/sig/lithic/internal/type/union.rbs +++ b/sig/lithic/internal/type/union.rbs @@ -5,9 +5,9 @@ module Lithic include Lithic::Internal::Type::Converter include Lithic::Internal::Util::SorbetRuntimeSupport - private def self.known_variants: -> ::Array[[Symbol?, (^-> Lithic::Internal::Type::Converter::input)]] + private def self.known_variants: -> ::Array[[Symbol?, (^-> Lithic::Internal::Type::Converter::input), ::Hash[Symbol, top]]] - def self.derefed_variants: -> ::Array[[Symbol?, top]] + def self.derefed_variants: -> ::Array[[Symbol?, top, ::Hash[Symbol, top]]] def self.variants: -> ::Array[top] diff --git a/sig/lithic/models.rbs b/sig/lithic/models.rbs index d0e0dd15..4a50ead0 100644 --- a/sig/lithic/models.rbs +++ b/sig/lithic/models.rbs @@ -1,6 +1,10 @@ module Lithic class Account = Lithic::Models::Account + class AccountActivityListParams = Lithic::Models::AccountActivityListParams + + class AccountActivityRetrieveTransactionParams = Lithic::Models::AccountActivityRetrieveTransactionParams + module AccountFinancialAccountType = Lithic::Models::AccountFinancialAccountType class AccountHolder = Lithic::Models::AccountHolder diff --git a/sig/lithic/models/account_activity_list_params.rbs b/sig/lithic/models/account_activity_list_params.rbs new file mode 100644 index 00000000..1364c916 --- /dev/null +++ b/sig/lithic/models/account_activity_list_params.rbs @@ -0,0 +1,173 @@ +module Lithic + module Models + type account_activity_list_params = + { + account_token: String, + begin_: Time, + business_account_token: String, + category: Lithic::Models::AccountActivityListParams::category, + end_: Time, + ending_before: String, + financial_account_token: String, + page_size: Integer, + result: ::Array[Lithic::Models::AccountActivityListParams::result], + starting_after: String, + status: ::Array[Lithic::Models::AccountActivityListParams::status] + } + & Lithic::Internal::Type::request_parameters + + class AccountActivityListParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + attr_reader account_token: String? + + def account_token=: (String) -> String + + attr_reader begin_: Time? + + def begin_=: (Time) -> Time + + attr_reader business_account_token: String? + + def business_account_token=: (String) -> String + + attr_reader category: Lithic::Models::AccountActivityListParams::category? + + def category=: ( + Lithic::Models::AccountActivityListParams::category + ) -> Lithic::Models::AccountActivityListParams::category + + attr_reader end_: Time? + + def end_=: (Time) -> Time + + attr_reader ending_before: String? + + def ending_before=: (String) -> String + + attr_reader financial_account_token: String? + + def financial_account_token=: (String) -> String + + attr_reader page_size: Integer? + + def page_size=: (Integer) -> Integer + + attr_reader result: ::Array[Lithic::Models::AccountActivityListParams::result]? + + def result=: ( + ::Array[Lithic::Models::AccountActivityListParams::result] + ) -> ::Array[Lithic::Models::AccountActivityListParams::result] + + attr_reader starting_after: String? + + def starting_after=: (String) -> String + + attr_reader status: ::Array[Lithic::Models::AccountActivityListParams::status]? + + def status=: ( + ::Array[Lithic::Models::AccountActivityListParams::status] + ) -> ::Array[Lithic::Models::AccountActivityListParams::status] + + def initialize: ( + ?account_token: String, + ?begin_: Time, + ?business_account_token: String, + ?category: Lithic::Models::AccountActivityListParams::category, + ?end_: Time, + ?ending_before: String, + ?financial_account_token: String, + ?page_size: Integer, + ?result: ::Array[Lithic::Models::AccountActivityListParams::result], + ?starting_after: String, + ?status: ::Array[Lithic::Models::AccountActivityListParams::status], + ?request_options: Lithic::request_opts + ) -> void + + def to_hash: -> { + account_token: String, + begin_: Time, + business_account_token: String, + category: Lithic::Models::AccountActivityListParams::category, + end_: Time, + ending_before: String, + financial_account_token: String, + page_size: Integer, + result: ::Array[Lithic::Models::AccountActivityListParams::result], + starting_after: String, + status: ::Array[Lithic::Models::AccountActivityListParams::status], + request_options: Lithic::RequestOptions + } + + type category = + :ACH + | :BALANCE_OR_FUNDING + | :CARD + | :EXTERNAL_ACH + | :EXTERNAL_CHECK + | :EXTERNAL_TRANSFER + | :EXTERNAL_WIRE + | :MANAGEMENT_ADJUSTMENT + | :MANAGEMENT_DISPUTE + | :MANAGEMENT_FEE + | :MANAGEMENT_REWARD + | :MANAGEMENT_DISBURSEMENT + | :PROGRAM_FUNDING + + module Category + extend Lithic::Internal::Type::Enum + + ACH: :ACH + BALANCE_OR_FUNDING: :BALANCE_OR_FUNDING + CARD: :CARD + EXTERNAL_ACH: :EXTERNAL_ACH + EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER + EXTERNAL_WIRE: :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT: :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE: :MANAGEMENT_DISPUTE + MANAGEMENT_FEE: :MANAGEMENT_FEE + MANAGEMENT_REWARD: :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT: :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING: :PROGRAM_FUNDING + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListParams::category] + end + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListParams::result] + end + + type status = + :DECLINED + | :EXPIRED + | :PENDING + | :SETTLED + | :VOIDED + | :RETURNED + | :REVERSED + + module Status + extend Lithic::Internal::Type::Enum + + DECLINED: :DECLINED + EXPIRED: :EXPIRED + PENDING: :PENDING + SETTLED: :SETTLED + VOIDED: :VOIDED + RETURNED: :RETURNED + REVERSED: :REVERSED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListParams::status] + end + end + end +end diff --git a/sig/lithic/models/account_activity_list_response.rbs b/sig/lithic/models/account_activity_list_response.rbs new file mode 100644 index 00000000..f1446758 --- /dev/null +++ b/sig/lithic/models/account_activity_list_response.rbs @@ -0,0 +1,1334 @@ +module Lithic + module Models + type account_activity_list_response = + Lithic::Models::AccountActivityListResponse::FinancialTransaction + | Lithic::Models::AccountActivityListResponse::BookTransferTransaction + | Lithic::Models::AccountActivityListResponse::CardTransaction + | Lithic::Models::AccountActivityListResponse::PaymentTransaction + | Lithic::ExternalPayment + | Lithic::ManagementOperationTransaction + + module AccountActivityListResponse + extend Lithic::Internal::Type::Union + + type financial_transaction = + { + token: String, + category: Lithic::Models::AccountActivityListResponse::FinancialTransaction::category, + created: Time, + currency: String, + descriptor: String, + events: ::Array[Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event], + family: Lithic::Models::AccountActivityListResponse::FinancialTransaction::family, + financial_account_token: String, + pending_amount: Integer, + result: Lithic::Models::AccountActivityListResponse::FinancialTransaction::result, + settled_amount: Integer, + status: Lithic::Models::AccountActivityListResponse::FinancialTransaction::status, + updated: Time + } + + class FinancialTransaction < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor category: Lithic::Models::AccountActivityListResponse::FinancialTransaction::category + + attr_accessor created: Time + + attr_accessor currency: String + + attr_accessor descriptor: String + + attr_accessor events: ::Array[Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event] + + attr_accessor family: Lithic::Models::AccountActivityListResponse::FinancialTransaction::family + + attr_accessor financial_account_token: String + + attr_accessor pending_amount: Integer + + attr_accessor result: Lithic::Models::AccountActivityListResponse::FinancialTransaction::result + + attr_accessor settled_amount: Integer + + attr_accessor status: Lithic::Models::AccountActivityListResponse::FinancialTransaction::status + + attr_accessor updated: Time + + def initialize: ( + token: String, + category: Lithic::Models::AccountActivityListResponse::FinancialTransaction::category, + created: Time, + currency: String, + descriptor: String, + events: ::Array[Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event], + family: Lithic::Models::AccountActivityListResponse::FinancialTransaction::family, + financial_account_token: String, + pending_amount: Integer, + result: Lithic::Models::AccountActivityListResponse::FinancialTransaction::result, + settled_amount: Integer, + status: Lithic::Models::AccountActivityListResponse::FinancialTransaction::status, + updated: Time + ) -> void + + def to_hash: -> { + token: String, + category: Lithic::Models::AccountActivityListResponse::FinancialTransaction::category, + created: Time, + currency: String, + descriptor: String, + events: ::Array[Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event], + family: Lithic::Models::AccountActivityListResponse::FinancialTransaction::family, + financial_account_token: String, + pending_amount: Integer, + result: Lithic::Models::AccountActivityListResponse::FinancialTransaction::result, + settled_amount: Integer, + status: Lithic::Models::AccountActivityListResponse::FinancialTransaction::status, + updated: Time + } + + type category = + :ACH + | :BALANCE_OR_FUNDING + | :CARD + | :EXTERNAL_ACH + | :EXTERNAL_CHECK + | :EXTERNAL_TRANSFER + | :EXTERNAL_WIRE + | :MANAGEMENT_ADJUSTMENT + | :MANAGEMENT_DISPUTE + | :MANAGEMENT_FEE + | :MANAGEMENT_REWARD + | :MANAGEMENT_DISBURSEMENT + | :PROGRAM_FUNDING + + module Category + extend Lithic::Internal::Type::Enum + + ACH: :ACH + BALANCE_OR_FUNDING: :BALANCE_OR_FUNDING + CARD: :CARD + EXTERNAL_ACH: :EXTERNAL_ACH + EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER + EXTERNAL_WIRE: :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT: :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE: :MANAGEMENT_DISPUTE + MANAGEMENT_FEE: :MANAGEMENT_FEE + MANAGEMENT_REWARD: :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT: :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING: :PROGRAM_FUNDING + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::FinancialTransaction::category] + end + + type event = + { + token: String, + amount: Integer, + created: Time, + result: Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::result, + type: Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::type_ + } + + class Event < Lithic::Internal::Type::BaseModel + attr_reader token: String? + + def token=: (String) -> String + + attr_reader amount: Integer? + + def amount=: (Integer) -> Integer + + attr_reader created: Time? + + def created=: (Time) -> Time + + attr_reader result: Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::result? + + def result=: ( + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::result + ) -> Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::result + + attr_reader type: Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::type_? + + def type=: ( + Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::type_ + ) -> Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::type_ + + def initialize: ( + ?token: String, + ?amount: Integer, + ?created: Time, + ?result: Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::result, + ?type: Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::type_ + ) -> void + + def to_hash: -> { + token: String, + amount: Integer, + created: Time, + result: Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::result, + type: Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::type_ + } + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::result] + end + + type type_ = + :ACH_ORIGINATION_CANCELLED + | :ACH_ORIGINATION_INITIATED + | :ACH_ORIGINATION_PROCESSED + | :ACH_ORIGINATION_RELEASED + | :ACH_ORIGINATION_REVIEWED + | :ACH_ORIGINATION_SETTLED + | :ACH_RECEIPT_PROCESSED + | :ACH_RECEIPT_SETTLED + | :ACH_RETURN_INITIATED + | :ACH_RETURN_PROCESSED + | :ACH_RETURN_SETTLED + | :AUTHORIZATION + | :AUTHORIZATION_ADVICE + | :AUTHORIZATION_EXPIRY + | :AUTHORIZATION_REVERSAL + | :BALANCE_INQUIRY + | :BILLING_ERROR + | :BILLING_ERROR_REVERSAL + | :CARD_TO_CARD + | :CASH_BACK + | :CASH_BACK_REVERSAL + | :CLEARING + | :COLLECTION + | :CORRECTION_CREDIT + | :CORRECTION_DEBIT + | :CREDIT_AUTHORIZATION + | :CREDIT_AUTHORIZATION_ADVICE + | :CURRENCY_CONVERSION + | :CURRENCY_CONVERSION_REVERSAL + | :DISPUTE_WON + | :EXTERNAL_ACH_CANCELED + | :EXTERNAL_ACH_INITIATED + | :EXTERNAL_ACH_RELEASED + | :EXTERNAL_ACH_REVERSED + | :EXTERNAL_ACH_SETTLED + | :EXTERNAL_CHECK_CANCELED + | :EXTERNAL_CHECK_INITIATED + | :EXTERNAL_CHECK_RELEASED + | :EXTERNAL_CHECK_REVERSED + | :EXTERNAL_CHECK_SETTLED + | :EXTERNAL_TRANSFER_CANCELED + | :EXTERNAL_TRANSFER_INITIATED + | :EXTERNAL_TRANSFER_RELEASED + | :EXTERNAL_TRANSFER_REVERSED + | :EXTERNAL_TRANSFER_SETTLED + | :EXTERNAL_WIRE_CANCELED + | :EXTERNAL_WIRE_INITIATED + | :EXTERNAL_WIRE_RELEASED + | :EXTERNAL_WIRE_REVERSED + | :EXTERNAL_WIRE_SETTLED + | :FINANCIAL_AUTHORIZATION + | :FINANCIAL_CREDIT_AUTHORIZATION + | :INTEREST + | :INTEREST_REVERSAL + | :INTERNAL_ADJUSTMENT + | :LATE_PAYMENT + | :LATE_PAYMENT_REVERSAL + | :LOSS_WRITE_OFF + | :PROVISIONAL_CREDIT + | :PROVISIONAL_CREDIT_REVERSAL + | :SERVICE + | :RETURN + | :RETURN_REVERSAL + | :TRANSFER + | :TRANSFER_INSUFFICIENT_FUNDS + | :RETURNED_PAYMENT + | :RETURNED_PAYMENT_REVERSAL + | :LITHIC_NETWORK_PAYMENT + + module Type + extend Lithic::Internal::Type::Enum + + ACH_ORIGINATION_CANCELLED: :ACH_ORIGINATION_CANCELLED + ACH_ORIGINATION_INITIATED: :ACH_ORIGINATION_INITIATED + ACH_ORIGINATION_PROCESSED: :ACH_ORIGINATION_PROCESSED + ACH_ORIGINATION_RELEASED: :ACH_ORIGINATION_RELEASED + ACH_ORIGINATION_REVIEWED: :ACH_ORIGINATION_REVIEWED + ACH_ORIGINATION_SETTLED: :ACH_ORIGINATION_SETTLED + ACH_RECEIPT_PROCESSED: :ACH_RECEIPT_PROCESSED + ACH_RECEIPT_SETTLED: :ACH_RECEIPT_SETTLED + ACH_RETURN_INITIATED: :ACH_RETURN_INITIATED + ACH_RETURN_PROCESSED: :ACH_RETURN_PROCESSED + ACH_RETURN_SETTLED: :ACH_RETURN_SETTLED + AUTHORIZATION: :AUTHORIZATION + AUTHORIZATION_ADVICE: :AUTHORIZATION_ADVICE + AUTHORIZATION_EXPIRY: :AUTHORIZATION_EXPIRY + AUTHORIZATION_REVERSAL: :AUTHORIZATION_REVERSAL + BALANCE_INQUIRY: :BALANCE_INQUIRY + BILLING_ERROR: :BILLING_ERROR + BILLING_ERROR_REVERSAL: :BILLING_ERROR_REVERSAL + CARD_TO_CARD: :CARD_TO_CARD + CASH_BACK: :CASH_BACK + CASH_BACK_REVERSAL: :CASH_BACK_REVERSAL + CLEARING: :CLEARING + COLLECTION: :COLLECTION + CORRECTION_CREDIT: :CORRECTION_CREDIT + CORRECTION_DEBIT: :CORRECTION_DEBIT + CREDIT_AUTHORIZATION: :CREDIT_AUTHORIZATION + CREDIT_AUTHORIZATION_ADVICE: :CREDIT_AUTHORIZATION_ADVICE + CURRENCY_CONVERSION: :CURRENCY_CONVERSION + CURRENCY_CONVERSION_REVERSAL: :CURRENCY_CONVERSION_REVERSAL + DISPUTE_WON: :DISPUTE_WON + EXTERNAL_ACH_CANCELED: :EXTERNAL_ACH_CANCELED + EXTERNAL_ACH_INITIATED: :EXTERNAL_ACH_INITIATED + EXTERNAL_ACH_RELEASED: :EXTERNAL_ACH_RELEASED + EXTERNAL_ACH_REVERSED: :EXTERNAL_ACH_REVERSED + EXTERNAL_ACH_SETTLED: :EXTERNAL_ACH_SETTLED + EXTERNAL_CHECK_CANCELED: :EXTERNAL_CHECK_CANCELED + EXTERNAL_CHECK_INITIATED: :EXTERNAL_CHECK_INITIATED + EXTERNAL_CHECK_RELEASED: :EXTERNAL_CHECK_RELEASED + EXTERNAL_CHECK_REVERSED: :EXTERNAL_CHECK_REVERSED + EXTERNAL_CHECK_SETTLED: :EXTERNAL_CHECK_SETTLED + EXTERNAL_TRANSFER_CANCELED: :EXTERNAL_TRANSFER_CANCELED + EXTERNAL_TRANSFER_INITIATED: :EXTERNAL_TRANSFER_INITIATED + EXTERNAL_TRANSFER_RELEASED: :EXTERNAL_TRANSFER_RELEASED + EXTERNAL_TRANSFER_REVERSED: :EXTERNAL_TRANSFER_REVERSED + EXTERNAL_TRANSFER_SETTLED: :EXTERNAL_TRANSFER_SETTLED + EXTERNAL_WIRE_CANCELED: :EXTERNAL_WIRE_CANCELED + EXTERNAL_WIRE_INITIATED: :EXTERNAL_WIRE_INITIATED + EXTERNAL_WIRE_RELEASED: :EXTERNAL_WIRE_RELEASED + EXTERNAL_WIRE_REVERSED: :EXTERNAL_WIRE_REVERSED + EXTERNAL_WIRE_SETTLED: :EXTERNAL_WIRE_SETTLED + FINANCIAL_AUTHORIZATION: :FINANCIAL_AUTHORIZATION + FINANCIAL_CREDIT_AUTHORIZATION: :FINANCIAL_CREDIT_AUTHORIZATION + INTEREST: :INTEREST + INTEREST_REVERSAL: :INTEREST_REVERSAL + INTERNAL_ADJUSTMENT: :INTERNAL_ADJUSTMENT + LATE_PAYMENT: :LATE_PAYMENT + LATE_PAYMENT_REVERSAL: :LATE_PAYMENT_REVERSAL + LOSS_WRITE_OFF: :LOSS_WRITE_OFF + PROVISIONAL_CREDIT: :PROVISIONAL_CREDIT + PROVISIONAL_CREDIT_REVERSAL: :PROVISIONAL_CREDIT_REVERSAL + SERVICE: :SERVICE + RETURN: :RETURN + RETURN_REVERSAL: :RETURN_REVERSAL + TRANSFER: :TRANSFER + TRANSFER_INSUFFICIENT_FUNDS: :TRANSFER_INSUFFICIENT_FUNDS + RETURNED_PAYMENT: :RETURNED_PAYMENT + RETURNED_PAYMENT_REVERSAL: :RETURNED_PAYMENT_REVERSAL + LITHIC_NETWORK_PAYMENT: :LITHIC_NETWORK_PAYMENT + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::FinancialTransaction::Event::type_] + end + end + + type family = + :CARD + | :PAYMENT + | :TRANSFER + | :INTERNAL + | :EXTERNAL_PAYMENT + | :MANAGEMENT_OPERATION + + module Family + extend Lithic::Internal::Type::Enum + + CARD: :CARD + PAYMENT: :PAYMENT + TRANSFER: :TRANSFER + INTERNAL: :INTERNAL + EXTERNAL_PAYMENT: :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION: :MANAGEMENT_OPERATION + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::FinancialTransaction::family] + end + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::FinancialTransaction::result] + end + + type status = :PENDING | :SETTLED | :DECLINED | :REVERSED | :CANCELED + + module Status + extend Lithic::Internal::Type::Enum + + PENDING: :PENDING + SETTLED: :SETTLED + DECLINED: :DECLINED + REVERSED: :REVERSED + CANCELED: :CANCELED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::FinancialTransaction::status] + end + end + + type book_transfer_transaction = + { + token: String, + category: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::category, + created: Time, + currency: String, + events: ::Array[Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event], + family: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::family, + from_financial_account_token: String, + pending_amount: Integer, + result: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::result, + settled_amount: Integer, + status: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::status, + to_financial_account_token: String, + updated: Time, + external_id: String, + external_resource: Lithic::ExternalResource?, + transaction_series: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::TransactionSeries? + } + + class BookTransferTransaction < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor category: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::category + + attr_accessor created: Time + + attr_accessor currency: String + + attr_accessor events: ::Array[Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event] + + attr_accessor family: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::family + + attr_accessor from_financial_account_token: String + + attr_accessor pending_amount: Integer + + attr_accessor result: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::result + + attr_accessor settled_amount: Integer + + attr_accessor status: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::status + + attr_accessor to_financial_account_token: String + + attr_accessor updated: Time + + attr_reader external_id: String? + + def external_id=: (String) -> String + + attr_accessor external_resource: Lithic::ExternalResource? + + attr_accessor transaction_series: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::TransactionSeries? + + def initialize: ( + token: String, + category: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::category, + created: Time, + currency: String, + events: ::Array[Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event], + family: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::family, + from_financial_account_token: String, + pending_amount: Integer, + result: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::result, + settled_amount: Integer, + status: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::status, + to_financial_account_token: String, + updated: Time, + ?external_id: String, + ?external_resource: Lithic::ExternalResource?, + ?transaction_series: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::TransactionSeries? + ) -> void + + def to_hash: -> { + token: String, + category: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::category, + created: Time, + currency: String, + events: ::Array[Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event], + family: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::family, + from_financial_account_token: String, + pending_amount: Integer, + result: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::result, + settled_amount: Integer, + status: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::status, + to_financial_account_token: String, + updated: Time, + external_id: String, + external_resource: Lithic::ExternalResource?, + transaction_series: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::TransactionSeries? + } + + type category = + :ACH + | :BALANCE_OR_FUNDING + | :CARD + | :EXTERNAL_ACH + | :EXTERNAL_CHECK + | :EXTERNAL_TRANSFER + | :EXTERNAL_WIRE + | :MANAGEMENT_ADJUSTMENT + | :MANAGEMENT_DISPUTE + | :MANAGEMENT_FEE + | :MANAGEMENT_REWARD + | :MANAGEMENT_DISBURSEMENT + | :PROGRAM_FUNDING + + module Category + extend Lithic::Internal::Type::Enum + + ACH: :ACH + BALANCE_OR_FUNDING: :BALANCE_OR_FUNDING + CARD: :CARD + EXTERNAL_ACH: :EXTERNAL_ACH + EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER + EXTERNAL_WIRE: :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT: :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE: :MANAGEMENT_DISPUTE + MANAGEMENT_FEE: :MANAGEMENT_FEE + MANAGEMENT_REWARD: :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT: :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING: :PROGRAM_FUNDING + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::BookTransferTransaction::category] + end + + type event = + { + token: String, + amount: Integer, + created: Time, + detailed_results: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::detailed_results, + memo: String, + result: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::result, + subtype: String, + type: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::type_ + } + + class Event < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor amount: Integer + + attr_accessor created: Time + + attr_accessor detailed_results: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::detailed_results + + attr_accessor memo: String + + attr_accessor result: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::result + + attr_accessor subtype: String + + attr_accessor type: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::type_ + + def initialize: ( + token: String, + amount: Integer, + created: Time, + detailed_results: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::detailed_results, + memo: String, + result: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::result, + subtype: String, + type: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::type_ + ) -> void + + def to_hash: -> { + token: String, + amount: Integer, + created: Time, + detailed_results: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::detailed_results, + memo: String, + result: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::result, + subtype: String, + type: Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::type_ + } + + type detailed_results = :APPROVED | :FUNDS_INSUFFICIENT + + module DetailedResults + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + FUNDS_INSUFFICIENT: :FUNDS_INSUFFICIENT + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::detailed_results] + end + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::result] + end + + type type_ = + :ATM_WITHDRAWAL + | :ATM_DECLINE + | :INTERNATIONAL_ATM_WITHDRAWAL + | :INACTIVITY + | :STATEMENT + | :MONTHLY + | :QUARTERLY + | :ANNUAL + | :CUSTOMER_SERVICE + | :ACCOUNT_MAINTENANCE + | :ACCOUNT_ACTIVATION + | :ACCOUNT_CLOSURE + | :CARD_REPLACEMENT + | :CARD_DELIVERY + | :CARD_CREATE + | :CURRENCY_CONVERSION + | :INTEREST + | :LATE_PAYMENT + | :BILL_PAYMENT + | :CASH_BACK + | :ACCOUNT_TO_ACCOUNT + | :CARD_TO_CARD + | :DISBURSE + | :BILLING_ERROR + | :LOSS_WRITE_OFF + | :EXPIRED_CARD + | :EARLY_DERECOGNITION + | :ESCHEATMENT + | :INACTIVITY_FEE_DOWN + | :PROVISIONAL_CREDIT + | :DISPUTE_WON + | :SERVICE + | :TRANSFER + + module Type + extend Lithic::Internal::Type::Enum + + ATM_WITHDRAWAL: :ATM_WITHDRAWAL + ATM_DECLINE: :ATM_DECLINE + INTERNATIONAL_ATM_WITHDRAWAL: :INTERNATIONAL_ATM_WITHDRAWAL + INACTIVITY: :INACTIVITY + STATEMENT: :STATEMENT + MONTHLY: :MONTHLY + QUARTERLY: :QUARTERLY + ANNUAL: :ANNUAL + CUSTOMER_SERVICE: :CUSTOMER_SERVICE + ACCOUNT_MAINTENANCE: :ACCOUNT_MAINTENANCE + ACCOUNT_ACTIVATION: :ACCOUNT_ACTIVATION + ACCOUNT_CLOSURE: :ACCOUNT_CLOSURE + CARD_REPLACEMENT: :CARD_REPLACEMENT + CARD_DELIVERY: :CARD_DELIVERY + CARD_CREATE: :CARD_CREATE + CURRENCY_CONVERSION: :CURRENCY_CONVERSION + INTEREST: :INTEREST + LATE_PAYMENT: :LATE_PAYMENT + BILL_PAYMENT: :BILL_PAYMENT + CASH_BACK: :CASH_BACK + ACCOUNT_TO_ACCOUNT: :ACCOUNT_TO_ACCOUNT + CARD_TO_CARD: :CARD_TO_CARD + DISBURSE: :DISBURSE + BILLING_ERROR: :BILLING_ERROR + LOSS_WRITE_OFF: :LOSS_WRITE_OFF + EXPIRED_CARD: :EXPIRED_CARD + EARLY_DERECOGNITION: :EARLY_DERECOGNITION + ESCHEATMENT: :ESCHEATMENT + INACTIVITY_FEE_DOWN: :INACTIVITY_FEE_DOWN + PROVISIONAL_CREDIT: :PROVISIONAL_CREDIT + DISPUTE_WON: :DISPUTE_WON + SERVICE: :SERVICE + TRANSFER: :TRANSFER + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::type_] + end + end + + type family = + :CARD + | :PAYMENT + | :TRANSFER + | :INTERNAL + | :EXTERNAL_PAYMENT + | :MANAGEMENT_OPERATION + + module Family + extend Lithic::Internal::Type::Enum + + CARD: :CARD + PAYMENT: :PAYMENT + TRANSFER: :TRANSFER + INTERNAL: :INTERNAL + EXTERNAL_PAYMENT: :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION: :MANAGEMENT_OPERATION + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::BookTransferTransaction::family] + end + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::BookTransferTransaction::result] + end + + type status = :PENDING | :SETTLED | :DECLINED | :REVERSED | :CANCELED + + module Status + extend Lithic::Internal::Type::Enum + + PENDING: :PENDING + SETTLED: :SETTLED + DECLINED: :DECLINED + REVERSED: :REVERSED + CANCELED: :CANCELED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::BookTransferTransaction::status] + end + + type transaction_series = + { + related_transaction_event_token: String?, + related_transaction_token: String?, + type: String + } + + class TransactionSeries < Lithic::Internal::Type::BaseModel + attr_accessor related_transaction_event_token: String? + + attr_accessor related_transaction_token: String? + + attr_accessor type: String + + def initialize: ( + related_transaction_event_token: String?, + related_transaction_token: String?, + type: String + ) -> void + + def to_hash: -> { + related_transaction_event_token: String?, + related_transaction_token: String?, + type: String + } + end + end + + type card_transaction = + { + token: String, + created: Time, + family: Lithic::Models::AccountActivityListResponse::CardTransaction::family, + status: Lithic::Models::AccountActivityListResponse::CardTransaction::status, + updated: Time + } + + class CardTransaction < Lithic::Models::Transaction + def token: -> String + + def token=: (String _) -> String + + def created: -> Time + + def created=: (Time _) -> Time + + def family: -> Lithic::Models::AccountActivityListResponse::CardTransaction::family + + def family=: ( + Lithic::Models::AccountActivityListResponse::CardTransaction::family _ + ) -> Lithic::Models::AccountActivityListResponse::CardTransaction::family + + def status: -> Lithic::Models::AccountActivityListResponse::CardTransaction::status + + def status=: ( + Lithic::Models::AccountActivityListResponse::CardTransaction::status _ + ) -> Lithic::Models::AccountActivityListResponse::CardTransaction::status + + def updated: -> Time + + def updated=: (Time _) -> Time + + def initialize: ( + token: String, + created: Time, + family: Lithic::Models::AccountActivityListResponse::CardTransaction::family, + status: Lithic::Models::AccountActivityListResponse::CardTransaction::status, + updated: Time + ) -> void + + def to_hash: -> { + token: String, + created: Time, + family: Lithic::Models::AccountActivityListResponse::CardTransaction::family, + status: Lithic::Models::AccountActivityListResponse::CardTransaction::status, + updated: Time + } + + type family = + :CARD + | :PAYMENT + | :TRANSFER + | :INTERNAL + | :EXTERNAL_PAYMENT + | :MANAGEMENT_OPERATION + + module Family + extend Lithic::Internal::Type::Enum + + CARD: :CARD + PAYMENT: :PAYMENT + TRANSFER: :TRANSFER + INTERNAL: :INTERNAL + EXTERNAL_PAYMENT: :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION: :MANAGEMENT_OPERATION + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::CardTransaction::family] + end + + type status = :PENDING | :SETTLED | :DECLINED | :REVERSED | :CANCELED + + module Status + extend Lithic::Internal::Type::Enum + + PENDING: :PENDING + SETTLED: :SETTLED + DECLINED: :DECLINED + REVERSED: :REVERSED + CANCELED: :CANCELED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::CardTransaction::status] + end + end + + type payment_transaction = + { + token: String, + category: Lithic::Models::AccountActivityListResponse::PaymentTransaction::category, + created: Time, + descriptor: String, + direction: Lithic::Models::AccountActivityListResponse::PaymentTransaction::direction, + events: ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event], + family: Lithic::Models::AccountActivityListResponse::PaymentTransaction::family, + financial_account_token: String, + method_: Lithic::Models::AccountActivityListResponse::PaymentTransaction::method_, + method_attributes: Lithic::Models::AccountActivityListResponse::PaymentTransaction::method_attributes, + pending_amount: Integer, + related_account_tokens: Lithic::Models::AccountActivityListResponse::PaymentTransaction::RelatedAccountTokens, + result: Lithic::Models::AccountActivityListResponse::PaymentTransaction::result, + settled_amount: Integer, + source: Lithic::Models::AccountActivityListResponse::PaymentTransaction::source, + status: Lithic::Models::AccountActivityListResponse::PaymentTransaction::status, + updated: Time, + currency: String, + expected_release_date: Date?, + external_bank_account_token: String?, + user_defined_id: String? + } + + class PaymentTransaction < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor category: Lithic::Models::AccountActivityListResponse::PaymentTransaction::category + + attr_accessor created: Time + + attr_accessor descriptor: String + + attr_accessor direction: Lithic::Models::AccountActivityListResponse::PaymentTransaction::direction + + attr_accessor events: ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event] + + attr_accessor family: Lithic::Models::AccountActivityListResponse::PaymentTransaction::family + + attr_accessor financial_account_token: String + + attr_accessor method_: Lithic::Models::AccountActivityListResponse::PaymentTransaction::method_ + + attr_accessor method_attributes: Lithic::Models::AccountActivityListResponse::PaymentTransaction::method_attributes + + attr_accessor pending_amount: Integer + + attr_accessor related_account_tokens: Lithic::Models::AccountActivityListResponse::PaymentTransaction::RelatedAccountTokens + + attr_accessor result: Lithic::Models::AccountActivityListResponse::PaymentTransaction::result + + attr_accessor settled_amount: Integer + + attr_accessor source: Lithic::Models::AccountActivityListResponse::PaymentTransaction::source + + attr_accessor status: Lithic::Models::AccountActivityListResponse::PaymentTransaction::status + + attr_accessor updated: Time + + attr_reader currency: String? + + def currency=: (String) -> String + + attr_accessor expected_release_date: Date? + + attr_accessor external_bank_account_token: String? + + attr_accessor user_defined_id: String? + + def initialize: ( + token: String, + category: Lithic::Models::AccountActivityListResponse::PaymentTransaction::category, + created: Time, + descriptor: String, + direction: Lithic::Models::AccountActivityListResponse::PaymentTransaction::direction, + events: ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event], + family: Lithic::Models::AccountActivityListResponse::PaymentTransaction::family, + financial_account_token: String, + method_: Lithic::Models::AccountActivityListResponse::PaymentTransaction::method_, + method_attributes: Lithic::Models::AccountActivityListResponse::PaymentTransaction::method_attributes, + pending_amount: Integer, + related_account_tokens: Lithic::Models::AccountActivityListResponse::PaymentTransaction::RelatedAccountTokens, + result: Lithic::Models::AccountActivityListResponse::PaymentTransaction::result, + settled_amount: Integer, + source: Lithic::Models::AccountActivityListResponse::PaymentTransaction::source, + status: Lithic::Models::AccountActivityListResponse::PaymentTransaction::status, + updated: Time, + ?currency: String, + ?expected_release_date: Date?, + ?external_bank_account_token: String?, + ?user_defined_id: String? + ) -> void + + def to_hash: -> { + token: String, + category: Lithic::Models::AccountActivityListResponse::PaymentTransaction::category, + created: Time, + descriptor: String, + direction: Lithic::Models::AccountActivityListResponse::PaymentTransaction::direction, + events: ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event], + family: Lithic::Models::AccountActivityListResponse::PaymentTransaction::family, + financial_account_token: String, + method_: Lithic::Models::AccountActivityListResponse::PaymentTransaction::method_, + method_attributes: Lithic::Models::AccountActivityListResponse::PaymentTransaction::method_attributes, + pending_amount: Integer, + related_account_tokens: Lithic::Models::AccountActivityListResponse::PaymentTransaction::RelatedAccountTokens, + result: Lithic::Models::AccountActivityListResponse::PaymentTransaction::result, + settled_amount: Integer, + source: Lithic::Models::AccountActivityListResponse::PaymentTransaction::source, + status: Lithic::Models::AccountActivityListResponse::PaymentTransaction::status, + updated: Time, + currency: String, + expected_release_date: Date?, + external_bank_account_token: String?, + user_defined_id: String? + } + + type category = + :ACH + | :BALANCE_OR_FUNDING + | :CARD + | :EXTERNAL_ACH + | :EXTERNAL_CHECK + | :EXTERNAL_TRANSFER + | :EXTERNAL_WIRE + | :MANAGEMENT_ADJUSTMENT + | :MANAGEMENT_DISPUTE + | :MANAGEMENT_FEE + | :MANAGEMENT_REWARD + | :MANAGEMENT_DISBURSEMENT + | :PROGRAM_FUNDING + + module Category + extend Lithic::Internal::Type::Enum + + ACH: :ACH + BALANCE_OR_FUNDING: :BALANCE_OR_FUNDING + CARD: :CARD + EXTERNAL_ACH: :EXTERNAL_ACH + EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER + EXTERNAL_WIRE: :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT: :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE: :MANAGEMENT_DISPUTE + MANAGEMENT_FEE: :MANAGEMENT_FEE + MANAGEMENT_REWARD: :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT: :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING: :PROGRAM_FUNDING + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::category] + end + + type direction = :CREDIT | :DEBIT + + module Direction + extend Lithic::Internal::Type::Enum + + CREDIT: :CREDIT + DEBIT: :DEBIT + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::direction] + end + + type event = + { + token: String, + amount: Integer, + created: Time, + result: Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::result, + type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::type_, + detailed_results: ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::detailed_result] + } + + class Event < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor amount: Integer + + attr_accessor created: Time + + attr_accessor result: Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::result + + attr_accessor type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::type_ + + attr_reader detailed_results: ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::detailed_result]? + + def detailed_results=: ( + ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::detailed_result] + ) -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::detailed_result] + + def initialize: ( + token: String, + amount: Integer, + created: Time, + result: Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::result, + type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::type_, + ?detailed_results: ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::detailed_result] + ) -> void + + def to_hash: -> { + token: String, + amount: Integer, + created: Time, + result: Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::result, + type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::type_, + detailed_results: ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::detailed_result] + } + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::result] + end + + type type_ = + :ACH_ORIGINATION_CANCELLED + | :ACH_ORIGINATION_INITIATED + | :ACH_ORIGINATION_PROCESSED + | :ACH_ORIGINATION_SETTLED + | :ACH_ORIGINATION_RELEASED + | :ACH_ORIGINATION_REVIEWED + | :ACH_RECEIPT_PROCESSED + | :ACH_RECEIPT_SETTLED + | :ACH_RETURN_INITIATED + | :ACH_RETURN_PROCESSED + | :ACH_RETURN_SETTLED + + module Type + extend Lithic::Internal::Type::Enum + + ACH_ORIGINATION_CANCELLED: :ACH_ORIGINATION_CANCELLED + ACH_ORIGINATION_INITIATED: :ACH_ORIGINATION_INITIATED + ACH_ORIGINATION_PROCESSED: :ACH_ORIGINATION_PROCESSED + ACH_ORIGINATION_SETTLED: :ACH_ORIGINATION_SETTLED + ACH_ORIGINATION_RELEASED: :ACH_ORIGINATION_RELEASED + ACH_ORIGINATION_REVIEWED: :ACH_ORIGINATION_REVIEWED + ACH_RECEIPT_PROCESSED: :ACH_RECEIPT_PROCESSED + ACH_RECEIPT_SETTLED: :ACH_RECEIPT_SETTLED + ACH_RETURN_INITIATED: :ACH_RETURN_INITIATED + ACH_RETURN_PROCESSED: :ACH_RETURN_PROCESSED + ACH_RETURN_SETTLED: :ACH_RETURN_SETTLED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::type_] + end + + type detailed_result = + :APPROVED + | :FUNDS_INSUFFICIENT + | :ACCOUNT_INVALID + | :PROGRAM_TRANSACTION_LIMIT_EXCEEDED + | :PROGRAM_DAILY_LIMIT_EXCEEDED + | :PROGRAM_MONTHLY_LIMIT_EXCEEDED + + module DetailedResult + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + FUNDS_INSUFFICIENT: :FUNDS_INSUFFICIENT + ACCOUNT_INVALID: :ACCOUNT_INVALID + PROGRAM_TRANSACTION_LIMIT_EXCEEDED: :PROGRAM_TRANSACTION_LIMIT_EXCEEDED + PROGRAM_DAILY_LIMIT_EXCEEDED: :PROGRAM_DAILY_LIMIT_EXCEEDED + PROGRAM_MONTHLY_LIMIT_EXCEEDED: :PROGRAM_MONTHLY_LIMIT_EXCEEDED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::Event::detailed_result] + end + end + + type family = + :CARD + | :PAYMENT + | :TRANSFER + | :INTERNAL + | :EXTERNAL_PAYMENT + | :MANAGEMENT_OPERATION + + module Family + extend Lithic::Internal::Type::Enum + + CARD: :CARD + PAYMENT: :PAYMENT + TRANSFER: :TRANSFER + INTERNAL: :INTERNAL + EXTERNAL_PAYMENT: :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION: :MANAGEMENT_OPERATION + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::family] + end + + type method_ = :ACH_NEXT_DAY | :ACH_SAME_DAY | :WIRE + + module Method + extend Lithic::Internal::Type::Enum + + ACH_NEXT_DAY: :ACH_NEXT_DAY + ACH_SAME_DAY: :ACH_SAME_DAY + WIRE: :WIRE + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::method_] + end + + type method_attributes = + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes + | Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes + + module MethodAttributes + extend Lithic::Internal::Type::Union + + type ach_method_attributes = + { + sec_code: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::sec_code, + addenda: String?, + company_id: String?, + receipt_routing_number: String?, + retries: Integer?, + return_reason_code: String?, + trace_numbers: ::Array[String] + } + + class ACHMethodAttributes < Lithic::Internal::Type::BaseModel + attr_accessor sec_code: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::sec_code + + attr_accessor addenda: String? + + attr_accessor company_id: String? + + attr_accessor receipt_routing_number: String? + + attr_accessor retries: Integer? + + attr_accessor return_reason_code: String? + + attr_reader trace_numbers: ::Array[String]? + + def trace_numbers=: (::Array[String]) -> ::Array[String] + + def initialize: ( + sec_code: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::sec_code, + ?addenda: String?, + ?company_id: String?, + ?receipt_routing_number: String?, + ?retries: Integer?, + ?return_reason_code: String?, + ?trace_numbers: ::Array[String] + ) -> void + + def to_hash: -> { + sec_code: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::sec_code, + addenda: String?, + company_id: String?, + receipt_routing_number: String?, + retries: Integer?, + return_reason_code: String?, + trace_numbers: ::Array[String] + } + + type sec_code = :CCD | :PPD | :WEB | :TEL | :CIE | :CTX + + module SecCode + extend Lithic::Internal::Type::Enum + + CCD: :CCD + PPD: :PPD + WEB: :WEB + TEL: :TEL + CIE: :CIE + CTX: :CTX + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::sec_code] + end + end + + type wire_method_attributes = + { + wire_transfer_type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type, + external_bank_name: String?, + external_bank_routing_number: String?, + external_individual_name: String?, + imad: String?, + lithic_bank_name: String?, + lithic_bank_routing_number: String?, + lithic_individual_name: String?, + omad: String?, + previous_transfer: String?, + wire_token: String? + } + + class WireMethodAttributes < Lithic::Internal::Type::BaseModel + attr_accessor wire_transfer_type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type + + attr_accessor external_bank_name: String? + + attr_accessor external_bank_routing_number: String? + + attr_accessor external_individual_name: String? + + attr_accessor imad: String? + + attr_accessor lithic_bank_name: String? + + attr_accessor lithic_bank_routing_number: String? + + attr_accessor lithic_individual_name: String? + + attr_accessor omad: String? + + attr_accessor previous_transfer: String? + + attr_accessor wire_token: String? + + def initialize: ( + wire_transfer_type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type, + ?external_bank_name: String?, + ?external_bank_routing_number: String?, + ?external_individual_name: String?, + ?imad: String?, + ?lithic_bank_name: String?, + ?lithic_bank_routing_number: String?, + ?lithic_individual_name: String?, + ?omad: String?, + ?previous_transfer: String?, + ?wire_token: String? + ) -> void + + def to_hash: -> { + wire_transfer_type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type, + external_bank_name: String?, + external_bank_routing_number: String?, + external_individual_name: String?, + imad: String?, + lithic_bank_name: String?, + lithic_bank_routing_number: String?, + lithic_individual_name: String?, + omad: String?, + previous_transfer: String?, + wire_token: String? + } + + type wire_transfer_type = :FEDWIRE | :SWIFT + + module WireTransferType + extend Lithic::Internal::Type::Enum + + FEDWIRE: :FEDWIRE + SWIFT: :SWIFT + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type] + end + end + + def self?.variants: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::method_attributes] + end + + type related_account_tokens = + { account_token: String?, business_account_token: String? } + + class RelatedAccountTokens < Lithic::Internal::Type::BaseModel + attr_accessor account_token: String? + + attr_accessor business_account_token: String? + + def initialize: ( + account_token: String?, + business_account_token: String? + ) -> void + + def to_hash: -> { + account_token: String?, + business_account_token: String? + } + end + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::result] + end + + type source = :LITHIC | :EXTERNAL | :CUSTOMER + + module Source + extend Lithic::Internal::Type::Enum + + LITHIC: :LITHIC + EXTERNAL: :EXTERNAL + CUSTOMER: :CUSTOMER + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::source] + end + + type status = :PENDING | :SETTLED | :DECLINED | :REVERSED | :CANCELED + + module Status + extend Lithic::Internal::Type::Enum + + PENDING: :PENDING + SETTLED: :SETTLED + DECLINED: :DECLINED + REVERSED: :REVERSED + CANCELED: :CANCELED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::status] + end + end + + def self?.variants: -> ::Array[Lithic::Models::account_activity_list_response] + end + end +end diff --git a/sig/lithic/models/account_activity_retrieve_transaction_params.rbs b/sig/lithic/models/account_activity_retrieve_transaction_params.rbs new file mode 100644 index 00000000..14d791c5 --- /dev/null +++ b/sig/lithic/models/account_activity_retrieve_transaction_params.rbs @@ -0,0 +1,15 @@ +module Lithic + module Models + type account_activity_retrieve_transaction_params = + { } & Lithic::Internal::Type::request_parameters + + class AccountActivityRetrieveTransactionParams < Lithic::Internal::Type::BaseModel + extend Lithic::Internal::Type::RequestParameters::Converter + include Lithic::Internal::Type::RequestParameters + + def initialize: (?request_options: Lithic::request_opts) -> void + + def to_hash: -> { request_options: Lithic::RequestOptions } + end + end +end diff --git a/sig/lithic/models/account_activity_retrieve_transaction_response.rbs b/sig/lithic/models/account_activity_retrieve_transaction_response.rbs new file mode 100644 index 00000000..90fc5ea4 --- /dev/null +++ b/sig/lithic/models/account_activity_retrieve_transaction_response.rbs @@ -0,0 +1,1334 @@ +module Lithic + module Models + type account_activity_retrieve_transaction_response = + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction + | Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction + | Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction + | Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction + | Lithic::ExternalPayment + | Lithic::ManagementOperationTransaction + + module AccountActivityRetrieveTransactionResponse + extend Lithic::Internal::Type::Union + + type financial_transaction = + { + token: String, + category: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::category, + created: Time, + currency: String, + descriptor: String, + events: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event], + family: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::family, + financial_account_token: String, + pending_amount: Integer, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::result, + settled_amount: Integer, + status: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::status, + updated: Time + } + + class FinancialTransaction < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor category: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::category + + attr_accessor created: Time + + attr_accessor currency: String + + attr_accessor descriptor: String + + attr_accessor events: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event] + + attr_accessor family: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::family + + attr_accessor financial_account_token: String + + attr_accessor pending_amount: Integer + + attr_accessor result: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::result + + attr_accessor settled_amount: Integer + + attr_accessor status: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::status + + attr_accessor updated: Time + + def initialize: ( + token: String, + category: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::category, + created: Time, + currency: String, + descriptor: String, + events: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event], + family: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::family, + financial_account_token: String, + pending_amount: Integer, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::result, + settled_amount: Integer, + status: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::status, + updated: Time + ) -> void + + def to_hash: -> { + token: String, + category: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::category, + created: Time, + currency: String, + descriptor: String, + events: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event], + family: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::family, + financial_account_token: String, + pending_amount: Integer, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::result, + settled_amount: Integer, + status: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::status, + updated: Time + } + + type category = + :ACH + | :BALANCE_OR_FUNDING + | :CARD + | :EXTERNAL_ACH + | :EXTERNAL_CHECK + | :EXTERNAL_TRANSFER + | :EXTERNAL_WIRE + | :MANAGEMENT_ADJUSTMENT + | :MANAGEMENT_DISPUTE + | :MANAGEMENT_FEE + | :MANAGEMENT_REWARD + | :MANAGEMENT_DISBURSEMENT + | :PROGRAM_FUNDING + + module Category + extend Lithic::Internal::Type::Enum + + ACH: :ACH + BALANCE_OR_FUNDING: :BALANCE_OR_FUNDING + CARD: :CARD + EXTERNAL_ACH: :EXTERNAL_ACH + EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER + EXTERNAL_WIRE: :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT: :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE: :MANAGEMENT_DISPUTE + MANAGEMENT_FEE: :MANAGEMENT_FEE + MANAGEMENT_REWARD: :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT: :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING: :PROGRAM_FUNDING + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::category] + end + + type event = + { + token: String, + amount: Integer, + created: Time, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::result, + type: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::type_ + } + + class Event < Lithic::Internal::Type::BaseModel + attr_reader token: String? + + def token=: (String) -> String + + attr_reader amount: Integer? + + def amount=: (Integer) -> Integer + + attr_reader created: Time? + + def created=: (Time) -> Time + + attr_reader result: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::result? + + def result=: ( + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::result + ) -> Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::result + + attr_reader type: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::type_? + + def type=: ( + Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::type_ + ) -> Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::type_ + + def initialize: ( + ?token: String, + ?amount: Integer, + ?created: Time, + ?result: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::result, + ?type: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::type_ + ) -> void + + def to_hash: -> { + token: String, + amount: Integer, + created: Time, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::result, + type: Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::type_ + } + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::result] + end + + type type_ = + :ACH_ORIGINATION_CANCELLED + | :ACH_ORIGINATION_INITIATED + | :ACH_ORIGINATION_PROCESSED + | :ACH_ORIGINATION_RELEASED + | :ACH_ORIGINATION_REVIEWED + | :ACH_ORIGINATION_SETTLED + | :ACH_RECEIPT_PROCESSED + | :ACH_RECEIPT_SETTLED + | :ACH_RETURN_INITIATED + | :ACH_RETURN_PROCESSED + | :ACH_RETURN_SETTLED + | :AUTHORIZATION + | :AUTHORIZATION_ADVICE + | :AUTHORIZATION_EXPIRY + | :AUTHORIZATION_REVERSAL + | :BALANCE_INQUIRY + | :BILLING_ERROR + | :BILLING_ERROR_REVERSAL + | :CARD_TO_CARD + | :CASH_BACK + | :CASH_BACK_REVERSAL + | :CLEARING + | :COLLECTION + | :CORRECTION_CREDIT + | :CORRECTION_DEBIT + | :CREDIT_AUTHORIZATION + | :CREDIT_AUTHORIZATION_ADVICE + | :CURRENCY_CONVERSION + | :CURRENCY_CONVERSION_REVERSAL + | :DISPUTE_WON + | :EXTERNAL_ACH_CANCELED + | :EXTERNAL_ACH_INITIATED + | :EXTERNAL_ACH_RELEASED + | :EXTERNAL_ACH_REVERSED + | :EXTERNAL_ACH_SETTLED + | :EXTERNAL_CHECK_CANCELED + | :EXTERNAL_CHECK_INITIATED + | :EXTERNAL_CHECK_RELEASED + | :EXTERNAL_CHECK_REVERSED + | :EXTERNAL_CHECK_SETTLED + | :EXTERNAL_TRANSFER_CANCELED + | :EXTERNAL_TRANSFER_INITIATED + | :EXTERNAL_TRANSFER_RELEASED + | :EXTERNAL_TRANSFER_REVERSED + | :EXTERNAL_TRANSFER_SETTLED + | :EXTERNAL_WIRE_CANCELED + | :EXTERNAL_WIRE_INITIATED + | :EXTERNAL_WIRE_RELEASED + | :EXTERNAL_WIRE_REVERSED + | :EXTERNAL_WIRE_SETTLED + | :FINANCIAL_AUTHORIZATION + | :FINANCIAL_CREDIT_AUTHORIZATION + | :INTEREST + | :INTEREST_REVERSAL + | :INTERNAL_ADJUSTMENT + | :LATE_PAYMENT + | :LATE_PAYMENT_REVERSAL + | :LOSS_WRITE_OFF + | :PROVISIONAL_CREDIT + | :PROVISIONAL_CREDIT_REVERSAL + | :SERVICE + | :RETURN + | :RETURN_REVERSAL + | :TRANSFER + | :TRANSFER_INSUFFICIENT_FUNDS + | :RETURNED_PAYMENT + | :RETURNED_PAYMENT_REVERSAL + | :LITHIC_NETWORK_PAYMENT + + module Type + extend Lithic::Internal::Type::Enum + + ACH_ORIGINATION_CANCELLED: :ACH_ORIGINATION_CANCELLED + ACH_ORIGINATION_INITIATED: :ACH_ORIGINATION_INITIATED + ACH_ORIGINATION_PROCESSED: :ACH_ORIGINATION_PROCESSED + ACH_ORIGINATION_RELEASED: :ACH_ORIGINATION_RELEASED + ACH_ORIGINATION_REVIEWED: :ACH_ORIGINATION_REVIEWED + ACH_ORIGINATION_SETTLED: :ACH_ORIGINATION_SETTLED + ACH_RECEIPT_PROCESSED: :ACH_RECEIPT_PROCESSED + ACH_RECEIPT_SETTLED: :ACH_RECEIPT_SETTLED + ACH_RETURN_INITIATED: :ACH_RETURN_INITIATED + ACH_RETURN_PROCESSED: :ACH_RETURN_PROCESSED + ACH_RETURN_SETTLED: :ACH_RETURN_SETTLED + AUTHORIZATION: :AUTHORIZATION + AUTHORIZATION_ADVICE: :AUTHORIZATION_ADVICE + AUTHORIZATION_EXPIRY: :AUTHORIZATION_EXPIRY + AUTHORIZATION_REVERSAL: :AUTHORIZATION_REVERSAL + BALANCE_INQUIRY: :BALANCE_INQUIRY + BILLING_ERROR: :BILLING_ERROR + BILLING_ERROR_REVERSAL: :BILLING_ERROR_REVERSAL + CARD_TO_CARD: :CARD_TO_CARD + CASH_BACK: :CASH_BACK + CASH_BACK_REVERSAL: :CASH_BACK_REVERSAL + CLEARING: :CLEARING + COLLECTION: :COLLECTION + CORRECTION_CREDIT: :CORRECTION_CREDIT + CORRECTION_DEBIT: :CORRECTION_DEBIT + CREDIT_AUTHORIZATION: :CREDIT_AUTHORIZATION + CREDIT_AUTHORIZATION_ADVICE: :CREDIT_AUTHORIZATION_ADVICE + CURRENCY_CONVERSION: :CURRENCY_CONVERSION + CURRENCY_CONVERSION_REVERSAL: :CURRENCY_CONVERSION_REVERSAL + DISPUTE_WON: :DISPUTE_WON + EXTERNAL_ACH_CANCELED: :EXTERNAL_ACH_CANCELED + EXTERNAL_ACH_INITIATED: :EXTERNAL_ACH_INITIATED + EXTERNAL_ACH_RELEASED: :EXTERNAL_ACH_RELEASED + EXTERNAL_ACH_REVERSED: :EXTERNAL_ACH_REVERSED + EXTERNAL_ACH_SETTLED: :EXTERNAL_ACH_SETTLED + EXTERNAL_CHECK_CANCELED: :EXTERNAL_CHECK_CANCELED + EXTERNAL_CHECK_INITIATED: :EXTERNAL_CHECK_INITIATED + EXTERNAL_CHECK_RELEASED: :EXTERNAL_CHECK_RELEASED + EXTERNAL_CHECK_REVERSED: :EXTERNAL_CHECK_REVERSED + EXTERNAL_CHECK_SETTLED: :EXTERNAL_CHECK_SETTLED + EXTERNAL_TRANSFER_CANCELED: :EXTERNAL_TRANSFER_CANCELED + EXTERNAL_TRANSFER_INITIATED: :EXTERNAL_TRANSFER_INITIATED + EXTERNAL_TRANSFER_RELEASED: :EXTERNAL_TRANSFER_RELEASED + EXTERNAL_TRANSFER_REVERSED: :EXTERNAL_TRANSFER_REVERSED + EXTERNAL_TRANSFER_SETTLED: :EXTERNAL_TRANSFER_SETTLED + EXTERNAL_WIRE_CANCELED: :EXTERNAL_WIRE_CANCELED + EXTERNAL_WIRE_INITIATED: :EXTERNAL_WIRE_INITIATED + EXTERNAL_WIRE_RELEASED: :EXTERNAL_WIRE_RELEASED + EXTERNAL_WIRE_REVERSED: :EXTERNAL_WIRE_REVERSED + EXTERNAL_WIRE_SETTLED: :EXTERNAL_WIRE_SETTLED + FINANCIAL_AUTHORIZATION: :FINANCIAL_AUTHORIZATION + FINANCIAL_CREDIT_AUTHORIZATION: :FINANCIAL_CREDIT_AUTHORIZATION + INTEREST: :INTEREST + INTEREST_REVERSAL: :INTEREST_REVERSAL + INTERNAL_ADJUSTMENT: :INTERNAL_ADJUSTMENT + LATE_PAYMENT: :LATE_PAYMENT + LATE_PAYMENT_REVERSAL: :LATE_PAYMENT_REVERSAL + LOSS_WRITE_OFF: :LOSS_WRITE_OFF + PROVISIONAL_CREDIT: :PROVISIONAL_CREDIT + PROVISIONAL_CREDIT_REVERSAL: :PROVISIONAL_CREDIT_REVERSAL + SERVICE: :SERVICE + RETURN: :RETURN + RETURN_REVERSAL: :RETURN_REVERSAL + TRANSFER: :TRANSFER + TRANSFER_INSUFFICIENT_FUNDS: :TRANSFER_INSUFFICIENT_FUNDS + RETURNED_PAYMENT: :RETURNED_PAYMENT + RETURNED_PAYMENT_REVERSAL: :RETURNED_PAYMENT_REVERSAL + LITHIC_NETWORK_PAYMENT: :LITHIC_NETWORK_PAYMENT + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::Event::type_] + end + end + + type family = + :CARD + | :PAYMENT + | :TRANSFER + | :INTERNAL + | :EXTERNAL_PAYMENT + | :MANAGEMENT_OPERATION + + module Family + extend Lithic::Internal::Type::Enum + + CARD: :CARD + PAYMENT: :PAYMENT + TRANSFER: :TRANSFER + INTERNAL: :INTERNAL + EXTERNAL_PAYMENT: :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION: :MANAGEMENT_OPERATION + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::family] + end + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::result] + end + + type status = :PENDING | :SETTLED | :DECLINED | :REVERSED | :CANCELED + + module Status + extend Lithic::Internal::Type::Enum + + PENDING: :PENDING + SETTLED: :SETTLED + DECLINED: :DECLINED + REVERSED: :REVERSED + CANCELED: :CANCELED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction::status] + end + end + + type book_transfer_transaction = + { + token: String, + category: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::category, + created: Time, + currency: String, + events: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event], + family: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::family, + from_financial_account_token: String, + pending_amount: Integer, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::result, + settled_amount: Integer, + status: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::status, + to_financial_account_token: String, + updated: Time, + external_id: String, + external_resource: Lithic::ExternalResource?, + transaction_series: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::TransactionSeries? + } + + class BookTransferTransaction < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor category: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::category + + attr_accessor created: Time + + attr_accessor currency: String + + attr_accessor events: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event] + + attr_accessor family: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::family + + attr_accessor from_financial_account_token: String + + attr_accessor pending_amount: Integer + + attr_accessor result: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::result + + attr_accessor settled_amount: Integer + + attr_accessor status: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::status + + attr_accessor to_financial_account_token: String + + attr_accessor updated: Time + + attr_reader external_id: String? + + def external_id=: (String) -> String + + attr_accessor external_resource: Lithic::ExternalResource? + + attr_accessor transaction_series: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::TransactionSeries? + + def initialize: ( + token: String, + category: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::category, + created: Time, + currency: String, + events: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event], + family: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::family, + from_financial_account_token: String, + pending_amount: Integer, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::result, + settled_amount: Integer, + status: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::status, + to_financial_account_token: String, + updated: Time, + ?external_id: String, + ?external_resource: Lithic::ExternalResource?, + ?transaction_series: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::TransactionSeries? + ) -> void + + def to_hash: -> { + token: String, + category: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::category, + created: Time, + currency: String, + events: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event], + family: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::family, + from_financial_account_token: String, + pending_amount: Integer, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::result, + settled_amount: Integer, + status: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::status, + to_financial_account_token: String, + updated: Time, + external_id: String, + external_resource: Lithic::ExternalResource?, + transaction_series: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::TransactionSeries? + } + + type category = + :ACH + | :BALANCE_OR_FUNDING + | :CARD + | :EXTERNAL_ACH + | :EXTERNAL_CHECK + | :EXTERNAL_TRANSFER + | :EXTERNAL_WIRE + | :MANAGEMENT_ADJUSTMENT + | :MANAGEMENT_DISPUTE + | :MANAGEMENT_FEE + | :MANAGEMENT_REWARD + | :MANAGEMENT_DISBURSEMENT + | :PROGRAM_FUNDING + + module Category + extend Lithic::Internal::Type::Enum + + ACH: :ACH + BALANCE_OR_FUNDING: :BALANCE_OR_FUNDING + CARD: :CARD + EXTERNAL_ACH: :EXTERNAL_ACH + EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER + EXTERNAL_WIRE: :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT: :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE: :MANAGEMENT_DISPUTE + MANAGEMENT_FEE: :MANAGEMENT_FEE + MANAGEMENT_REWARD: :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT: :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING: :PROGRAM_FUNDING + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::category] + end + + type event = + { + token: String, + amount: Integer, + created: Time, + detailed_results: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::detailed_results, + memo: String, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::result, + subtype: String, + type: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::type_ + } + + class Event < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor amount: Integer + + attr_accessor created: Time + + attr_accessor detailed_results: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::detailed_results + + attr_accessor memo: String + + attr_accessor result: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::result + + attr_accessor subtype: String + + attr_accessor type: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::type_ + + def initialize: ( + token: String, + amount: Integer, + created: Time, + detailed_results: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::detailed_results, + memo: String, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::result, + subtype: String, + type: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::type_ + ) -> void + + def to_hash: -> { + token: String, + amount: Integer, + created: Time, + detailed_results: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::detailed_results, + memo: String, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::result, + subtype: String, + type: Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::type_ + } + + type detailed_results = :APPROVED | :FUNDS_INSUFFICIENT + + module DetailedResults + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + FUNDS_INSUFFICIENT: :FUNDS_INSUFFICIENT + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::detailed_results] + end + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::result] + end + + type type_ = + :ATM_WITHDRAWAL + | :ATM_DECLINE + | :INTERNATIONAL_ATM_WITHDRAWAL + | :INACTIVITY + | :STATEMENT + | :MONTHLY + | :QUARTERLY + | :ANNUAL + | :CUSTOMER_SERVICE + | :ACCOUNT_MAINTENANCE + | :ACCOUNT_ACTIVATION + | :ACCOUNT_CLOSURE + | :CARD_REPLACEMENT + | :CARD_DELIVERY + | :CARD_CREATE + | :CURRENCY_CONVERSION + | :INTEREST + | :LATE_PAYMENT + | :BILL_PAYMENT + | :CASH_BACK + | :ACCOUNT_TO_ACCOUNT + | :CARD_TO_CARD + | :DISBURSE + | :BILLING_ERROR + | :LOSS_WRITE_OFF + | :EXPIRED_CARD + | :EARLY_DERECOGNITION + | :ESCHEATMENT + | :INACTIVITY_FEE_DOWN + | :PROVISIONAL_CREDIT + | :DISPUTE_WON + | :SERVICE + | :TRANSFER + + module Type + extend Lithic::Internal::Type::Enum + + ATM_WITHDRAWAL: :ATM_WITHDRAWAL + ATM_DECLINE: :ATM_DECLINE + INTERNATIONAL_ATM_WITHDRAWAL: :INTERNATIONAL_ATM_WITHDRAWAL + INACTIVITY: :INACTIVITY + STATEMENT: :STATEMENT + MONTHLY: :MONTHLY + QUARTERLY: :QUARTERLY + ANNUAL: :ANNUAL + CUSTOMER_SERVICE: :CUSTOMER_SERVICE + ACCOUNT_MAINTENANCE: :ACCOUNT_MAINTENANCE + ACCOUNT_ACTIVATION: :ACCOUNT_ACTIVATION + ACCOUNT_CLOSURE: :ACCOUNT_CLOSURE + CARD_REPLACEMENT: :CARD_REPLACEMENT + CARD_DELIVERY: :CARD_DELIVERY + CARD_CREATE: :CARD_CREATE + CURRENCY_CONVERSION: :CURRENCY_CONVERSION + INTEREST: :INTEREST + LATE_PAYMENT: :LATE_PAYMENT + BILL_PAYMENT: :BILL_PAYMENT + CASH_BACK: :CASH_BACK + ACCOUNT_TO_ACCOUNT: :ACCOUNT_TO_ACCOUNT + CARD_TO_CARD: :CARD_TO_CARD + DISBURSE: :DISBURSE + BILLING_ERROR: :BILLING_ERROR + LOSS_WRITE_OFF: :LOSS_WRITE_OFF + EXPIRED_CARD: :EXPIRED_CARD + EARLY_DERECOGNITION: :EARLY_DERECOGNITION + ESCHEATMENT: :ESCHEATMENT + INACTIVITY_FEE_DOWN: :INACTIVITY_FEE_DOWN + PROVISIONAL_CREDIT: :PROVISIONAL_CREDIT + DISPUTE_WON: :DISPUTE_WON + SERVICE: :SERVICE + TRANSFER: :TRANSFER + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::type_] + end + end + + type family = + :CARD + | :PAYMENT + | :TRANSFER + | :INTERNAL + | :EXTERNAL_PAYMENT + | :MANAGEMENT_OPERATION + + module Family + extend Lithic::Internal::Type::Enum + + CARD: :CARD + PAYMENT: :PAYMENT + TRANSFER: :TRANSFER + INTERNAL: :INTERNAL + EXTERNAL_PAYMENT: :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION: :MANAGEMENT_OPERATION + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::family] + end + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::result] + end + + type status = :PENDING | :SETTLED | :DECLINED | :REVERSED | :CANCELED + + module Status + extend Lithic::Internal::Type::Enum + + PENDING: :PENDING + SETTLED: :SETTLED + DECLINED: :DECLINED + REVERSED: :REVERSED + CANCELED: :CANCELED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::status] + end + + type transaction_series = + { + related_transaction_event_token: String?, + related_transaction_token: String?, + type: String + } + + class TransactionSeries < Lithic::Internal::Type::BaseModel + attr_accessor related_transaction_event_token: String? + + attr_accessor related_transaction_token: String? + + attr_accessor type: String + + def initialize: ( + related_transaction_event_token: String?, + related_transaction_token: String?, + type: String + ) -> void + + def to_hash: -> { + related_transaction_event_token: String?, + related_transaction_token: String?, + type: String + } + end + end + + type card_transaction = + { + token: String, + created: Time, + family: Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::family, + status: Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::status, + updated: Time + } + + class CardTransaction < Lithic::Models::Transaction + def token: -> String + + def token=: (String _) -> String + + def created: -> Time + + def created=: (Time _) -> Time + + def family: -> Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::family + + def family=: ( + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::family _ + ) -> Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::family + + def status: -> Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::status + + def status=: ( + Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::status _ + ) -> Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::status + + def updated: -> Time + + def updated=: (Time _) -> Time + + def initialize: ( + token: String, + created: Time, + family: Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::family, + status: Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::status, + updated: Time + ) -> void + + def to_hash: -> { + token: String, + created: Time, + family: Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::family, + status: Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::status, + updated: Time + } + + type family = + :CARD + | :PAYMENT + | :TRANSFER + | :INTERNAL + | :EXTERNAL_PAYMENT + | :MANAGEMENT_OPERATION + + module Family + extend Lithic::Internal::Type::Enum + + CARD: :CARD + PAYMENT: :PAYMENT + TRANSFER: :TRANSFER + INTERNAL: :INTERNAL + EXTERNAL_PAYMENT: :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION: :MANAGEMENT_OPERATION + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::family] + end + + type status = :PENDING | :SETTLED | :DECLINED | :REVERSED | :CANCELED + + module Status + extend Lithic::Internal::Type::Enum + + PENDING: :PENDING + SETTLED: :SETTLED + DECLINED: :DECLINED + REVERSED: :REVERSED + CANCELED: :CANCELED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction::status] + end + end + + type payment_transaction = + { + token: String, + category: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::category, + created: Time, + descriptor: String, + direction: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::direction, + events: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event], + family: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::family, + financial_account_token: String, + method_: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::method_, + method_attributes: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::method_attributes, + pending_amount: Integer, + related_account_tokens: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::RelatedAccountTokens, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::result, + settled_amount: Integer, + source: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::source, + status: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::status, + updated: Time, + currency: String, + expected_release_date: Date?, + external_bank_account_token: String?, + user_defined_id: String? + } + + class PaymentTransaction < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor category: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::category + + attr_accessor created: Time + + attr_accessor descriptor: String + + attr_accessor direction: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::direction + + attr_accessor events: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event] + + attr_accessor family: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::family + + attr_accessor financial_account_token: String + + attr_accessor method_: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::method_ + + attr_accessor method_attributes: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::method_attributes + + attr_accessor pending_amount: Integer + + attr_accessor related_account_tokens: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::RelatedAccountTokens + + attr_accessor result: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::result + + attr_accessor settled_amount: Integer + + attr_accessor source: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::source + + attr_accessor status: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::status + + attr_accessor updated: Time + + attr_reader currency: String? + + def currency=: (String) -> String + + attr_accessor expected_release_date: Date? + + attr_accessor external_bank_account_token: String? + + attr_accessor user_defined_id: String? + + def initialize: ( + token: String, + category: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::category, + created: Time, + descriptor: String, + direction: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::direction, + events: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event], + family: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::family, + financial_account_token: String, + method_: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::method_, + method_attributes: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::method_attributes, + pending_amount: Integer, + related_account_tokens: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::RelatedAccountTokens, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::result, + settled_amount: Integer, + source: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::source, + status: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::status, + updated: Time, + ?currency: String, + ?expected_release_date: Date?, + ?external_bank_account_token: String?, + ?user_defined_id: String? + ) -> void + + def to_hash: -> { + token: String, + category: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::category, + created: Time, + descriptor: String, + direction: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::direction, + events: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event], + family: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::family, + financial_account_token: String, + method_: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::method_, + method_attributes: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::method_attributes, + pending_amount: Integer, + related_account_tokens: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::RelatedAccountTokens, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::result, + settled_amount: Integer, + source: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::source, + status: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::status, + updated: Time, + currency: String, + expected_release_date: Date?, + external_bank_account_token: String?, + user_defined_id: String? + } + + type category = + :ACH + | :BALANCE_OR_FUNDING + | :CARD + | :EXTERNAL_ACH + | :EXTERNAL_CHECK + | :EXTERNAL_TRANSFER + | :EXTERNAL_WIRE + | :MANAGEMENT_ADJUSTMENT + | :MANAGEMENT_DISPUTE + | :MANAGEMENT_FEE + | :MANAGEMENT_REWARD + | :MANAGEMENT_DISBURSEMENT + | :PROGRAM_FUNDING + + module Category + extend Lithic::Internal::Type::Enum + + ACH: :ACH + BALANCE_OR_FUNDING: :BALANCE_OR_FUNDING + CARD: :CARD + EXTERNAL_ACH: :EXTERNAL_ACH + EXTERNAL_CHECK: :EXTERNAL_CHECK + EXTERNAL_TRANSFER: :EXTERNAL_TRANSFER + EXTERNAL_WIRE: :EXTERNAL_WIRE + MANAGEMENT_ADJUSTMENT: :MANAGEMENT_ADJUSTMENT + MANAGEMENT_DISPUTE: :MANAGEMENT_DISPUTE + MANAGEMENT_FEE: :MANAGEMENT_FEE + MANAGEMENT_REWARD: :MANAGEMENT_REWARD + MANAGEMENT_DISBURSEMENT: :MANAGEMENT_DISBURSEMENT + PROGRAM_FUNDING: :PROGRAM_FUNDING + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::category] + end + + type direction = :CREDIT | :DEBIT + + module Direction + extend Lithic::Internal::Type::Enum + + CREDIT: :CREDIT + DEBIT: :DEBIT + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::direction] + end + + type event = + { + token: String, + amount: Integer, + created: Time, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::result, + type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::type_, + detailed_results: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::detailed_result] + } + + class Event < Lithic::Internal::Type::BaseModel + attr_accessor token: String + + attr_accessor amount: Integer + + attr_accessor created: Time + + attr_accessor result: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::result + + attr_accessor type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::type_ + + attr_reader detailed_results: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::detailed_result]? + + def detailed_results=: ( + ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::detailed_result] + ) -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::detailed_result] + + def initialize: ( + token: String, + amount: Integer, + created: Time, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::result, + type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::type_, + ?detailed_results: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::detailed_result] + ) -> void + + def to_hash: -> { + token: String, + amount: Integer, + created: Time, + result: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::result, + type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::type_, + detailed_results: ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::detailed_result] + } + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::result] + end + + type type_ = + :ACH_ORIGINATION_CANCELLED + | :ACH_ORIGINATION_INITIATED + | :ACH_ORIGINATION_PROCESSED + | :ACH_ORIGINATION_SETTLED + | :ACH_ORIGINATION_RELEASED + | :ACH_ORIGINATION_REVIEWED + | :ACH_RECEIPT_PROCESSED + | :ACH_RECEIPT_SETTLED + | :ACH_RETURN_INITIATED + | :ACH_RETURN_PROCESSED + | :ACH_RETURN_SETTLED + + module Type + extend Lithic::Internal::Type::Enum + + ACH_ORIGINATION_CANCELLED: :ACH_ORIGINATION_CANCELLED + ACH_ORIGINATION_INITIATED: :ACH_ORIGINATION_INITIATED + ACH_ORIGINATION_PROCESSED: :ACH_ORIGINATION_PROCESSED + ACH_ORIGINATION_SETTLED: :ACH_ORIGINATION_SETTLED + ACH_ORIGINATION_RELEASED: :ACH_ORIGINATION_RELEASED + ACH_ORIGINATION_REVIEWED: :ACH_ORIGINATION_REVIEWED + ACH_RECEIPT_PROCESSED: :ACH_RECEIPT_PROCESSED + ACH_RECEIPT_SETTLED: :ACH_RECEIPT_SETTLED + ACH_RETURN_INITIATED: :ACH_RETURN_INITIATED + ACH_RETURN_PROCESSED: :ACH_RETURN_PROCESSED + ACH_RETURN_SETTLED: :ACH_RETURN_SETTLED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::type_] + end + + type detailed_result = + :APPROVED + | :FUNDS_INSUFFICIENT + | :ACCOUNT_INVALID + | :PROGRAM_TRANSACTION_LIMIT_EXCEEDED + | :PROGRAM_DAILY_LIMIT_EXCEEDED + | :PROGRAM_MONTHLY_LIMIT_EXCEEDED + + module DetailedResult + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + FUNDS_INSUFFICIENT: :FUNDS_INSUFFICIENT + ACCOUNT_INVALID: :ACCOUNT_INVALID + PROGRAM_TRANSACTION_LIMIT_EXCEEDED: :PROGRAM_TRANSACTION_LIMIT_EXCEEDED + PROGRAM_DAILY_LIMIT_EXCEEDED: :PROGRAM_DAILY_LIMIT_EXCEEDED + PROGRAM_MONTHLY_LIMIT_EXCEEDED: :PROGRAM_MONTHLY_LIMIT_EXCEEDED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Event::detailed_result] + end + end + + type family = + :CARD + | :PAYMENT + | :TRANSFER + | :INTERNAL + | :EXTERNAL_PAYMENT + | :MANAGEMENT_OPERATION + + module Family + extend Lithic::Internal::Type::Enum + + CARD: :CARD + PAYMENT: :PAYMENT + TRANSFER: :TRANSFER + INTERNAL: :INTERNAL + EXTERNAL_PAYMENT: :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION: :MANAGEMENT_OPERATION + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::family] + end + + type method_ = :ACH_NEXT_DAY | :ACH_SAME_DAY | :WIRE + + module Method + extend Lithic::Internal::Type::Enum + + ACH_NEXT_DAY: :ACH_NEXT_DAY + ACH_SAME_DAY: :ACH_SAME_DAY + WIRE: :WIRE + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::method_] + end + + type method_attributes = + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes + | Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes + + module MethodAttributes + extend Lithic::Internal::Type::Union + + type ach_method_attributes = + { + sec_code: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::sec_code, + addenda: String?, + company_id: String?, + receipt_routing_number: String?, + retries: Integer?, + return_reason_code: String?, + trace_numbers: ::Array[String] + } + + class ACHMethodAttributes < Lithic::Internal::Type::BaseModel + attr_accessor sec_code: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::sec_code + + attr_accessor addenda: String? + + attr_accessor company_id: String? + + attr_accessor receipt_routing_number: String? + + attr_accessor retries: Integer? + + attr_accessor return_reason_code: String? + + attr_reader trace_numbers: ::Array[String]? + + def trace_numbers=: (::Array[String]) -> ::Array[String] + + def initialize: ( + sec_code: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::sec_code, + ?addenda: String?, + ?company_id: String?, + ?receipt_routing_number: String?, + ?retries: Integer?, + ?return_reason_code: String?, + ?trace_numbers: ::Array[String] + ) -> void + + def to_hash: -> { + sec_code: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::sec_code, + addenda: String?, + company_id: String?, + receipt_routing_number: String?, + retries: Integer?, + return_reason_code: String?, + trace_numbers: ::Array[String] + } + + type sec_code = :CCD | :PPD | :WEB | :TEL | :CIE | :CTX + + module SecCode + extend Lithic::Internal::Type::Enum + + CCD: :CCD + PPD: :PPD + WEB: :WEB + TEL: :TEL + CIE: :CIE + CTX: :CTX + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::ACHMethodAttributes::sec_code] + end + end + + type wire_method_attributes = + { + wire_transfer_type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type, + external_bank_name: String?, + external_bank_routing_number: String?, + external_individual_name: String?, + imad: String?, + lithic_bank_name: String?, + lithic_bank_routing_number: String?, + lithic_individual_name: String?, + omad: String?, + previous_transfer: String?, + wire_token: String? + } + + class WireMethodAttributes < Lithic::Internal::Type::BaseModel + attr_accessor wire_transfer_type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type + + attr_accessor external_bank_name: String? + + attr_accessor external_bank_routing_number: String? + + attr_accessor external_individual_name: String? + + attr_accessor imad: String? + + attr_accessor lithic_bank_name: String? + + attr_accessor lithic_bank_routing_number: String? + + attr_accessor lithic_individual_name: String? + + attr_accessor omad: String? + + attr_accessor previous_transfer: String? + + attr_accessor wire_token: String? + + def initialize: ( + wire_transfer_type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type, + ?external_bank_name: String?, + ?external_bank_routing_number: String?, + ?external_individual_name: String?, + ?imad: String?, + ?lithic_bank_name: String?, + ?lithic_bank_routing_number: String?, + ?lithic_individual_name: String?, + ?omad: String?, + ?previous_transfer: String?, + ?wire_token: String? + ) -> void + + def to_hash: -> { + wire_transfer_type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type, + external_bank_name: String?, + external_bank_routing_number: String?, + external_individual_name: String?, + imad: String?, + lithic_bank_name: String?, + lithic_bank_routing_number: String?, + lithic_individual_name: String?, + omad: String?, + previous_transfer: String?, + wire_token: String? + } + + type wire_transfer_type = :FEDWIRE | :SWIFT + + module WireTransferType + extend Lithic::Internal::Type::Enum + + FEDWIRE: :FEDWIRE + SWIFT: :SWIFT + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type] + end + end + + def self?.variants: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::method_attributes] + end + + type related_account_tokens = + { account_token: String?, business_account_token: String? } + + class RelatedAccountTokens < Lithic::Internal::Type::BaseModel + attr_accessor account_token: String? + + attr_accessor business_account_token: String? + + def initialize: ( + account_token: String?, + business_account_token: String? + ) -> void + + def to_hash: -> { + account_token: String?, + business_account_token: String? + } + end + + type result = :APPROVED | :DECLINED + + module Result + extend Lithic::Internal::Type::Enum + + APPROVED: :APPROVED + DECLINED: :DECLINED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::result] + end + + type source = :LITHIC | :EXTERNAL | :CUSTOMER + + module Source + extend Lithic::Internal::Type::Enum + + LITHIC: :LITHIC + EXTERNAL: :EXTERNAL + CUSTOMER: :CUSTOMER + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::source] + end + + type status = :PENDING | :SETTLED | :DECLINED | :REVERSED | :CANCELED + + module Status + extend Lithic::Internal::Type::Enum + + PENDING: :PENDING + SETTLED: :SETTLED + DECLINED: :DECLINED + REVERSED: :REVERSED + CANCELED: :CANCELED + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::status] + end + end + + def self?.variants: -> ::Array[Lithic::Models::account_activity_retrieve_transaction_response] + end + end +end diff --git a/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs b/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs index dfa332ed..e588b69e 100644 --- a/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs +++ b/sig/lithic/models/account_holder_simulate_enrollment_review_response.rbs @@ -577,7 +577,8 @@ module Lithic created: Time, status: Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::VerificationApplication::status, status_reasons: ::Array[Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::VerificationApplication::status_reason], - updated: Time + updated: Time, + ky_passed_at: Time } class VerificationApplication < Lithic::Internal::Type::BaseModel @@ -589,18 +590,24 @@ module Lithic attr_accessor updated: Time + attr_reader ky_passed_at: Time? + + def ky_passed_at=: (Time) -> Time + def initialize: ( created: Time, status: Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::VerificationApplication::status, status_reasons: ::Array[Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::VerificationApplication::status_reason], - updated: Time + updated: Time, + ?ky_passed_at: Time ) -> void def to_hash: -> { created: Time, status: Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::VerificationApplication::status, status_reasons: ::Array[Lithic::Models::AccountHolderSimulateEnrollmentReviewResponse::VerificationApplication::status_reason], - updated: Time + updated: Time, + ky_passed_at: Time } type status = diff --git a/sig/lithic/models/account_holder_update_response.rbs b/sig/lithic/models/account_holder_update_response.rbs index 21cc4862..c8118e38 100644 --- a/sig/lithic/models/account_holder_update_response.rbs +++ b/sig/lithic/models/account_holder_update_response.rbs @@ -584,7 +584,8 @@ module Lithic created: Time, status: Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::VerificationApplication::status, status_reasons: ::Array[Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::VerificationApplication::status_reason], - updated: Time + updated: Time, + ky_passed_at: Time } class VerificationApplication < Lithic::Internal::Type::BaseModel @@ -596,18 +597,24 @@ module Lithic attr_accessor updated: Time + attr_reader ky_passed_at: Time? + + def ky_passed_at=: (Time) -> Time + def initialize: ( created: Time, status: Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::VerificationApplication::status, status_reasons: ::Array[Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::VerificationApplication::status_reason], - updated: Time + updated: Time, + ?ky_passed_at: Time ) -> void def to_hash: -> { created: Time, status: Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::VerificationApplication::status, status_reasons: ::Array[Lithic::Models::AccountHolderUpdateResponse::KYBKYCPatchResponse::VerificationApplication::status_reason], - updated: Time + updated: Time, + ky_passed_at: Time } type status = diff --git a/sig/lithic/models/auth_rules/v2_list_params.rbs b/sig/lithic/models/auth_rules/v2_list_params.rbs index 5ffe34e5..47ef0287 100644 --- a/sig/lithic/models/auth_rules/v2_list_params.rbs +++ b/sig/lithic/models/auth_rules/v2_list_params.rbs @@ -82,7 +82,7 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::AuthRules::V2ListParams::event_stream] end - type scope = :PROGRAM | :ACCOUNT | :CARD + type scope = :PROGRAM | :ACCOUNT | :CARD | :ANY module Scope extend Lithic::Internal::Type::Enum @@ -90,6 +90,7 @@ module Lithic PROGRAM: :PROGRAM ACCOUNT: :ACCOUNT CARD: :CARD + ANY: :ANY def self?.values: -> ::Array[Lithic::Models::AuthRules::V2ListParams::scope] end diff --git a/sig/lithic/models/book_transfer_create_params.rbs b/sig/lithic/models/book_transfer_create_params.rbs index b9bd7ab9..6d9677f8 100644 --- a/sig/lithic/models/book_transfer_create_params.rbs +++ b/sig/lithic/models/book_transfer_create_params.rbs @@ -9,7 +9,9 @@ module Lithic to_financial_account_token: String, type: Lithic::Models::BookTransferCreateParams::type_, token: String, - memo: String + external_id: String, + memo: String, + on_closed_account: Lithic::Models::BookTransferCreateParams::on_closed_account } & Lithic::Internal::Type::request_parameters @@ -33,10 +35,20 @@ module Lithic def token=: (String) -> String + attr_reader external_id: String? + + def external_id=: (String) -> String + attr_reader memo: String? def memo=: (String) -> String + attr_reader on_closed_account: Lithic::Models::BookTransferCreateParams::on_closed_account? + + def on_closed_account=: ( + Lithic::Models::BookTransferCreateParams::on_closed_account + ) -> Lithic::Models::BookTransferCreateParams::on_closed_account + def initialize: ( amount: Integer, category: Lithic::Models::BookTransferCreateParams::category, @@ -45,7 +57,9 @@ module Lithic to_financial_account_token: String, type: Lithic::Models::BookTransferCreateParams::type_, ?token: String, + ?external_id: String, ?memo: String, + ?on_closed_account: Lithic::Models::BookTransferCreateParams::on_closed_account, ?request_options: Lithic::request_opts ) -> void @@ -57,7 +71,9 @@ module Lithic to_financial_account_token: String, type: Lithic::Models::BookTransferCreateParams::type_, token: String, + external_id: String, memo: String, + on_closed_account: Lithic::Models::BookTransferCreateParams::on_closed_account, request_options: Lithic::RequestOptions } @@ -158,6 +174,17 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::BookTransferCreateParams::type_] end + + type on_closed_account = :FAIL | :USE_SUSPENSE + + module OnClosedAccount + extend Lithic::Internal::Type::Enum + + FAIL: :FAIL + USE_SUSPENSE: :USE_SUSPENSE + + def self?.values: -> ::Array[Lithic::Models::BookTransferCreateParams::on_closed_account] + end end end end diff --git a/sig/lithic/models/book_transfer_response.rbs b/sig/lithic/models/book_transfer_response.rbs index 3212bb23..beca4f26 100644 --- a/sig/lithic/models/book_transfer_response.rbs +++ b/sig/lithic/models/book_transfer_response.rbs @@ -7,12 +7,15 @@ module Lithic created: Time, currency: String, events: ::Array[Lithic::BookTransferResponse::Event], + external_id: String?, + external_resource: Lithic::ExternalResource?, from_financial_account_token: String, pending_amount: Integer, result: Lithic::Models::BookTransferResponse::result, settled_amount: Integer, status: Lithic::Models::BookTransferResponse::status, - to_financial_account_token: top, + to_financial_account_token: String, + transaction_series: Lithic::BookTransferResponse::TransactionSeries?, updated: Time } @@ -27,6 +30,10 @@ module Lithic attr_accessor events: ::Array[Lithic::BookTransferResponse::Event] + attr_accessor external_id: String? + + attr_accessor external_resource: Lithic::ExternalResource? + attr_accessor from_financial_account_token: String attr_accessor pending_amount: Integer @@ -37,7 +44,9 @@ module Lithic attr_accessor status: Lithic::Models::BookTransferResponse::status - attr_accessor to_financial_account_token: top + attr_accessor to_financial_account_token: String + + attr_accessor transaction_series: Lithic::BookTransferResponse::TransactionSeries? attr_accessor updated: Time @@ -47,12 +56,15 @@ module Lithic created: Time, currency: String, events: ::Array[Lithic::BookTransferResponse::Event], + external_id: String?, + external_resource: Lithic::ExternalResource?, from_financial_account_token: String, pending_amount: Integer, result: Lithic::Models::BookTransferResponse::result, settled_amount: Integer, status: Lithic::Models::BookTransferResponse::status, - to_financial_account_token: top, + to_financial_account_token: String, + transaction_series: Lithic::BookTransferResponse::TransactionSeries?, updated: Time ) -> void @@ -62,12 +74,15 @@ module Lithic created: Time, currency: String, events: ::Array[Lithic::BookTransferResponse::Event], + external_id: String?, + external_resource: Lithic::ExternalResource?, from_financial_account_token: String, pending_amount: Integer, result: Lithic::Models::BookTransferResponse::result, settled_amount: Integer, status: Lithic::Models::BookTransferResponse::status, - to_financial_account_token: top, + to_financial_account_token: String, + transaction_series: Lithic::BookTransferResponse::TransactionSeries?, updated: Time } @@ -99,11 +114,11 @@ module Lithic token: String, amount: Integer, created: Time, - detailed_results: ::Array[Lithic::Models::BookTransferResponse::Event::detailed_result], + detailed_results: Lithic::Models::BookTransferResponse::Event::detailed_results, memo: String, result: Lithic::Models::BookTransferResponse::Event::result, subtype: String, - type: String + type: Lithic::Models::BookTransferResponse::Event::type_ } class Event < Lithic::Internal::Type::BaseModel @@ -113,7 +128,7 @@ module Lithic attr_accessor created: Time - attr_accessor detailed_results: ::Array[Lithic::Models::BookTransferResponse::Event::detailed_result] + attr_accessor detailed_results: Lithic::Models::BookTransferResponse::Event::detailed_results attr_accessor memo: String @@ -121,39 +136,39 @@ module Lithic attr_accessor subtype: String - attr_accessor type: String + attr_accessor type: Lithic::Models::BookTransferResponse::Event::type_ def initialize: ( token: String, amount: Integer, created: Time, - detailed_results: ::Array[Lithic::Models::BookTransferResponse::Event::detailed_result], + detailed_results: Lithic::Models::BookTransferResponse::Event::detailed_results, memo: String, result: Lithic::Models::BookTransferResponse::Event::result, subtype: String, - type: String + type: Lithic::Models::BookTransferResponse::Event::type_ ) -> void def to_hash: -> { token: String, amount: Integer, created: Time, - detailed_results: ::Array[Lithic::Models::BookTransferResponse::Event::detailed_result], + detailed_results: Lithic::Models::BookTransferResponse::Event::detailed_results, memo: String, result: Lithic::Models::BookTransferResponse::Event::result, subtype: String, - type: String + type: Lithic::Models::BookTransferResponse::Event::type_ } - type detailed_result = :APPROVED | :FUNDS_INSUFFICIENT + type detailed_results = :APPROVED | :FUNDS_INSUFFICIENT - module DetailedResult + module DetailedResults extend Lithic::Internal::Type::Enum APPROVED: :APPROVED FUNDS_INSUFFICIENT: :FUNDS_INSUFFICIENT - def self?.values: -> ::Array[Lithic::Models::BookTransferResponse::Event::detailed_result] + def self?.values: -> ::Array[Lithic::Models::BookTransferResponse::Event::detailed_results] end type result = :APPROVED | :DECLINED @@ -166,6 +181,81 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::BookTransferResponse::Event::result] end + + type type_ = + :ATM_WITHDRAWAL + | :ATM_DECLINE + | :INTERNATIONAL_ATM_WITHDRAWAL + | :INACTIVITY + | :STATEMENT + | :MONTHLY + | :QUARTERLY + | :ANNUAL + | :CUSTOMER_SERVICE + | :ACCOUNT_MAINTENANCE + | :ACCOUNT_ACTIVATION + | :ACCOUNT_CLOSURE + | :CARD_REPLACEMENT + | :CARD_DELIVERY + | :CARD_CREATE + | :CURRENCY_CONVERSION + | :INTEREST + | :LATE_PAYMENT + | :BILL_PAYMENT + | :CASH_BACK + | :ACCOUNT_TO_ACCOUNT + | :CARD_TO_CARD + | :DISBURSE + | :BILLING_ERROR + | :LOSS_WRITE_OFF + | :EXPIRED_CARD + | :EARLY_DERECOGNITION + | :ESCHEATMENT + | :INACTIVITY_FEE_DOWN + | :PROVISIONAL_CREDIT + | :DISPUTE_WON + | :SERVICE + | :TRANSFER + + module Type + extend Lithic::Internal::Type::Enum + + ATM_WITHDRAWAL: :ATM_WITHDRAWAL + ATM_DECLINE: :ATM_DECLINE + INTERNATIONAL_ATM_WITHDRAWAL: :INTERNATIONAL_ATM_WITHDRAWAL + INACTIVITY: :INACTIVITY + STATEMENT: :STATEMENT + MONTHLY: :MONTHLY + QUARTERLY: :QUARTERLY + ANNUAL: :ANNUAL + CUSTOMER_SERVICE: :CUSTOMER_SERVICE + ACCOUNT_MAINTENANCE: :ACCOUNT_MAINTENANCE + ACCOUNT_ACTIVATION: :ACCOUNT_ACTIVATION + ACCOUNT_CLOSURE: :ACCOUNT_CLOSURE + CARD_REPLACEMENT: :CARD_REPLACEMENT + CARD_DELIVERY: :CARD_DELIVERY + CARD_CREATE: :CARD_CREATE + CURRENCY_CONVERSION: :CURRENCY_CONVERSION + INTEREST: :INTEREST + LATE_PAYMENT: :LATE_PAYMENT + BILL_PAYMENT: :BILL_PAYMENT + CASH_BACK: :CASH_BACK + ACCOUNT_TO_ACCOUNT: :ACCOUNT_TO_ACCOUNT + CARD_TO_CARD: :CARD_TO_CARD + DISBURSE: :DISBURSE + BILLING_ERROR: :BILLING_ERROR + LOSS_WRITE_OFF: :LOSS_WRITE_OFF + EXPIRED_CARD: :EXPIRED_CARD + EARLY_DERECOGNITION: :EARLY_DERECOGNITION + ESCHEATMENT: :ESCHEATMENT + INACTIVITY_FEE_DOWN: :INACTIVITY_FEE_DOWN + PROVISIONAL_CREDIT: :PROVISIONAL_CREDIT + DISPUTE_WON: :DISPUTE_WON + SERVICE: :SERVICE + TRANSFER: :TRANSFER + + def self?.values: -> ::Array[Lithic::Models::BookTransferResponse::Event::type_] + end end type result = :APPROVED | :DECLINED @@ -190,6 +280,33 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::BookTransferResponse::status] end + + type transaction_series = + { + related_transaction_event_token: String?, + related_transaction_token: String?, + type: String + } + + class TransactionSeries < Lithic::Internal::Type::BaseModel + attr_accessor related_transaction_event_token: String? + + attr_accessor related_transaction_token: String? + + attr_accessor type: String + + def initialize: ( + related_transaction_event_token: String?, + related_transaction_token: String?, + type: String + ) -> void + + def to_hash: -> { + related_transaction_event_token: String?, + related_transaction_token: String?, + type: String + } + end end end end diff --git a/sig/lithic/models/external_payment.rbs b/sig/lithic/models/external_payment.rbs index 3b9a65b8..5a997868 100644 --- a/sig/lithic/models/external_payment.rbs +++ b/sig/lithic/models/external_payment.rbs @@ -3,8 +3,11 @@ module Lithic type external_payment = { token: String, - category: Lithic::Models::ExternalPayment::category, created: Time, + family: Lithic::Models::ExternalPayment::family, + status: Lithic::Models::ExternalPayment::status, + updated: Time, + category: Lithic::Models::ExternalPayment::category, currency: String, events: ::Array[Lithic::ExternalPayment::Event], financial_account_token: String, @@ -12,35 +15,59 @@ module Lithic pending_amount: Integer, result: Lithic::Models::ExternalPayment::result, settled_amount: Integer, - status: Lithic::Models::ExternalPayment::status, - updated: Time, user_defined_id: String } class ExternalPayment < Lithic::Internal::Type::BaseModel attr_accessor token: String - attr_accessor category: Lithic::Models::ExternalPayment::category - attr_accessor created: Time - attr_accessor currency: String + attr_accessor family: Lithic::Models::ExternalPayment::family + + attr_accessor status: Lithic::Models::ExternalPayment::status + + attr_accessor updated: Time - attr_accessor events: ::Array[Lithic::ExternalPayment::Event] + attr_reader category: Lithic::Models::ExternalPayment::category? - attr_accessor financial_account_token: String + def category=: ( + Lithic::Models::ExternalPayment::category + ) -> Lithic::Models::ExternalPayment::category - attr_accessor payment_type: Lithic::Models::ExternalPayment::payment_type + attr_reader currency: String? - attr_accessor pending_amount: Integer + def currency=: (String) -> String - attr_accessor result: Lithic::Models::ExternalPayment::result + attr_reader events: ::Array[Lithic::ExternalPayment::Event]? - attr_accessor settled_amount: Integer + def events=: ( + ::Array[Lithic::ExternalPayment::Event] + ) -> ::Array[Lithic::ExternalPayment::Event] - attr_accessor status: Lithic::Models::ExternalPayment::status + attr_reader financial_account_token: String? - attr_accessor updated: Time + def financial_account_token=: (String) -> String + + attr_reader payment_type: Lithic::Models::ExternalPayment::payment_type? + + def payment_type=: ( + Lithic::Models::ExternalPayment::payment_type + ) -> Lithic::Models::ExternalPayment::payment_type + + attr_reader pending_amount: Integer? + + def pending_amount=: (Integer) -> Integer + + attr_reader result: Lithic::Models::ExternalPayment::result? + + def result=: ( + Lithic::Models::ExternalPayment::result + ) -> Lithic::Models::ExternalPayment::result + + attr_reader settled_amount: Integer? + + def settled_amount=: (Integer) -> Integer attr_reader user_defined_id: String? @@ -48,24 +75,28 @@ module Lithic def initialize: ( token: String, - category: Lithic::Models::ExternalPayment::category, created: Time, - currency: String, - events: ::Array[Lithic::ExternalPayment::Event], - financial_account_token: String, - payment_type: Lithic::Models::ExternalPayment::payment_type, - pending_amount: Integer, - result: Lithic::Models::ExternalPayment::result, - settled_amount: Integer, + family: Lithic::Models::ExternalPayment::family, status: Lithic::Models::ExternalPayment::status, updated: Time, + ?category: Lithic::Models::ExternalPayment::category, + ?currency: String, + ?events: ::Array[Lithic::ExternalPayment::Event], + ?financial_account_token: String, + ?payment_type: Lithic::Models::ExternalPayment::payment_type, + ?pending_amount: Integer, + ?result: Lithic::Models::ExternalPayment::result, + ?settled_amount: Integer, ?user_defined_id: String ) -> void def to_hash: -> { token: String, - category: Lithic::Models::ExternalPayment::category, created: Time, + family: Lithic::Models::ExternalPayment::family, + status: Lithic::Models::ExternalPayment::status, + updated: Time, + category: Lithic::Models::ExternalPayment::category, currency: String, events: ::Array[Lithic::ExternalPayment::Event], financial_account_token: String, @@ -73,11 +104,44 @@ module Lithic pending_amount: Integer, result: Lithic::Models::ExternalPayment::result, settled_amount: Integer, - status: Lithic::Models::ExternalPayment::status, - updated: Time, user_defined_id: String } + type family = + :CARD + | :PAYMENT + | :TRANSFER + | :INTERNAL + | :EXTERNAL_PAYMENT + | :MANAGEMENT_OPERATION + + module Family + extend Lithic::Internal::Type::Enum + + CARD: :CARD + PAYMENT: :PAYMENT + TRANSFER: :TRANSFER + INTERNAL: :INTERNAL + EXTERNAL_PAYMENT: :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION: :MANAGEMENT_OPERATION + + def self?.values: -> ::Array[Lithic::Models::ExternalPayment::family] + end + + type status = :PENDING | :SETTLED | :DECLINED | :REVERSED | :CANCELED + + module Status + extend Lithic::Internal::Type::Enum + + PENDING: :PENDING + SETTLED: :SETTLED + DECLINED: :DECLINED + REVERSED: :REVERSED + CANCELED: :CANCELED + + def self?.values: -> ::Array[Lithic::Models::ExternalPayment::status] + end + type category = :EXTERNAL_WIRE | :EXTERNAL_ACH | :EXTERNAL_CHECK | :EXTERNAL_TRANSFER @@ -143,12 +207,13 @@ module Lithic type: Lithic::Models::ExternalPayment::Event::type_ } - type detailed_result = :APPROVED + type detailed_result = :APPROVED | :INSUFFICIENT_FUNDS module DetailedResult extend Lithic::Internal::Type::Enum APPROVED: :APPROVED + INSUFFICIENT_FUNDS: :INSUFFICIENT_FUNDS def self?.values: -> ::Array[Lithic::Models::ExternalPayment::Event::detailed_result] end @@ -235,20 +300,6 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::ExternalPayment::result] end - - type status = :PENDING | :SETTLED | :DECLINED | :REVERSED | :CANCELED - - module Status - extend Lithic::Internal::Type::Enum - - PENDING: :PENDING - SETTLED: :SETTLED - DECLINED: :DECLINED - REVERSED: :REVERSED - CANCELED: :CANCELED - - def self?.values: -> ::Array[Lithic::Models::ExternalPayment::status] - end end end end diff --git a/sig/lithic/models/financial_account.rbs b/sig/lithic/models/financial_account.rbs index 2cd6a3ed..b2abf0d4 100644 --- a/sig/lithic/models/financial_account.rbs +++ b/sig/lithic/models/financial_account.rbs @@ -166,6 +166,7 @@ module Lithic | :SECURITY | :PROGRAM_RECEIVABLES | :COLLECTION + | :BANK_ACCOUNTS_PAYABLE module Type extend Lithic::Internal::Type::Enum @@ -179,6 +180,7 @@ module Lithic SECURITY: :SECURITY PROGRAM_RECEIVABLES: :PROGRAM_RECEIVABLES COLLECTION: :COLLECTION + BANK_ACCOUNTS_PAYABLE: :BANK_ACCOUNTS_PAYABLE def self?.values: -> ::Array[Lithic::Models::FinancialAccount::type_] end diff --git a/sig/lithic/models/instance_financial_account_type.rbs b/sig/lithic/models/instance_financial_account_type.rbs index ad5683f4..7b10c4f4 100644 --- a/sig/lithic/models/instance_financial_account_type.rbs +++ b/sig/lithic/models/instance_financial_account_type.rbs @@ -10,6 +10,7 @@ module Lithic | :SECURITY | :PROGRAM_RECEIVABLES | :COLLECTION + | :BANK_ACCOUNTS_PAYABLE module InstanceFinancialAccountType extend Lithic::Internal::Type::Enum @@ -23,6 +24,7 @@ module Lithic SECURITY: :SECURITY PROGRAM_RECEIVABLES: :PROGRAM_RECEIVABLES COLLECTION: :COLLECTION + BANK_ACCOUNTS_PAYABLE: :BANK_ACCOUNTS_PAYABLE def self?.values: -> ::Array[Lithic::Models::instance_financial_account_type] end diff --git a/sig/lithic/models/management_operation_transaction.rbs b/sig/lithic/models/management_operation_transaction.rbs index c198e192..b9292396 100644 --- a/sig/lithic/models/management_operation_transaction.rbs +++ b/sig/lithic/models/management_operation_transaction.rbs @@ -3,91 +3,155 @@ module Lithic type management_operation_transaction = { token: String, - category: Lithic::Models::ManagementOperationTransaction::category, created: Time, + family: Lithic::Models::ManagementOperationTransaction::family, + status: Lithic::Models::ManagementOperationTransaction::status, + updated: Time, + category: Lithic::Models::ManagementOperationTransaction::category, currency: String, direction: Lithic::Models::ManagementOperationTransaction::direction, events: ::Array[Lithic::ManagementOperationTransaction::Event], + external_resource: Lithic::ExternalResource?, financial_account_token: String, pending_amount: Integer, result: Lithic::Models::ManagementOperationTransaction::result, settled_amount: Integer, - status: Lithic::Models::ManagementOperationTransaction::status, transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries?, - updated: Time, - external_resource: Lithic::ExternalResource?, user_defined_id: String } class ManagementOperationTransaction < Lithic::Internal::Type::BaseModel attr_accessor token: String - attr_accessor category: Lithic::Models::ManagementOperationTransaction::category - attr_accessor created: Time - attr_accessor currency: String + attr_accessor family: Lithic::Models::ManagementOperationTransaction::family - attr_accessor direction: Lithic::Models::ManagementOperationTransaction::direction + attr_accessor status: Lithic::Models::ManagementOperationTransaction::status - attr_accessor events: ::Array[Lithic::ManagementOperationTransaction::Event] + attr_accessor updated: Time - attr_accessor financial_account_token: String + attr_reader category: Lithic::Models::ManagementOperationTransaction::category? - attr_accessor pending_amount: Integer + def category=: ( + Lithic::Models::ManagementOperationTransaction::category + ) -> Lithic::Models::ManagementOperationTransaction::category - attr_accessor result: Lithic::Models::ManagementOperationTransaction::result + attr_reader currency: String? - attr_accessor settled_amount: Integer + def currency=: (String) -> String - attr_accessor status: Lithic::Models::ManagementOperationTransaction::status + attr_reader direction: Lithic::Models::ManagementOperationTransaction::direction? - attr_accessor transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries? + def direction=: ( + Lithic::Models::ManagementOperationTransaction::direction + ) -> Lithic::Models::ManagementOperationTransaction::direction - attr_accessor updated: Time + attr_reader events: ::Array[Lithic::ManagementOperationTransaction::Event]? + + def events=: ( + ::Array[Lithic::ManagementOperationTransaction::Event] + ) -> ::Array[Lithic::ManagementOperationTransaction::Event] attr_accessor external_resource: Lithic::ExternalResource? + attr_reader financial_account_token: String? + + def financial_account_token=: (String) -> String + + attr_reader pending_amount: Integer? + + def pending_amount=: (Integer) -> Integer + + attr_reader result: Lithic::Models::ManagementOperationTransaction::result? + + def result=: ( + Lithic::Models::ManagementOperationTransaction::result + ) -> Lithic::Models::ManagementOperationTransaction::result + + attr_reader settled_amount: Integer? + + def settled_amount=: (Integer) -> Integer + + attr_accessor transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries? + attr_reader user_defined_id: String? def user_defined_id=: (String) -> String def initialize: ( token: String, - category: Lithic::Models::ManagementOperationTransaction::category, created: Time, - currency: String, - direction: Lithic::Models::ManagementOperationTransaction::direction, - events: ::Array[Lithic::ManagementOperationTransaction::Event], - financial_account_token: String, - pending_amount: Integer, - result: Lithic::Models::ManagementOperationTransaction::result, - settled_amount: Integer, + family: Lithic::Models::ManagementOperationTransaction::family, status: Lithic::Models::ManagementOperationTransaction::status, - transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries?, updated: Time, + ?category: Lithic::Models::ManagementOperationTransaction::category, + ?currency: String, + ?direction: Lithic::Models::ManagementOperationTransaction::direction, + ?events: ::Array[Lithic::ManagementOperationTransaction::Event], ?external_resource: Lithic::ExternalResource?, + ?financial_account_token: String, + ?pending_amount: Integer, + ?result: Lithic::Models::ManagementOperationTransaction::result, + ?settled_amount: Integer, + ?transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries?, ?user_defined_id: String ) -> void def to_hash: -> { token: String, - category: Lithic::Models::ManagementOperationTransaction::category, created: Time, + family: Lithic::Models::ManagementOperationTransaction::family, + status: Lithic::Models::ManagementOperationTransaction::status, + updated: Time, + category: Lithic::Models::ManagementOperationTransaction::category, currency: String, direction: Lithic::Models::ManagementOperationTransaction::direction, events: ::Array[Lithic::ManagementOperationTransaction::Event], + external_resource: Lithic::ExternalResource?, financial_account_token: String, pending_amount: Integer, result: Lithic::Models::ManagementOperationTransaction::result, settled_amount: Integer, - status: Lithic::Models::ManagementOperationTransaction::status, transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries?, - updated: Time, - external_resource: Lithic::ExternalResource?, user_defined_id: String } + type family = + :CARD + | :PAYMENT + | :TRANSFER + | :INTERNAL + | :EXTERNAL_PAYMENT + | :MANAGEMENT_OPERATION + + module Family + extend Lithic::Internal::Type::Enum + + CARD: :CARD + PAYMENT: :PAYMENT + TRANSFER: :TRANSFER + INTERNAL: :INTERNAL + EXTERNAL_PAYMENT: :EXTERNAL_PAYMENT + MANAGEMENT_OPERATION: :MANAGEMENT_OPERATION + + def self?.values: -> ::Array[Lithic::Models::ManagementOperationTransaction::family] + end + + type status = :PENDING | :SETTLED | :DECLINED | :REVERSED | :CANCELED + + module Status + extend Lithic::Internal::Type::Enum + + PENDING: :PENDING + SETTLED: :SETTLED + DECLINED: :DECLINED + REVERSED: :REVERSED + CANCELED: :CANCELED + + def self?.values: -> ::Array[Lithic::Models::ManagementOperationTransaction::status] + end + type category = :MANAGEMENT_FEE | :MANAGEMENT_DISPUTE @@ -176,12 +240,13 @@ module Lithic subtype: String } - type detailed_result = :APPROVED + type detailed_result = :APPROVED | :INSUFFICIENT_FUNDS module DetailedResult extend Lithic::Internal::Type::Enum APPROVED: :APPROVED + INSUFFICIENT_FUNDS: :INSUFFICIENT_FUNDS def self?.values: -> ::Array[Lithic::Models::ManagementOperationTransaction::Event::detailed_result] end @@ -256,20 +321,6 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::ManagementOperationTransaction::result] end - type status = :PENDING | :SETTLED | :DECLINED | :REVERSED | :CANCELED - - module Status - extend Lithic::Internal::Type::Enum - - PENDING: :PENDING - SETTLED: :SETTLED - DECLINED: :DECLINED - REVERSED: :REVERSED - CANCELED: :CANCELED - - def self?.values: -> ::Array[Lithic::Models::ManagementOperationTransaction::status] - end - type transaction_series = { related_transaction_event_token: String?, diff --git a/sig/lithic/models/payment.rbs b/sig/lithic/models/payment.rbs index 83d3fcd4..118d66c7 100644 --- a/sig/lithic/models/payment.rbs +++ b/sig/lithic/models/payment.rbs @@ -14,13 +14,15 @@ module Lithic method_: Lithic::Models::Payment::method_, method_attributes: Lithic::Payment::MethodAttributes, pending_amount: Integer, + related_account_tokens: Lithic::Payment::RelatedAccountTokens, result: Lithic::Models::Payment::result, settled_amount: Integer, source: Lithic::Models::Payment::source, status: Lithic::Models::Payment::status, updated: Time, user_defined_id: String?, - expected_release_date: Date + expected_release_date: Date, + type: Lithic::Models::Payment::type_ } class Payment < Lithic::Internal::Type::BaseModel @@ -48,6 +50,8 @@ module Lithic attr_accessor pending_amount: Integer + attr_accessor related_account_tokens: Lithic::Payment::RelatedAccountTokens + attr_accessor result: Lithic::Models::Payment::result attr_accessor settled_amount: Integer @@ -64,6 +68,12 @@ module Lithic def expected_release_date=: (Date) -> Date + attr_reader type: Lithic::Models::Payment::type_? + + def type=: ( + Lithic::Models::Payment::type_ + ) -> Lithic::Models::Payment::type_ + def initialize: ( token: String, category: Lithic::Models::Payment::category, @@ -77,13 +87,15 @@ module Lithic method_: Lithic::Models::Payment::method_, method_attributes: Lithic::Payment::MethodAttributes, pending_amount: Integer, + related_account_tokens: Lithic::Payment::RelatedAccountTokens, result: Lithic::Models::Payment::result, settled_amount: Integer, source: Lithic::Models::Payment::source, status: Lithic::Models::Payment::status, updated: Time, user_defined_id: String?, - ?expected_release_date: Date + ?expected_release_date: Date, + ?type: Lithic::Models::Payment::type_ ) -> void def to_hash: -> { @@ -99,13 +111,15 @@ module Lithic method_: Lithic::Models::Payment::method_, method_attributes: Lithic::Payment::MethodAttributes, pending_amount: Integer, + related_account_tokens: Lithic::Payment::RelatedAccountTokens, result: Lithic::Models::Payment::result, settled_amount: Integer, source: Lithic::Models::Payment::source, status: Lithic::Models::Payment::status, updated: Time, user_defined_id: String?, - expected_release_date: Date + expected_release_date: Date, + type: Lithic::Models::Payment::type_ } type category = :ACH @@ -308,6 +322,25 @@ module Lithic end end + type related_account_tokens = + { account_token: String?, business_account_token: String? } + + class RelatedAccountTokens < Lithic::Internal::Type::BaseModel + attr_accessor account_token: String? + + attr_accessor business_account_token: String? + + def initialize: ( + account_token: String?, + business_account_token: String? + ) -> void + + def to_hash: -> { + account_token: String?, + business_account_token: String? + } + end + type result = :APPROVED | :DECLINED module Result @@ -342,6 +375,35 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::Payment::status] end + + type type_ = + :ORIGINATION_CREDIT + | :ORIGINATION_DEBIT + | :RECEIPT_CREDIT + | :RECEIPT_DEBIT + | :CUSTOMER_TRANSFER + | :DRAWDOWN_PAYMENT + | :REVERSAL_PAYMENT + | :DRAWDOWN_REQUEST + | :REVERSAL_REQUEST + | :DRAWDOWN_REFUSAL + + module Type + extend Lithic::Internal::Type::Enum + + ORIGINATION_CREDIT: :ORIGINATION_CREDIT + ORIGINATION_DEBIT: :ORIGINATION_DEBIT + RECEIPT_CREDIT: :RECEIPT_CREDIT + RECEIPT_DEBIT: :RECEIPT_DEBIT + CUSTOMER_TRANSFER: :CUSTOMER_TRANSFER + DRAWDOWN_PAYMENT: :DRAWDOWN_PAYMENT + REVERSAL_PAYMENT: :REVERSAL_PAYMENT + DRAWDOWN_REQUEST: :DRAWDOWN_REQUEST + REVERSAL_REQUEST: :REVERSAL_REQUEST + DRAWDOWN_REFUSAL: :DRAWDOWN_REFUSAL + + def self?.values: -> ::Array[Lithic::Models::Payment::type_] + end end end end diff --git a/sig/lithic/models/settlement_detail.rbs b/sig/lithic/models/settlement_detail.rbs index e0c40ed5..af7beae1 100644 --- a/sig/lithic/models/settlement_detail.rbs +++ b/sig/lithic/models/settlement_detail.rbs @@ -149,6 +149,7 @@ module Lithic | :ARBITRATION | :CHARGEBACK | :CLEARING + | :COLLABORATION | :FEE | :FINANCIAL | :"NON-FINANCIAL" @@ -162,6 +163,7 @@ module Lithic ARBITRATION: :ARBITRATION CHARGEBACK: :CHARGEBACK CLEARING: :CLEARING + COLLABORATION: :COLLABORATION FEE: :FEE FINANCIAL: :FINANCIAL NON_FINANCIAL: :"NON-FINANCIAL" diff --git a/sig/lithic/models/three_ds/authentication_retrieve_response.rbs b/sig/lithic/models/three_ds/authentication_retrieve_response.rbs index 3217b8a2..0dcfb741 100644 --- a/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +++ b/sig/lithic/models/three_ds/authentication_retrieve_response.rbs @@ -628,21 +628,26 @@ module Lithic type challenge_metadata = { method_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::method_type, + status: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::status, phone_number: String? } class ChallengeMetadata < Lithic::Internal::Type::BaseModel attr_accessor method_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::method_type + attr_accessor status: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::status + attr_accessor phone_number: String? def initialize: ( method_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::method_type, + status: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::status, ?phone_number: String? ) -> void def to_hash: -> { method_type: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::method_type, + status: Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::status, phone_number: String? } @@ -656,6 +661,33 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::method_type] end + + type status = + :SUCCESS + | :PENDING + | :SMS_DELIVERY_FAILED + | :CARDHOLDER_TIMEOUT + | :CANCELED_VIA_CHALLENGE_UI + | :CANCELED_OOB + | :ATTEMPTS_EXCEEDED + | :ABORTED + | :ERROR + + module Status + extend Lithic::Internal::Type::Enum + + SUCCESS: :SUCCESS + PENDING: :PENDING + SMS_DELIVERY_FAILED: :SMS_DELIVERY_FAILED + CARDHOLDER_TIMEOUT: :CARDHOLDER_TIMEOUT + CANCELED_VIA_CHALLENGE_UI: :CANCELED_VIA_CHALLENGE_UI + CANCELED_OOB: :CANCELED_OOB + ATTEMPTS_EXCEEDED: :ATTEMPTS_EXCEEDED + ABORTED: :ABORTED + ERROR: :ERROR + + def self?.values: -> ::Array[Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::ChallengeMetadata::status] + end end type challenge_orchestrated_by = :LITHIC | :CUSTOMER | :NO_CHALLENGE diff --git a/sig/lithic/models/tokenization_retrieve_response.rbs b/sig/lithic/models/tokenization_retrieve_response.rbs deleted file mode 100644 index d3d349ba..00000000 --- a/sig/lithic/models/tokenization_retrieve_response.rbs +++ /dev/null @@ -1,15 +0,0 @@ -module Lithic - module Models - type tokenization_retrieve_response = { data: Lithic::Tokenization } - - class TokenizationRetrieveResponse < Lithic::Internal::Type::BaseModel - attr_reader data: Lithic::Tokenization? - - def data=: (Lithic::Tokenization) -> Lithic::Tokenization - - def initialize: (?data: Lithic::Tokenization) -> void - - def to_hash: -> { data: Lithic::Tokenization } - end - end -end diff --git a/sig/lithic/resources/account_activity.rbs b/sig/lithic/resources/account_activity.rbs new file mode 100644 index 00000000..00d61b4a --- /dev/null +++ b/sig/lithic/resources/account_activity.rbs @@ -0,0 +1,27 @@ +module Lithic + module Resources + class AccountActivity + def list: ( + ?account_token: String, + ?begin_: Time, + ?business_account_token: String, + ?category: Lithic::Models::AccountActivityListParams::category, + ?end_: Time, + ?ending_before: String, + ?financial_account_token: String, + ?page_size: Integer, + ?result: ::Array[Lithic::Models::AccountActivityListParams::result], + ?starting_after: String, + ?status: ::Array[Lithic::Models::AccountActivityListParams::status], + ?request_options: Lithic::request_opts + ) -> Lithic::Internal::CursorPage[Lithic::Models::account_activity_list_response] + + def retrieve_transaction: ( + String transaction_token, + ?request_options: Lithic::request_opts + ) -> Lithic::Models::account_activity_retrieve_transaction_response + + def initialize: (client: Lithic::Client) -> void + end + end +end diff --git a/sig/lithic/resources/book_transfers.rbs b/sig/lithic/resources/book_transfers.rbs index cfe9172b..54bf3f2b 100644 --- a/sig/lithic/resources/book_transfers.rbs +++ b/sig/lithic/resources/book_transfers.rbs @@ -9,7 +9,9 @@ module Lithic to_financial_account_token: String, type: Lithic::Models::BookTransferCreateParams::type_, ?token: String, + ?external_id: String, ?memo: String, + ?on_closed_account: Lithic::Models::BookTransferCreateParams::on_closed_account, ?request_options: Lithic::request_opts ) -> Lithic::BookTransferResponse diff --git a/sig/lithic/resources/tokenizations.rbs b/sig/lithic/resources/tokenizations.rbs index 45e34e74..808851bd 100644 --- a/sig/lithic/resources/tokenizations.rbs +++ b/sig/lithic/resources/tokenizations.rbs @@ -4,7 +4,7 @@ module Lithic def retrieve: ( String tokenization_token, ?request_options: Lithic::request_opts - ) -> Lithic::Models::TokenizationRetrieveResponse + ) -> Lithic::Tokenization def list: ( ?account_token: String, diff --git a/test/lithic/internal/sorbet_runtime_support_test.rb b/test/lithic/internal/sorbet_runtime_support_test.rb index aa65161f..d808a705 100644 --- a/test/lithic/internal/sorbet_runtime_support_test.rb +++ b/test/lithic/internal/sorbet_runtime_support_test.rb @@ -3,6 +3,8 @@ require_relative "../test_helper" class Lithic::Test::SorbetRuntimeSupportTest < Minitest::Test + extend Minitest::Serial + i_suck_and_my_tests_are_order_dependent! module E diff --git a/test/lithic/internal/type/base_model_test.rb b/test/lithic/internal/type/base_model_test.rb index 32037c38..4f14b5a5 100644 --- a/test/lithic/internal/type/base_model_test.rb +++ b/test/lithic/internal/type/base_model_test.rb @@ -157,6 +157,7 @@ def test_dump_retry class Lithic::Test::EnumModelTest < Minitest::Test class E0 include Lithic::Internal::Type::Enum + attr_reader :values def initialize(*values) = (@values = values) @@ -476,6 +477,7 @@ def initialize(*variants) = variants.each { variant(_1) } module U1 extend Lithic::Internal::Type::Union + variant const: :a variant const: 2 end @@ -492,6 +494,7 @@ class M2 < Lithic::Internal::Type::BaseModel module U2 extend Lithic::Internal::Type::Union + discriminator :type variant :a, M1 @@ -500,6 +503,7 @@ module U2 module U3 extend Lithic::Internal::Type::Union + discriminator :type variant :a, M1 @@ -508,6 +512,7 @@ module U3 module U4 extend Lithic::Internal::Type::Union + discriminator :type variant String @@ -601,6 +606,7 @@ def test_coerce class Lithic::Test::BaseModelQoLTest < Minitest::Test class E0 include Lithic::Internal::Type::Enum + attr_reader :values def initialize(*values) = (@values = values) @@ -687,3 +693,35 @@ def test_equality end end end + +class Lithic::Test::MetaInfoTest < Minitest::Test + A1 = Lithic::Internal::Type::ArrayOf[Integer, nil?: true, doc: "dog"] + H1 = Lithic::Internal::Type::HashOf[-> { String }, nil?: true, doc: "dawg"] + + class M1 < Lithic::Internal::Type::BaseModel + required :a, Integer, doc: "dog" + optional :b, -> { String }, nil?: true, doc: "dawg" + end + + module U1 + extend Lithic::Internal::Type::Union + + variant -> { Integer }, const: 2, doc: "dog" + variant -> { String }, doc: "dawg" + end + + def test_meta_retrieval + m1 = A1.instance_variable_get(:@meta) + m2 = H1.instance_variable_get(:@meta) + assert_equal({doc: "dog"}, m1) + assert_equal({doc: "dawg"}, m2) + + ma, mb = M1.fields.fetch_values(:a, :b) + assert_equal({doc: "dog"}, ma.fetch(:meta)) + assert_equal({doc: "dawg"}, mb.fetch(:meta)) + + ua, ub = U1.send(:known_variants).map(&:last) + assert_equal({doc: "dog"}, ua) + assert_equal({doc: "dawg"}, ub) + end +end diff --git a/test/lithic/internal/util_test.rb b/test/lithic/internal/util_test.rb index 631d722e..36c14564 100644 --- a/test/lithic/internal/util_test.rb +++ b/test/lithic/internal/util_test.rb @@ -242,11 +242,7 @@ def test_hash_encode {strio: StringIO.new("a")} => {"strio" => "a"}, {strio: Lithic::FilePart.new("a")} => {"strio" => "a"}, {pathname: Pathname(__FILE__)} => {"pathname" => -> { _1.read in /^class Lithic/ }}, - {pathname: Lithic::FilePart.new(Pathname(__FILE__))} => { - "pathname" => -> { - _1.read in /^class Lithic/ - } - } + {pathname: Lithic::FilePart.new(Pathname(__FILE__))} => {"pathname" => -> { _1.read in /^class Lithic/ }} } cases.each do |body, testcase| encoded = Lithic::Internal::Util.encode_content(headers, body) @@ -324,9 +320,9 @@ def test_rewind_chain end def test_external_iteration - it = [1, 2, 3].to_enum - first = it.next - fused = Lithic::Internal::Util.fused_enum(it, external: true) + iter = [1, 2, 3].to_enum + first = iter.next + fused = Lithic::Internal::Util.fused_enum(iter, external: true) assert_equal(1, first) assert_equal([2, 3], fused.to_a) diff --git a/test/lithic/resources/account_activity_test.rb b/test/lithic/resources/account_activity_test.rb new file mode 100644 index 00000000..949f9b4a --- /dev/null +++ b/test/lithic/resources/account_activity_test.rb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +require_relative "../test_helper" + +class Lithic::Test::Resources::AccountActivityTest < Lithic::Test::ResourceTest + def test_list + response = @lithic.account_activity.list + + assert_pattern do + response => Lithic::Internal::CursorPage + end + + row = response.to_enum.first + return if row.nil? + + assert_pattern do + row => Lithic::Models::AccountActivityListResponse + end + + assert_pattern do + case row + in Lithic::Models::AccountActivityListResponse::FinancialTransaction + in Lithic::Models::AccountActivityListResponse::BookTransferTransaction + in Lithic::Models::AccountActivityListResponse::CardTransaction + in Lithic::Models::AccountActivityListResponse::PaymentTransaction + in Lithic::ExternalPayment + in Lithic::ManagementOperationTransaction + end + end + end + + def test_retrieve_transaction + response = @lithic.account_activity.retrieve_transaction("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") + + assert_pattern do + response => Lithic::Models::AccountActivityRetrieveTransactionResponse + end + + assert_pattern do + case response + in Lithic::Models::AccountActivityRetrieveTransactionResponse::FinancialTransaction + in Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction + in Lithic::Models::AccountActivityRetrieveTransactionResponse::CardTransaction + in Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction + in Lithic::ExternalPayment + in Lithic::ManagementOperationTransaction + end + end + end +end diff --git a/test/lithic/resources/book_transfers_test.rb b/test/lithic/resources/book_transfers_test.rb index 622acef7..4aa95939 100644 --- a/test/lithic/resources/book_transfers_test.rb +++ b/test/lithic/resources/book_transfers_test.rb @@ -25,12 +25,15 @@ def test_create_required_params created: Time, currency: String, events: ^(Lithic::Internal::Type::ArrayOf[Lithic::BookTransferResponse::Event]), + external_id: String | nil, + external_resource: Lithic::ExternalResource | nil, from_financial_account_token: String, pending_amount: Integer, result: Lithic::BookTransferResponse::Result, settled_amount: Integer, status: Lithic::BookTransferResponse::Status, - to_financial_account_token: Lithic::Internal::Type::Unknown, + to_financial_account_token: String, + transaction_series: Lithic::BookTransferResponse::TransactionSeries | nil, updated: Time } end @@ -50,12 +53,15 @@ def test_retrieve created: Time, currency: String, events: ^(Lithic::Internal::Type::ArrayOf[Lithic::BookTransferResponse::Event]), + external_id: String | nil, + external_resource: Lithic::ExternalResource | nil, from_financial_account_token: String, pending_amount: Integer, result: Lithic::BookTransferResponse::Result, settled_amount: Integer, status: Lithic::BookTransferResponse::Status, - to_financial_account_token: Lithic::Internal::Type::Unknown, + to_financial_account_token: String, + transaction_series: Lithic::BookTransferResponse::TransactionSeries | nil, updated: Time } end @@ -82,12 +88,15 @@ def test_list created: Time, currency: String, events: ^(Lithic::Internal::Type::ArrayOf[Lithic::BookTransferResponse::Event]), + external_id: String | nil, + external_resource: Lithic::ExternalResource | nil, from_financial_account_token: String, pending_amount: Integer, result: Lithic::BookTransferResponse::Result, settled_amount: Integer, status: Lithic::BookTransferResponse::Status, - to_financial_account_token: Lithic::Internal::Type::Unknown, + to_financial_account_token: String, + transaction_series: Lithic::BookTransferResponse::TransactionSeries | nil, updated: Time } end @@ -107,12 +116,15 @@ def test_reverse created: Time, currency: String, events: ^(Lithic::Internal::Type::ArrayOf[Lithic::BookTransferResponse::Event]), + external_id: String | nil, + external_resource: Lithic::ExternalResource | nil, from_financial_account_token: String, pending_amount: Integer, result: Lithic::BookTransferResponse::Result, settled_amount: Integer, status: Lithic::BookTransferResponse::Status, - to_financial_account_token: Lithic::Internal::Type::Unknown, + to_financial_account_token: String, + transaction_series: Lithic::BookTransferResponse::TransactionSeries | nil, updated: Time } end diff --git a/test/lithic/resources/external_payments_test.rb b/test/lithic/resources/external_payments_test.rb index b6d4c62b..d25b12b8 100644 --- a/test/lithic/resources/external_payments_test.rb +++ b/test/lithic/resources/external_payments_test.rb @@ -20,17 +20,18 @@ def test_create_required_params assert_pattern do response => { token: String, - category: Lithic::ExternalPayment::Category, created: Time, - currency: String, - events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]), - financial_account_token: String, - payment_type: Lithic::ExternalPayment::PaymentType, - pending_amount: Integer, - result: Lithic::ExternalPayment::Result, - settled_amount: Integer, + family: Lithic::ExternalPayment::Family, status: Lithic::ExternalPayment::Status, updated: Time, + category: Lithic::ExternalPayment::Category | nil, + currency: String | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]) | nil, + financial_account_token: String | nil, + payment_type: Lithic::ExternalPayment::PaymentType | nil, + pending_amount: Integer | nil, + result: Lithic::ExternalPayment::Result | nil, + settled_amount: Integer | nil, user_defined_id: String | nil } end @@ -46,17 +47,18 @@ def test_retrieve assert_pattern do response => { token: String, - category: Lithic::ExternalPayment::Category, created: Time, - currency: String, - events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]), - financial_account_token: String, - payment_type: Lithic::ExternalPayment::PaymentType, - pending_amount: Integer, - result: Lithic::ExternalPayment::Result, - settled_amount: Integer, + family: Lithic::ExternalPayment::Family, status: Lithic::ExternalPayment::Status, updated: Time, + category: Lithic::ExternalPayment::Category | nil, + currency: String | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]) | nil, + financial_account_token: String | nil, + payment_type: Lithic::ExternalPayment::PaymentType | nil, + pending_amount: Integer | nil, + result: Lithic::ExternalPayment::Result | nil, + settled_amount: Integer | nil, user_defined_id: String | nil } end @@ -79,17 +81,18 @@ def test_list assert_pattern do row => { token: String, - category: Lithic::ExternalPayment::Category, created: Time, - currency: String, - events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]), - financial_account_token: String, - payment_type: Lithic::ExternalPayment::PaymentType, - pending_amount: Integer, - result: Lithic::ExternalPayment::Result, - settled_amount: Integer, + family: Lithic::ExternalPayment::Family, status: Lithic::ExternalPayment::Status, updated: Time, + category: Lithic::ExternalPayment::Category | nil, + currency: String | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]) | nil, + financial_account_token: String | nil, + payment_type: Lithic::ExternalPayment::PaymentType | nil, + pending_amount: Integer | nil, + result: Lithic::ExternalPayment::Result | nil, + settled_amount: Integer | nil, user_defined_id: String | nil } end @@ -106,17 +109,18 @@ def test_cancel_required_params assert_pattern do response => { token: String, - category: Lithic::ExternalPayment::Category, created: Time, - currency: String, - events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]), - financial_account_token: String, - payment_type: Lithic::ExternalPayment::PaymentType, - pending_amount: Integer, - result: Lithic::ExternalPayment::Result, - settled_amount: Integer, + family: Lithic::ExternalPayment::Family, status: Lithic::ExternalPayment::Status, updated: Time, + category: Lithic::ExternalPayment::Category | nil, + currency: String | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]) | nil, + financial_account_token: String | nil, + payment_type: Lithic::ExternalPayment::PaymentType | nil, + pending_amount: Integer | nil, + result: Lithic::ExternalPayment::Result | nil, + settled_amount: Integer | nil, user_defined_id: String | nil } end @@ -133,17 +137,18 @@ def test_release_required_params assert_pattern do response => { token: String, - category: Lithic::ExternalPayment::Category, created: Time, - currency: String, - events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]), - financial_account_token: String, - payment_type: Lithic::ExternalPayment::PaymentType, - pending_amount: Integer, - result: Lithic::ExternalPayment::Result, - settled_amount: Integer, + family: Lithic::ExternalPayment::Family, status: Lithic::ExternalPayment::Status, updated: Time, + category: Lithic::ExternalPayment::Category | nil, + currency: String | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]) | nil, + financial_account_token: String | nil, + payment_type: Lithic::ExternalPayment::PaymentType | nil, + pending_amount: Integer | nil, + result: Lithic::ExternalPayment::Result | nil, + settled_amount: Integer | nil, user_defined_id: String | nil } end @@ -160,17 +165,18 @@ def test_reverse_required_params assert_pattern do response => { token: String, - category: Lithic::ExternalPayment::Category, created: Time, - currency: String, - events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]), - financial_account_token: String, - payment_type: Lithic::ExternalPayment::PaymentType, - pending_amount: Integer, - result: Lithic::ExternalPayment::Result, - settled_amount: Integer, + family: Lithic::ExternalPayment::Family, status: Lithic::ExternalPayment::Status, updated: Time, + category: Lithic::ExternalPayment::Category | nil, + currency: String | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]) | nil, + financial_account_token: String | nil, + payment_type: Lithic::ExternalPayment::PaymentType | nil, + pending_amount: Integer | nil, + result: Lithic::ExternalPayment::Result | nil, + settled_amount: Integer | nil, user_defined_id: String | nil } end @@ -187,17 +193,18 @@ def test_settle_required_params assert_pattern do response => { token: String, - category: Lithic::ExternalPayment::Category, created: Time, - currency: String, - events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]), - financial_account_token: String, - payment_type: Lithic::ExternalPayment::PaymentType, - pending_amount: Integer, - result: Lithic::ExternalPayment::Result, - settled_amount: Integer, + family: Lithic::ExternalPayment::Family, status: Lithic::ExternalPayment::Status, updated: Time, + category: Lithic::ExternalPayment::Category | nil, + currency: String | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ExternalPayment::Event]) | nil, + financial_account_token: String | nil, + payment_type: Lithic::ExternalPayment::PaymentType | nil, + pending_amount: Integer | nil, + result: Lithic::ExternalPayment::Result | nil, + settled_amount: Integer | nil, user_defined_id: String | nil } end diff --git a/test/lithic/resources/management_operations_test.rb b/test/lithic/resources/management_operations_test.rb index 4b57d314..0a848285 100644 --- a/test/lithic/resources/management_operations_test.rb +++ b/test/lithic/resources/management_operations_test.rb @@ -6,7 +6,7 @@ class Lithic::Test::Resources::ManagementOperationsTest < Lithic::Test::Resource def test_create_required_params response = @lithic.management_operations.create( - amount: 0, + amount: 1, category: :MANAGEMENT_FEE, direction: :CREDIT, effective_date: "2019-12-27", @@ -21,19 +21,20 @@ def test_create_required_params assert_pattern do response => { token: String, - category: Lithic::ManagementOperationTransaction::Category, created: Time, - currency: String, - direction: Lithic::ManagementOperationTransaction::Direction, - events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ManagementOperationTransaction::Event]), - financial_account_token: String, - pending_amount: Integer, - result: Lithic::ManagementOperationTransaction::Result, - settled_amount: Integer, + family: Lithic::ManagementOperationTransaction::Family, status: Lithic::ManagementOperationTransaction::Status, - transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries | nil, updated: Time, + category: Lithic::ManagementOperationTransaction::Category | nil, + currency: String | nil, + direction: Lithic::ManagementOperationTransaction::Direction | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ManagementOperationTransaction::Event]) | nil, external_resource: Lithic::ExternalResource | nil, + financial_account_token: String | nil, + pending_amount: Integer | nil, + result: Lithic::ManagementOperationTransaction::Result | nil, + settled_amount: Integer | nil, + transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries | nil, user_defined_id: String | nil } end @@ -49,19 +50,20 @@ def test_retrieve assert_pattern do response => { token: String, - category: Lithic::ManagementOperationTransaction::Category, created: Time, - currency: String, - direction: Lithic::ManagementOperationTransaction::Direction, - events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ManagementOperationTransaction::Event]), - financial_account_token: String, - pending_amount: Integer, - result: Lithic::ManagementOperationTransaction::Result, - settled_amount: Integer, + family: Lithic::ManagementOperationTransaction::Family, status: Lithic::ManagementOperationTransaction::Status, - transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries | nil, updated: Time, + category: Lithic::ManagementOperationTransaction::Category | nil, + currency: String | nil, + direction: Lithic::ManagementOperationTransaction::Direction | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ManagementOperationTransaction::Event]) | nil, external_resource: Lithic::ExternalResource | nil, + financial_account_token: String | nil, + pending_amount: Integer | nil, + result: Lithic::ManagementOperationTransaction::Result | nil, + settled_amount: Integer | nil, + transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries | nil, user_defined_id: String | nil } end @@ -84,19 +86,20 @@ def test_list assert_pattern do row => { token: String, - category: Lithic::ManagementOperationTransaction::Category, created: Time, - currency: String, - direction: Lithic::ManagementOperationTransaction::Direction, - events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ManagementOperationTransaction::Event]), - financial_account_token: String, - pending_amount: Integer, - result: Lithic::ManagementOperationTransaction::Result, - settled_amount: Integer, + family: Lithic::ManagementOperationTransaction::Family, status: Lithic::ManagementOperationTransaction::Status, - transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries | nil, updated: Time, + category: Lithic::ManagementOperationTransaction::Category | nil, + currency: String | nil, + direction: Lithic::ManagementOperationTransaction::Direction | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ManagementOperationTransaction::Event]) | nil, external_resource: Lithic::ExternalResource | nil, + financial_account_token: String | nil, + pending_amount: Integer | nil, + result: Lithic::ManagementOperationTransaction::Result | nil, + settled_amount: Integer | nil, + transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries | nil, user_defined_id: String | nil } end @@ -116,19 +119,20 @@ def test_reverse_required_params assert_pattern do response => { token: String, - category: Lithic::ManagementOperationTransaction::Category, created: Time, - currency: String, - direction: Lithic::ManagementOperationTransaction::Direction, - events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ManagementOperationTransaction::Event]), - financial_account_token: String, - pending_amount: Integer, - result: Lithic::ManagementOperationTransaction::Result, - settled_amount: Integer, + family: Lithic::ManagementOperationTransaction::Family, status: Lithic::ManagementOperationTransaction::Status, - transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries | nil, updated: Time, + category: Lithic::ManagementOperationTransaction::Category | nil, + currency: String | nil, + direction: Lithic::ManagementOperationTransaction::Direction | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::ManagementOperationTransaction::Event]) | nil, external_resource: Lithic::ExternalResource | nil, + financial_account_token: String | nil, + pending_amount: Integer | nil, + result: Lithic::ManagementOperationTransaction::Result | nil, + settled_amount: Integer | nil, + transaction_series: Lithic::ManagementOperationTransaction::TransactionSeries | nil, user_defined_id: String | nil } end diff --git a/test/lithic/resources/payments_test.rb b/test/lithic/resources/payments_test.rb index 8568c7c9..100c97b1 100644 --- a/test/lithic/resources/payments_test.rb +++ b/test/lithic/resources/payments_test.rb @@ -40,13 +40,15 @@ def test_retrieve method_: Lithic::Payment::Method, method_attributes: Lithic::Payment::MethodAttributes, pending_amount: Integer, + related_account_tokens: Lithic::Payment::RelatedAccountTokens, result: Lithic::Payment::Result, settled_amount: Integer, source: Lithic::Payment::Source, status: Lithic::Payment::Status, updated: Time, user_defined_id: String | nil, - expected_release_date: Date | nil + expected_release_date: Date | nil, + type: Lithic::Payment::Type | nil } end end @@ -79,13 +81,15 @@ def test_list method_: Lithic::Payment::Method, method_attributes: Lithic::Payment::MethodAttributes, pending_amount: Integer, + related_account_tokens: Lithic::Payment::RelatedAccountTokens, result: Lithic::Payment::Result, settled_amount: Integer, source: Lithic::Payment::Source, status: Lithic::Payment::Status, updated: Time, user_defined_id: String | nil, - expected_release_date: Date | nil + expected_release_date: Date | nil, + type: Lithic::Payment::Type | nil } end end diff --git a/test/lithic/resources/tokenizations_test.rb b/test/lithic/resources/tokenizations_test.rb index a8cfdbdf..2eca8c98 100644 --- a/test/lithic/resources/tokenizations_test.rb +++ b/test/lithic/resources/tokenizations_test.rb @@ -7,12 +7,24 @@ def test_retrieve response = @lithic.tokenizations.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assert_pattern do - response => Lithic::Models::TokenizationRetrieveResponse + response => Lithic::Tokenization end assert_pattern do response => { - data: Lithic::Tokenization | nil + token: String, + account_token: String, + card_token: String, + created_at: Time, + dpan: String | nil, + status: Lithic::Tokenization::Status, + token_requestor_name: Lithic::Tokenization::TokenRequestorName, + token_unique_reference: String, + tokenization_channel: Lithic::Tokenization::TokenizationChannel, + updated_at: Time, + digital_card_art_token: String | nil, + events: ^(Lithic::Internal::Type::ArrayOf[Lithic::Tokenization::Event]) | nil, + payment_account_reference_id: String | nil } end end From 5fc43226e9764248b2c9f1b1adadc6c8c7a08eec Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 18:40:26 +0000 Subject: [PATCH 2/5] release: 0.1.0-alpha.40 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 10 ++++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/lithic/version.rb | 2 +- 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 0f02ea1c..db3930fd 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.39" + ".": "0.1.0-alpha.40" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 64b735c1..b809a1bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## 0.1.0-alpha.40 (2025-07-15) + +Full Changelog: [v0.1.0-alpha.39...v0.1.0-alpha.40](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.39...v0.1.0-alpha.40) + +### Features + +* **api:** adds Network Programs and Account/Card Sub-statuses ([b5e5077](https://github.com/lithic-com/lithic-ruby/commit/b5e5077794684767a425d31f746cee2ed69d8ba7)) +* **api:** api update ([b8de03e](https://github.com/lithic-com/lithic-ruby/commit/b8de03e418647489f4e34b4a55ca4256f34c52fe)) +* **api:** api update ([72d4aab](https://github.com/lithic-com/lithic-ruby/commit/72d4aabb27fe144144c10899e64c863785d6595b)) + ## 0.1.0-alpha.39 (2025-07-03) Full Changelog: [v0.1.0-alpha.38...v0.1.0-alpha.39](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.38...v0.1.0-alpha.39) diff --git a/Gemfile.lock b/Gemfile.lock index 107f2ef0..7ee5a5b1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - lithic (0.1.0.pre.alpha.39) + lithic (0.1.0.pre.alpha.40) connection_pool GEM diff --git a/README.md b/README.md index 054ca55a..2f2c3f7c 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "lithic", "~> 0.1.0.pre.alpha.39" +gem "lithic", "~> 0.1.0.pre.alpha.40" ``` diff --git a/lib/lithic/version.rb b/lib/lithic/version.rb index 7b28be27..db2c2090 100644 --- a/lib/lithic/version.rb +++ b/lib/lithic/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Lithic - VERSION = "0.1.0.pre.alpha.39" + VERSION = "0.1.0.pre.alpha.40" end From d5f9cf9a5a4b9c2450c9ac65c5ec0708466c8331 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Sun, 24 Aug 2025 20:49:44 +0000 Subject: [PATCH 3/5] chore: add json schema comment for rubocop.yml --- .rubocop.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.rubocop.yml b/.rubocop.yml index 5a8f3745..e5786fb4 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,3 +1,4 @@ +# yaml-language-server: $schema=https://www.rubyschema.org/rubocop.json --- # Explicitly disable pending cops for now. This is the default behaviour but # this avoids a large warning every time we run it. @@ -8,7 +9,7 @@ AllCops: - "bin/*" NewCops: enable SuggestExtensions: false - TargetRubyVersion: 3.2.0 + TargetRubyVersion: 3.2 # Whether MFA is required or not should be left to the token configuration. Gemspec/RequireMFA: From 37126bc6c52176bee9e1a6c645a4033d7b48b81a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 3 Sep 2025 20:14:12 +0000 Subject: [PATCH 4/5] feat(api): adds support for delegated KYB onboarding and more device details in 3DS Authentications - adds support for KYB Delegated when creating an AccountHolder - adds support for IS_EQUAL_TO, IS_NOT_EQUAL_TO, IS_GREATER_THAN_OR_EQUAL_TO and IS_LESS_THAN_OR_EQUAL_TO to Conditional Block Parameters - moves wire details into debtor and creditor specific properties - adds additional device related data fields to 3DS Authentications: https://docs.lithic.com/changelog/new-mobile-device-info-for-3ds-authentications --- .stats.yml | 6 +- lib/lithic.rb | 1 + lib/lithic/models.rb | 2 + .../models/account_activity_list_response.rb | 128 +++++----- ..._activity_retrieve_transaction_response.rb | 129 +++++----- .../models/account_holder_create_params.rb | 76 +++--- .../models/auth_rules/auth_rule_condition.rb | 6 +- .../conditional_3ds_action_parameters.rb | 6 +- .../models/book_transfer_create_params.rb | 1 + lib/lithic/models/book_transfer_response.rb | 1 + lib/lithic/models/financial_account.rb | 2 +- .../models/instance_financial_account_type.rb | 2 +- lib/lithic/models/payment.rb | 10 +- .../reports/settlement_list_details_params.rb | 4 +- .../authentication_retrieve_response.rb | 92 +++++++- lib/lithic/models/wire_party_details.rb | 40 ++++ lib/lithic/resources/account_holders.rb | 16 +- lib/lithic/resources/reports/settlement.rb | 2 +- rbi/lithic/models.rbi | 2 + .../models/account_activity_list_response.rbi | 220 +++++++++++------- ...activity_retrieve_transaction_response.rbi | 220 +++++++++++------- .../models/account_holder_create_params.rbi | 148 +++++++----- .../models/auth_rules/auth_rule_condition.rbi | 20 ++ .../conditional_3ds_action_parameters.rbi | 20 ++ .../models/book_transfer_create_params.rbi | 5 + rbi/lithic/models/book_transfer_response.rbi | 5 + rbi/lithic/models/financial_account.rbi | 4 +- .../instance_financial_account_type.rbi | 4 +- rbi/lithic/models/payment.rbi | 20 +- .../settlement_list_details_params.rbi | 4 +- .../authentication_retrieve_response.rbi | 112 +++++++-- rbi/lithic/models/wire_party_details.rbi | 61 +++++ rbi/lithic/resources/account_holders.rbi | 55 +++-- rbi/lithic/resources/reports/settlement.rbi | 2 +- sig/lithic/models.rbs | 2 + .../models/account_activity_list_response.rbs | 117 ++++++---- ...activity_retrieve_transaction_response.rbs | 117 ++++++---- .../models/account_holder_create_params.rbs | 52 +++-- .../models/auth_rules/auth_rule_condition.rbs | 8 + .../conditional_3ds_action_parameters.rbs | 8 + .../models/book_transfer_create_params.rbs | 2 + sig/lithic/models/book_transfer_response.rbs | 2 + sig/lithic/models/financial_account.rbs | 4 +- .../instance_financial_account_type.rbs | 4 +- sig/lithic/models/payment.rbs | 20 +- .../authentication_retrieve_response.rbs | 61 ++++- sig/lithic/models/wire_party_details.rbs | 35 +++ sig/lithic/resources/account_holders.rbs | 6 +- 48 files changed, 1220 insertions(+), 644 deletions(-) create mode 100644 lib/lithic/models/wire_party_details.rb create mode 100644 rbi/lithic/models/wire_party_details.rbi create mode 100644 sig/lithic/models/wire_party_details.rbs diff --git a/.stats.yml b/.stats.yml index 1297b875..bfde9d73 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 169 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-e16df7d65a6ababc8e0ca1f2a65070893d82d3b2b046394ab708d56fe717b3ad.yml -openapi_spec_hash: ee82cf8fd5bb6b86abbae304f6c43934 -config_hash: c6d56596249e319c59d49d8e49a190b1 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-117e0ee9b030a2efc3b09e189e445fb1a26fd32f1c563f385b9d7071a959c550.yml +openapi_spec_hash: e529a3fa8c3a79d3664db391683334c3 +config_hash: 22e4b128e110e2767daa9d95428ebf9d diff --git a/lib/lithic.rb b/lib/lithic.rb index 8b53309d..f6385160 100644 --- a/lib/lithic.rb +++ b/lib/lithic.rb @@ -350,6 +350,7 @@ require_relative "lithic/models/transfer" require_relative "lithic/models/transfer_create_params" require_relative "lithic/models/verification_method" +require_relative "lithic/models/wire_party_details" require_relative "lithic/models" require_relative "lithic/resources/account_activity" require_relative "lithic/resources/account_holders" diff --git a/lib/lithic/models.rb b/lib/lithic/models.rb index 70016ca3..a0736466 100644 --- a/lib/lithic/models.rb +++ b/lib/lithic/models.rb @@ -389,4 +389,6 @@ module Lithic TransferCreateParams = Lithic::Models::TransferCreateParams VerificationMethod = Lithic::Models::VerificationMethod + + WirePartyDetails = Lithic::Models::WirePartyDetails end diff --git a/lib/lithic/models/account_activity_list_response.rb b/lib/lithic/models/account_activity_list_response.rb index fa6501a7..30e082b7 100644 --- a/lib/lithic/models/account_activity_list_response.rb +++ b/lib/lithic/models/account_activity_list_response.rb @@ -642,6 +642,7 @@ module Type DISPUTE_WON = :DISPUTE_WON SERVICE = :SERVICE TRANSFER = :TRANSFER + COLLECTION = :COLLECTION # @!method self.values # @return [Array] @@ -912,13 +913,18 @@ class PaymentTransaction < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :external_bank_account_token, String, nil?: true + # @!attribute type + # + # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type, nil] + optional :type, enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type } + # @!attribute user_defined_id # User-defined identifier # # @return [String, nil] optional :user_defined_id, String, nil?: true - # @!method initialize(token:, category:, created:, descriptor:, direction:, events:, family:, financial_account_token:, method_:, method_attributes:, pending_amount:, related_account_tokens:, result:, settled_amount:, source:, status:, updated:, currency: nil, expected_release_date: nil, external_bank_account_token: nil, user_defined_id: nil) + # @!method initialize(token:, category:, created:, descriptor:, direction:, events:, family:, financial_account_token:, method_:, method_attributes:, pending_amount:, related_account_tokens:, result:, settled_amount:, source:, status:, updated:, currency: nil, expected_release_date: nil, external_bank_account_token: nil, type: nil, user_defined_id: nil) # Payment transaction # # @param token [String] Unique identifier for the transaction @@ -961,6 +967,8 @@ class PaymentTransaction < Lithic::Internal::Type::BaseModel # # @param external_bank_account_token [String, nil] External bank account token # + # @param type [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type] + # # @param user_defined_id [String, nil] User-defined identifier # Transaction category @@ -1266,100 +1274,63 @@ module SecCode end class WireMethodAttributes < Lithic::Internal::Type::BaseModel - # @!attribute wire_transfer_type + # @!attribute wire_network # Type of wire transfer # - # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType] - required :wire_transfer_type, - enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType } - - # @!attribute external_bank_name - # External bank name - # - # @return [String, nil] - optional :external_bank_name, String, nil?: true - - # @!attribute external_bank_routing_number - # External bank routing number - # - # @return [String, nil] - optional :external_bank_routing_number, String, nil?: true - - # @!attribute external_individual_name - # External individual name - # - # @return [String, nil] - optional :external_individual_name, String, nil?: true - - # @!attribute imad - # IMAD - # - # @return [String, nil] - optional :imad, String, nil?: true - - # @!attribute lithic_bank_name - # Lithic bank name - # - # @return [String, nil] - optional :lithic_bank_name, String, nil?: true + # @return [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork] + required :wire_network, + enum: -> { Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork } - # @!attribute lithic_bank_routing_number - # Lithic bank routing number + # @!attribute creditor # - # @return [String, nil] - optional :lithic_bank_routing_number, String, nil?: true + # @return [Lithic::Models::WirePartyDetails, nil] + optional :creditor, -> { Lithic::WirePartyDetails } - # @!attribute lithic_individual_name - # Lithic individual name + # @!attribute debtor # - # @return [String, nil] - optional :lithic_individual_name, String, nil?: true + # @return [Lithic::Models::WirePartyDetails, nil] + optional :debtor, -> { Lithic::WirePartyDetails } - # @!attribute omad - # OMAD + # @!attribute message_id + # Point to point reference identifier, as assigned by the instructing party, used + # for tracking the message through the Fedwire system # # @return [String, nil] - optional :omad, String, nil?: true + optional :message_id, String, nil?: true - # @!attribute previous_transfer - # UUID of previous transfer if this is a retry + # @!attribute remittance_information + # Payment details or invoice reference # # @return [String, nil] - optional :previous_transfer, String, nil?: true + optional :remittance_information, String, nil?: true - # @!attribute wire_token - # Wire token + # @!attribute wire_message_type + # Type of wire message # # @return [String, nil] - optional :wire_token, String, nil?: true + optional :wire_message_type, String - # @!method initialize(wire_transfer_type:, external_bank_name: nil, external_bank_routing_number: nil, external_individual_name: nil, imad: nil, lithic_bank_name: nil, lithic_bank_routing_number: nil, lithic_individual_name: nil, omad: nil, previous_transfer: nil, wire_token: nil) - # @param wire_transfer_type [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType] Type of wire transfer - # - # @param external_bank_name [String, nil] External bank name - # - # @param external_bank_routing_number [String, nil] External bank routing number - # - # @param external_individual_name [String, nil] External individual name + # @!method initialize(wire_network:, creditor: nil, debtor: nil, message_id: nil, remittance_information: nil, wire_message_type: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes} + # for more details. # - # @param imad [String, nil] IMAD + # @param wire_network [Symbol, Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork] Type of wire transfer # - # @param lithic_bank_name [String, nil] Lithic bank name + # @param creditor [Lithic::Models::WirePartyDetails] # - # @param lithic_bank_routing_number [String, nil] Lithic bank routing number + # @param debtor [Lithic::Models::WirePartyDetails] # - # @param lithic_individual_name [String, nil] Lithic individual name + # @param message_id [String, nil] Point to point reference identifier, as assigned by the instructing party, used # - # @param omad [String, nil] OMAD + # @param remittance_information [String, nil] Payment details or invoice reference # - # @param previous_transfer [String, nil] UUID of previous transfer if this is a retry - # - # @param wire_token [String, nil] Wire token + # @param wire_message_type [String] Type of wire message # Type of wire transfer # - # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes#wire_transfer_type - module WireTransferType + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes#wire_network + module WireNetwork extend Lithic::Internal::Type::Enum FEDWIRE = :FEDWIRE @@ -1438,6 +1409,23 @@ module Status # @!method self.values # @return [Array] end + + # @see Lithic::Models::AccountActivityListResponse::PaymentTransaction#type + module Type + extend Lithic::Internal::Type::Enum + + ORIGINATION_CREDIT = :ORIGINATION_CREDIT + ORIGINATION_DEBIT = :ORIGINATION_DEBIT + RECEIPT_CREDIT = :RECEIPT_CREDIT + RECEIPT_DEBIT = :RECEIPT_DEBIT + WIRE_INBOUND_PAYMENT = :WIRE_INBOUND_PAYMENT + WIRE_INBOUND_ADMIN = :WIRE_INBOUND_ADMIN + WIRE_OUTBOUND_PAYMENT = :WIRE_OUTBOUND_PAYMENT + WIRE_OUTBOUND_ADMIN = :WIRE_OUTBOUND_ADMIN + + # @!method self.values + # @return [Array] + end end # @!method self.variants diff --git a/lib/lithic/models/account_activity_retrieve_transaction_response.rb b/lib/lithic/models/account_activity_retrieve_transaction_response.rb index c46cd5d0..27e21f57 100644 --- a/lib/lithic/models/account_activity_retrieve_transaction_response.rb +++ b/lib/lithic/models/account_activity_retrieve_transaction_response.rb @@ -645,6 +645,7 @@ module Type DISPUTE_WON = :DISPUTE_WON SERVICE = :SERVICE TRANSFER = :TRANSFER + COLLECTION = :COLLECTION # @!method self.values # @return [Array] @@ -922,13 +923,19 @@ class PaymentTransaction < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :external_bank_account_token, String, nil?: true + # @!attribute type + # + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type, nil] + optional :type, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type } + # @!attribute user_defined_id # User-defined identifier # # @return [String, nil] optional :user_defined_id, String, nil?: true - # @!method initialize(token:, category:, created:, descriptor:, direction:, events:, family:, financial_account_token:, method_:, method_attributes:, pending_amount:, related_account_tokens:, result:, settled_amount:, source:, status:, updated:, currency: nil, expected_release_date: nil, external_bank_account_token: nil, user_defined_id: nil) + # @!method initialize(token:, category:, created:, descriptor:, direction:, events:, family:, financial_account_token:, method_:, method_attributes:, pending_amount:, related_account_tokens:, result:, settled_amount:, source:, status:, updated:, currency: nil, expected_release_date: nil, external_bank_account_token: nil, type: nil, user_defined_id: nil) # Payment transaction # # @param token [String] Unique identifier for the transaction @@ -971,6 +978,8 @@ class PaymentTransaction < Lithic::Internal::Type::BaseModel # # @param external_bank_account_token [String, nil] External bank account token # + # @param type [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type] + # # @param user_defined_id [String, nil] User-defined identifier # Transaction category @@ -1281,100 +1290,63 @@ module SecCode end class WireMethodAttributes < Lithic::Internal::Type::BaseModel - # @!attribute wire_transfer_type + # @!attribute wire_network # Type of wire transfer # - # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType] - required :wire_transfer_type, - enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType } - - # @!attribute external_bank_name - # External bank name - # - # @return [String, nil] - optional :external_bank_name, String, nil?: true - - # @!attribute external_bank_routing_number - # External bank routing number - # - # @return [String, nil] - optional :external_bank_routing_number, String, nil?: true - - # @!attribute external_individual_name - # External individual name - # - # @return [String, nil] - optional :external_individual_name, String, nil?: true - - # @!attribute imad - # IMAD - # - # @return [String, nil] - optional :imad, String, nil?: true - - # @!attribute lithic_bank_name - # Lithic bank name - # - # @return [String, nil] - optional :lithic_bank_name, String, nil?: true + # @return [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork] + required :wire_network, + enum: -> { Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork } - # @!attribute lithic_bank_routing_number - # Lithic bank routing number + # @!attribute creditor # - # @return [String, nil] - optional :lithic_bank_routing_number, String, nil?: true + # @return [Lithic::Models::WirePartyDetails, nil] + optional :creditor, -> { Lithic::WirePartyDetails } - # @!attribute lithic_individual_name - # Lithic individual name + # @!attribute debtor # - # @return [String, nil] - optional :lithic_individual_name, String, nil?: true + # @return [Lithic::Models::WirePartyDetails, nil] + optional :debtor, -> { Lithic::WirePartyDetails } - # @!attribute omad - # OMAD + # @!attribute message_id + # Point to point reference identifier, as assigned by the instructing party, used + # for tracking the message through the Fedwire system # # @return [String, nil] - optional :omad, String, nil?: true + optional :message_id, String, nil?: true - # @!attribute previous_transfer - # UUID of previous transfer if this is a retry + # @!attribute remittance_information + # Payment details or invoice reference # # @return [String, nil] - optional :previous_transfer, String, nil?: true + optional :remittance_information, String, nil?: true - # @!attribute wire_token - # Wire token + # @!attribute wire_message_type + # Type of wire message # # @return [String, nil] - optional :wire_token, String, nil?: true + optional :wire_message_type, String - # @!method initialize(wire_transfer_type:, external_bank_name: nil, external_bank_routing_number: nil, external_individual_name: nil, imad: nil, lithic_bank_name: nil, lithic_bank_routing_number: nil, lithic_individual_name: nil, omad: nil, previous_transfer: nil, wire_token: nil) - # @param wire_transfer_type [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType] Type of wire transfer - # - # @param external_bank_name [String, nil] External bank name - # - # @param external_bank_routing_number [String, nil] External bank routing number - # - # @param external_individual_name [String, nil] External individual name + # @!method initialize(wire_network:, creditor: nil, debtor: nil, message_id: nil, remittance_information: nil, wire_message_type: nil) + # Some parameter documentations has been truncated, see + # {Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes} + # for more details. # - # @param imad [String, nil] IMAD + # @param wire_network [Symbol, Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork] Type of wire transfer # - # @param lithic_bank_name [String, nil] Lithic bank name + # @param creditor [Lithic::Models::WirePartyDetails] # - # @param lithic_bank_routing_number [String, nil] Lithic bank routing number + # @param debtor [Lithic::Models::WirePartyDetails] # - # @param lithic_individual_name [String, nil] Lithic individual name + # @param message_id [String, nil] Point to point reference identifier, as assigned by the instructing party, used # - # @param omad [String, nil] OMAD + # @param remittance_information [String, nil] Payment details or invoice reference # - # @param previous_transfer [String, nil] UUID of previous transfer if this is a retry - # - # @param wire_token [String, nil] Wire token + # @param wire_message_type [String] Type of wire message # Type of wire transfer # - # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes#wire_transfer_type - module WireTransferType + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes#wire_network + module WireNetwork extend Lithic::Internal::Type::Enum FEDWIRE = :FEDWIRE @@ -1453,6 +1425,23 @@ module Status # @!method self.values # @return [Array] end + + # @see Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction#type + module Type + extend Lithic::Internal::Type::Enum + + ORIGINATION_CREDIT = :ORIGINATION_CREDIT + ORIGINATION_DEBIT = :ORIGINATION_DEBIT + RECEIPT_CREDIT = :RECEIPT_CREDIT + RECEIPT_DEBIT = :RECEIPT_DEBIT + WIRE_INBOUND_PAYMENT = :WIRE_INBOUND_PAYMENT + WIRE_INBOUND_ADMIN = :WIRE_INBOUND_ADMIN + WIRE_OUTBOUND_PAYMENT = :WIRE_OUTBOUND_PAYMENT + WIRE_OUTBOUND_ADMIN = :WIRE_OUTBOUND_ADMIN + + # @!method self.values + # @return [Array] + end end # @!method self.variants diff --git a/lib/lithic/models/account_holder_create_params.rb b/lib/lithic/models/account_holder_create_params.rb index f744e3e0..f5bf456d 100644 --- a/lib/lithic/models/account_holder_create_params.rb +++ b/lib/lithic/models/account_holder_create_params.rb @@ -8,20 +8,19 @@ class AccountHolderCreateParams < Lithic::Internal::Type::BaseModel include Lithic::Internal::Type::RequestParameters # @!attribute beneficial_owner_individuals - # You must submit a list of all direct and indirect individuals with 25% or more + # You can submit a list of all direct and indirect individuals with 25% or more # ownership in the company. A maximum of 4 beneficial owners can be submitted. If # no individual owns 25% of the company you do not need to send beneficial owner # information. See # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf) # (Section I) for more background on individuals that should be included. # - # @return [Array] - required :beneficial_owner_individuals, + # @return [Array, nil] + optional :beneficial_owner_individuals, -> { Lithic::Internal::Type::ArrayOf[Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual] } # @!attribute business_entity - # Information for business for which the account is being opened and KYB is being - # run. + # Information for business for which the account is being opened. # # @return [Lithic::Models::AccountHolderCreateParams::BusinessEntity] required :business_entity, -> { Lithic::AccountHolderCreateParams::BusinessEntity } @@ -36,15 +35,15 @@ class AccountHolderCreateParams < Lithic::Internal::Type::BaseModel # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf) # (Section II) for more background. # - # @return [Lithic::Models::AccountHolderCreateParams::ControlPerson] - required :control_person, -> { Lithic::AccountHolderCreateParams::ControlPerson } + # @return [Lithic::Models::AccountHolderCreateParams::ControlPerson, nil] + optional :control_person, -> { Lithic::AccountHolderCreateParams::ControlPerson } # @!attribute nature_of_business # Short description of the company's line of business (i.e., what does the company # do?). # - # @return [String] - required :nature_of_business, String + # @return [String, nil] + optional :nature_of_business, String # @!attribute tos_timestamp # An RFC 3339 timestamp indicating when the account holder accepted the applicable @@ -152,17 +151,11 @@ class AccountHolderCreateParams < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :business_account_token, String - # @!method initialize(beneficial_owner_individuals:, business_entity:, control_person:, nature_of_business:, tos_timestamp:, workflow:, individual:, address:, email:, first_name:, kyc_exemption_type:, last_name:, phone_number:, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, website_url: nil, kyc_passed_timestamp: nil, business_account_token: nil, request_options: {}) + # @!method initialize(business_entity:, tos_timestamp:, workflow:, individual:, address:, email:, first_name:, kyc_exemption_type:, last_name:, phone_number:, beneficial_owner_individuals: nil, control_person: nil, nature_of_business: nil, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, website_url: nil, kyc_passed_timestamp: nil, business_account_token: nil, request_options: {}) # Some parameter documentations has been truncated, see # {Lithic::Models::AccountHolderCreateParams} for more details. # - # @param beneficial_owner_individuals [Array] You must submit a list of all direct and indirect individuals with 25% or more o - # - # @param business_entity [Lithic::Models::AccountHolderCreateParams::BusinessEntity] Information for business for which the account is being opened and KYB is being - # - # @param control_person [Lithic::Models::AccountHolderCreateParams::ControlPerson] An individual with significant responsibility for managing the legal entity (e.g - # - # @param nature_of_business [String] Short description of the company's line of business (i.e., what does the company + # @param business_entity [Lithic::Models::AccountHolderCreateParams::BusinessEntity] Information for business for which the account is being opened. # # @param tos_timestamp [String] An RFC 3339 timestamp indicating when the account holder accepted the applicable # @@ -182,6 +175,12 @@ class AccountHolderCreateParams < Lithic::Internal::Type::BaseModel # # @param phone_number [String] The KYC Exempt user's phone number, entered in E.164 format. # + # @param beneficial_owner_individuals [Array] You can submit a list of all direct and indirect individuals with 25% or more ow + # + # @param control_person [Lithic::Models::AccountHolderCreateParams::ControlPerson] An individual with significant responsibility for managing the legal entity (e.g + # + # @param nature_of_business [String] Short description of the company's line of business (i.e., what does the company + # # @param beneficial_owner_entities [Array] Deprecated. # # @param external_id [String] A user provided id that can be used to link an account holder with an external s @@ -274,27 +273,12 @@ class BusinessEntity < Lithic::Internal::Type::BaseModel # @return [Lithic::Models::Address] required :address, -> { Lithic::Address } - # @!attribute government_id - # Government-issued identification number. US Federal Employer Identification - # Numbers (EIN) are currently supported, entered as full nine-digits, with or - # without hyphens. - # - # @return [String] - required :government_id, String - # @!attribute legal_business_name # Legal (formal) business name. # # @return [String] required :legal_business_name, String - # @!attribute phone_numbers - # One or more of the business's phone number(s), entered as a list in E.164 - # format. - # - # @return [Array] - required :phone_numbers, Lithic::Internal::Type::ArrayOf[String] - # @!attribute dba_business_name # Any name that the business operates under that is not its legal business name # (if applicable). @@ -302,30 +286,44 @@ class BusinessEntity < Lithic::Internal::Type::BaseModel # @return [String, nil] optional :dba_business_name, String + # @!attribute government_id + # Government-issued identification number. US Federal Employer Identification + # Numbers (EIN) are currently supported, entered as full nine-digits, with or + # without hyphens. + # + # @return [String, nil] + optional :government_id, String + # @!attribute parent_company # Parent company name (if applicable). # # @return [String, nil] optional :parent_company, String - # @!method initialize(address:, government_id:, legal_business_name:, phone_numbers:, dba_business_name: nil, parent_company: nil) + # @!attribute phone_numbers + # One or more of the business's phone number(s), entered as a list in E.164 + # format. + # + # @return [Array, nil] + optional :phone_numbers, Lithic::Internal::Type::ArrayOf[String] + + # @!method initialize(address:, legal_business_name:, dba_business_name: nil, government_id: nil, parent_company: nil, phone_numbers: nil) # Some parameter documentations has been truncated, see # {Lithic::Models::AccountHolderCreateParams::BusinessEntity} for more details. # - # Information for business for which the account is being opened and KYB is being - # run. + # Information for business for which the account is being opened. # # @param address [Lithic::Models::Address] Business's physical address - PO boxes, UPS drops, and FedEx drops are not accep # - # @param government_id [String] Government-issued identification number. US Federal Employer Identification Numb - # # @param legal_business_name [String] Legal (formal) business name. # - # @param phone_numbers [Array] One or more of the business's phone number(s), entered as a list in E.164 format - # # @param dba_business_name [String] Any name that the business operates under that is not its legal business name (i # + # @param government_id [String] Government-issued identification number. US Federal Employer Identification Numb + # # @param parent_company [String] Parent company name (if applicable). + # + # @param phone_numbers [Array] One or more of the business's phone number(s), entered as a list in E.164 format end class ControlPerson < Lithic::Internal::Type::BaseModel diff --git a/lib/lithic/models/auth_rules/auth_rule_condition.rb b/lib/lithic/models/auth_rules/auth_rule_condition.rb index f493f0e1..f9f04d6f 100644 --- a/lib/lithic/models/auth_rules/auth_rule_condition.rb +++ b/lib/lithic/models/auth_rules/auth_rule_condition.rb @@ -88,8 +88,12 @@ module Operation IS_NOT_ONE_OF = :IS_NOT_ONE_OF MATCHES = :MATCHES DOES_NOT_MATCH = :DOES_NOT_MATCH + IS_EQUAL_TO = :IS_EQUAL_TO + IS_NOT_EQUAL_TO = :IS_NOT_EQUAL_TO IS_GREATER_THAN = :IS_GREATER_THAN + IS_GREATER_THAN_OR_EQUAL_TO = :IS_GREATER_THAN_OR_EQUAL_TO IS_LESS_THAN = :IS_LESS_THAN + IS_LESS_THAN_OR_EQUAL_TO = :IS_LESS_THAN_OR_EQUAL_TO # @!method self.values # @return [Array] @@ -104,7 +108,7 @@ module Value # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` variant String - # A number, to be used with `IS_GREATER_THAN` or `IS_LESS_THAN` + # A number, to be used with `IS_GREATER_THAN`, `IS_GREATER_THAN_OR_EQUAL_TO`, `IS_LESS_THAN`, `IS_LESS_THAN_OR_EQUAL_TO`, `IS_EQUAL_TO`, or `IS_NOT_EQUAL_TO` variant Integer # An array of strings, to be used with `IS_ONE_OF` or `IS_NOT_ONE_OF` diff --git a/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb b/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb index a98ca383..09440d9d 100644 --- a/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb +++ b/lib/lithic/models/auth_rules/conditional_3ds_action_parameters.rb @@ -133,8 +133,12 @@ module Operation IS_NOT_ONE_OF = :IS_NOT_ONE_OF MATCHES = :MATCHES DOES_NOT_MATCH = :DOES_NOT_MATCH + IS_EQUAL_TO = :IS_EQUAL_TO + IS_NOT_EQUAL_TO = :IS_NOT_EQUAL_TO IS_GREATER_THAN = :IS_GREATER_THAN + IS_GREATER_THAN_OR_EQUAL_TO = :IS_GREATER_THAN_OR_EQUAL_TO IS_LESS_THAN = :IS_LESS_THAN + IS_LESS_THAN_OR_EQUAL_TO = :IS_LESS_THAN_OR_EQUAL_TO # @!method self.values # @return [Array] @@ -149,7 +153,7 @@ module Value # A regex string, to be used with `MATCHES` or `DOES_NOT_MATCH` variant String - # A number, to be used with `IS_GREATER_THAN` or `IS_LESS_THAN` + # A number, to be used with `IS_GREATER_THAN`, `IS_GREATER_THAN_OR_EQUAL_TO`, `IS_LESS_THAN`, `IS_LESS_THAN_OR_EQUAL_TO`, `IS_EQUAL_TO`, or `IS_NOT_EQUAL_TO` variant Integer # An array of strings, to be used with `IS_ONE_OF` or `IS_NOT_ONE_OF` diff --git a/lib/lithic/models/book_transfer_create_params.rb b/lib/lithic/models/book_transfer_create_params.rb index fc932a06..30a83c8b 100644 --- a/lib/lithic/models/book_transfer_create_params.rb +++ b/lib/lithic/models/book_transfer_create_params.rb @@ -150,6 +150,7 @@ module Type DISPUTE_WON = :DISPUTE_WON SERVICE = :SERVICE TRANSFER = :TRANSFER + COLLECTION = :COLLECTION # @!method self.values # @return [Array] diff --git a/lib/lithic/models/book_transfer_response.rb b/lib/lithic/models/book_transfer_response.rb index 1aa4d7d4..73876582 100644 --- a/lib/lithic/models/book_transfer_response.rb +++ b/lib/lithic/models/book_transfer_response.rb @@ -294,6 +294,7 @@ module Type DISPUTE_WON = :DISPUTE_WON SERVICE = :SERVICE TRANSFER = :TRANSFER + COLLECTION = :COLLECTION # @!method self.values # @return [Array] diff --git a/lib/lithic/models/financial_account.rb b/lib/lithic/models/financial_account.rb index 161ea280..52045301 100644 --- a/lib/lithic/models/financial_account.rb +++ b/lib/lithic/models/financial_account.rb @@ -210,7 +210,7 @@ module Type SECURITY = :SECURITY PROGRAM_RECEIVABLES = :PROGRAM_RECEIVABLES COLLECTION = :COLLECTION - BANK_ACCOUNTS_PAYABLE = :BANK_ACCOUNTS_PAYABLE + PROGRAM_BANK_ACCOUNTS_PAYABLE = :PROGRAM_BANK_ACCOUNTS_PAYABLE # @!method self.values # @return [Array] diff --git a/lib/lithic/models/instance_financial_account_type.rb b/lib/lithic/models/instance_financial_account_type.rb index 8aecdf3a..75707f8d 100644 --- a/lib/lithic/models/instance_financial_account_type.rb +++ b/lib/lithic/models/instance_financial_account_type.rb @@ -15,7 +15,7 @@ module InstanceFinancialAccountType SECURITY = :SECURITY PROGRAM_RECEIVABLES = :PROGRAM_RECEIVABLES COLLECTION = :COLLECTION - BANK_ACCOUNTS_PAYABLE = :BANK_ACCOUNTS_PAYABLE + PROGRAM_BANK_ACCOUNTS_PAYABLE = :PROGRAM_BANK_ACCOUNTS_PAYABLE # @!method self.values # @return [Array] diff --git a/lib/lithic/models/payment.rb b/lib/lithic/models/payment.rb index a68c872e..c68d9cc7 100644 --- a/lib/lithic/models/payment.rb +++ b/lib/lithic/models/payment.rb @@ -497,12 +497,10 @@ module Type ORIGINATION_DEBIT = :ORIGINATION_DEBIT RECEIPT_CREDIT = :RECEIPT_CREDIT RECEIPT_DEBIT = :RECEIPT_DEBIT - CUSTOMER_TRANSFER = :CUSTOMER_TRANSFER - DRAWDOWN_PAYMENT = :DRAWDOWN_PAYMENT - REVERSAL_PAYMENT = :REVERSAL_PAYMENT - DRAWDOWN_REQUEST = :DRAWDOWN_REQUEST - REVERSAL_REQUEST = :REVERSAL_REQUEST - DRAWDOWN_REFUSAL = :DRAWDOWN_REFUSAL + WIRE_INBOUND_PAYMENT = :WIRE_INBOUND_PAYMENT + WIRE_INBOUND_ADMIN = :WIRE_INBOUND_ADMIN + WIRE_OUTBOUND_PAYMENT = :WIRE_OUTBOUND_PAYMENT + WIRE_OUTBOUND_ADMIN = :WIRE_OUTBOUND_ADMIN # @!method self.values # @return [Array] diff --git a/lib/lithic/models/reports/settlement_list_details_params.rb b/lib/lithic/models/reports/settlement_list_details_params.rb index dae12728..19a10014 100644 --- a/lib/lithic/models/reports/settlement_list_details_params.rb +++ b/lib/lithic/models/reports/settlement_list_details_params.rb @@ -16,7 +16,7 @@ class SettlementListDetailsParams < Lithic::Internal::Type::BaseModel optional :ending_before, String # @!attribute page_size - # Page size (for pagination). + # Number of records per page. # # @return [Integer, nil] optional :page_size, Integer @@ -34,7 +34,7 @@ class SettlementListDetailsParams < Lithic::Internal::Type::BaseModel # # @param ending_before [String] A cursor representing an item's token before which a page of results should end. # - # @param page_size [Integer] Page size (for pagination). + # @param page_size [Integer] Number of records per page. # # @param starting_after [String] A cursor representing an item's token after which a page of results should begin # diff --git a/lib/lithic/models/three_ds/authentication_retrieve_response.rb b/lib/lithic/models/three_ds/authentication_retrieve_response.rb index 4627d12e..19dd5158 100644 --- a/lib/lithic/models/three_ds/authentication_retrieve_response.rb +++ b/lib/lithic/models/three_ds/authentication_retrieve_response.rb @@ -806,30 +806,101 @@ module NetworkDecision # @see Lithic::Models::ThreeDS::AuthenticationRetrieveResponse#app class App < Lithic::Internal::Type::BaseModel + # @!attribute device + # Device model: e.g. "Apple iPhone 16". + # + # @return [String, nil] + optional :device, String, nil?: true + # @!attribute device_info - # Device information gathered from the cardholder's device - JSON name/value pairs - # that is Base64url encoded. Maps to EMV 3DS field `deviceInfo`. + # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field + # `deviceInfo`. # # @return [String, nil] optional :device_info, String, nil?: true # @!attribute ip - # External IP address used by the app generating the 3DS authentication request. - # Maps to EMV 3DS field `appIp`. + # IP address of the device. # # @return [String, nil] optional :ip, String - # @!method initialize(device_info: nil, ip: nil) + # @!attribute latitude + # Latitude coordinate of current device location. + # + # @return [Float, nil] + optional :latitude, Float, nil?: true + + # @!attribute locale + # Device locale: e.g. "en-US". + # + # @return [String, nil] + optional :locale, String, nil?: true + + # @!attribute longitude + # Longitude coordinate of current device location. + # + # @return [Float, nil] + optional :longitude, Float, nil?: true + + # @!attribute os + # Operating System: e.g. "Android 12", "iOS 17.1". + # + # @return [String, nil] + optional :os, String, nil?: true + + # @!attribute platform + # Device platform: Android, iOS, Windows, etc. + # + # @return [String, nil] + optional :platform, String, nil?: true + + # @!attribute screen_height + # Screen height in pixels. + # + # @return [Integer, nil] + optional :screen_height, Integer, nil?: true + + # @!attribute screen_width + # Screen width in pixels. + # + # @return [Integer, nil] + optional :screen_width, Integer, nil?: true + + # @!attribute time_zone + # Time zone offset in minutes between UTC and device local time. + # + # @return [String, nil] + optional :time_zone, String, nil?: true + + # @!method initialize(device: nil, device_info: nil, ip: nil, latitude: nil, locale: nil, longitude: nil, os: nil, platform: nil, screen_height: nil, screen_width: nil, time_zone: nil) # Some parameter documentations has been truncated, see # {Lithic::Models::ThreeDS::AuthenticationRetrieveResponse::App} for more details. # # Object containing data about the app used in the e-commerce transaction. Present # if the channel is 'APP_BASED'. # - # @param device_info [String, nil] Device information gathered from the cardholder's device - JSON name/value pairs + # @param device [String, nil] Device model: e.g. "Apple iPhone 16". + # + # @param device_info [String, nil] Raw device information - base64-encoded JSON object. Maps to EMV 3DS field `devi + # + # @param ip [String] IP address of the device. + # + # @param latitude [Float, nil] Latitude coordinate of current device location. + # + # @param locale [String, nil] Device locale: e.g. "en-US". + # + # @param longitude [Float, nil] Longitude coordinate of current device location. + # + # @param os [String, nil] Operating System: e.g. "Android 12", "iOS 17.1". + # + # @param platform [String, nil] Device platform: Android, iOS, Windows, etc. + # + # @param screen_height [Integer, nil] Screen height in pixels. + # + # @param screen_width [Integer, nil] Screen width in pixels. # - # @param ip [String] External IP address used by the app generating the 3DS authentication request. M + # @param time_zone [String, nil] Time zone offset in minutes between UTC and device local time. end # Type of authentication request - i.e., the type of transaction or interaction is @@ -893,9 +964,8 @@ class Browser < Lithic::Internal::Type::BaseModel optional :language, String, nil?: true # @!attribute time_zone - # Time zone of the cardholder's browser offset in minutes between UTC and the - # cardholder browser's local time. The offset is positive if the local time is - # behind UTC and negative if it is ahead. Maps to EMV 3DS field `browserTz`. + # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS + # field `browserTz`. # # @return [String, nil] optional :time_zone, String, nil?: true @@ -924,7 +994,7 @@ class Browser < Lithic::Internal::Type::BaseModel # # @param language [String, nil] Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS f # - # @param time_zone [String, nil] Time zone of the cardholder's browser offset in minutes between UTC and the card + # @param time_zone [String, nil] Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS # # @param user_agent [String, nil] Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`. end diff --git a/lib/lithic/models/wire_party_details.rb b/lib/lithic/models/wire_party_details.rb new file mode 100644 index 00000000..06d5b0ec --- /dev/null +++ b/lib/lithic/models/wire_party_details.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +module Lithic + module Models + class WirePartyDetails < Lithic::Internal::Type::BaseModel + # @!attribute account_number + # Account number + # + # @return [String, nil] + optional :account_number, String, nil?: true + + # @!attribute agent_id + # Routing number or BIC of the financial institution + # + # @return [String, nil] + optional :agent_id, String, nil?: true + + # @!attribute agent_name + # Name of the financial institution + # + # @return [String, nil] + optional :agent_name, String, nil?: true + + # @!attribute name + # Name of the person or company + # + # @return [String, nil] + optional :name, String, nil?: true + + # @!method initialize(account_number: nil, agent_id: nil, agent_name: nil, name: nil) + # @param account_number [String, nil] Account number + # + # @param agent_id [String, nil] Routing number or BIC of the financial institution + # + # @param agent_name [String, nil] Name of the financial institution + # + # @param name [String, nil] Name of the person or company + end + end +end diff --git a/lib/lithic/resources/account_holders.rb b/lib/lithic/resources/account_holders.rb index 86e1cc9b..03dc95f2 100644 --- a/lib/lithic/resources/account_holders.rb +++ b/lib/lithic/resources/account_holders.rb @@ -15,15 +15,9 @@ class AccountHolders # process. This endpoint can only be used on accounts that are part of the program # that the calling API key manages. # - # @overload create(beneficial_owner_individuals:, business_entity:, control_person:, nature_of_business:, tos_timestamp:, workflow:, individual:, address:, email:, first_name:, kyc_exemption_type:, last_name:, phone_number:, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, website_url: nil, kyc_passed_timestamp: nil, business_account_token: nil, request_options: {}) + # @overload create(business_entity:, tos_timestamp:, workflow:, individual:, address:, email:, first_name:, kyc_exemption_type:, last_name:, phone_number:, beneficial_owner_individuals: nil, control_person: nil, nature_of_business: nil, beneficial_owner_entities: nil, external_id: nil, kyb_passed_timestamp: nil, website_url: nil, kyc_passed_timestamp: nil, business_account_token: nil, request_options: {}) # - # @param beneficial_owner_individuals [Array] You must submit a list of all direct and indirect individuals with 25% or more o - # - # @param business_entity [Lithic::Models::AccountHolderCreateParams::BusinessEntity] Information for business for which the account is being opened and KYB is being - # - # @param control_person [Lithic::Models::AccountHolderCreateParams::ControlPerson] An individual with significant responsibility for managing the legal entity (e.g - # - # @param nature_of_business [String] Short description of the company's line of business (i.e., what does the company + # @param business_entity [Lithic::Models::AccountHolderCreateParams::BusinessEntity] Information for business for which the account is being opened. # # @param tos_timestamp [String] An RFC 3339 timestamp indicating when the account holder accepted the applicable # @@ -43,6 +37,12 @@ class AccountHolders # # @param phone_number [String] The KYC Exempt user's phone number, entered in E.164 format. # + # @param beneficial_owner_individuals [Array] You can submit a list of all direct and indirect individuals with 25% or more ow + # + # @param control_person [Lithic::Models::AccountHolderCreateParams::ControlPerson] An individual with significant responsibility for managing the legal entity (e.g + # + # @param nature_of_business [String] Short description of the company's line of business (i.e., what does the company + # # @param beneficial_owner_entities [Array] Deprecated. # # @param external_id [String] A user provided id that can be used to link an account holder with an external s diff --git a/lib/lithic/resources/reports/settlement.rb b/lib/lithic/resources/reports/settlement.rb index 6d14c689..b5ebf4a2 100644 --- a/lib/lithic/resources/reports/settlement.rb +++ b/lib/lithic/resources/reports/settlement.rb @@ -18,7 +18,7 @@ class Settlement # # @param ending_before [String] A cursor representing an item's token before which a page of results should end. # - # @param page_size [Integer] Page size (for pagination). + # @param page_size [Integer] Number of records per page. # # @param starting_after [String] A cursor representing an item's token after which a page of results should begin # diff --git a/rbi/lithic/models.rbi b/rbi/lithic/models.rbi index 296961a2..d677d5c4 100644 --- a/rbi/lithic/models.rbi +++ b/rbi/lithic/models.rbi @@ -383,4 +383,6 @@ module Lithic TransferCreateParams = Lithic::Models::TransferCreateParams VerificationMethod = Lithic::Models::VerificationMethod + + WirePartyDetails = Lithic::Models::WirePartyDetails end diff --git a/rbi/lithic/models/account_activity_list_response.rbi b/rbi/lithic/models/account_activity_list_response.rbi index cd593944..afe81d66 100644 --- a/rbi/lithic/models/account_activity_list_response.rbi +++ b/rbi/lithic/models/account_activity_list_response.rbi @@ -1587,6 +1587,11 @@ module Lithic :TRANSFER, Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol ) + COLLECTION = + T.let( + :COLLECTION, + Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) sig do override.returns( @@ -2107,6 +2112,23 @@ module Lithic sig { returns(T.nilable(String)) } attr_accessor :external_bank_account_token + sig do + returns( + T.nilable( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type::TaggedSymbol + ) + ) + end + attr_reader :type + + sig do + params( + type: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type::OrSymbol + ).void + end + attr_writer :type + # User-defined identifier sig { returns(T.nilable(String)) } attr_accessor :user_defined_id @@ -2149,6 +2171,8 @@ module Lithic currency: String, expected_release_date: T.nilable(Date), external_bank_account_token: T.nilable(String), + type: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type::OrSymbol, user_defined_id: T.nilable(String) ).returns(T.attached_class) end @@ -2192,6 +2216,7 @@ module Lithic expected_release_date: nil, # External bank account token external_bank_account_token: nil, + type: nil, # User-defined identifier user_defined_id: nil ) @@ -2232,6 +2257,8 @@ module Lithic currency: String, expected_release_date: T.nilable(Date), external_bank_account_token: T.nilable(String), + type: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type::TaggedSymbol, user_defined_id: T.nilable(String) } ) @@ -2972,108 +2999,75 @@ module Lithic # Type of wire transfer sig do returns( - Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork::TaggedSymbol ) end - attr_accessor :wire_transfer_type - - # External bank name - sig { returns(T.nilable(String)) } - attr_accessor :external_bank_name - - # External bank routing number - sig { returns(T.nilable(String)) } - attr_accessor :external_bank_routing_number + attr_accessor :wire_network - # External individual name - sig { returns(T.nilable(String)) } - attr_accessor :external_individual_name + sig { returns(T.nilable(Lithic::WirePartyDetails)) } + attr_reader :creditor - # IMAD - sig { returns(T.nilable(String)) } - attr_accessor :imad + sig { params(creditor: Lithic::WirePartyDetails::OrHash).void } + attr_writer :creditor - # Lithic bank name - sig { returns(T.nilable(String)) } - attr_accessor :lithic_bank_name + sig { returns(T.nilable(Lithic::WirePartyDetails)) } + attr_reader :debtor - # Lithic bank routing number - sig { returns(T.nilable(String)) } - attr_accessor :lithic_bank_routing_number + sig { params(debtor: Lithic::WirePartyDetails::OrHash).void } + attr_writer :debtor - # Lithic individual name + # Point to point reference identifier, as assigned by the instructing party, used + # for tracking the message through the Fedwire system sig { returns(T.nilable(String)) } - attr_accessor :lithic_individual_name + attr_accessor :message_id - # OMAD + # Payment details or invoice reference sig { returns(T.nilable(String)) } - attr_accessor :omad + attr_accessor :remittance_information - # UUID of previous transfer if this is a retry + # Type of wire message sig { returns(T.nilable(String)) } - attr_accessor :previous_transfer + attr_reader :wire_message_type - # Wire token - sig { returns(T.nilable(String)) } - attr_accessor :wire_token + sig { params(wire_message_type: String).void } + attr_writer :wire_message_type sig do params( - wire_transfer_type: - Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::OrSymbol, - external_bank_name: T.nilable(String), - external_bank_routing_number: T.nilable(String), - external_individual_name: T.nilable(String), - imad: T.nilable(String), - lithic_bank_name: T.nilable(String), - lithic_bank_routing_number: T.nilable(String), - lithic_individual_name: T.nilable(String), - omad: T.nilable(String), - previous_transfer: T.nilable(String), - wire_token: T.nilable(String) + wire_network: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork::OrSymbol, + creditor: Lithic::WirePartyDetails::OrHash, + debtor: Lithic::WirePartyDetails::OrHash, + message_id: T.nilable(String), + remittance_information: T.nilable(String), + wire_message_type: String ).returns(T.attached_class) end def self.new( # Type of wire transfer - wire_transfer_type:, - # External bank name - external_bank_name: nil, - # External bank routing number - external_bank_routing_number: nil, - # External individual name - external_individual_name: nil, - # IMAD - imad: nil, - # Lithic bank name - lithic_bank_name: nil, - # Lithic bank routing number - lithic_bank_routing_number: nil, - # Lithic individual name - lithic_individual_name: nil, - # OMAD - omad: nil, - # UUID of previous transfer if this is a retry - previous_transfer: nil, - # Wire token - wire_token: nil + wire_network:, + creditor: nil, + debtor: nil, + # Point to point reference identifier, as assigned by the instructing party, used + # for tracking the message through the Fedwire system + message_id: nil, + # Payment details or invoice reference + remittance_information: nil, + # Type of wire message + wire_message_type: nil ) end sig do override.returns( { - wire_transfer_type: - Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol, - external_bank_name: T.nilable(String), - external_bank_routing_number: T.nilable(String), - external_individual_name: T.nilable(String), - imad: T.nilable(String), - lithic_bank_name: T.nilable(String), - lithic_bank_routing_number: T.nilable(String), - lithic_individual_name: T.nilable(String), - omad: T.nilable(String), - previous_transfer: T.nilable(String), - wire_token: T.nilable(String) + wire_network: + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork::TaggedSymbol, + creditor: Lithic::WirePartyDetails, + debtor: Lithic::WirePartyDetails, + message_id: T.nilable(String), + remittance_information: T.nilable(String), + wire_message_type: String } ) end @@ -3081,14 +3075,14 @@ module Lithic end # Type of wire transfer - module WireTransferType + module WireNetwork extend Lithic::Internal::Type::Enum TaggedSymbol = T.type_alias do T.all( Symbol, - Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -3096,18 +3090,18 @@ module Lithic FEDWIRE = T.let( :FEDWIRE, - Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork::TaggedSymbol ) SWIFT = T.let( :SWIFT, - Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork::TaggedSymbol ) sig do override.returns( T::Array[ - Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork::TaggedSymbol ] ) end @@ -3295,6 +3289,70 @@ module Lithic def self.values end end + + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ORIGINATION_CREDIT = + T.let( + :ORIGINATION_CREDIT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type::TaggedSymbol + ) + ORIGINATION_DEBIT = + T.let( + :ORIGINATION_DEBIT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type::TaggedSymbol + ) + RECEIPT_CREDIT = + T.let( + :RECEIPT_CREDIT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type::TaggedSymbol + ) + RECEIPT_DEBIT = + T.let( + :RECEIPT_DEBIT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type::TaggedSymbol + ) + WIRE_INBOUND_PAYMENT = + T.let( + :WIRE_INBOUND_PAYMENT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type::TaggedSymbol + ) + WIRE_INBOUND_ADMIN = + T.let( + :WIRE_INBOUND_ADMIN, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type::TaggedSymbol + ) + WIRE_OUTBOUND_PAYMENT = + T.let( + :WIRE_OUTBOUND_PAYMENT, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type::TaggedSymbol + ) + WIRE_OUTBOUND_ADMIN = + T.let( + :WIRE_OUTBOUND_ADMIN, + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityListResponse::PaymentTransaction::Type::TaggedSymbol + ] + ) + end + def self.values + end + end end sig do diff --git a/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi b/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi index 5bb091f0..d2cf9e12 100644 --- a/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi +++ b/rbi/lithic/models/account_activity_retrieve_transaction_response.rbi @@ -1587,6 +1587,11 @@ module Lithic :TRANSFER, Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol ) + COLLECTION = + T.let( + :COLLECTION, + Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::Type::TaggedSymbol + ) sig do override.returns( @@ -2107,6 +2112,23 @@ module Lithic sig { returns(T.nilable(String)) } attr_accessor :external_bank_account_token + sig do + returns( + T.nilable( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type::TaggedSymbol + ) + ) + end + attr_reader :type + + sig do + params( + type: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type::OrSymbol + ).void + end + attr_writer :type + # User-defined identifier sig { returns(T.nilable(String)) } attr_accessor :user_defined_id @@ -2149,6 +2171,8 @@ module Lithic currency: String, expected_release_date: T.nilable(Date), external_bank_account_token: T.nilable(String), + type: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type::OrSymbol, user_defined_id: T.nilable(String) ).returns(T.attached_class) end @@ -2192,6 +2216,7 @@ module Lithic expected_release_date: nil, # External bank account token external_bank_account_token: nil, + type: nil, # User-defined identifier user_defined_id: nil ) @@ -2232,6 +2257,8 @@ module Lithic currency: String, expected_release_date: T.nilable(Date), external_bank_account_token: T.nilable(String), + type: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type::TaggedSymbol, user_defined_id: T.nilable(String) } ) @@ -2972,108 +2999,75 @@ module Lithic # Type of wire transfer sig do returns( - Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork::TaggedSymbol ) end - attr_accessor :wire_transfer_type - - # External bank name - sig { returns(T.nilable(String)) } - attr_accessor :external_bank_name - - # External bank routing number - sig { returns(T.nilable(String)) } - attr_accessor :external_bank_routing_number + attr_accessor :wire_network - # External individual name - sig { returns(T.nilable(String)) } - attr_accessor :external_individual_name + sig { returns(T.nilable(Lithic::WirePartyDetails)) } + attr_reader :creditor - # IMAD - sig { returns(T.nilable(String)) } - attr_accessor :imad + sig { params(creditor: Lithic::WirePartyDetails::OrHash).void } + attr_writer :creditor - # Lithic bank name - sig { returns(T.nilable(String)) } - attr_accessor :lithic_bank_name + sig { returns(T.nilable(Lithic::WirePartyDetails)) } + attr_reader :debtor - # Lithic bank routing number - sig { returns(T.nilable(String)) } - attr_accessor :lithic_bank_routing_number + sig { params(debtor: Lithic::WirePartyDetails::OrHash).void } + attr_writer :debtor - # Lithic individual name + # Point to point reference identifier, as assigned by the instructing party, used + # for tracking the message through the Fedwire system sig { returns(T.nilable(String)) } - attr_accessor :lithic_individual_name + attr_accessor :message_id - # OMAD + # Payment details or invoice reference sig { returns(T.nilable(String)) } - attr_accessor :omad + attr_accessor :remittance_information - # UUID of previous transfer if this is a retry + # Type of wire message sig { returns(T.nilable(String)) } - attr_accessor :previous_transfer + attr_reader :wire_message_type - # Wire token - sig { returns(T.nilable(String)) } - attr_accessor :wire_token + sig { params(wire_message_type: String).void } + attr_writer :wire_message_type sig do params( - wire_transfer_type: - Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::OrSymbol, - external_bank_name: T.nilable(String), - external_bank_routing_number: T.nilable(String), - external_individual_name: T.nilable(String), - imad: T.nilable(String), - lithic_bank_name: T.nilable(String), - lithic_bank_routing_number: T.nilable(String), - lithic_individual_name: T.nilable(String), - omad: T.nilable(String), - previous_transfer: T.nilable(String), - wire_token: T.nilable(String) + wire_network: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork::OrSymbol, + creditor: Lithic::WirePartyDetails::OrHash, + debtor: Lithic::WirePartyDetails::OrHash, + message_id: T.nilable(String), + remittance_information: T.nilable(String), + wire_message_type: String ).returns(T.attached_class) end def self.new( # Type of wire transfer - wire_transfer_type:, - # External bank name - external_bank_name: nil, - # External bank routing number - external_bank_routing_number: nil, - # External individual name - external_individual_name: nil, - # IMAD - imad: nil, - # Lithic bank name - lithic_bank_name: nil, - # Lithic bank routing number - lithic_bank_routing_number: nil, - # Lithic individual name - lithic_individual_name: nil, - # OMAD - omad: nil, - # UUID of previous transfer if this is a retry - previous_transfer: nil, - # Wire token - wire_token: nil + wire_network:, + creditor: nil, + debtor: nil, + # Point to point reference identifier, as assigned by the instructing party, used + # for tracking the message through the Fedwire system + message_id: nil, + # Payment details or invoice reference + remittance_information: nil, + # Type of wire message + wire_message_type: nil ) end sig do override.returns( { - wire_transfer_type: - Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol, - external_bank_name: T.nilable(String), - external_bank_routing_number: T.nilable(String), - external_individual_name: T.nilable(String), - imad: T.nilable(String), - lithic_bank_name: T.nilable(String), - lithic_bank_routing_number: T.nilable(String), - lithic_individual_name: T.nilable(String), - omad: T.nilable(String), - previous_transfer: T.nilable(String), - wire_token: T.nilable(String) + wire_network: + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork::TaggedSymbol, + creditor: Lithic::WirePartyDetails, + debtor: Lithic::WirePartyDetails, + message_id: T.nilable(String), + remittance_information: T.nilable(String), + wire_message_type: String } ) end @@ -3081,14 +3075,14 @@ module Lithic end # Type of wire transfer - module WireTransferType + module WireNetwork extend Lithic::Internal::Type::Enum TaggedSymbol = T.type_alias do T.all( Symbol, - Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -3096,18 +3090,18 @@ module Lithic FEDWIRE = T.let( :FEDWIRE, - Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork::TaggedSymbol ) SWIFT = T.let( :SWIFT, - Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork::TaggedSymbol ) sig do override.returns( T::Array[ - Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireTransferType::TaggedSymbol + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::WireNetwork::TaggedSymbol ] ) end @@ -3295,6 +3289,70 @@ module Lithic def self.values end end + + module Type + extend Lithic::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all( + Symbol, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type + ) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + ORIGINATION_CREDIT = + T.let( + :ORIGINATION_CREDIT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type::TaggedSymbol + ) + ORIGINATION_DEBIT = + T.let( + :ORIGINATION_DEBIT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type::TaggedSymbol + ) + RECEIPT_CREDIT = + T.let( + :RECEIPT_CREDIT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type::TaggedSymbol + ) + RECEIPT_DEBIT = + T.let( + :RECEIPT_DEBIT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type::TaggedSymbol + ) + WIRE_INBOUND_PAYMENT = + T.let( + :WIRE_INBOUND_PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type::TaggedSymbol + ) + WIRE_INBOUND_ADMIN = + T.let( + :WIRE_INBOUND_ADMIN, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type::TaggedSymbol + ) + WIRE_OUTBOUND_PAYMENT = + T.let( + :WIRE_OUTBOUND_PAYMENT, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type::TaggedSymbol + ) + WIRE_OUTBOUND_ADMIN = + T.let( + :WIRE_OUTBOUND_ADMIN, + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[ + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::Type::TaggedSymbol + ] + ) + end + def self.values + end + end end sig do diff --git a/rbi/lithic/models/account_holder_create_params.rbi b/rbi/lithic/models/account_holder_create_params.rbi index aea20425..a19dabf5 100644 --- a/rbi/lithic/models/account_holder_create_params.rbi +++ b/rbi/lithic/models/account_holder_create_params.rbi @@ -11,7 +11,7 @@ module Lithic T.any(Lithic::AccountHolderCreateParams, Lithic::Internal::AnyHash) end - # You must submit a list of all direct and indirect individuals with 25% or more + # You can submit a list of all direct and indirect individuals with 25% or more # ownership in the company. A maximum of 4 beneficial owners can be submitted. If # no individual owns 25% of the company you do not need to send beneficial owner # information. See @@ -19,13 +19,26 @@ module Lithic # (Section I) for more background on individuals that should be included. sig do returns( - T::Array[Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual] + T.nilable( + T::Array[ + Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual + ] + ) ) end - attr_accessor :beneficial_owner_individuals + attr_reader :beneficial_owner_individuals - # Information for business for which the account is being opened and KYB is being - # run. + sig do + params( + beneficial_owner_individuals: + T::Array[ + Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual::OrHash + ] + ).void + end + attr_writer :beneficial_owner_individuals + + # Information for business for which the account is being opened. sig { returns(Lithic::AccountHolderCreateParams::BusinessEntity) } attr_reader :business_entity @@ -45,7 +58,9 @@ module Lithic # could also be a beneficial owner listed above. See # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf) # (Section II) for more background. - sig { returns(Lithic::AccountHolderCreateParams::ControlPerson) } + sig do + returns(T.nilable(Lithic::AccountHolderCreateParams::ControlPerson)) + end attr_reader :control_person sig do @@ -58,8 +73,11 @@ module Lithic # Short description of the company's line of business (i.e., what does the company # do?). - sig { returns(String) } - attr_accessor :nature_of_business + sig { returns(T.nilable(String)) } + attr_reader :nature_of_business + + sig { params(nature_of_business: String).void } + attr_writer :nature_of_business # An RFC 3339 timestamp indicating when the account holder accepted the applicable # legal agreements (e.g., cardholder terms) as agreed upon during API customer's @@ -179,15 +197,8 @@ module Lithic sig do params( - beneficial_owner_individuals: - T::Array[ - Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual::OrHash - ], business_entity: Lithic::AccountHolderCreateParams::BusinessEntity::OrHash, - control_person: - Lithic::AccountHolderCreateParams::ControlPerson::OrHash, - nature_of_business: String, tos_timestamp: String, workflow: Lithic::AccountHolderCreateParams::Workflow::OrSymbol, individual: Lithic::AccountHolderCreateParams::Individual::OrHash, @@ -198,6 +209,13 @@ module Lithic Lithic::AccountHolderCreateParams::KYCExemptionType::OrSymbol, last_name: String, phone_number: String, + beneficial_owner_individuals: + T::Array[ + Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual::OrHash + ], + control_person: + Lithic::AccountHolderCreateParams::ControlPerson::OrHash, + nature_of_business: String, beneficial_owner_entities: T::Array[ Lithic::AccountHolderCreateParams::BeneficialOwnerEntity::OrHash @@ -211,28 +229,8 @@ module Lithic ).returns(T.attached_class) end def self.new( - # You must submit a list of all direct and indirect individuals with 25% or more - # ownership in the company. A maximum of 4 beneficial owners can be submitted. If - # no individual owns 25% of the company you do not need to send beneficial owner - # information. See - # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf) - # (Section I) for more background on individuals that should be included. - beneficial_owner_individuals:, - # Information for business for which the account is being opened and KYB is being - # run. + # Information for business for which the account is being opened. business_entity:, - # An individual with significant responsibility for managing the legal entity - # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating - # Officer, Managing Member, General Partner, President, Vice President, or - # Treasurer). This can be an executive, or someone who will have program-wide - # access to the cards that Lithic will provide. In some cases, this individual - # could also be a beneficial owner listed above. See - # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf) - # (Section II) for more background. - control_person:, - # Short description of the company's line of business (i.e., what does the company - # do?). - nature_of_business:, # An RFC 3339 timestamp indicating when the account holder accepted the applicable # legal agreements (e.g., cardholder terms) as agreed upon during API customer's # implementation with Lithic. @@ -255,6 +253,25 @@ module Lithic last_name:, # The KYC Exempt user's phone number, entered in E.164 format. phone_number:, + # You can submit a list of all direct and indirect individuals with 25% or more + # ownership in the company. A maximum of 4 beneficial owners can be submitted. If + # no individual owns 25% of the company you do not need to send beneficial owner + # information. See + # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf) + # (Section I) for more background on individuals that should be included. + beneficial_owner_individuals: nil, + # An individual with significant responsibility for managing the legal entity + # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating + # Officer, Managing Member, General Partner, President, Vice President, or + # Treasurer). This can be an executive, or someone who will have program-wide + # access to the cards that Lithic will provide. In some cases, this individual + # could also be a beneficial owner listed above. See + # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf) + # (Section II) for more background. + control_person: nil, + # Short description of the company's line of business (i.e., what does the company + # do?). + nature_of_business: nil, # Deprecated. beneficial_owner_entities: nil, # A user provided id that can be used to link an account holder with an external @@ -433,21 +450,10 @@ module Lithic sig { params(address: Lithic::Address::OrHash).void } attr_writer :address - # Government-issued identification number. US Federal Employer Identification - # Numbers (EIN) are currently supported, entered as full nine-digits, with or - # without hyphens. - sig { returns(String) } - attr_accessor :government_id - # Legal (formal) business name. sig { returns(String) } attr_accessor :legal_business_name - # One or more of the business's phone number(s), entered as a list in E.164 - # format. - sig { returns(T::Array[String]) } - attr_accessor :phone_numbers - # Any name that the business operates under that is not its legal business name # (if applicable). sig { returns(T.nilable(String)) } @@ -456,6 +462,15 @@ module Lithic sig { params(dba_business_name: String).void } attr_writer :dba_business_name + # Government-issued identification number. US Federal Employer Identification + # Numbers (EIN) are currently supported, entered as full nine-digits, with or + # without hyphens. + sig { returns(T.nilable(String)) } + attr_reader :government_id + + sig { params(government_id: String).void } + attr_writer :government_id + # Parent company name (if applicable). sig { returns(T.nilable(String)) } attr_reader :parent_company @@ -463,36 +478,43 @@ module Lithic sig { params(parent_company: String).void } attr_writer :parent_company - # Information for business for which the account is being opened and KYB is being - # run. + # One or more of the business's phone number(s), entered as a list in E.164 + # format. + sig { returns(T.nilable(T::Array[String])) } + attr_reader :phone_numbers + + sig { params(phone_numbers: T::Array[String]).void } + attr_writer :phone_numbers + + # Information for business for which the account is being opened. sig do params( address: Lithic::Address::OrHash, - government_id: String, legal_business_name: String, - phone_numbers: T::Array[String], dba_business_name: String, - parent_company: String + government_id: String, + parent_company: String, + phone_numbers: T::Array[String] ).returns(T.attached_class) end def self.new( # Business's physical address - PO boxes, UPS drops, and FedEx drops are not # acceptable; APO/FPO are acceptable. address:, - # Government-issued identification number. US Federal Employer Identification - # Numbers (EIN) are currently supported, entered as full nine-digits, with or - # without hyphens. - government_id:, # Legal (formal) business name. legal_business_name:, - # One or more of the business's phone number(s), entered as a list in E.164 - # format. - phone_numbers:, # Any name that the business operates under that is not its legal business name # (if applicable). dba_business_name: nil, + # Government-issued identification number. US Federal Employer Identification + # Numbers (EIN) are currently supported, entered as full nine-digits, with or + # without hyphens. + government_id: nil, # Parent company name (if applicable). - parent_company: nil + parent_company: nil, + # One or more of the business's phone number(s), entered as a list in E.164 + # format. + phone_numbers: nil ) end @@ -500,11 +522,11 @@ module Lithic override.returns( { address: Lithic::Address, - government_id: String, legal_business_name: String, - phone_numbers: T::Array[String], dba_business_name: String, - parent_company: String + government_id: String, + parent_company: String, + phone_numbers: T::Array[String] } ) end diff --git a/rbi/lithic/models/auth_rules/auth_rule_condition.rbi b/rbi/lithic/models/auth_rules/auth_rule_condition.rbi index 847466b2..820abb8f 100644 --- a/rbi/lithic/models/auth_rules/auth_rule_condition.rbi +++ b/rbi/lithic/models/auth_rules/auth_rule_condition.rbi @@ -210,16 +210,36 @@ module Lithic :DOES_NOT_MATCH, Lithic::AuthRules::AuthRuleCondition::Operation::TaggedSymbol ) + IS_EQUAL_TO = + T.let( + :IS_EQUAL_TO, + Lithic::AuthRules::AuthRuleCondition::Operation::TaggedSymbol + ) + IS_NOT_EQUAL_TO = + T.let( + :IS_NOT_EQUAL_TO, + Lithic::AuthRules::AuthRuleCondition::Operation::TaggedSymbol + ) IS_GREATER_THAN = T.let( :IS_GREATER_THAN, Lithic::AuthRules::AuthRuleCondition::Operation::TaggedSymbol ) + IS_GREATER_THAN_OR_EQUAL_TO = + T.let( + :IS_GREATER_THAN_OR_EQUAL_TO, + Lithic::AuthRules::AuthRuleCondition::Operation::TaggedSymbol + ) IS_LESS_THAN = T.let( :IS_LESS_THAN, Lithic::AuthRules::AuthRuleCondition::Operation::TaggedSymbol ) + IS_LESS_THAN_OR_EQUAL_TO = + T.let( + :IS_LESS_THAN_OR_EQUAL_TO, + Lithic::AuthRules::AuthRuleCondition::Operation::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi b/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi index 35e18329..e17df8a0 100644 --- a/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi +++ b/rbi/lithic/models/auth_rules/conditional_3ds_action_parameters.rbi @@ -352,16 +352,36 @@ module Lithic :DOES_NOT_MATCH, Lithic::AuthRules::Conditional3DSActionParameters::Condition::Operation::TaggedSymbol ) + IS_EQUAL_TO = + T.let( + :IS_EQUAL_TO, + Lithic::AuthRules::Conditional3DSActionParameters::Condition::Operation::TaggedSymbol + ) + IS_NOT_EQUAL_TO = + T.let( + :IS_NOT_EQUAL_TO, + Lithic::AuthRules::Conditional3DSActionParameters::Condition::Operation::TaggedSymbol + ) IS_GREATER_THAN = T.let( :IS_GREATER_THAN, Lithic::AuthRules::Conditional3DSActionParameters::Condition::Operation::TaggedSymbol ) + IS_GREATER_THAN_OR_EQUAL_TO = + T.let( + :IS_GREATER_THAN_OR_EQUAL_TO, + Lithic::AuthRules::Conditional3DSActionParameters::Condition::Operation::TaggedSymbol + ) IS_LESS_THAN = T.let( :IS_LESS_THAN, Lithic::AuthRules::Conditional3DSActionParameters::Condition::Operation::TaggedSymbol ) + IS_LESS_THAN_OR_EQUAL_TO = + T.let( + :IS_LESS_THAN_OR_EQUAL_TO, + Lithic::AuthRules::Conditional3DSActionParameters::Condition::Operation::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/book_transfer_create_params.rbi b/rbi/lithic/models/book_transfer_create_params.rbi index 53123481..33ef1cd9 100644 --- a/rbi/lithic/models/book_transfer_create_params.rbi +++ b/rbi/lithic/models/book_transfer_create_params.rbi @@ -349,6 +349,11 @@ module Lithic T.let(:SERVICE, Lithic::BookTransferCreateParams::Type::TaggedSymbol) TRANSFER = T.let(:TRANSFER, Lithic::BookTransferCreateParams::Type::TaggedSymbol) + COLLECTION = + T.let( + :COLLECTION, + Lithic::BookTransferCreateParams::Type::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/book_transfer_response.rbi b/rbi/lithic/models/book_transfer_response.rbi index 33c8e366..9ab6f3d2 100644 --- a/rbi/lithic/models/book_transfer_response.rbi +++ b/rbi/lithic/models/book_transfer_response.rbi @@ -571,6 +571,11 @@ module Lithic :TRANSFER, Lithic::BookTransferResponse::Event::Type::TaggedSymbol ) + COLLECTION = + T.let( + :COLLECTION, + Lithic::BookTransferResponse::Event::Type::TaggedSymbol + ) sig do override.returns( diff --git a/rbi/lithic/models/financial_account.rbi b/rbi/lithic/models/financial_account.rbi index e0224297..80d40176 100644 --- a/rbi/lithic/models/financial_account.rbi +++ b/rbi/lithic/models/financial_account.rbi @@ -355,9 +355,9 @@ module Lithic ) COLLECTION = T.let(:COLLECTION, Lithic::FinancialAccount::Type::TaggedSymbol) - BANK_ACCOUNTS_PAYABLE = + PROGRAM_BANK_ACCOUNTS_PAYABLE = T.let( - :BANK_ACCOUNTS_PAYABLE, + :PROGRAM_BANK_ACCOUNTS_PAYABLE, Lithic::FinancialAccount::Type::TaggedSymbol ) diff --git a/rbi/lithic/models/instance_financial_account_type.rbi b/rbi/lithic/models/instance_financial_account_type.rbi index bd8fb5df..b79ccf95 100644 --- a/rbi/lithic/models/instance_financial_account_type.rbi +++ b/rbi/lithic/models/instance_financial_account_type.rbi @@ -40,9 +40,9 @@ module Lithic ) COLLECTION = T.let(:COLLECTION, Lithic::InstanceFinancialAccountType::TaggedSymbol) - BANK_ACCOUNTS_PAYABLE = + PROGRAM_BANK_ACCOUNTS_PAYABLE = T.let( - :BANK_ACCOUNTS_PAYABLE, + :PROGRAM_BANK_ACCOUNTS_PAYABLE, Lithic::InstanceFinancialAccountType::TaggedSymbol ) diff --git a/rbi/lithic/models/payment.rbi b/rbi/lithic/models/payment.rbi index 6a805cd2..d0f96b05 100644 --- a/rbi/lithic/models/payment.rbi +++ b/rbi/lithic/models/payment.rbi @@ -784,18 +784,14 @@ module Lithic T.let(:RECEIPT_CREDIT, Lithic::Payment::Type::TaggedSymbol) RECEIPT_DEBIT = T.let(:RECEIPT_DEBIT, Lithic::Payment::Type::TaggedSymbol) - CUSTOMER_TRANSFER = - T.let(:CUSTOMER_TRANSFER, Lithic::Payment::Type::TaggedSymbol) - DRAWDOWN_PAYMENT = - T.let(:DRAWDOWN_PAYMENT, Lithic::Payment::Type::TaggedSymbol) - REVERSAL_PAYMENT = - T.let(:REVERSAL_PAYMENT, Lithic::Payment::Type::TaggedSymbol) - DRAWDOWN_REQUEST = - T.let(:DRAWDOWN_REQUEST, Lithic::Payment::Type::TaggedSymbol) - REVERSAL_REQUEST = - T.let(:REVERSAL_REQUEST, Lithic::Payment::Type::TaggedSymbol) - DRAWDOWN_REFUSAL = - T.let(:DRAWDOWN_REFUSAL, Lithic::Payment::Type::TaggedSymbol) + WIRE_INBOUND_PAYMENT = + T.let(:WIRE_INBOUND_PAYMENT, Lithic::Payment::Type::TaggedSymbol) + WIRE_INBOUND_ADMIN = + T.let(:WIRE_INBOUND_ADMIN, Lithic::Payment::Type::TaggedSymbol) + WIRE_OUTBOUND_PAYMENT = + T.let(:WIRE_OUTBOUND_PAYMENT, Lithic::Payment::Type::TaggedSymbol) + WIRE_OUTBOUND_ADMIN = + T.let(:WIRE_OUTBOUND_ADMIN, Lithic::Payment::Type::TaggedSymbol) sig { override.returns(T::Array[Lithic::Payment::Type::TaggedSymbol]) } def self.values diff --git a/rbi/lithic/models/reports/settlement_list_details_params.rbi b/rbi/lithic/models/reports/settlement_list_details_params.rbi index b74434c6..c56184cb 100644 --- a/rbi/lithic/models/reports/settlement_list_details_params.rbi +++ b/rbi/lithic/models/reports/settlement_list_details_params.rbi @@ -23,7 +23,7 @@ module Lithic sig { params(ending_before: String).void } attr_writer :ending_before - # Page size (for pagination). + # Number of records per page. sig { returns(T.nilable(Integer)) } attr_reader :page_size @@ -50,7 +50,7 @@ module Lithic # A cursor representing an item's token before which a page of results should end. # Used to retrieve the previous page of results before this item. ending_before: nil, - # Page size (for pagination). + # Number of records per page. page_size: nil, # A cursor representing an item's token after which a page of results should # begin. Used to retrieve the next page of results after this item. diff --git a/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi b/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi index 40a7de07..4e07dd40 100644 --- a/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi +++ b/rbi/lithic/models/three_ds/authentication_retrieve_response.rbi @@ -1624,38 +1624,114 @@ module Lithic ) end - # Device information gathered from the cardholder's device - JSON name/value pairs - # that is Base64url encoded. Maps to EMV 3DS field `deviceInfo`. + # Device model: e.g. "Apple iPhone 16". + sig { returns(T.nilable(String)) } + attr_accessor :device + + # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field + # `deviceInfo`. sig { returns(T.nilable(String)) } attr_accessor :device_info - # External IP address used by the app generating the 3DS authentication request. - # Maps to EMV 3DS field `appIp`. + # IP address of the device. sig { returns(T.nilable(String)) } attr_reader :ip sig { params(ip: String).void } attr_writer :ip + # Latitude coordinate of current device location. + sig { returns(T.nilable(Float)) } + attr_accessor :latitude + + # Device locale: e.g. "en-US". + sig { returns(T.nilable(String)) } + attr_accessor :locale + + # Longitude coordinate of current device location. + sig { returns(T.nilable(Float)) } + attr_accessor :longitude + + # Operating System: e.g. "Android 12", "iOS 17.1". + sig { returns(T.nilable(String)) } + attr_accessor :os + + # Device platform: Android, iOS, Windows, etc. + sig { returns(T.nilable(String)) } + attr_accessor :platform + + # Screen height in pixels. + sig { returns(T.nilable(Integer)) } + attr_accessor :screen_height + + # Screen width in pixels. + sig { returns(T.nilable(Integer)) } + attr_accessor :screen_width + + # Time zone offset in minutes between UTC and device local time. + sig { returns(T.nilable(String)) } + attr_accessor :time_zone + # Object containing data about the app used in the e-commerce transaction. Present # if the channel is 'APP_BASED'. sig do - params(device_info: T.nilable(String), ip: String).returns( - T.attached_class - ) + params( + device: T.nilable(String), + device_info: T.nilable(String), + ip: String, + latitude: T.nilable(Float), + locale: T.nilable(String), + longitude: T.nilable(Float), + os: T.nilable(String), + platform: T.nilable(String), + screen_height: T.nilable(Integer), + screen_width: T.nilable(Integer), + time_zone: T.nilable(String) + ).returns(T.attached_class) end def self.new( - # Device information gathered from the cardholder's device - JSON name/value pairs - # that is Base64url encoded. Maps to EMV 3DS field `deviceInfo`. + # Device model: e.g. "Apple iPhone 16". + device: nil, + # Raw device information - base64-encoded JSON object. Maps to EMV 3DS field + # `deviceInfo`. device_info: nil, - # External IP address used by the app generating the 3DS authentication request. - # Maps to EMV 3DS field `appIp`. - ip: nil + # IP address of the device. + ip: nil, + # Latitude coordinate of current device location. + latitude: nil, + # Device locale: e.g. "en-US". + locale: nil, + # Longitude coordinate of current device location. + longitude: nil, + # Operating System: e.g. "Android 12", "iOS 17.1". + os: nil, + # Device platform: Android, iOS, Windows, etc. + platform: nil, + # Screen height in pixels. + screen_height: nil, + # Screen width in pixels. + screen_width: nil, + # Time zone offset in minutes between UTC and device local time. + time_zone: nil ) end sig do - override.returns({ device_info: T.nilable(String), ip: String }) + override.returns( + { + device: T.nilable(String), + device_info: T.nilable(String), + ip: String, + latitude: T.nilable(Float), + locale: T.nilable(String), + longitude: T.nilable(Float), + os: T.nilable(String), + platform: T.nilable(String), + screen_height: T.nilable(Integer), + screen_width: T.nilable(Integer), + time_zone: T.nilable(String) + } + ) end def to_hash end @@ -1772,9 +1848,8 @@ module Lithic sig { returns(T.nilable(String)) } attr_accessor :language - # Time zone of the cardholder's browser offset in minutes between UTC and the - # cardholder browser's local time. The offset is positive if the local time is - # behind UTC and negative if it is ahead. Maps to EMV 3DS field `browserTz`. + # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS + # field `browserTz`. sig { returns(T.nilable(String)) } attr_accessor :time_zone @@ -1811,9 +1886,8 @@ module Lithic # Language of the cardholder's browser as defined in IETF BCP47. Maps to EMV 3DS # field `browserLanguage`. language: nil, - # Time zone of the cardholder's browser offset in minutes between UTC and the - # cardholder browser's local time. The offset is positive if the local time is - # behind UTC and negative if it is ahead. Maps to EMV 3DS field `browserTz`. + # Time zone offset in minutes between UTC and browser local time. Maps to EMV 3DS + # field `browserTz`. time_zone: nil, # Content of the HTTP user-agent header. Maps to EMV 3DS field `browserUserAgent`. user_agent: nil diff --git a/rbi/lithic/models/wire_party_details.rbi b/rbi/lithic/models/wire_party_details.rbi new file mode 100644 index 00000000..442e7bb5 --- /dev/null +++ b/rbi/lithic/models/wire_party_details.rbi @@ -0,0 +1,61 @@ +# typed: strong + +module Lithic + module Models + class WirePartyDetails < Lithic::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Lithic::WirePartyDetails, Lithic::Internal::AnyHash) + end + + # Account number + sig { returns(T.nilable(String)) } + attr_accessor :account_number + + # Routing number or BIC of the financial institution + sig { returns(T.nilable(String)) } + attr_accessor :agent_id + + # Name of the financial institution + sig { returns(T.nilable(String)) } + attr_accessor :agent_name + + # Name of the person or company + sig { returns(T.nilable(String)) } + attr_accessor :name + + sig do + params( + account_number: T.nilable(String), + agent_id: T.nilable(String), + agent_name: T.nilable(String), + name: T.nilable(String) + ).returns(T.attached_class) + end + def self.new( + # Account number + account_number: nil, + # Routing number or BIC of the financial institution + agent_id: nil, + # Name of the financial institution + agent_name: nil, + # Name of the person or company + name: nil + ) + end + + sig do + override.returns( + { + account_number: T.nilable(String), + agent_id: T.nilable(String), + agent_name: T.nilable(String), + name: T.nilable(String) + } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/lithic/resources/account_holders.rbi b/rbi/lithic/resources/account_holders.rbi index 635947d7..678325ca 100644 --- a/rbi/lithic/resources/account_holders.rbi +++ b/rbi/lithic/resources/account_holders.rbi @@ -13,15 +13,8 @@ module Lithic # that the calling API key manages. sig do params( - beneficial_owner_individuals: - T::Array[ - Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual::OrHash - ], business_entity: Lithic::AccountHolderCreateParams::BusinessEntity::OrHash, - control_person: - Lithic::AccountHolderCreateParams::ControlPerson::OrHash, - nature_of_business: String, tos_timestamp: String, workflow: Lithic::AccountHolderCreateParams::Workflow::OrSymbol, individual: Lithic::AccountHolderCreateParams::Individual::OrHash, @@ -32,6 +25,13 @@ module Lithic Lithic::AccountHolderCreateParams::KYCExemptionType::OrSymbol, last_name: String, phone_number: String, + beneficial_owner_individuals: + T::Array[ + Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual::OrHash + ], + control_person: + Lithic::AccountHolderCreateParams::ControlPerson::OrHash, + nature_of_business: String, beneficial_owner_entities: T::Array[ Lithic::AccountHolderCreateParams::BeneficialOwnerEntity::OrHash @@ -45,28 +45,8 @@ module Lithic ).returns(Lithic::Models::AccountHolderCreateResponse) end def create( - # You must submit a list of all direct and indirect individuals with 25% or more - # ownership in the company. A maximum of 4 beneficial owners can be submitted. If - # no individual owns 25% of the company you do not need to send beneficial owner - # information. See - # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf) - # (Section I) for more background on individuals that should be included. - beneficial_owner_individuals:, - # Information for business for which the account is being opened and KYB is being - # run. + # Information for business for which the account is being opened. business_entity:, - # An individual with significant responsibility for managing the legal entity - # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating - # Officer, Managing Member, General Partner, President, Vice President, or - # Treasurer). This can be an executive, or someone who will have program-wide - # access to the cards that Lithic will provide. In some cases, this individual - # could also be a beneficial owner listed above. See - # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf) - # (Section II) for more background. - control_person:, - # Short description of the company's line of business (i.e., what does the company - # do?). - nature_of_business:, # An RFC 3339 timestamp indicating when the account holder accepted the applicable # legal agreements (e.g., cardholder terms) as agreed upon during API customer's # implementation with Lithic. @@ -89,6 +69,25 @@ module Lithic last_name:, # The KYC Exempt user's phone number, entered in E.164 format. phone_number:, + # You can submit a list of all direct and indirect individuals with 25% or more + # ownership in the company. A maximum of 4 beneficial owners can be submitted. If + # no individual owns 25% of the company you do not need to send beneficial owner + # information. See + # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf) + # (Section I) for more background on individuals that should be included. + beneficial_owner_individuals: nil, + # An individual with significant responsibility for managing the legal entity + # (e.g., a Chief Executive Officer, Chief Financial Officer, Chief Operating + # Officer, Managing Member, General Partner, President, Vice President, or + # Treasurer). This can be an executive, or someone who will have program-wide + # access to the cards that Lithic will provide. In some cases, this individual + # could also be a beneficial owner listed above. See + # [FinCEN requirements](https://www.fincen.gov/sites/default/files/shared/CDD_Rev6.7_Sept_2017_Certificate.pdf) + # (Section II) for more background. + control_person: nil, + # Short description of the company's line of business (i.e., what does the company + # do?). + nature_of_business: nil, # Deprecated. beneficial_owner_entities: nil, # A user provided id that can be used to link an account holder with an external diff --git a/rbi/lithic/resources/reports/settlement.rbi b/rbi/lithic/resources/reports/settlement.rbi index df63ec62..da1578e5 100644 --- a/rbi/lithic/resources/reports/settlement.rbi +++ b/rbi/lithic/resources/reports/settlement.rbi @@ -23,7 +23,7 @@ module Lithic # A cursor representing an item's token before which a page of results should end. # Used to retrieve the previous page of results before this item. ending_before: nil, - # Page size (for pagination). + # Number of records per page. page_size: nil, # A cursor representing an item's token after which a page of results should # begin. Used to retrieve the next page of results after this item. diff --git a/sig/lithic/models.rbs b/sig/lithic/models.rbs index 4a50ead0..f62c2a07 100644 --- a/sig/lithic/models.rbs +++ b/sig/lithic/models.rbs @@ -346,4 +346,6 @@ module Lithic class TransferCreateParams = Lithic::Models::TransferCreateParams module VerificationMethod = Lithic::Models::VerificationMethod + + class WirePartyDetails = Lithic::Models::WirePartyDetails end diff --git a/sig/lithic/models/account_activity_list_response.rbs b/sig/lithic/models/account_activity_list_response.rbs index f1446758..1e586c3d 100644 --- a/sig/lithic/models/account_activity_list_response.rbs +++ b/sig/lithic/models/account_activity_list_response.rbs @@ -611,6 +611,7 @@ module Lithic | :DISPUTE_WON | :SERVICE | :TRANSFER + | :COLLECTION module Type extend Lithic::Internal::Type::Enum @@ -648,6 +649,7 @@ module Lithic DISPUTE_WON: :DISPUTE_WON SERVICE: :SERVICE TRANSFER: :TRANSFER + COLLECTION: :COLLECTION def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::BookTransferTransaction::Event::type_] end @@ -835,6 +837,7 @@ module Lithic currency: String, expected_release_date: Date?, external_bank_account_token: String?, + type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::type_, user_defined_id: String? } @@ -881,6 +884,12 @@ module Lithic attr_accessor external_bank_account_token: String? + attr_reader type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::type_? + + def type=: ( + Lithic::Models::AccountActivityListResponse::PaymentTransaction::type_ + ) -> Lithic::Models::AccountActivityListResponse::PaymentTransaction::type_ + attr_accessor user_defined_id: String? def initialize: ( @@ -904,6 +913,7 @@ module Lithic ?currency: String, ?expected_release_date: Date?, ?external_bank_account_token: String?, + ?type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::type_, ?user_defined_id: String? ) -> void @@ -928,6 +938,7 @@ module Lithic currency: String, expected_release_date: Date?, external_bank_account_token: String?, + type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::type_, user_defined_id: String? } @@ -1192,79 +1203,62 @@ module Lithic type wire_method_attributes = { - wire_transfer_type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type, - external_bank_name: String?, - external_bank_routing_number: String?, - external_individual_name: String?, - imad: String?, - lithic_bank_name: String?, - lithic_bank_routing_number: String?, - lithic_individual_name: String?, - omad: String?, - previous_transfer: String?, - wire_token: String? + wire_network: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_network, + creditor: Lithic::WirePartyDetails, + debtor: Lithic::WirePartyDetails, + message_id: String?, + remittance_information: String?, + wire_message_type: String } class WireMethodAttributes < Lithic::Internal::Type::BaseModel - attr_accessor wire_transfer_type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type - - attr_accessor external_bank_name: String? - - attr_accessor external_bank_routing_number: String? + attr_accessor wire_network: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_network - attr_accessor external_individual_name: String? + attr_reader creditor: Lithic::WirePartyDetails? - attr_accessor imad: String? + def creditor=: ( + Lithic::WirePartyDetails + ) -> Lithic::WirePartyDetails - attr_accessor lithic_bank_name: String? + attr_reader debtor: Lithic::WirePartyDetails? - attr_accessor lithic_bank_routing_number: String? + def debtor=: (Lithic::WirePartyDetails) -> Lithic::WirePartyDetails - attr_accessor lithic_individual_name: String? + attr_accessor message_id: String? - attr_accessor omad: String? + attr_accessor remittance_information: String? - attr_accessor previous_transfer: String? + attr_reader wire_message_type: String? - attr_accessor wire_token: String? + def wire_message_type=: (String) -> String def initialize: ( - wire_transfer_type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type, - ?external_bank_name: String?, - ?external_bank_routing_number: String?, - ?external_individual_name: String?, - ?imad: String?, - ?lithic_bank_name: String?, - ?lithic_bank_routing_number: String?, - ?lithic_individual_name: String?, - ?omad: String?, - ?previous_transfer: String?, - ?wire_token: String? + wire_network: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_network, + ?creditor: Lithic::WirePartyDetails, + ?debtor: Lithic::WirePartyDetails, + ?message_id: String?, + ?remittance_information: String?, + ?wire_message_type: String ) -> void def to_hash: -> { - wire_transfer_type: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type, - external_bank_name: String?, - external_bank_routing_number: String?, - external_individual_name: String?, - imad: String?, - lithic_bank_name: String?, - lithic_bank_routing_number: String?, - lithic_individual_name: String?, - omad: String?, - previous_transfer: String?, - wire_token: String? + wire_network: Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_network, + creditor: Lithic::WirePartyDetails, + debtor: Lithic::WirePartyDetails, + message_id: String?, + remittance_information: String?, + wire_message_type: String } - type wire_transfer_type = :FEDWIRE | :SWIFT + type wire_network = :FEDWIRE | :SWIFT - module WireTransferType + module WireNetwork extend Lithic::Internal::Type::Enum FEDWIRE: :FEDWIRE SWIFT: :SWIFT - def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type] + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_network] end end @@ -1326,6 +1320,31 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::status] end + + type type_ = + :ORIGINATION_CREDIT + | :ORIGINATION_DEBIT + | :RECEIPT_CREDIT + | :RECEIPT_DEBIT + | :WIRE_INBOUND_PAYMENT + | :WIRE_INBOUND_ADMIN + | :WIRE_OUTBOUND_PAYMENT + | :WIRE_OUTBOUND_ADMIN + + module Type + extend Lithic::Internal::Type::Enum + + ORIGINATION_CREDIT: :ORIGINATION_CREDIT + ORIGINATION_DEBIT: :ORIGINATION_DEBIT + RECEIPT_CREDIT: :RECEIPT_CREDIT + RECEIPT_DEBIT: :RECEIPT_DEBIT + WIRE_INBOUND_PAYMENT: :WIRE_INBOUND_PAYMENT + WIRE_INBOUND_ADMIN: :WIRE_INBOUND_ADMIN + WIRE_OUTBOUND_PAYMENT: :WIRE_OUTBOUND_PAYMENT + WIRE_OUTBOUND_ADMIN: :WIRE_OUTBOUND_ADMIN + + def self?.values: -> ::Array[Lithic::Models::AccountActivityListResponse::PaymentTransaction::type_] + end end def self?.variants: -> ::Array[Lithic::Models::account_activity_list_response] diff --git a/sig/lithic/models/account_activity_retrieve_transaction_response.rbs b/sig/lithic/models/account_activity_retrieve_transaction_response.rbs index 90fc5ea4..20a69a25 100644 --- a/sig/lithic/models/account_activity_retrieve_transaction_response.rbs +++ b/sig/lithic/models/account_activity_retrieve_transaction_response.rbs @@ -611,6 +611,7 @@ module Lithic | :DISPUTE_WON | :SERVICE | :TRANSFER + | :COLLECTION module Type extend Lithic::Internal::Type::Enum @@ -648,6 +649,7 @@ module Lithic DISPUTE_WON: :DISPUTE_WON SERVICE: :SERVICE TRANSFER: :TRANSFER + COLLECTION: :COLLECTION def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::BookTransferTransaction::Event::type_] end @@ -835,6 +837,7 @@ module Lithic currency: String, expected_release_date: Date?, external_bank_account_token: String?, + type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::type_, user_defined_id: String? } @@ -881,6 +884,12 @@ module Lithic attr_accessor external_bank_account_token: String? + attr_reader type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::type_? + + def type=: ( + Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::type_ + ) -> Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::type_ + attr_accessor user_defined_id: String? def initialize: ( @@ -904,6 +913,7 @@ module Lithic ?currency: String, ?expected_release_date: Date?, ?external_bank_account_token: String?, + ?type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::type_, ?user_defined_id: String? ) -> void @@ -928,6 +938,7 @@ module Lithic currency: String, expected_release_date: Date?, external_bank_account_token: String?, + type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::type_, user_defined_id: String? } @@ -1192,79 +1203,62 @@ module Lithic type wire_method_attributes = { - wire_transfer_type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type, - external_bank_name: String?, - external_bank_routing_number: String?, - external_individual_name: String?, - imad: String?, - lithic_bank_name: String?, - lithic_bank_routing_number: String?, - lithic_individual_name: String?, - omad: String?, - previous_transfer: String?, - wire_token: String? + wire_network: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_network, + creditor: Lithic::WirePartyDetails, + debtor: Lithic::WirePartyDetails, + message_id: String?, + remittance_information: String?, + wire_message_type: String } class WireMethodAttributes < Lithic::Internal::Type::BaseModel - attr_accessor wire_transfer_type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type - - attr_accessor external_bank_name: String? - - attr_accessor external_bank_routing_number: String? + attr_accessor wire_network: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_network - attr_accessor external_individual_name: String? + attr_reader creditor: Lithic::WirePartyDetails? - attr_accessor imad: String? + def creditor=: ( + Lithic::WirePartyDetails + ) -> Lithic::WirePartyDetails - attr_accessor lithic_bank_name: String? + attr_reader debtor: Lithic::WirePartyDetails? - attr_accessor lithic_bank_routing_number: String? + def debtor=: (Lithic::WirePartyDetails) -> Lithic::WirePartyDetails - attr_accessor lithic_individual_name: String? + attr_accessor message_id: String? - attr_accessor omad: String? + attr_accessor remittance_information: String? - attr_accessor previous_transfer: String? + attr_reader wire_message_type: String? - attr_accessor wire_token: String? + def wire_message_type=: (String) -> String def initialize: ( - wire_transfer_type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type, - ?external_bank_name: String?, - ?external_bank_routing_number: String?, - ?external_individual_name: String?, - ?imad: String?, - ?lithic_bank_name: String?, - ?lithic_bank_routing_number: String?, - ?lithic_individual_name: String?, - ?omad: String?, - ?previous_transfer: String?, - ?wire_token: String? + wire_network: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_network, + ?creditor: Lithic::WirePartyDetails, + ?debtor: Lithic::WirePartyDetails, + ?message_id: String?, + ?remittance_information: String?, + ?wire_message_type: String ) -> void def to_hash: -> { - wire_transfer_type: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type, - external_bank_name: String?, - external_bank_routing_number: String?, - external_individual_name: String?, - imad: String?, - lithic_bank_name: String?, - lithic_bank_routing_number: String?, - lithic_individual_name: String?, - omad: String?, - previous_transfer: String?, - wire_token: String? + wire_network: Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_network, + creditor: Lithic::WirePartyDetails, + debtor: Lithic::WirePartyDetails, + message_id: String?, + remittance_information: String?, + wire_message_type: String } - type wire_transfer_type = :FEDWIRE | :SWIFT + type wire_network = :FEDWIRE | :SWIFT - module WireTransferType + module WireNetwork extend Lithic::Internal::Type::Enum FEDWIRE: :FEDWIRE SWIFT: :SWIFT - def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_transfer_type] + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::MethodAttributes::WireMethodAttributes::wire_network] end end @@ -1326,6 +1320,31 @@ module Lithic def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::status] end + + type type_ = + :ORIGINATION_CREDIT + | :ORIGINATION_DEBIT + | :RECEIPT_CREDIT + | :RECEIPT_DEBIT + | :WIRE_INBOUND_PAYMENT + | :WIRE_INBOUND_ADMIN + | :WIRE_OUTBOUND_PAYMENT + | :WIRE_OUTBOUND_ADMIN + + module Type + extend Lithic::Internal::Type::Enum + + ORIGINATION_CREDIT: :ORIGINATION_CREDIT + ORIGINATION_DEBIT: :ORIGINATION_DEBIT + RECEIPT_CREDIT: :RECEIPT_CREDIT + RECEIPT_DEBIT: :RECEIPT_DEBIT + WIRE_INBOUND_PAYMENT: :WIRE_INBOUND_PAYMENT + WIRE_INBOUND_ADMIN: :WIRE_INBOUND_ADMIN + WIRE_OUTBOUND_PAYMENT: :WIRE_OUTBOUND_PAYMENT + WIRE_OUTBOUND_ADMIN: :WIRE_OUTBOUND_ADMIN + + def self?.values: -> ::Array[Lithic::Models::AccountActivityRetrieveTransactionResponse::PaymentTransaction::type_] + end end def self?.variants: -> ::Array[Lithic::Models::account_activity_retrieve_transaction_response] diff --git a/sig/lithic/models/account_holder_create_params.rbs b/sig/lithic/models/account_holder_create_params.rbs index e08640d5..c6458532 100644 --- a/sig/lithic/models/account_holder_create_params.rbs +++ b/sig/lithic/models/account_holder_create_params.rbs @@ -28,13 +28,23 @@ module Lithic extend Lithic::Internal::Type::RequestParameters::Converter include Lithic::Internal::Type::RequestParameters - attr_accessor beneficial_owner_individuals: ::Array[Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual] + attr_reader beneficial_owner_individuals: ::Array[Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual]? + + def beneficial_owner_individuals=: ( + ::Array[Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual] + ) -> ::Array[Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual] attr_accessor business_entity: Lithic::AccountHolderCreateParams::BusinessEntity - attr_accessor control_person: Lithic::AccountHolderCreateParams::ControlPerson + attr_reader control_person: Lithic::AccountHolderCreateParams::ControlPerson? + + def control_person=: ( + Lithic::AccountHolderCreateParams::ControlPerson + ) -> Lithic::AccountHolderCreateParams::ControlPerson - attr_accessor nature_of_business: String + attr_reader nature_of_business: String? + + def nature_of_business=: (String) -> String attr_accessor tos_timestamp: String @@ -81,10 +91,7 @@ module Lithic def business_account_token=: (String) -> String def initialize: ( - beneficial_owner_individuals: ::Array[Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual], business_entity: Lithic::AccountHolderCreateParams::BusinessEntity, - control_person: Lithic::AccountHolderCreateParams::ControlPerson, - nature_of_business: String, tos_timestamp: String, workflow: Lithic::Models::AccountHolderCreateParams::workflow, individual: Lithic::AccountHolderCreateParams::Individual, @@ -94,6 +101,9 @@ module Lithic kyc_exemption_type: Lithic::Models::AccountHolderCreateParams::kyc_exemption_type, last_name: String, phone_number: String, + ?beneficial_owner_individuals: ::Array[Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual], + ?control_person: Lithic::AccountHolderCreateParams::ControlPerson, + ?nature_of_business: String, ?beneficial_owner_entities: ::Array[Lithic::AccountHolderCreateParams::BeneficialOwnerEntity], ?external_id: String, ?kyb_passed_timestamp: String, @@ -178,46 +188,50 @@ module Lithic type business_entity = { address: Lithic::Address, - government_id: String, legal_business_name: String, - phone_numbers: ::Array[String], dba_business_name: String, - parent_company: String + government_id: String, + parent_company: String, + phone_numbers: ::Array[String] } class BusinessEntity < Lithic::Internal::Type::BaseModel attr_accessor address: Lithic::Address - attr_accessor government_id: String - attr_accessor legal_business_name: String - attr_accessor phone_numbers: ::Array[String] - attr_reader dba_business_name: String? def dba_business_name=: (String) -> String + attr_reader government_id: String? + + def government_id=: (String) -> String + attr_reader parent_company: String? def parent_company=: (String) -> String + attr_reader phone_numbers: ::Array[String]? + + def phone_numbers=: (::Array[String]) -> ::Array[String] + def initialize: ( address: Lithic::Address, - government_id: String, legal_business_name: String, - phone_numbers: ::Array[String], ?dba_business_name: String, - ?parent_company: String + ?government_id: String, + ?parent_company: String, + ?phone_numbers: ::Array[String] ) -> void def to_hash: -> { address: Lithic::Address, - government_id: String, legal_business_name: String, - phone_numbers: ::Array[String], dba_business_name: String, - parent_company: String + government_id: String, + parent_company: String, + phone_numbers: ::Array[String] } end diff --git a/sig/lithic/models/auth_rules/auth_rule_condition.rbs b/sig/lithic/models/auth_rules/auth_rule_condition.rbs index 72c64896..ead6a46a 100644 --- a/sig/lithic/models/auth_rules/auth_rule_condition.rbs +++ b/sig/lithic/models/auth_rules/auth_rule_condition.rbs @@ -46,8 +46,12 @@ module Lithic | :IS_NOT_ONE_OF | :MATCHES | :DOES_NOT_MATCH + | :IS_EQUAL_TO + | :IS_NOT_EQUAL_TO | :IS_GREATER_THAN + | :IS_GREATER_THAN_OR_EQUAL_TO | :IS_LESS_THAN + | :IS_LESS_THAN_OR_EQUAL_TO module Operation extend Lithic::Internal::Type::Enum @@ -56,8 +60,12 @@ module Lithic IS_NOT_ONE_OF: :IS_NOT_ONE_OF MATCHES: :MATCHES DOES_NOT_MATCH: :DOES_NOT_MATCH + IS_EQUAL_TO: :IS_EQUAL_TO + IS_NOT_EQUAL_TO: :IS_NOT_EQUAL_TO IS_GREATER_THAN: :IS_GREATER_THAN + IS_GREATER_THAN_OR_EQUAL_TO: :IS_GREATER_THAN_OR_EQUAL_TO IS_LESS_THAN: :IS_LESS_THAN + IS_LESS_THAN_OR_EQUAL_TO: :IS_LESS_THAN_OR_EQUAL_TO def self?.values: -> ::Array[Lithic::Models::AuthRules::AuthRuleCondition::operation] end diff --git a/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs b/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs index f595b47b..d9305d3a 100644 --- a/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs +++ b/sig/lithic/models/auth_rules/conditional_3ds_action_parameters.rbs @@ -101,8 +101,12 @@ module Lithic | :IS_NOT_ONE_OF | :MATCHES | :DOES_NOT_MATCH + | :IS_EQUAL_TO + | :IS_NOT_EQUAL_TO | :IS_GREATER_THAN + | :IS_GREATER_THAN_OR_EQUAL_TO | :IS_LESS_THAN + | :IS_LESS_THAN_OR_EQUAL_TO module Operation extend Lithic::Internal::Type::Enum @@ -111,8 +115,12 @@ module Lithic IS_NOT_ONE_OF: :IS_NOT_ONE_OF MATCHES: :MATCHES DOES_NOT_MATCH: :DOES_NOT_MATCH + IS_EQUAL_TO: :IS_EQUAL_TO + IS_NOT_EQUAL_TO: :IS_NOT_EQUAL_TO IS_GREATER_THAN: :IS_GREATER_THAN + IS_GREATER_THAN_OR_EQUAL_TO: :IS_GREATER_THAN_OR_EQUAL_TO IS_LESS_THAN: :IS_LESS_THAN + IS_LESS_THAN_OR_EQUAL_TO: :IS_LESS_THAN_OR_EQUAL_TO def self?.values: -> ::Array[Lithic::Models::AuthRules::Conditional3DSActionParameters::Condition::operation] end diff --git a/sig/lithic/models/book_transfer_create_params.rbs b/sig/lithic/models/book_transfer_create_params.rbs index 6d9677f8..2151bf82 100644 --- a/sig/lithic/models/book_transfer_create_params.rbs +++ b/sig/lithic/models/book_transfer_create_params.rbs @@ -134,6 +134,7 @@ module Lithic | :DISPUTE_WON | :SERVICE | :TRANSFER + | :COLLECTION module Type extend Lithic::Internal::Type::Enum @@ -171,6 +172,7 @@ module Lithic DISPUTE_WON: :DISPUTE_WON SERVICE: :SERVICE TRANSFER: :TRANSFER + COLLECTION: :COLLECTION def self?.values: -> ::Array[Lithic::Models::BookTransferCreateParams::type_] end diff --git a/sig/lithic/models/book_transfer_response.rbs b/sig/lithic/models/book_transfer_response.rbs index beca4f26..7c29c444 100644 --- a/sig/lithic/models/book_transfer_response.rbs +++ b/sig/lithic/models/book_transfer_response.rbs @@ -216,6 +216,7 @@ module Lithic | :DISPUTE_WON | :SERVICE | :TRANSFER + | :COLLECTION module Type extend Lithic::Internal::Type::Enum @@ -253,6 +254,7 @@ module Lithic DISPUTE_WON: :DISPUTE_WON SERVICE: :SERVICE TRANSFER: :TRANSFER + COLLECTION: :COLLECTION def self?.values: -> ::Array[Lithic::Models::BookTransferResponse::Event::type_] end diff --git a/sig/lithic/models/financial_account.rbs b/sig/lithic/models/financial_account.rbs index b2abf0d4..cee51492 100644 --- a/sig/lithic/models/financial_account.rbs +++ b/sig/lithic/models/financial_account.rbs @@ -166,7 +166,7 @@ module Lithic | :SECURITY | :PROGRAM_RECEIVABLES | :COLLECTION - | :BANK_ACCOUNTS_PAYABLE + | :PROGRAM_BANK_ACCOUNTS_PAYABLE module Type extend Lithic::Internal::Type::Enum @@ -180,7 +180,7 @@ module Lithic SECURITY: :SECURITY PROGRAM_RECEIVABLES: :PROGRAM_RECEIVABLES COLLECTION: :COLLECTION - BANK_ACCOUNTS_PAYABLE: :BANK_ACCOUNTS_PAYABLE + PROGRAM_BANK_ACCOUNTS_PAYABLE: :PROGRAM_BANK_ACCOUNTS_PAYABLE def self?.values: -> ::Array[Lithic::Models::FinancialAccount::type_] end diff --git a/sig/lithic/models/instance_financial_account_type.rbs b/sig/lithic/models/instance_financial_account_type.rbs index 7b10c4f4..0948a7ed 100644 --- a/sig/lithic/models/instance_financial_account_type.rbs +++ b/sig/lithic/models/instance_financial_account_type.rbs @@ -10,7 +10,7 @@ module Lithic | :SECURITY | :PROGRAM_RECEIVABLES | :COLLECTION - | :BANK_ACCOUNTS_PAYABLE + | :PROGRAM_BANK_ACCOUNTS_PAYABLE module InstanceFinancialAccountType extend Lithic::Internal::Type::Enum @@ -24,7 +24,7 @@ module Lithic SECURITY: :SECURITY PROGRAM_RECEIVABLES: :PROGRAM_RECEIVABLES COLLECTION: :COLLECTION - BANK_ACCOUNTS_PAYABLE: :BANK_ACCOUNTS_PAYABLE + PROGRAM_BANK_ACCOUNTS_PAYABLE: :PROGRAM_BANK_ACCOUNTS_PAYABLE def self?.values: -> ::Array[Lithic::Models::instance_financial_account_type] end diff --git a/sig/lithic/models/payment.rbs b/sig/lithic/models/payment.rbs index 118d66c7..63444974 100644 --- a/sig/lithic/models/payment.rbs +++ b/sig/lithic/models/payment.rbs @@ -381,12 +381,10 @@ module Lithic | :ORIGINATION_DEBIT | :RECEIPT_CREDIT | :RECEIPT_DEBIT - | :CUSTOMER_TRANSFER - | :DRAWDOWN_PAYMENT - | :REVERSAL_PAYMENT - | :DRAWDOWN_REQUEST - | :REVERSAL_REQUEST - | :DRAWDOWN_REFUSAL + | :WIRE_INBOUND_PAYMENT + | :WIRE_INBOUND_ADMIN + | :WIRE_OUTBOUND_PAYMENT + | :WIRE_OUTBOUND_ADMIN module Type extend Lithic::Internal::Type::Enum @@ -395,12 +393,10 @@ module Lithic ORIGINATION_DEBIT: :ORIGINATION_DEBIT RECEIPT_CREDIT: :RECEIPT_CREDIT RECEIPT_DEBIT: :RECEIPT_DEBIT - CUSTOMER_TRANSFER: :CUSTOMER_TRANSFER - DRAWDOWN_PAYMENT: :DRAWDOWN_PAYMENT - REVERSAL_PAYMENT: :REVERSAL_PAYMENT - DRAWDOWN_REQUEST: :DRAWDOWN_REQUEST - REVERSAL_REQUEST: :REVERSAL_REQUEST - DRAWDOWN_REFUSAL: :DRAWDOWN_REFUSAL + WIRE_INBOUND_PAYMENT: :WIRE_INBOUND_PAYMENT + WIRE_INBOUND_ADMIN: :WIRE_INBOUND_ADMIN + WIRE_OUTBOUND_PAYMENT: :WIRE_OUTBOUND_PAYMENT + WIRE_OUTBOUND_ADMIN: :WIRE_OUTBOUND_ADMIN def self?.values: -> ::Array[Lithic::Models::Payment::type_] end diff --git a/sig/lithic/models/three_ds/authentication_retrieve_response.rbs b/sig/lithic/models/three_ds/authentication_retrieve_response.rbs index 0dcfb741..d9118325 100644 --- a/sig/lithic/models/three_ds/authentication_retrieve_response.rbs +++ b/sig/lithic/models/three_ds/authentication_retrieve_response.rbs @@ -535,18 +535,73 @@ module Lithic end end - type app = { device_info: String?, ip: String } + type app = + { + device: String?, + device_info: String?, + ip: String, + latitude: Float?, + locale: String?, + longitude: Float?, + os: String?, + platform: String?, + screen_height: Integer?, + screen_width: Integer?, + time_zone: String? + } class App < Lithic::Internal::Type::BaseModel + attr_accessor device: String? + attr_accessor device_info: String? attr_reader ip: String? def ip=: (String) -> String - def initialize: (?device_info: String?, ?ip: String) -> void + attr_accessor latitude: Float? + + attr_accessor locale: String? + + attr_accessor longitude: Float? + + attr_accessor os: String? + + attr_accessor platform: String? + + attr_accessor screen_height: Integer? - def to_hash: -> { device_info: String?, ip: String } + attr_accessor screen_width: Integer? + + attr_accessor time_zone: String? + + def initialize: ( + ?device: String?, + ?device_info: String?, + ?ip: String, + ?latitude: Float?, + ?locale: String?, + ?longitude: Float?, + ?os: String?, + ?platform: String?, + ?screen_height: Integer?, + ?screen_width: Integer?, + ?time_zone: String? + ) -> void + + def to_hash: -> { + device: String?, + device_info: String?, + ip: String, + latitude: Float?, + locale: String?, + longitude: Float?, + os: String?, + platform: String?, + screen_height: Integer?, + screen_width: Integer?, + time_zone: String? + } end type authentication_request_type = diff --git a/sig/lithic/models/wire_party_details.rbs b/sig/lithic/models/wire_party_details.rbs new file mode 100644 index 00000000..6e1ebacb --- /dev/null +++ b/sig/lithic/models/wire_party_details.rbs @@ -0,0 +1,35 @@ +module Lithic + module Models + type wire_party_details = + { + account_number: String?, + agent_id: String?, + agent_name: String?, + name: String? + } + + class WirePartyDetails < Lithic::Internal::Type::BaseModel + attr_accessor account_number: String? + + attr_accessor agent_id: String? + + attr_accessor agent_name: String? + + attr_accessor name: String? + + def initialize: ( + ?account_number: String?, + ?agent_id: String?, + ?agent_name: String?, + ?name: String? + ) -> void + + def to_hash: -> { + account_number: String?, + agent_id: String?, + agent_name: String?, + name: String? + } + end + end +end diff --git a/sig/lithic/resources/account_holders.rbs b/sig/lithic/resources/account_holders.rbs index 73f2cc3d..31133b10 100644 --- a/sig/lithic/resources/account_holders.rbs +++ b/sig/lithic/resources/account_holders.rbs @@ -2,10 +2,7 @@ module Lithic module Resources class AccountHolders def create: ( - beneficial_owner_individuals: ::Array[Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual], business_entity: Lithic::AccountHolderCreateParams::BusinessEntity, - control_person: Lithic::AccountHolderCreateParams::ControlPerson, - nature_of_business: String, tos_timestamp: String, workflow: Lithic::Models::AccountHolderCreateParams::workflow, individual: Lithic::AccountHolderCreateParams::Individual, @@ -15,6 +12,9 @@ module Lithic kyc_exemption_type: Lithic::Models::AccountHolderCreateParams::kyc_exemption_type, last_name: String, phone_number: String, + ?beneficial_owner_individuals: ::Array[Lithic::AccountHolderCreateParams::BeneficialOwnerIndividual], + ?control_person: Lithic::AccountHolderCreateParams::ControlPerson, + ?nature_of_business: String, ?beneficial_owner_entities: ::Array[Lithic::AccountHolderCreateParams::BeneficialOwnerEntity], ?external_id: String, ?kyb_passed_timestamp: String, From 3bac7fc7e2cddafd2855e607864fe8090f18c4c4 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 3 Sep 2025 20:14:33 +0000 Subject: [PATCH 5/5] release: 0.1.0-alpha.41 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 14 ++++++++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/lithic/version.rb | 2 +- 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index db3930fd..9c28aaea 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.40" + ".": "0.1.0-alpha.41" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b809a1bf..940aa62e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Changelog +## 0.1.0-alpha.41 (2025-09-03) + +Full Changelog: [v0.1.0-alpha.40...v0.1.0-alpha.41](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.40...v0.1.0-alpha.41) + +### Features + +* **api:** adds support for delegated KYB onboarding and more device details in 3DS Authentications ([37126bc](https://github.com/lithic-com/lithic-ruby/commit/37126bc6c52176bee9e1a6c645a4033d7b48b81a)) + + +### Chores + +* add json schema comment for rubocop.yml ([d5f9cf9](https://github.com/lithic-com/lithic-ruby/commit/d5f9cf9a5a4b9c2450c9ac65c5ec0708466c8331)) +* sync repo ([bc9dd5c](https://github.com/lithic-com/lithic-ruby/commit/bc9dd5c574eb24959f3760ff9bd9f3c5240064cc)) + ## 0.1.0-alpha.40 (2025-07-15) Full Changelog: [v0.1.0-alpha.39...v0.1.0-alpha.40](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.39...v0.1.0-alpha.40) diff --git a/Gemfile.lock b/Gemfile.lock index 7ee5a5b1..391adbea 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - lithic (0.1.0.pre.alpha.40) + lithic (0.1.0.pre.alpha.41) connection_pool GEM diff --git a/README.md b/README.md index 2f2c3f7c..113e784b 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "lithic", "~> 0.1.0.pre.alpha.40" +gem "lithic", "~> 0.1.0.pre.alpha.41" ``` diff --git a/lib/lithic/version.rb b/lib/lithic/version.rb index db2c2090..307fbe57 100644 --- a/lib/lithic/version.rb +++ b/lib/lithic/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Lithic - VERSION = "0.1.0.pre.alpha.40" + VERSION = "0.1.0.pre.alpha.41" end