diff --git a/.release-please-manifest.json b/.release-please-manifest.json index db3930fd..3d2ac0bd 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.40" + ".": "0.1.0" } \ 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..40cf4db4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.1.0 (2025-08-22) + +Full Changelog: [v0.1.0-alpha.40...v0.1.0](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.40...v0.1.0) + +### Chores + +* 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/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..45896426 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) 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..38d09b59 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" ``` 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..980aa94d 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" 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